没有想到,距第一次写.NET Micro Framework移植文章《移植初步:环境搭建》已经快两年半了。不过这两年多来的时光也没有虚度,还是做了不少工作的。从代码角度来说,不仅STM32F103的移植代码在不断完善,并且也已经移植和优化了基于STM32F207和STM32F407的相关代码。从硬件角度来说,也由最初完全借助第三方的硬件作为.NET Micro Framework开发板,演变为今天推出自行设计的开发板和物联网产品。
初次移植.NET Micro Framework是基于V 4.0版本,当前最新的版本已经是V4.2了,并且官方代码中也已经集成了第三方开发的基于STM32F103的代码,不过该代码移植的相对简单一些,并且大部分代码取之于ST官方的库,所以代码效率和未来扩展性方面还是有一定局限性的。
此外在此期间深圳的莫雨也推出了基于STM32F103移植的书籍《玩转.NET Micro Framework移植-基于STM32F10x处理器》。
基于STM32Fxxx的代码,我所移植的和官方还有莫雨移植的最大区别就是,没有基于ST的库代码,完全按照.NET Micro Framework一贯的风格,直接根据相关芯片手册,定义相关的寄存器结构体。此外就是对中断的处理,采用了动态设置,直接调用的技术。另外对时钟的处理也放弃了最初的Systick方式,采用了双时钟处理机制(这和官方的代码不同),而基于STM32F207芯片的代码,更是根据有些时钟计时变量可以支持32位的特点,做了特别的优化。另外一大特色在.NET Micro Framework标准功能的基础上,拓展了很多功能