随想录(vc仿真下的嵌入式开发)

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱: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进行嵌入式开发了。

发布了556 篇原创文章 · 获赞 3622 · 访问量 473万+

猜你喜欢

转载自blog.csdn.net/feixiaoxing/article/details/103641015