热度 23
2012-3-20 19:37
4261 次阅读|
4 个评论
当提到VS2010作为嵌入式开发工具,替代IAR, Keil等工具时,也许你会感到惊讶,但确实可以,而且更有力,更方便.大家知道用IAR,keil等工具,如果要调试程序的话,还必须具有昂贵的仿真器,虽然有山寨的jlink之类的,但也挺麻烦的不是吗?而用VS2010你知道怎么招,直接用USB,或者串口就能通过VS2010强大的调试功能进行调试.下面我自制了个Netduino mini作为硬件平台. 首先要感谢http://www.netduino.com/.硬件及固件是开源的.. 先上图 Netduino mini只是最小系统,留有十多个IO口,还有一个串口用来程序下载及调试.我是在Netduino mini基础上稍微做了修改,比如我用MAX3232代替ADM3101EACPZ,用AMS117-3.3,及AMS1117-5.5代替MC33269d-5.0G,MC33269D-3.3G等. 下面讲讲如何用VS2010工具进行开发. 1. 环境搭建 第一步当然先安装VS2010. 第二步下载Microsoft NETMF SDK 17.9M b http://www.microsoft.com/downloads/details.aspx?familyid=CFF5A7B7-C21C-4127-AC65-5516384DA3A0displaylang=en 并安装.VS2010必须先安装. 注:这是微软提供开源面向嵌入式的.net. 这样基本环境就搭建好了,打开VS2010你会发现多了一个工程模板 Micro Framework 它就是今后写应用程序的模板. 2. 硬件平台的环境搭建 第一步 下载SAM-BA v2.11, 主芯片是atmel公司的AT91SAMX512,SAM-BA v2.11是ATMEL官方提供的下载固件的上位机,主要用它来下载TinyBooterDecompressor.bin 第二步 当你安装了Microsoft NETMF SDK后,在其tools文件夹下有个MFDeploy工具,我们用它来下载Netduino提供的固件 NetduinoMiniFirmware_v4.1.0.6_RS232 这样一切就绪. 下面就可以开始使用VS2010这个强大的开发工具. 这里演示一个驱动LED的示例. 3. 使用VS2010编写自己的应用程序 using System; using Microsoft.SPOT; using Microsoft.SPOT.Hardware; using System.Threading; namespace NetduinoMiniTest { public class Program { public static void Main() { OutputPort led = new OutputPort((Cpu.Pin)60, false); while (true) { led.Write(true); Thread.Sleep(250); led.Write(false); Thread.Sleep(250); } } } } Netduino论坛解说: AT91SAM7X512具有PA0~PA31,PB0~PB31 IO编号: PA0=0,PA1=1...PA31=31,PB0=32,PB1=33... 在这里用到AD1对应PB28,PB28=60如图 所以有 OutputPort led = new OutputPort((Cpu.Pin)60, false); 在VS2010 工程设置里设置成串口调试方式, 就可以自动的串口下载并可以设断点,调试等操作. 结果: 准确的 250ms延时.下图是用逻辑分析仪对PB28进行的采样结果 . 附上原理图及PCB 注:附件里有硬件所需的两个固件.