Hello World for .Net Micro Framework and ARM7

这是我第一次写基于.Net Micro Framework的程序,并且也是第一次把我的程序deploy到ARM7上。平时我是一名.Net Developer,只能接触到x86/x64的计算机。


一年多以前,我自学单片机的时候,写的第一段C语言嵌入式程序就是一个运行在8位AVR单片机上的“Hello world”。在PC上写Hello world我们通常就是在图形界面或者控制台输出一个字符串,而单片机上的Hello world我通常是向发光二极管这种“显示设备”输出有规律的高低电平。


今天我得到了一块FEZ Panda II 开发板,又燃起了写Hello world的兴趣。

Show 一下,这块板子大小只比公交卡略大,长得是这个模样的:

FEZ Panda II 开发板


这块板子其实就是一块ARM7 cortex M3的板子,采用LPC2387,集成了晶振、USB通讯模块、JTAG调试器和Micro SD Socket插槽。但这些并不是这块板子最耀眼的特色,它最耀眼的特色是它的固件(Firmware):它的固件中移植了TinyCLR,可以运行基于.Net Micro Framework 的.Net程序。

在单片机上运行.Net程序也不是啥稀奇的,支持WinCE的板子都能运行基于.Net Compact Framework的程序。但是,这块FEZ Panda II 开发板上面并没有运行着一个WinCE操作系统,它的.Net TinyCLR是直接运行在Bootloader之上的。

安装.Net Micro Framework SDK 4.1GHI Electronics NETMF 4.1 SDK之后,在Visual Studio 2010里面建立了一个 .Net Micro Framework / FEZ Panda II Application这种类型的工程,输入以下C#代码,build、deploy、Run,一气呵成。


    using System.Threading;  
    using GHIElectronics.NETMF.FEZ;  
    using Microsoft.SPOT.Hardware;  
      
    namespace FEZ_Panda_II_Application1  
    {  
        public class Program  
        {  
            internal const int StateChangeDelay = 500;  //milliseconds  
            internal const Cpu.Pin port = (Cpu.Pin)FEZ_Pin.Digital.LED;  
      
            public static void Main()  
            {  
                // Blink board LED  
      
                bool ledState = false;  
                OutputPort led = new OutputPort(port, ledState);  
      
                while (true)  
                {  
                    Thread.Sleep(StateChangeDelay);  
      
                    // toggle LED state  
                    ledState = !ledState;  
                    led.Write(ledState);  
                }  
            }  
        }  
    }  

运行结果:板载LED每秒闪烁一次。请看视频 http://v.youku.com/v_show/id_XMjk1NDgwOTM2.html


Tips: 一开始Deploy到板子上的时候总是失败,提示:Device not found or cannot be opened - USB:USBizi

想到可能是USBizi被占用了,于是在MFDeploy.exe里面断开连接,然后就Deploy成功了。



  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值