17

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

 3 years ago
source link: https://feixiaoxing.blog.csdn.net/article/details/103641015
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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

original.png
费晓行 2019-12-21 09:01:19 articleReadEyes.png 327
分类专栏: 随想录

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】

    做嵌入式开发,如果有单板并且可以单步调试,那么开发起来还是不复杂的。另外一种,如果没有单板的话,用qemu类似的仿真软件开发也是可以的。就怕有一种情况,qemu无法使用、无法用jtag单步调试、硬件资源短缺、同时大部分又习惯在windows开发,这个时候可以用vc来做。

1、关于汇编

    做嵌入式难免需要一些汇编,但是汇编其实很多时候是不需要修改的,所以汇编的部分其实没那么重要。

2、io地址空间

    io地址空间大部分是需要与地址直接匹配的,建议将这些地址统一用宏标志,多用相对地址。在vc上面可以用全局变量或者全局buffer来进行替代。

3、变量符号

   嵌入式里面会有一些奇怪的符号、变量,如果c中调用,直接在stub函数中定义即可。

4、桩函数

    很多嵌入式操作在vc上没有办法实现,比如特殊寄存器的操作,这个时候完全可以用桩函数代替。

    vc上可以用多个thread来仿真不同的中断。

6、io设备仿真

    对于真正需要的io设备,可以自己编写io模拟函数,常用的gpio、串口、sram、flash、串口、硬盘都是可以的。只要仿真的好,vc仿真的设备可以和其他上位机自由交换数据,没有任何问题。

7、字节序、字长

    pc默认是小端、字长有32位、64位,这一点尤其需要注意。

8、不支持的关键字

    很多嵌入式会扩展c语法,比如会有interrupt之类的关键字,这个时候只要用macro打个桩就可以,这样就不会有stub的影响了。

9、平衡vc和实际环境开发

    如果实际修改内容不多,并且大部分测试可以在pc端开发,大部分代码都是可以自己控制的,这个时候使用vc是非常合适的。但是如果修改的代码过多,远远大过带来的收益,这个时候就不主张用vc进行嵌入式开发了。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK