【 聲明:版權所有,歡迎轉載,請勿用於商業用途。 聯繫信箱: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進行嵌入式開發了。