【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
做嵌入式开发,如果有单板并且可以单步调试,那么开发起来还是不复杂的。另外一种,如果没有单板的话,用qemu类似的仿真软件开发也是可以的。就怕有一种情况,qemu无法使用、无法用jtag单步调试、硬件资源短缺、同时大部分又习惯在windows开发,这个时候可以用vc来做。
1、关于汇编
做嵌入式难免需要一些汇编,但是汇编其实很多时候是不需要修改的,所以汇编的部分其实没那么重要。
2、io地址空间
io地址空间大部分是需要与地址直接匹配的,建议将这些地址统一用宏标志,多用相对地址。在vc上面可以用全局变量或者全局buffer来进行替代。
3、变量符号
嵌入式里面会有一些奇怪的符号、变量,如果c中调用,直接在stub函数中定义即可。
4、桩函数
很多嵌入式操作在vc上没有办法实现,比如特殊寄存器的操作,这个时候完全可以用桩函数代替。
5、中断
vc上可以用多个thread来仿真不同的中断。
6、io设备仿真
对于真正需要的io设备,可以自己编写io模拟函数,常用的gpio、串口、sram、flash、串口、硬盘都是可以的。只要仿真的好,vc仿真的设备可以和其他上位机自由交换数据,没有任何问题。
7、字节序、字长
pc默认是小端、字长有32位、64位,这一点尤其需要注意。
8、不支持的关键字
很多嵌入式会扩展c语法,比如会有interrupt之类的关键字,这个时候只要用macro打个桩就可以,这样就不会有stub的影响了。
9、平衡vc和实际环境开发
如果实际修改内容不多,并且大部分测试可以在pc端开发,大部分代码都是可以自己控制的,这个时候使用vc是非常合适的。但是如果修改的代码过多,远远大过带来的收益,这个时候就不主张用vc进行嵌入式开发了。