新手入門必備:ARM仿真器是干啥用的?
許多剛?cè)腴T嵌入式的同學(xué)可能會(huì)遇到新型色色的概念,比如仿真、斷點(diǎn)、ARM等諸如此類的,要是不了解,只聽這些概念,讓我們頭昏腦漲的同時(shí),永遠(yuǎn)入不了嵌入式的門,所以我們要住一了解這些名詞的定義、場(chǎng)景等方面,真正提升自己的嵌入式開發(fā)能力。今天,小編就來介紹一下ARM仿真器。
1.嵌入式開發(fā)流程
一般嵌入式開發(fā)項(xiàng)目的第一個(gè)階段是用C編譯器從源程序生成目標(biāo)代碼,生成的目標(biāo)代碼將包括物理地址和一些調(diào)試信息。
目前代碼可以用軟件模擬器、目標(biāo)Monitor或在線仿真器來執(zhí)行和調(diào)試。
軟件模擬器是在PC機(jī)或工作站平臺(tái)上,以其CPU(如x86)及其系統(tǒng)資源來模擬目標(biāo)CPU(如P51XA),并執(zhí)行用戶的目標(biāo)代碼;
而目標(biāo)Monitor則是將生成的目標(biāo)代碼下載到用戶目標(biāo)板的程序存儲(chǔ)器中,并在下載的代碼中增加一個(gè)Monitor任務(wù)軟件,用來監(jiān)視和控制用戶目標(biāo)代碼的執(zhí)行,用戶通過目標(biāo)板上的串行口或其它調(diào)試端口,利用桌面計(jì)算機(jī)來調(diào)試程序。
程序的調(diào)試是通過設(shè)置斷點(diǎn)、使程序在指定的指令位置停止運(yùn)行來實(shí)現(xiàn)的。在程序中止的時(shí)候,檢查存儲(chǔ)器和寄存器的內(nèi)容,作為發(fā)現(xiàn)程序錯(cuò)誤的線索。
程序經(jīng)過調(diào)試、找到所有的錯(cuò)誤后,修改源代碼,重新編譯,以一種標(biāo)準(zhǔn)格式生成目標(biāo)代碼文件,比如Intel HEX。這個(gè)目標(biāo)代碼將被存儲(chǔ)在最終產(chǎn)品的非揮發(fā)存儲(chǔ)器,比如EPROM或FLASH中。
2.仿真器是什么?
仿真器可以替代你的目標(biāo)系統(tǒng)中的MCU,仿真其運(yùn)行。 它運(yùn)行起來和實(shí)際的目標(biāo)處理器一樣,但是增加了其它功能,使你能夠通過桌面計(jì)算機(jī)或其它調(diào)試界面來觀察MCU中的程序和數(shù)據(jù),并控制MCU的運(yùn)行。它是調(diào)試嵌入式軟件的一個(gè)經(jīng)濟(jì)、有效的手段。
3.仿真器的優(yōu)點(diǎn)
仿真器具有軟件模擬器和目標(biāo)Monitor的所有功能,以及下優(yōu)點(diǎn):
不使用目標(biāo)系統(tǒng)或CPU資源;硬件斷點(diǎn);跟蹤功能(TRACE);條件觸發(fā);實(shí)時(shí)顯示存儲(chǔ)器和I/O口內(nèi)容;硬件性能分析;
總得來講,ARM仿真器就是以一種極其經(jīng)濟(jì)的方式仿真實(shí)際MCU的運(yùn)行、調(diào)試,以降低開發(fā)成本,提升嵌入式開發(fā)的效率。
- 贊