<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5977439487252829249</id><updated>2011-07-30T18:48:32.395-07:00</updated><title type='text'>TinyCLR - .NET Micro Framework</title><subtitle type='html'>.NET Micro Framework's Leading Edge!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tinyclr.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://tinyclr.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Gus Issa</name><uri>http://www.blogger.com/profile/09087348010533736710</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_JjGOhYs5588/S4E7lX-95tI/AAAAAAAAAAw/fWWLJKHcrjs/S220/e379dc33f851430c972bc79b124f5995.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>20</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5977439487252829249.post-6401691311427584442</id><published>2011-02-19T05:25:00.001-08:00</published><updated>2011-02-19T05:26:44.072-08:00</updated><title type='text'>New GHI blog is up</title><content type='html'>There is an official GHI blog now so I will stop posting here and use the official GHI one instead. You can see the GHI blog here &lt;a href="http://ghielectronics.blogspot.com/"&gt;http://ghielectronics.blogspot.com/&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Have fun and will see you at new blog!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5977439487252829249-6401691311427584442?l=tinyclr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tinyclr.blogspot.com/feeds/6401691311427584442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tinyclr.blogspot.com/2011/02/new-ghi-blog-is-up.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/6401691311427584442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/6401691311427584442'/><link rel='alternate' type='text/html' href='http://tinyclr.blogspot.com/2011/02/new-ghi-blog-is-up.html' title='New GHI blog is up'/><author><name>Gus Issa</name><uri>http://www.blogger.com/profile/09087348010533736710</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_JjGOhYs5588/S4E7lX-95tI/AAAAAAAAAAw/fWWLJKHcrjs/S220/e379dc33f851430c972bc79b124f5995.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5977439487252829249.post-5384487000466667525</id><published>2010-03-12T05:45:00.000-08:00</published><updated>2010-03-12T07:22:31.228-08:00</updated><title type='text'>Debug and deploy over serial</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JjGOhYs5588/S5paGyB5pwI/AAAAAAAAABY/yZsrL8Zkw60/s1600-h/TCLR-RP0122_large.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 260px;" src="http://1.bp.blogspot.com/_JjGOhYs5588/S5paGyB5pwI/AAAAAAAAABY/yZsrL8Zkw60/s320/TCLR-RP0122_large.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5447765771813496578" /&gt;&lt;/a&gt;&lt;br /&gt;All GHI's NETMF devices use USB for deploying/debugging by default. Optionally, a developer may want to use the USB client (not the host) for something other than debugging. This is actually supported by NETMF and GHI adds much functionality making it very easy to setup.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Let me give you an example, you are making a device that that reads temperature and humidity...etc. and logs all this data on an SD card. This device can be configured, like to set the time or give file names...etc. You want the device to be configured over USB. So when your device plugs into a USB port, you want it to show as a virtual serial port. This way, anyone can open a terminal software (like TeraTerm) to connect to your device to configure it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Sounds good so far, but what device to use? This is an extremely simple application and it will fit very well on our smallest device, that is USBizi. Since FEZ boards use USBizi chipset, then I will use them for my project. FEZ Domino or FEZ Mini will do just fine. &lt;/div&gt;&lt;div&gt;&lt;a href="http://www.tinyclr.com/hardware/1/fez-domino/"&gt;http://www.tinyclr.com/hardware/1/fez-domino/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.tinyclr.com/hardware/2/fez-mini/"&gt;http://www.tinyclr.com/hardware/2/fez-mini/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The first thing we need to do is change the debugging interface to serial instead of USB. Again, that is because we want to use USB as a virtual serial port to set the configuration our project. USBizi has a pin that is called MODE pin. If this pin is high or unconnected then USBizi (FEZ) will use USB fro deploying/debugging (and for boot loader) but if the pin is low (connected to ground) then USBizi will be using its COM1 for everything.&lt;/div&gt;&lt;div&gt;FEZ Domino has MODE jumper (by the LED) , close this jumper to use serial. FEZ Mini, has MODE pin available on the SD header. The pin is next to ground pin so you only need to short MODE to ground.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ok, now we have USBizi(FEZ) ready and it is using serial. Now, we have all setup but we still need to connect USBizi(FEZ) to the PC's serial port. The PC serial port is RS232 but the serial connection on USBizi(FEZ) is TTL.&lt;/div&gt;&lt;div&gt;To use FEZ Domino serial COM1 with a PC, you can use the RS232 shield.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;FEZ Mini already have RS232 circuit on-board. To connect its RS232 pins to a PC, you will need to make some cable or an easier option is by using the RS232 cable we offer+the starter kit. We also offer a USB&lt;-&gt;serial cable. Through this USB&lt;-&gt;serial cable, you can debug using a virtual USB-serial connection. Which means, USBizi (FEZ) will be debugging over serial but you actually have a USB connection to the PC!! This is similar to connecting FED Domino RS232 shield to a serial &lt;-&gt;USB cable.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When the setup is complete, try to "ping" the device using MFDeploy. Note that this time you will not select USB but you will select Serial. You also need to select the appropriate COM port.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5977439487252829249-5384487000466667525?l=tinyclr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tinyclr.blogspot.com/feeds/5384487000466667525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tinyclr.blogspot.com/2010/03/debug-and-deploy-over-serial.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/5384487000466667525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/5384487000466667525'/><link rel='alternate' type='text/html' href='http://tinyclr.blogspot.com/2010/03/debug-and-deploy-over-serial.html' title='Debug and deploy over serial'/><author><name>Gus Issa</name><uri>http://www.blogger.com/profile/09087348010533736710</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_JjGOhYs5588/S4E7lX-95tI/AAAAAAAAAAw/fWWLJKHcrjs/S220/e379dc33f851430c972bc79b124f5995.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_JjGOhYs5588/S5paGyB5pwI/AAAAAAAAABY/yZsrL8Zkw60/s72-c/TCLR-RP0122_large.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5977439487252829249.post-4736536259210431560</id><published>2010-03-08T16:45:00.000-08:00</published><updated>2010-03-08T16:49:33.693-08:00</updated><title type='text'>Can BASIC run through C#? This is crazy!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_JjGOhYs5588/S5WaqWrHYgI/AAAAAAAAABQ/Ps2e2X11Nck/s1600-h/quickbasic.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 150px;" src="http://4.bp.blogspot.com/_JjGOhYs5588/S5WaqWrHYgI/AAAAAAAAABQ/Ps2e2X11Nck/s320/quickbasic.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5446429376806085122" /&gt;&lt;/a&gt;Do you remember BASIC on DOS? Maybe you are too young to know BASIC or DOS.  Eitherway, you probably know what is BASIC because of the popular Visual  Basic.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So GHI's .NET Micro Framework devices run C# code and can actually run  Visual Basic as well. As of now Visual Basic support is not directly  supported.&lt;br /&gt;So, I was thinking...what if I can run a BASIC interpreter in C#  to run BASIC programs? This will be interesting to see but in reality, this is  absolutely pointless!&lt;br /&gt;Think about it, you write program in BASIC then this  get interpreted through C# which it turn is also interpreted through the  CLR.&lt;br /&gt;&lt;br /&gt;Even thought this is useless, I want to see if it can be done (was  bored on the weekend!). So, I did some googleing and found a very simple  interpreter written in C. I took that code and started converting it slowly to  C#. I was able to get the commands PRINT and GOTO implemented along with support  for labels. Adding the rest should be simple but I am stopping here since I have  proven that my crazy idea can be done.&lt;br /&gt;&lt;br /&gt;The project file includes my C#  project and includes the original C files if you want to complete the port.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The project is available at &lt;a href="http://www.microframeworkprojects.com/project/50"&gt;http://www.microframeworkprojects.com/project/50&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5977439487252829249-4736536259210431560?l=tinyclr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tinyclr.blogspot.com/feeds/4736536259210431560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tinyclr.blogspot.com/2010/03/can-basic-run-through-c-this-is-crazy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/4736536259210431560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/4736536259210431560'/><link rel='alternate' type='text/html' href='http://tinyclr.blogspot.com/2010/03/can-basic-run-through-c-this-is-crazy.html' title='Can BASIC run through C#? This is crazy!'/><author><name>Gus Issa</name><uri>http://www.blogger.com/profile/09087348010533736710</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_JjGOhYs5588/S4E7lX-95tI/AAAAAAAAAAw/fWWLJKHcrjs/S220/e379dc33f851430c972bc79b124f5995.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_JjGOhYs5588/S5WaqWrHYgI/AAAAAAAAABQ/Ps2e2X11Nck/s72-c/quickbasic.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5977439487252829249.post-4640016297745773287</id><published>2010-03-07T14:28:00.000-08:00</published><updated>2010-03-07T14:42:43.812-08:00</updated><title type='text'>Using  XBOX controller with .NET Micro Framework</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium; "&gt;&lt;div style="padding-top: 7px; padding-right: 7px; padding-bottom: 7px; padding-left: 7px; background-color: rgb(255, 255, 255); font: normal normal normal 13px/1.22 arial, helvetica, clean, sans-serif; "&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;If you are asking yourself, how do I use the XBOX 360 controller in my project? If you are using Arduino then this requires so much circuitry and programming to do...actually, I am not sure myself how this can be done. If you are using BS2 then just forget about the idea! To use XBOX controller you will need a windows CE device with few month to learn how to write USB drivers. Out of curiosity, I did search the web for drivers for XBOX, linux winCE, windows or MAC drivers. I did find few and I can tell you this, looking the the driver source code was scary. Try to google then and take a look yourself.&lt;/div&gt;&lt;div style="padding-top: 7px; padding-right: 7px; padding-bottom: 7px; padding-left: 7px; background-color: rgb(255, 255, 255); font: normal normal normal 13px/1.22 arial, helvetica, clean, sans-serif; "&gt;XBOX controller has many digital inputs but unfortunately it is not a standard HID device and so it will not work with the standard drivers. This example implements an XBOX controller driver using raw USB services.&lt;/div&gt;&lt;div style="padding-top: 7px; padding-right: 7px; padding-bottom: 7px; padding-left: 7px; background-color: rgb(255, 255, 255); font: normal normal normal 13px/1.22 arial, helvetica, clean, sans-serif; "&gt;Thank god GHI offers a raw USB services that is available on all GHI's NETMF devices, including USBizi(FEZ), EMX, ChipworkX...&lt;/div&gt;&lt;div style="padding-top: 7px; padding-right: 7px; padding-bottom: 7px; padding-left: 7px; background-color: rgb(255, 255, 255); font: normal normal normal 13px/1.22 arial, helvetica, clean, sans-serif; "&gt;The example driver is available at &lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; line-height: normal; font-size: medium; "&gt;&lt;a href="http://www.microframeworkprojects.com/project/49"&gt;http://www.microframeworkprojects.com/project/49&lt;/a&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-top: 7px; padding-right: 7px; padding-bottom: 7px; padding-left: 7px; background-color: rgb(255, 255, 255); font: normal normal normal 13px/1.22 arial, helvetica, clean, sans-serif; "&gt;This is a simple driver that is meant to be as a starting point to show you how you can access almost any USB device, even the ones that are not directly supported.&lt;/div&gt;&lt;div style="padding-top: 7px; padding-right: 7px; padding-bottom: 7px; padding-left: 7px; background-color: rgb(255, 255, 255); font: normal normal normal 13px/1.22 arial, helvetica, clean, sans-serif; "&gt;// create a driver instance&lt;br /&gt;XBOXController XBOX = new XBOXController();&lt;/div&gt;&lt;div style="padding-top: 7px; padding-right: 7px; padding-bottom: 7px; padding-left: 7px; background-color: rgb(255, 255, 255); font: normal normal normal 13px/1.22 arial, helvetica, clean, sans-serif; "&gt;// read the analog hat switch&lt;br /&gt;Debug.Print("LH " + XBOX.GetAnalogHat(XBOXController.AnalogHat.LeftHatX) + "  " + XBOX.GetAnalogHat(XBOXController.AnalogHat.LeftHatY));&lt;/div&gt;&lt;div style="padding-top: 7px; padding-right: 7px; padding-bottom: 7px; padding-left: 7px; background-color: rgb(255, 255, 255); font: normal normal normal 13px/1.22 arial, helvetica, clean, sans-serif; "&gt;// read digital switch&lt;br /&gt;if( XBOX.GetButton(XBOXController.Button.X)) Debug.Print("X");&lt;/div&gt;&lt;div style="padding-top: 7px; padding-right: 7px; padding-bottom: 7px; padding-left: 7px; background-color: rgb(255, 255, 255); font: normal normal normal 13px/1.22 arial, helvetica, clean, sans-serif; "&gt;Note that writing USB drivers on GHI's devices is very easy but still requires some knowledge of the internals of USB. If you are using standard devices liek mouse, keyboard, storage then these have built in drivers, so you do not need to know anything about USB.&lt;/div&gt;&lt;div style="padding-top: 7px; padding-right: 7px; padding-bottom: 7px; padding-left: 7px; background-color: rgb(255, 255, 255); font: normal normal normal 13px/1.22 arial, helvetica, clean, sans-serif; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5977439487252829249-4640016297745773287?l=tinyclr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tinyclr.blogspot.com/feeds/4640016297745773287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tinyclr.blogspot.com/2010/03/using-xbox-controller-with-net-micro.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/4640016297745773287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/4640016297745773287'/><link rel='alternate' type='text/html' href='http://tinyclr.blogspot.com/2010/03/using-xbox-controller-with-net-micro.html' title='Using  XBOX controller with .NET Micro Framework'/><author><name>Gus Issa</name><uri>http://www.blogger.com/profile/09087348010533736710</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_JjGOhYs5588/S4E7lX-95tI/AAAAAAAAAAw/fWWLJKHcrjs/S220/e379dc33f851430c972bc79b124f5995.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5977439487252829249.post-510445370113712819</id><published>2010-02-26T15:40:00.000-08:00</published><updated>2010-02-26T15:48:03.663-08:00</updated><title type='text'>.NET Micro Framework SDK 4.0 is in beta stage</title><content type='html'>The all new SDK for Embedded Master and USBizi is available for immediate download! ChipworkX come next and very soon.&lt;div&gt;With this SDK, all GHI NETMF products share the same SDK and same libraries, allowing seamless switching between all products, same code same project runs on any GHI NETMF device.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The forum includes some steps and details on how to install 4.0&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Embedded Master: &lt;a href="http://www.ghielectronics.com/forum/index.php/topic,2866.0.html"&gt;http://www.ghielectronics.com/forum/index.php/topic,2866.0.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;USBizi: &lt;a href="http://www.ghielectronics.com/forum/index.php/topic,2865.0.html"&gt;http://www.ghielectronics.com/forum/index.php/topic,2865.0.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This month will be exciting will all new updates...so stay tuned ;-)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5977439487252829249-510445370113712819?l=tinyclr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tinyclr.blogspot.com/feeds/510445370113712819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tinyclr.blogspot.com/2010/02/net-micro-framework-sdk-40-is-in-beta.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/510445370113712819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/510445370113712819'/><link rel='alternate' type='text/html' href='http://tinyclr.blogspot.com/2010/02/net-micro-framework-sdk-40-is-in-beta.html' title='.NET Micro Framework SDK 4.0 is in beta stage'/><author><name>Gus Issa</name><uri>http://www.blogger.com/profile/09087348010533736710</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_JjGOhYs5588/S4E7lX-95tI/AAAAAAAAAAw/fWWLJKHcrjs/S220/e379dc33f851430c972bc79b124f5995.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5977439487252829249.post-4167687083819636887</id><published>2010-02-21T06:04:00.000-08:00</published><updated>2010-02-21T07:23:11.390-08:00</updated><title type='text'>Using TFT displays and standard VGA monitor with EMX or Embedded Master</title><content type='html'>&lt;div&gt;GHI Electronics offers many hardware modules running .NET Micro Framework, like EMX and ChipworkX. They all support TFT displays with 16-bit 5:6:5 RGB color depth.&lt;/div&gt;&lt;div&gt;With this interface, users can use about any TFT display. Some applications, like handheld devices, may require a 320x240 3.4" display. Others, like vending machines, may need a 640x480 7" displays. What about airport informational center? Those will probably need a 12" 800x600 displays. What is important is that GHI NETMF modules can work with all these options. Through a simple call to the GHI managed libraries, a user can set the default settings for display, including resolution, HSYNC, VSYNC and clock.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What if an application require to work with external VGA monitors? While TFT displays are rather flexible when it comes to timing and clock rates, VGA monitors must have a very precise clock. Since the image beam is controlled directly by the VGA signals, a high clock rate is required. A 640x480 @60hz refresh needs about 25Mhz clock! Stepping up to 800x600 @60hz will need 40Mhz! Having 40Mhz clock at 2bytes per pixel will require 80MegaBytes/second.&lt;/div&gt;&lt;div&gt;In computers, generation the clock is handled by the graphics card. All the processor have to do is transfer the frame buffer (image) to the graphics card then the card will take care of generation the clocks. On small embedded system, generation such high clocks/bandwidth is not an option.&lt;/div&gt;&lt;div&gt;Fortunately, there are small chips that does what graphics card do. Chrontel at www.chrontel.com offers a chip called CH7025 that has an internal 2MB for frame buffer. An embedded system, like ChipworkX, can send its buffer at any clock rate to CH7025 and then the chip will take care of generating the appropriate clocks. It even take care of converting the 16bit digital signals to the VGA analog colors Red, Green and Blue.&lt;/div&gt;&lt;div&gt;Here is the datasheet &lt;a href="http://www.chrontel.com/pdf/7025_7026ad.pdf"&gt;http://www.chrontel.com/pdf/7025_7026ad.pdf&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The good news is that EMX and Embedded Master can generate VGA timings with some limitation. They support 640x480 resolution with actual 480x480 pixels. This means that the monitor will see a 640x480 clock timings but you will have actually 480x480 pixels to draw on. With this configuration, EMX and Embedded Master can generate the VGA signals without the need for any extra components. (Remember that you can use any resolution you like if you add a frame generator circuit.) Keep in mind that this requires these devices to transfer about 50MBytes/sec in which will slow down the system. This option is ideal for vending machines and informational centers.&lt;/div&gt;&lt;div&gt;OK, we are all set as far as timings. Now, we need to convert the 16-bit digital to analog signal. If perfect colors are not important in your device then this can be accomplished using simple resistor circuit. Here is an example schematics &lt;/div&gt;&lt;div&gt;&lt;a href="http://www.ghielectronics.com/downloads/EmbeddedMaster/EM-VGAEXP_sch.pdf"&gt;http://www.ghielectronics.com/downloads/EmbeddedMaster/EM-VGAEXP_sch.pdf&lt;/a&gt;&lt;/div&gt;&lt;div&gt;With this simple circuit, you will still have perfect image quality but the colors will be slightly off. If you are displaying text or solid colors then images will look perfect. But, if you are displaying full color photographs, then images will look okay but not perfect. To prefect colors, we need to use a DAC chip. &lt;/div&gt;&lt;div&gt;Here is a video of a customer talking about generating VGA signals.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/PIOp7Epos9o&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;color1=0x006699&amp;amp;color2=0x54abd6"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/PIOp7Epos9o&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;color1=0x006699&amp;amp;color2=0x54abd6" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is a fun time-laps video of the same customer assembling a circuit that host Embedded Master. Time-laps starts about in the middle of the video.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/rLA8ytNvu7s&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;color1=0x006699&amp;amp;color2=0x54abd6"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/rLA8ytNvu7s&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;color1=0x006699&amp;amp;color2=0x54abd6" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5977439487252829249-4167687083819636887?l=tinyclr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tinyclr.blogspot.com/feeds/4167687083819636887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tinyclr.blogspot.com/2010/02/using-tft-displays-and-standard-vga.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/4167687083819636887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/4167687083819636887'/><link rel='alternate' type='text/html' href='http://tinyclr.blogspot.com/2010/02/using-tft-displays-and-standard-vga.html' title='Using TFT displays and standard VGA monitor with EMX or Embedded Master'/><author><name>Gus Issa</name><uri>http://www.blogger.com/profile/09087348010533736710</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_JjGOhYs5588/S4E7lX-95tI/AAAAAAAAAAw/fWWLJKHcrjs/S220/e379dc33f851430c972bc79b124f5995.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5977439487252829249.post-5026298678987389653</id><published>2010-02-20T06:28:00.000-08:00</published><updated>2010-02-20T06:52:40.409-08:00</updated><title type='text'>Where is NETMF 4.0? What is new?</title><content type='html'>The new release of .NET Micro Framework 4.0 is very compatible with 3.0 so updating the firmware is somewhat an easy task. GHI Electronics took this opportunity to rewrite and optimize the whole driver set for USBizi, EMX (Embedded Master) and ChipworkX.&lt;div&gt;&lt;br /&gt;&lt;div&gt;What does that mean to you? &lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;All managed libraries are now uniform among all products. If you have code for EMX then it will simply work on ChipworkX with no changes.&lt;br /&gt;&lt;a href="http://ghielectronics.com/downloads/NETMF/Library%20Documentation/Index.html"&gt;http://ghielectronics.com/downloads/NETMF/Library%20Documentation/Index.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Optimizing allowed us to *double* the free memory on USBizi chipset, was about 20K and now about 40K. This means NETMF C# projects can run smoother and users have higher flexibility.&lt;/li&gt;&lt;li&gt;USB Host now supports unlimited USB devices! This new support works on all our devices even USBizi. You can now connect hubs/devices anyway you like and they will all work simultaneously.&lt;/li&gt;&lt;li&gt;All GHI NETMF SDKs are now combined into one download. This make sense since all are now sharing the same managed libraries.&lt;/li&gt;&lt;li&gt;The same EMX firmware will also run on Embedded Master. Loading 3.0 on EMX will not work and will damage EMX but the new 4.0 firmware works fine on Embedded Master and EMX.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Keep in mind that if you are using one of our modules/chipsets then these updates come free to you! You only need to download the firmware from GHI website and load it on your device.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The schedule:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;USBizi 4.0 has been out for months where it was used on FEZ. If you didn't know FEZ actually has USBizi chip on it so FEZ=USBizi (see www.TinyCLR.com). We didn't announce the firmware for USBizi because we wanted to modify few things first. By the time you read this post, USBizi 4.0 release should be online. We are done but still doing some extensive testing&lt;/li&gt;&lt;li&gt;The new EMX is online (and in stock!) but can't be ordered till March 1, 2010. By then, the 4.0 firmware for EMX and Embedded Master will be online.&lt;/li&gt;&lt;li&gt;ChipworkX comes last to join in the 4.0&lt;/li&gt;&lt;li&gt;In short,  a production release firmware will be available for all our NETMF products by end of March 2010 but beta will be available in beginning of March.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;We very much value your feedback so please let us know what you like/dislike and help us out in testing the all new 4.0 firmware.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5977439487252829249-5026298678987389653?l=tinyclr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tinyclr.blogspot.com/feeds/5026298678987389653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tinyclr.blogspot.com/2010/02/where-is-netmf-40-what-is-new.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/5026298678987389653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/5026298678987389653'/><link rel='alternate' type='text/html' href='http://tinyclr.blogspot.com/2010/02/where-is-netmf-40-what-is-new.html' title='Where is NETMF 4.0? What is new?'/><author><name>Gus Issa</name><uri>http://www.blogger.com/profile/09087348010533736710</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_JjGOhYs5588/S4E7lX-95tI/AAAAAAAAAAw/fWWLJKHcrjs/S220/e379dc33f851430c972bc79b124f5995.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5977439487252829249.post-2625857350204375795</id><published>2010-01-26T07:47:00.000-08:00</published><updated>2010-01-26T07:53:14.713-08:00</updated><title type='text'>FEZ the movie and what is FEZ Monkey?!</title><content type='html'>&lt;span class="Apple-style-span"   style="  white-space: pre; font-family:Arial, Helvetica, sans-serif;font-size:10px;"&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" white-space: normal; font-size:12px;"&gt;It is amazing to see what "FEZ" search will result in....found this FEZ clip on Youtube! &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-style-span"  style=" white-space: normal;font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;object width="340" height="285"&gt;&lt;param name="movie" value="http://www.youtube.com/v/SEQBtZQ5AJk&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0x5d1719&amp;amp;color2=0xcd311b&amp;amp;border=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/SEQBtZQ5AJk&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0x5d1719&amp;amp;color2=0xcd311b&amp;amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="340" height="285"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Arial, Helvetica, sans-serif;font-size:85%;"&gt;&lt;span class="Apple-style-span"  style=" white-space: pre;font-size:10px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Arial, Helvetica, sans-serif;font-size:85%;"&gt;&lt;span class="Apple-style-span"  style=" white-space: pre;font-size:10px;"&gt;&lt;span class="Apple-style-span"  style=" white-space: normal; font-size:12px;"&gt;According to &lt;a href="http://www.urbandictionary.com/define.php?term=Fez+Monkey" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-decoration: none; "&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;Urban Dictionary&lt;/span&gt;&lt;/a&gt;, "FEZ Monkey" is the highest level of being, the highest point of evolution. Only a select few ever make it to this.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5977439487252829249-2625857350204375795?l=tinyclr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tinyclr.blogspot.com/feeds/2625857350204375795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tinyclr.blogspot.com/2010/01/fez-movie-and-what-is-fez-monkey.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/2625857350204375795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/2625857350204375795'/><link rel='alternate' type='text/html' href='http://tinyclr.blogspot.com/2010/01/fez-movie-and-what-is-fez-monkey.html' title='FEZ the movie and what is FEZ Monkey?!'/><author><name>Gus Issa</name><uri>http://www.blogger.com/profile/09087348010533736710</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_JjGOhYs5588/S4E7lX-95tI/AAAAAAAAAAw/fWWLJKHcrjs/S220/e379dc33f851430c972bc79b124f5995.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5977439487252829249.post-2077514910362886878</id><published>2010-01-16T10:02:00.000-08:00</published><updated>2010-01-16T10:21:45.764-08:00</updated><title type='text'>FEZ...the easiest way to go embedded!</title><content type='html'>&lt;div&gt;&lt;b&gt;FEZ Domino&lt;/b&gt; and &lt;b&gt;FEZ Mini&lt;/b&gt; are very small (open source) boards targeted for beginners. They are based on USBizi chipset and so they have all USBizi features. Those little boards offer a lot of peripherals not available with any hobby-targeted board. Even tough it is targeted for beginner, it is a low-cost starting point for any professional wanting to test out NETMF.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#990000;"&gt;FEZ stands for "Freakin' Easy!". See more at &lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); "&gt;&lt;a href="http://www.tinyclr.com/"&gt;http://www.tinyclr.com/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Features available in FEZ but not available in Arduino, BASIC STAMP and others:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Based on Microsoft .NET Micro Framework.&lt;/li&gt;&lt;li&gt;Support runtime debugging (breakpoint, variable inspection, stepping...etc.)&lt;/li&gt;&lt;li&gt;Uses free VS2008 C# express edition for development.&lt;/li&gt;&lt;li&gt;High-end features like FAT, threading, USB device and USB host.&lt;/li&gt;&lt;li&gt;Hardware independent. Easily upgrade to more fancy hardware like ChipworkX.&lt;/li&gt;&lt;li&gt;Open source hardware design files.&lt;/li&gt;&lt;li&gt;Already available shields and holder boards.&lt;/li&gt;&lt;li&gt;Based on USBizi chip. Use the chipset to create new designs.&lt;/li&gt;&lt;li&gt;FEZ Mini comes alone or bundled in different kits forms, like the starter kit and the robot kit.&lt;/li&gt;&lt;li&gt;There are tens of sensors that are ready to plug directly into the kits. From LEDs and buttons to reflection and temperature sensors. Many projects can now be completed with NETMF without the need for any soldering.&lt;/li&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;This is a video showing FEZ Mini Sytarter Kit and an example on how to add components.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Arial, Helvetica, sans-serif;font-size:85%;"&gt;&lt;span class="Apple-style-span"  style=" white-space: pre; font-size:10px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  white-space: pre; font-family:Arial, Helvetica, sans-serif;font-size:10px;"&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/AzAx63ePdEw&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/AzAx63ePdEw&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Not sure how to get started? These three videos will show you the way.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Arial, Helvetica, sans-serif;font-size:85%;"&gt;&lt;span class="Apple-style-span"  style=" white-space: pre;font-size:10px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  white-space: pre; font-family:Arial, Helvetica, sans-serif;font-size:10px;"&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/zeJQpYXIYA4&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/zeJQpYXIYA4&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Arial, Helvetica, sans-serif;font-size:85%;"&gt;&lt;span class="Apple-style-span"  style=" white-space: pre;font-size:10px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  white-space: pre; font-family:Arial, Helvetica, sans-serif;font-size:10px;"&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/DD19WwDDaHw&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/DD19WwDDaHw&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Arial, Helvetica, sans-serif;font-size:85%;"&gt;&lt;span class="Apple-style-span"  style=" white-space: pre;font-size:10px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Arial, Helvetica, sans-serif;font-size:85%;"&gt;&lt;span class="Apple-style-span"  style=" white-space: pre;font-size:10px;"&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/xDi3F-w4gy8&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/xDi3F-w4gy8&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Arial, Helvetica, sans-serif;font-size:85%;"&gt;&lt;span class="Apple-style-span"  style=" white-space: pre;font-size:10px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5977439487252829249-2077514910362886878?l=tinyclr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tinyclr.blogspot.com/feeds/2077514910362886878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tinyclr.blogspot.com/2010/01/fezthe-easiest-way-to-go-embedded.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/2077514910362886878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/2077514910362886878'/><link rel='alternate' type='text/html' href='http://tinyclr.blogspot.com/2010/01/fezthe-easiest-way-to-go-embedded.html' title='FEZ...the easiest way to go embedded!'/><author><name>Gus Issa</name><uri>http://www.blogger.com/profile/09087348010533736710</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_JjGOhYs5588/S4E7lX-95tI/AAAAAAAAAAw/fWWLJKHcrjs/S220/e379dc33f851430c972bc79b124f5995.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5977439487252829249.post-9201978592688270110</id><published>2009-10-17T13:14:00.000-07:00</published><updated>2009-10-17T13:31:29.394-07:00</updated><title type='text'>Video Playback on Micro Famework using RLP - last part!</title><content type='html'>&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;This took a while for me to post...sorry, I have been very busy! Which worked out very well because GHI made some enhancements on RLP. Now, there are extensions available that give access to the system resources, for example malloc and free. In my example, I use my own malloc and free because if I do something wrong or cause memory leakage, it will only harm my own RLP but not the system plus I wanted to prove that it is possible to have our own memory allocation in RLP. I am still using the delay extension in my code. When I ran it the first time it was too fast so I had to slow it down!!&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;So to play a video, first you have to remove the audio from it like I described before. Then place the video on the internal flash of ChipworkX. In latest firmware this flash is accessible from windows, just like any external media so just drop the video there! I also put the libmpeg elf file right in the internal flash. This allwed me to update libmpeg library by simply changing elf file on the internal flash.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;You can use this elf file in any project but to compile the elf file there are many things they you will need. I do not explain it because it is just too much work. I will clean up the project and make it compile easily with YAGARTO, like other RLP examples in SDK. This will happen when I have some free time...if I ever will!!!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;So, if you have ever thought that .NET Micro Framework is slow or not real time then think again! With RLP extensions from GHI Electronics, you can now run time critical procedure VERY fast through native code. www.chipworkx.com&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Here is the project with details and source code&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:Arial, sans-serif;"&gt;&lt;a href="http://www.microframeworkprojects.com/project/41"&gt;http://www.microframeworkprojects.com/project/41&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:Arial, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style=" white-space: pre; font-size:10px;"&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/mMVyV9oWuWw&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/mMVyV9oWuWw&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Arial, sans-serif;font-size:85%;"&gt;&lt;span class="Apple-style-span"  style=" white-space: pre;font-size:10px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5977439487252829249-9201978592688270110?l=tinyclr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tinyclr.blogspot.com/feeds/9201978592688270110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tinyclr.blogspot.com/2009/10/video-playback-on-micro-famework-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/9201978592688270110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/9201978592688270110'/><link rel='alternate' type='text/html' href='http://tinyclr.blogspot.com/2009/10/video-playback-on-micro-famework-using.html' title='Video Playback on Micro Famework using RLP - last part!'/><author><name>Gus Issa</name><uri>http://www.blogger.com/profile/09087348010533736710</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_JjGOhYs5588/S4E7lX-95tI/AAAAAAAAAAw/fWWLJKHcrjs/S220/e379dc33f851430c972bc79b124f5995.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5977439487252829249.post-2536580030743526289</id><published>2009-09-25T11:47:00.000-07:00</published><updated>2009-09-25T12:03:30.911-07:00</updated><title type='text'>Free .NET Micro Framework and C# Book</title><content type='html'>.NET Micro Framework is a great technology but many developers are afraid to use it because of the lack of beginner tutorials. I though it would be very helpful if I write a beginner book for NETMF and for C#.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Funny story, a GHI customer who happen to have PhD degree on engineering found it difficult to find info on how to blink an LED! I completely understand  as I did struggle the same way at the beginning to learn about the simplest details of .NET Micro Framework. &lt;/div&gt;&lt;div&gt;.NET Micro Framework is extremely easy compared to other embedded solutions but we are missing a beginner book, well you have it now. The book also covers C# so you actually have 2 books in one....and it is free download!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Do not forget to see all the projects on GHI's projects website&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.microframeworkprojects.com/"&gt;http://www.microframeworkprojects.com/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The book is in progress but it already includes everything you need to get started&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.ghielectronics.com/forum/index.php/topic,2408.0.html"&gt;http://www.ghielectronics.com/forum/index.php/topic,2408.0.html&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5977439487252829249-2536580030743526289?l=tinyclr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tinyclr.blogspot.com/feeds/2536580030743526289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tinyclr.blogspot.com/2009/09/free-micro-framework-book.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/2536580030743526289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/2536580030743526289'/><link rel='alternate' type='text/html' href='http://tinyclr.blogspot.com/2009/09/free-micro-framework-book.html' title='Free .NET Micro Framework and C# Book'/><author><name>Gus Issa</name><uri>http://www.blogger.com/profile/09087348010533736710</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_JjGOhYs5588/S4E7lX-95tI/AAAAAAAAAAw/fWWLJKHcrjs/S220/e379dc33f851430c972bc79b124f5995.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5977439487252829249.post-165446066793687872</id><published>2009-09-25T10:39:00.000-07:00</published><updated>2009-09-25T10:51:10.546-07:00</updated><title type='text'>ChipworkX just got even better! Mass storage and enhanced RLP</title><content type='html'>The latest release of ChipworkX adds mass storage device support. When you plug in the USB cable from ChipworkX, Windows will now see a mass storage device (internal 256MB flash) and will also see the debug interface.&lt;div&gt;Not only that, GHI have also added new "extensions" to RLP allowing user to use some predefined code like set/clear pins and malloc/free memory. New RLP also supports installing interrupt handlers. Your NETMF project can now handle interrupts in real time.&lt;/div&gt;&lt;div&gt;The SDK also includes examples on how to use "make" to create RLP files very esily using free GCC compilers.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I had stopped progressing my tutorial on Video playback using RLP because I learned about all teh cool things being added to it but now with new SDK, I will go back and revisit the video playback using the new RLP support.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This ChipworkX firmware is still in beta but it is very close from what the RTM will look like.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5977439487252829249-165446066793687872?l=tinyclr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tinyclr.blogspot.com/feeds/165446066793687872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tinyclr.blogspot.com/2009/09/chipworkx-just-got-even-better-mass.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/165446066793687872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/165446066793687872'/><link rel='alternate' type='text/html' href='http://tinyclr.blogspot.com/2009/09/chipworkx-just-got-even-better-mass.html' title='ChipworkX just got even better! Mass storage and enhanced RLP'/><author><name>Gus Issa</name><uri>http://www.blogger.com/profile/09087348010533736710</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_JjGOhYs5588/S4E7lX-95tI/AAAAAAAAAAw/fWWLJKHcrjs/S220/e379dc33f851430c972bc79b124f5995.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5977439487252829249.post-7915849773586317868</id><published>2009-09-01T07:23:00.000-07:00</published><updated>2009-09-01T07:24:23.538-07:00</updated><title type='text'>Embedded Systems the Micro Framework way!</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: medium;"&gt;GHI products with .NET Micro Framework greatly reduce time-to-market for most designs. Hardware and software can be accomplished with an ease and a peace of mind.&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;This great video shows how much you could do with a very short time when compared to conventional design strategies.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 11px; "&gt;&lt;/span&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/rQ-DFbEvRYE&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/rQ-DFbEvRYE&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5977439487252829249-7915849773586317868?l=tinyclr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tinyclr.blogspot.com/feeds/7915849773586317868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tinyclr.blogspot.com/2009/09/embedded-systems-micro-framework-way.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/7915849773586317868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/7915849773586317868'/><link rel='alternate' type='text/html' href='http://tinyclr.blogspot.com/2009/09/embedded-systems-micro-framework-way.html' title='Embedded Systems the Micro Framework way!'/><author><name>Gus Issa</name><uri>http://www.blogger.com/profile/09087348010533736710</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_JjGOhYs5588/S4E7lX-95tI/AAAAAAAAAAw/fWWLJKHcrjs/S220/e379dc33f851430c972bc79b124f5995.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5977439487252829249.post-1021378344727895377</id><published>2009-08-31T15:08:00.000-07:00</published><updated>2009-08-31T15:14:46.864-07:00</updated><title type='text'>WiFi is now available on .NET Micro Framework devices</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_JjGOhYs5588/SpxLASWSYzI/AAAAAAAAAAc/_fRsBdsb3pY/s1600-h/GHI-00127-large.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 236px;" src="http://2.bp.blogspot.com/_JjGOhYs5588/SpxLASWSYzI/AAAAAAAAAAc/_fRsBdsb3pY/s320/GHI-00127-large.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5376254523470930738" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;GHI proudly announces the first .NET Micro Framework 3.0 hardware to run WiFi 802.11 wireless networks on ChipworkX and Embedded Master.&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;This new feature supports WEP, WPA, WPA2 secure networks through hardware AES and RS4 cyphers.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;The wireless 802.11 hardware module is FCC, IC and WiFi certified and costs only about $30 in low quantities which makes it ideal for .NET Micro Framework devices.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5977439487252829249-1021378344727895377?l=tinyclr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tinyclr.blogspot.com/feeds/1021378344727895377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tinyclr.blogspot.com/2009/08/wifi-is-now-available-on-net-micro.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/1021378344727895377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/1021378344727895377'/><link rel='alternate' type='text/html' href='http://tinyclr.blogspot.com/2009/08/wifi-is-now-available-on-net-micro.html' title='WiFi is now available on .NET Micro Framework devices'/><author><name>Gus Issa</name><uri>http://www.blogger.com/profile/09087348010533736710</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_JjGOhYs5588/S4E7lX-95tI/AAAAAAAAAAw/fWWLJKHcrjs/S220/e379dc33f851430c972bc79b124f5995.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_JjGOhYs5588/SpxLASWSYzI/AAAAAAAAAAc/_fRsBdsb3pY/s72-c/GHI-00127-large.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5977439487252829249.post-764926865538504729</id><published>2009-08-14T07:41:00.001-07:00</published><updated>2009-08-14T07:55:21.535-07:00</updated><title type='text'>Embedded Master and ChipworkX with Power over Ethernet</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JjGOhYs5588/SoV5EpXVvyI/AAAAAAAAAAU/fJg07T1zW6I/s1600-h/PoE.JPG"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 311px;" src="http://3.bp.blogspot.com/_JjGOhYs5588/SoV5EpXVvyI/AAAAAAAAAAU/fJg07T1zW6I/s400/PoE.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5369831251439370018" /&gt;&lt;/a&gt;In Some applications, a networked device can be placed at a distance connected to an Ethernet cable. It would be really beneficial if the Ethernet cable can be used for data and for power. You actually can do that. This is called "Power over Ethernet", &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;PoE&lt;/span&gt; for short.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are many options for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;PoE&lt;/span&gt;. The easiest way I found (and cheapest) is by using a pair of splitter/injectors.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A .NET Micro Framework device &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;like&lt;/span&gt; Embedded Master and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;ChipworkX&lt;/span&gt; can easily be power and networked using the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;same&lt;/span&gt; cable.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In this picture, you can see &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;ChipworkX&lt;/span&gt; power and connected the laptop for networking using the same Ethernet cable.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This website offers those cables for about $3.&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.andahammer.com/poeispair"&gt;http://www.andahammer.com/poeispair&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5977439487252829249-764926865538504729?l=tinyclr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tinyclr.blogspot.com/feeds/764926865538504729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tinyclr.blogspot.com/2009/08/in-some-applications-networked-device.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/764926865538504729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/764926865538504729'/><link rel='alternate' type='text/html' href='http://tinyclr.blogspot.com/2009/08/in-some-applications-networked-device.html' title='Embedded Master and ChipworkX with Power over Ethernet'/><author><name>Gus Issa</name><uri>http://www.blogger.com/profile/09087348010533736710</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_JjGOhYs5588/S4E7lX-95tI/AAAAAAAAAAw/fWWLJKHcrjs/S220/e379dc33f851430c972bc79b124f5995.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_JjGOhYs5588/SoV5EpXVvyI/AAAAAAAAAAU/fJg07T1zW6I/s72-c/PoE.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5977439487252829249.post-3556117746258721421</id><published>2009-08-10T12:18:00.000-07:00</published><updated>2009-08-10T13:42:44.056-07:00</updated><title type='text'>Additional offers for the Dare to Dream Different contest</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_JjGOhYs5588/SoB6mXLCIaI/AAAAAAAAAAM/xsVJGP4rRL8/s1600-h/dream.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 212px; height: 177px;" src="http://2.bp.blogspot.com/_JjGOhYs5588/SoB6mXLCIaI/AAAAAAAAAAM/xsVJGP4rRL8/s400/dream.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5368425555299541410" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt; &lt;p class="MsoNormal"&gt;&lt;span style="font-family:'Arial','sans-serif';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;GHI Electronics, LLC  is giving away 100 coupons and free consulting hours to &lt;/span&gt;&lt;em&gt;&lt;span style="font-family:'Arial','sans-serif';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Dare to Dream Different&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;  contestants. Winners and even non-winners still get coupons!&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;div&gt; &lt;p class="MsoNormal"&gt;&lt;span style="font-family:'Arial','sans-serif';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Coupons and  consulting hours are provided as follows:&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;ul type="disc"&gt; &lt;li class="MsoNormal"&gt;&lt;span style="font-family:'Arial','sans-serif';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;1,000.00 USD  coupon plus 20 consulting hours for each one of the 2 first place  winners.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt; &lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-family:'Arial','sans-serif';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;500.00 USD coupon  plus 10 consulting hours for each one of the 4 winners of second prize.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;  &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt; &lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-family:'Arial','sans-serif';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;250.00 USD coupon  plus 5 consulting hours for each one of the 2 who made it to final stage but  didn't win.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt; &lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-family:'Arial','sans-serif';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;100.00 USD coupon for  the 90 contestants who didn't make it to the final round.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt; &lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-family:'Arial','sans-serif';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;An additional 100.00  USD coupon is provided if the contest project is tested on GHI products and  submitted to &lt;/span&gt;&lt;/span&gt;&lt;span class="MsoHyperlink"&gt;&lt;span style="color:#0066cc;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;http://www.microframeworkprojects.com/&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;  &lt;/span&gt;&lt;span style="font-family:'Arial','sans-serif';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; &lt;div&gt; &lt;p class="MsoNormal"&gt;&lt;span style="font-family:'Arial','sans-serif';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Total estimated value  of all prizes is 26,500.00 USD.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;div&gt; &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial, sans-serif;"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Rules:&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;ul type="disc"&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-family:'Arial','sans-serif';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Coupons are valid for  one purchase, directly form GHI Electronics, LLC.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt; &lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-family:'Arial','sans-serif';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Coupons can not be  redeemed for cash.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt; &lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-family:'Arial','sans-serif';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Coupon can not be  applied to previous order(s).&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;span style="font-family:'Arial','sans-serif';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-family:'Arial','sans-serif';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Coupons are valid  only for a purchase of  USBizi, Embedded Master, ChipworkX and their sub  products.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;span style="font-family:'Arial','sans-serif';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:Arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Coupons can't be used for shipping/handling fees.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-family:'Arial','sans-serif';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Consulting hours can  be used for one .NET Micro Framework related project only.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;span style="font-family:'Arial','sans-serif';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-family:'Arial','sans-serif';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Coupons and free  consulting hours are valid till November 1, 2009.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt; &lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-family:'Arial','sans-serif';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Support is always  free and unlimited &lt;/span&gt;&lt;a href="http://www.ghielectronics.com/forum/"&gt;&lt;span style="font-family:'Times New Roman','serif';color:#0066cc;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;http://www.ghielectronics.com/forum/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;  &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt; &lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-family:'Arial','sans-serif';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;GHI Electronics, LLC  reserves the right to alter these rules and offerings.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;  &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:Arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Names of contestant must appear on the contest page&lt;br /&gt;&lt;/span&gt;&lt;a href="http://dreamdifferentcontest.com/round1_winners.aspx"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;http://dreamdifferentcontest.com/round1_winners.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; &lt;div&gt; &lt;p class="MsoNormal"&gt;&lt;span style="font-family:'Arial','sans-serif';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;To use the coupons,  please contact GHI directly through phone, fax  or email.&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.ghielectronics.com/contact"&gt;&lt;span style="font-family:'Times New Roman','serif';color:#0066cc;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;http://www.ghielectronics.com/contact&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;div&gt; &lt;p class="MsoNormal"&gt;&lt;span style=" ;font-family:'Arial','sans-serif';font-size:10pt;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5977439487252829249-3556117746258721421?l=tinyclr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tinyclr.blogspot.com/feeds/3556117746258721421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tinyclr.blogspot.com/2009/08/new-offers-for-dare-to-dream-different.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/3556117746258721421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/3556117746258721421'/><link rel='alternate' type='text/html' href='http://tinyclr.blogspot.com/2009/08/new-offers-for-dare-to-dream-different.html' title='Additional offers for the Dare to Dream Different contest'/><author><name>Gus Issa</name><uri>http://www.blogger.com/profile/09087348010533736710</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_JjGOhYs5588/S4E7lX-95tI/AAAAAAAAAAw/fWWLJKHcrjs/S220/e379dc33f851430c972bc79b124f5995.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_JjGOhYs5588/SoB6mXLCIaI/AAAAAAAAAAM/xsVJGP4rRL8/s72-c/dream.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5977439487252829249.post-7354529349801918005</id><published>2009-07-27T09:57:00.000-07:00</published><updated>2009-10-13T07:19:08.055-07:00</updated><title type='text'>Video Playback on Micro Famework using RLP - part 2</title><content type='html'>&lt;div&gt;So, ready for video playback? I know I am but there are more things to prepare first!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;libmpeg2 library supports video mpeg files. Most video files will have video and audio. Those files are saved as program stream or transport stream. libmpeg2 includes an example on how to parse the audio/video stream to get the video out but, for simplicity, we will use a video only files....at least for now.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Another thing to consider is the video size. You probably want it to be the LCD size or smaller. 320x240 is very common size. To convert the videos, I use a free open-source WinFF from &lt;a href="http://www.winff.org/"&gt;http://www.winff.org&lt;/a&gt;&lt;/div&gt;&lt;div&gt;With WinFF presets, I created my own preset and called it ChipworkX and used these settings &lt;/div&gt;&lt;div&gt;&lt;b&gt;-f mpeg1video -an&lt;/b&gt;&lt;/div&gt;&lt;div&gt;With those settings, I removed the audio and used MPEG1 encoding. MPEG2 is also supported but it requires licensing so we will use MPEG1. You can now convert almost any video file to MPEG1 file with no audio. Remember to set the video size to something small, 320x240 or smaller.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Understanding RLP&lt;/b&gt;&lt;/div&gt;&lt;div&gt;The RLP feature form GHI allows developers to load and run ELF files at runtime form within Micro Framework. There is 2MB in SDRAM reserved for this purpose. They can be used for code, data, heap ...etc. The stack will be shared with the main system stack. ARM processors handle stack through hardware registers and it defines the procedure calling convention. This allows mixing different compilers. For example, Micro Framework is compiled using RVDS from ARM but you can load an elf file that was compiled with GCC!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The next step is to compile libmpeg2 in a separate project and test it out using JTAG on ChipworkX. Micro Framework is not needed at this point but we will still use the 2MB reserved for RLP at 0x23D00000. (update: This address changed to 0xA0000000...see ChipworkX documentaion)&lt;/div&gt;&lt;div&gt;Now we need to expose some functions out as RLP so we can call them from within .NET Micro Framework. All exposed functions &lt;b&gt;must&lt;/b&gt; be in the form&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#330099;"&gt;int&lt;/span&gt; Foo(&lt;span class="Apple-style-span"  style="color:#330099;"&gt;unsigned int&lt;/span&gt; *generalArray, &lt;span class="Apple-style-span"  style="color:#330099;"&gt;void&lt;/span&gt; **args, &lt;span class="Apple-style-span"  style="color:#330099;"&gt;unsigned int&lt;/span&gt; argsCount, &lt;span class="Apple-style-span"  style="color:#330099;"&gt;unsigned int&lt;/span&gt; *argSize);&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Those exposed functions are called from Micro Framework using Invoke() method&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#330099;"&gt;int&lt;/span&gt; Invoke(&lt;span class="Apple-style-span"  style="color:#330099;"&gt;uint&lt;/span&gt; [] generalArray, &lt;span class="Apple-style-span"  style="color:#330099;"&gt;params object&lt;/span&gt; [] argList);&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You probably guessed it right! The return type and generalArrray are same on managed and native sides. The argList in managed code is translated into an argument list pointer array args. argsCount will help in debugging and it is the count of how many arguments passed. If none is passed then it is zero. argSize helps is knowing the size of the passed argument. For example an int will result in 4. It is mainly used with arrays so we can know how large is the array and go out of boundary.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Note that passing arguments in argList requires some overhead and a copy of the data is passed down to the native side. An exception is when using byte arrays which are passed as a pointer and have very little overhead. This is perfect for our example here o pass down the video data for decoding.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The first argument argList will always exist on C# managed code. This int array is passed as a pointer and done with least overhead for speed. Changes on values in native code will also change the values on managed code. If this argument is not needed then NULL can be passed from C#. We will be using this in some of the methods.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Looking at how libmpeg2 functions, I needed 4 RLPs for this example:&lt;/div&gt;&lt;div&gt;RLP_MPEG_InitializeRuntime (setup the C runtime, like heap and rodata...etc.)&lt;/div&gt;&lt;div&gt;RLP_MPEG_Init (initialize libmpeg2 and allocate and object for decoding)&lt;/div&gt;&lt;div&gt;RLP_MPEG_Decode (run the decoder loop)&lt;/div&gt;&lt;div&gt;RLP_MPEG_SendBeffer (pass more video data when requested by decoder)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;.......Stay tuned for part 3.........&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5977439487252829249-7354529349801918005?l=tinyclr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tinyclr.blogspot.com/feeds/7354529349801918005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tinyclr.blogspot.com/2009/07/video-playback-on-micro-famework-using_27.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/7354529349801918005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/7354529349801918005'/><link rel='alternate' type='text/html' href='http://tinyclr.blogspot.com/2009/07/video-playback-on-micro-famework-using_27.html' title='Video Playback on Micro Famework using RLP - part 2'/><author><name>Gus Issa</name><uri>http://www.blogger.com/profile/09087348010533736710</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_JjGOhYs5588/S4E7lX-95tI/AAAAAAAAAAw/fWWLJKHcrjs/S220/e379dc33f851430c972bc79b124f5995.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5977439487252829249.post-3176380583687308369</id><published>2009-07-22T11:14:00.001-07:00</published><updated>2009-07-22T11:55:24.400-07:00</updated><title type='text'>Video Playback on Micro Famework using RLP - part 1</title><content type='html'>Since .NET Micro &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;Framework&lt;/span&gt; is targeted for little processors, video playback is not supported. But with processors becoming more powerful and costing less everyday, existing Micro Framework devices can very well run video streams. Take for example ChipworkX. It is based on a 200Mhz ARM9 processor which is capable of running WinCE or Linux so why not playback a video?&lt;div&gt;&lt;a href="http://www.ghielectronics.com/product/125"&gt;Click here for ChipworkX page&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Micro Framework core doesn't support video playback. The best you can do is play an animated GIF or a MJPEG (Motion JPEG) file with some parsing but with that, you will get about 1 frame per second...very slow!! &lt;/div&gt;&lt;div&gt;&lt;a href="http://en.wikipedia.org/wiki/Motion_JPEG"&gt;http://en.wikipedia.org/wiki/Motion_JPEG&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, the only way to decode a video stream in real-time is by doing it natively (C/assembly). This requires porting kit and adding some interops to Micro Framework. This means you need to know a lot about Micro framework internals and you are able to compile the whole Micro Framework system (compiler config, JTAG loading, hardware...etc.) Thanks to RLP, you do not have to go through this route.&lt;/div&gt;&lt;div&gt;With new RLP (Runtime Loadable Procedures) from GHI, you can load your own Native executables without knowing anything about Micro Framework internals! This is similar to loading DLLs on Windows. Although RLP run through Micro Framework, they run about 10,000 times faster than managed code!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Through this blog, I will show you, step-by-step, how to create and RLP that plays MPEG video back on ChipworkX. This info will help you understand RLP and will show how powerful it is.&lt;/div&gt;&lt;div&gt;I will be using GPL libmpeg2 library to decode an MPEG. The MPEG file will be loaded from a USB memory drive.&lt;/div&gt;&lt;div&gt;&lt;a href="http://libmpeg2.sourceforge.net/"&gt;Click here for libmpeg2 homepage&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Stay tuned for more.....&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5977439487252829249-3176380583687308369?l=tinyclr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tinyclr.blogspot.com/feeds/3176380583687308369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tinyclr.blogspot.com/2009/07/video-playback-on-micro-famework-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/3176380583687308369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/3176380583687308369'/><link rel='alternate' type='text/html' href='http://tinyclr.blogspot.com/2009/07/video-playback-on-micro-famework-using.html' title='Video Playback on Micro Famework using RLP - part 1'/><author><name>Gus Issa</name><uri>http://www.blogger.com/profile/09087348010533736710</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_JjGOhYs5588/S4E7lX-95tI/AAAAAAAAAAw/fWWLJKHcrjs/S220/e379dc33f851430c972bc79b124f5995.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5977439487252829249.post-7563385842492426848</id><published>2009-07-07T11:03:00.000-07:00</published><updated>2009-07-07T11:07:56.415-07:00</updated><title type='text'>Share your Micro Framework Projects and save!</title><content type='html'>&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;For all .NET Micro Framework lovers!&lt;br /&gt;&lt;br /&gt;We love this technology and we think  it will change the way we think&lt;br /&gt;"embedded". Many developers still do not  know about the amazing things they&lt;br /&gt;can do with Micro Framework.  So.....&lt;br /&gt;GHI has created this project website for everyone to share their  projects&lt;br /&gt;and learn from other's.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.tinyclr.com/"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;www.tinyclr.com&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; (or &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microframeworkprojects.com/"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;www.microframeworkprojects.com&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;)&lt;br /&gt;&lt;br /&gt;For  limited time, we will give you $50 off your next order for every project&lt;br /&gt;you  upload!&lt;br /&gt;You can use *any hardware* you like including, ChipworkX, Embedded  Master, CANxtra,&lt;br /&gt;USBizi, TahoeI/II, AUG AMI DevSys or others!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;b&gt;Rules:&lt;/b&gt; &lt;ol&gt;&lt;li&gt;Uploaded project must be yours and the project must be complete (image/code/description) &lt;/li&gt;&lt;li&gt;Uploaded project must be useful to other users, see website for example projects. (blinking LED is not really a project! :) )&lt;/li&gt;&lt;li&gt;$50 applies to orders of $150 or more ($150 not including shipping)&lt;/li&gt;&lt;li&gt;Your project must be new and uploaded after 7/7/2009 (updating old projects do not apply)&lt;/li&gt;&lt;li&gt;You can use any Micro Framework hardware from any company you wish (not required to use GHI products!)&lt;/li&gt;&lt;li&gt;This promotion is available for limited time only no matter when the project is uploaded&lt;/li&gt;&lt;li&gt;The $50 coupon is valid for 30 days from the day you upload a project&lt;/li&gt;&lt;li&gt;Only one discount per order. If you upload 2 projects then you get 2 discounts but on 2 separate orders&lt;/li&gt;&lt;/ol&gt; &lt;b&gt;How to order:&lt;/b&gt; &lt;ol&gt;&lt;li&gt;upload your project &lt;/li&gt;&lt;li&gt;send us the order form (no online orders and no distributor orders) &lt;a href="http://www.ghielectronics.com/downloads/GHI%20order%20form.pdf"&gt;http://www.ghielectronics.com/downloads/GHI%20order%20form.pdf &lt;/a&gt;&lt;/li&gt;&lt;li&gt;include your project name&lt;/li&gt;&lt;li&gt;we will contact you back with approval of $50 off once we check and approve your uploaded project&lt;/li&gt;&lt;/ol&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;GHI  Team&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.ghielectronics.com/"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;www.ghielectronics.com&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5977439487252829249-7563385842492426848?l=tinyclr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tinyclr.blogspot.com/feeds/7563385842492426848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tinyclr.blogspot.com/2009/07/share-your-micro-framework-projects-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/7563385842492426848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/7563385842492426848'/><link rel='alternate' type='text/html' href='http://tinyclr.blogspot.com/2009/07/share-your-micro-framework-projects-and.html' title='Share your Micro Framework Projects and save!'/><author><name>Gus Issa</name><uri>http://www.blogger.com/profile/09087348010533736710</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_JjGOhYs5588/S4E7lX-95tI/AAAAAAAAAAw/fWWLJKHcrjs/S220/e379dc33f851430c972bc79b124f5995.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5977439487252829249.post-7632051413336064639</id><published>2009-05-16T12:08:00.000-07:00</published><updated>2009-05-16T12:47:23.883-07:00</updated><title type='text'>Protecting managed applications</title><content type='html'>&lt;span style="font-size:130%;color:#330099;"&gt;&lt;strong&gt;Is my code secure?&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;One main issue that software companies face is protecting their code from piracy or reverse engineering. When writing code that compiles to assembly language, revers engineering the code is very difficult but that is not the case when using managed programming languages. When developing an application for Micro Framework, the code is compiled into an assembly that be easily reversed by free tools!&lt;br /&gt;Take a look at &lt;a href="http://www.red-gate.com/products/reflector/"&gt;http://www.red-gate.com/products/reflector/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;color:#330099;"&gt;Signing Deployments&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Micro Framework tools allow signing application files so only you can load files on your application but your application is not secure at all. Anyone with MFDeploy can read the complete deployment region.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;color:#330099;"&gt;&lt;strong&gt;Protecting assemblies on Embedded Master&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;There are 2 problems that needs to be covered. First, we want to protect the deployment region. GHI Micro Framework extended library adds a call to protect the deployment region from being accessed on TinyBooter. This blocks MFDeploy from using the device.&lt;br /&gt;SystemManger.ProtectFirmware(...)&lt;br /&gt;&lt;br /&gt;The second issue is in protecting the files sent to end customers for firmware infield updates. This is resolved by GHI's SystemUpdate class. This class allows the hardware to update itself! Here are some simple steps to load encrypted application on the device.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#330099;"&gt;Releasing new encrypted application:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Develop an application&lt;/li&gt;&lt;li&gt;Create application deployment using MFDeploy&lt;/li&gt;&lt;li&gt;Encrypt the deployment file (probably using XTEAM since it is already included in Micro Framework)&lt;/li&gt;&lt;li&gt;The encrypted file can now be sent to the device using Internet or load it from a media (SD card or a USB memory drive)&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color:#330099;"&gt;Loading the encrypted application:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;The hardware should be designed with update capability that is based on GHI Embedded Master's SystemUpdate class.&lt;/li&gt;&lt;li&gt;Reboot the system using SystemManager.RebootMode method to enter update mode&lt;/li&gt;&lt;li&gt;Start loading the encrypted application (from Internet or media) and decrypt in memory&lt;/li&gt;&lt;li&gt;Pass on the decrypted application to SytemUpdate.WriteFirmware. Note that this will not write any memory but only buffer the data aside.&lt;/li&gt;&lt;li&gt;When all firmware is complete, call SystemManager.StartUpdate method. This will update the necessary flash blocks. In couple seconds, the device will reset and boot the new firmware.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;This is a link to the GHI library reference&lt;br /&gt;&lt;a href="http://www.ghielectronics.com/downloads/EmbeddedMaster/LibraryDocumentation/Index.html"&gt;http://www.ghielectronics.com/downloads/EmbeddedMaster/LibraryDocumentation/Index.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;For further assistance, please use the GHI forum&lt;br /&gt;&lt;a href="http://www.ghielectronics.com/forum/"&gt;http://www.ghielectronics.com/forum/&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5977439487252829249-7632051413336064639?l=tinyclr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tinyclr.blogspot.com/feeds/7632051413336064639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tinyclr.blogspot.com/2009/05/protecting-managed-applications.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/7632051413336064639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5977439487252829249/posts/default/7632051413336064639'/><link rel='alternate' type='text/html' href='http://tinyclr.blogspot.com/2009/05/protecting-managed-applications.html' title='Protecting managed applications'/><author><name>Gus Issa</name><uri>http://www.blogger.com/profile/09087348010533736710</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_JjGOhYs5588/S4E7lX-95tI/AAAAAAAAAAw/fWWLJKHcrjs/S220/e379dc33f851430c972bc79b124f5995.jpg'/></author><thr:total>0</thr:total></entry></feed>
