
Microsoft .NET Micro Framework移植开发笔记之移植初步 Microsoft .NET Micro Framework(简称MF)是Microsoft .net家族当中最轻量的一个,它是一个完整的嵌入式系统可以运行在ARM7、ARM9、甚至Cortex-M系等这些低成本的ARM芯片上,用来托管C#、VB.NET的代码。简单的说MF就是一个嵌入式系统,然后你可以通过Microsoft Visual Studio来写C#或VB.NET的代码让它来运行,使得开发单片机软件就像开发Windows软件一样快捷方便。也正因为MF从4.0开始,Microsoft已经把它完全的开源了,而且可以移植到STM32芯片上,越来越多的C#程序员和嵌入式工程师对它感兴趣。具体MF的简介请参照百度百科。 自从接触MF以有半年之多,对MF的了解有一定的了解。目前在MF走的最前面两个前辈,一是叶帆,原来是Microsoft的MF项目组的成员,后成立叶帆科技,算是国内研究MF的开门鼻祖,网上关于MF的相关的资料基本上就是他的博文,我在刚开始研究移植的时候,就靠看他的博文来入门的;二是大石头和他的新生命团队,C#程序大神,通过MF走向嵌入式的开发,一直致力把MF运用在工控领域,他编写的编译脚本和编译环境使得很多研究MF的人带来极大的便利,我也是正因为在网上认识他而接触MF而走向研究MF的道路。 MF移植最大程度一直是在编译环境的建立,这是移植的第一次,也是对初学者来说最难的一步。100个想折腾MF的人,99个人都死在了这里一步,从而放弃了。因为MF移植这方面的资料在网上基本上都没有多少,更没有什么系统的移植教程,导致很多人遇到很多的问题都找不到解决的答案。我当初折腾近一个月的时间才把编译环境搞定,才开始进入移植的大门。这里我根据自身的经验和跟一些同道中人遇到的问题,来写这一篇的移植教程,希望能帮助想研究的MF移植的人能顺利的跨过这一步,也希望能够吸引更多的人来研究MF。 这里以.NET MF 4.3 RTM (QFE1)移植到STM32F103为基本来开始移植,也是因为这个组合,使得MF的应用起来越广。前面说的MF是完全开源的,我们可以用网上下载到它的源码,地址为http://netmf.codeplex.com/releases/view/118283 这里我们需要下载SDK4.3(MF对应VS的开发包)和Porting Kit 4.3(RTM QFE1)(MF的源代码包)。下载得到这两个文件 ![]() 打开E盘(也有可能是其它盘),就可以看到 ![]() ![]() @echo off setenv_base.cmd MDK PORT %* C:\Keil_v5\ARM 注意C:\Keil_v5为你的Keil的安装路径 在相应位置加上红框内的代码。然后是 将红框内的RV31改成ARMCC然后保存退出。 接下来就是请出来大石头的编译脚本,让我们可以免去在CMD中敲指令,直接双击就可以进行编译。把 ![]() 编译出错,就需要我们就修改错误,直到编译成功。MF编译最大的难点就在于没有IDE提示那里有错误,导致绝大部分的人只看到编译过程有一路飘红,却不知道怎么去定位错误,然后去修改错误。大石头的编译脚本还有个便利的地方就是会自动输出编译报告,我们可以通过编译报告来查找定位错误。找到STM32stamp文件夹下的 ![]() ![]() 这里并没有指出错误的在哪里,只是说编译某个文件有错误,很多人在钻在这里,怎么也看不出什么错误,其实我们都可以忽略这个,而真正错误的提示还在前面,我们可以根据MSB3073这个错误代码来查到前面的具体的错误报告。 ![]() 再看所有的error都是floating-point variable错误,浮点不支持,因为STM32F1系列(M3)的芯片是不支持浮点的,所以编译出错了。这里我们要把浮点编译关掉,编辑STM32stamp文件夹下的 ![]() ![]() 把红框的true改成false,把1改成0,保存退出。再次双击release编译.bat开始编译,第一次编译就快多了,很快看到编译完成,这次编译就可以成功了,然后把编译后的文件复制到根目录下面的MFbin文件夹里。 下一步当然就是烧写固件到STM32 的板子上,玩STM32的人都知道怎么烧写,我这里喜欢用J-Flash来烧写bin文件到开发板,也可以用ISP下载。固件下载完成后,连接上STM32板子上UART1,打开串口调试助手,把波特率设置成115200,复位下STM32的板子就可以看到MF的开机信息了。 ![]() 至此,MF已经运行起来了,完成了MF的基本的移植,后面移植就是根据我们的需求,在这个基础上不断的增加完善我们的固件。如果你可以完成到这一步,那恭喜你开始进入MF移植的大门。如果编译有问题或者是想更多的了解MF,可以加QQ群170024940随时提问。 相关的资料和软件: 1、 MF4.3的源码和SDK及编译环境脚本:https://pan.baidu.com/s/1sj4X7hN 2、 Microsoft Visual Studio 2012:https://pan.baidu.com/s/10czr4 3、 Keil MDK5.11:https://pan.baidu.com/s/1c0ANJ8W 4、 大石头的论坛:http://www.newlifex.com/ |
大石头的群管理员来了啊、、、 |
微软手越伸越长了![]() |
学习一下了 |
不错。![]() ![]() ![]() |
大牛!不错! |
Mark ![]() ![]() ![]() ![]() |