以前认为在wince或windows mobile上用VS2005/VS2008做一两个应用程序就算嵌入式开发了,深一点,能用PB定制WINCE系统,用EVC开发驱动程序,就算更深层次的嵌入式开发了(由于对liunx、UcLinux、ucosII不太熟,不敢奢谈)。及至到现在做了大约3、4个月.Net Micro Framework porting kit的开发才熟悉了RVDS、MDK等开发工具,才粗略明白了什么是嵌入式软件开发(硬件开发?远谈不上),才知道自己的嵌入式软件开发之路,方走了最初的一两步。
这几个月应该是我改变最多的几个月,也是最忙最累的几个月,以前学了7、8年的VB、VC也不用了,C#目前也放到一边了,转而用起了最最基本的C/C++了(大学时期的基本功,此时方显作用);此外不在用VB6、VC6、VS2005/VS2008的 IDE了,转而用了Source Insight了,调试工具也用了新工具RVDS和MDK了(别说,一开始还真不习惯)。
初进微软,最初做MF的FAT32文件系统,那还算纯软件的东西,和硬件关系不太大,读写flash也是用写好的驱动接口,不需要太深入了解硬件的底层,刚开始工作开展起来还算比较顺手的。后来对TI的DM355做MF的移植工作,方明白了真正嵌入式开发的一二,起初做GPIO、I2C的驱动还不算太难,英文文档还容易看懂,不过到现在开始做USB2.0的移植工作,才知道那一个个寄存器不是那么好打交道的,才知道那语焉不详的英文文档是那么的晦涩难懂,由于是TI新推出的CPU,所以相关示例代码非常欠缺,到现在也做了一两个礼拜了(一个礼拜熟悉USB协议,一个礼拜写代码和调试),方才让PC机认出了这是一个未知USB设备,离成功似乎还很远。
一霎那,自己以前的所学似乎全清了零,不过迎接新的挑战正是我所追求的。非计算机专业出身的我,从basic开始学起、C、C++、VB、VC、EVC、C#到现在的ARM开发,一点点学习,一点点深入,有多少酸辛,也许就有多少快乐(到现在才粗略明白,要真正做成一点东西,没有三、四年的功底那是远远不够的,对硬件开发尤是这样)。
嵌入式开发,对我来说才刚刚启程,希望今后能和MF一起成长壮大,也希望和所有的嵌入式开发爱好者一同成长。