一、軟件仿真
Keil有很強(qiáng)大的軟件仿真功能,通過軟件仿真可以發(fā)現(xiàn)很多將要出現(xiàn)的問題,Keil的仿真可以查看很多硬件相關(guān)的寄存器,通過觀察這些寄存器值的變化可以知道代碼有沒有正常運行。這樣可以避免頻繁下載程序,延長單片機(jī)Flash壽命。
開始仿真之前,先配置一些選項。
在工程設(shè)置里設(shè)置好芯片型號和晶振頻率。
第一步:

第二步:
在“Debug”選項卡中選擇“Use Simulator”,表示使用軟件仿真;選擇“Run to main()”則表示跳過匯編代碼,直接跳轉(zhuǎn)到main函數(shù)開始仿真。設(shè)置下面的“Dialog DLL”項為“DARMSTM.DLL”和“TARMSTM.DLL”;parameter項為“-pSTM32F103C8”,用于設(shè)置支持STM32F103C8的軟硬件仿真。

第三步:
點擊開始仿真,這個時候會多出來一個工具條,就是Debug工具條。

1:復(fù)位,其功能等同于硬件上按復(fù)位按鈕,相當(dāng)于實現(xiàn)了一次硬復(fù)位。按下該按鈕后,代碼會重新從頭開始執(zhí)行。2:執(zhí)行到斷點處,按按鈕用來快速執(zhí)行到斷點處,有時候并不需要觀看每步時怎么執(zhí)行的,而是想快速執(zhí)行到程序的某個地方看結(jié)果,這個按鈕就可以實現(xiàn)這樣的功能,前提是已在查看的地方設(shè)置了斷點。3:停止運行,此按鈕在程序一直執(zhí)行的時候變?yōu)橛行?,可以使程序停止下來進(jìn)入到單步調(diào)試狀態(tài)。4:執(zhí)行進(jìn)去,該按鈕用來實現(xiàn)執(zhí)行到某個函數(shù)里面去的功能,在沒有函數(shù)的情況下等同于執(zhí)行過去按鈕。
5:執(zhí)行過去,在碰到有函數(shù)的地方,通過該按鈕就可以單步執(zhí)行過這個函數(shù),而不進(jìn)入這個函數(shù)單步執(zhí)行。6:執(zhí)行出去,該按鈕是進(jìn)入了函數(shù)單步調(diào)試的時候,有時候可能不必再執(zhí)行該函數(shù)的剩余部分了,通過該按鈕就直接一步執(zhí)行完函數(shù)余下的部分,并跳出函數(shù)回到函數(shù)被調(diào)用的位置。
7:執(zhí)行到光標(biāo)處,該按鈕可以迅速使程序運行到光標(biāo)處,與執(zhí)行到斷點處按鈕功能類似。8:匯編窗口,通過該按鈕可以查看匯編代碼,這對分析程序很有用。9:堆棧局部變量窗口,通過該按鈕可以顯示Call Stack+Locals窗口,顯示當(dāng)前函數(shù)的局部變量及其值,方便查看。10:觀察窗口,MDK5提供2個觀察窗口(下拉選擇),該按鈕按下則彈出一個顯示變量的窗口。輸入想觀察的變量或表達(dá)式,即可查看其值,是很常用的調(diào)試窗口。
11:內(nèi)存查看窗口,MDK5提供4個內(nèi)存查看窗口,按下按鈕,則彈出一個內(nèi)存查看窗口,可以在里面輸入要查看的內(nèi)存地址,然后觀察這一片內(nèi)存的變化情況。12:串口打印窗口,MDK5提供4個串口打印窗口。按下該按鈕,則彈出一個類似串口調(diào)試助手界面的窗口,用來顯示從串口打印出來的內(nèi)容。13:邏輯分析窗口,該圖標(biāo)下面有3個選項,一般用第一個,也就是邏輯分析窗口。通過SETUP按鈕新建一些IO口,于是可以觀察這些IO的電平變化情況,并以多種形式顯示出來,比較直觀。14:系統(tǒng)查看窗口,該按鈕可以提供各種外設(shè)寄存器的查看窗口(通過下拉選擇),選擇對應(yīng)外設(shè)即可調(diào)出該外設(shè)的相關(guān)寄存器表,并顯示這些寄存器的值,方便查看設(shè)置是否正確。
二、硬件仿真
硬件仿真則是程序下載到單片機(jī)中,進(jìn)行的仿真,是程序?qū)嶋H在單片機(jī)中運行的情況。

需要選擇后面那個選項,然后在下拉單里選擇自己的仿真器。然后后面步驟和軟件仿真一樣。
注:要在邏輯硬件仿真里使用邏輯分析儀之類的工具,要開“Trace”


原文標(biāo)題:Keil的軟件仿真和硬件仿真
文章出處:【微信公眾號:嵌入式ARM】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責(zé)任編輯:haq
-
仿真
+關(guān)注
關(guān)注
52文章
4363瀏覽量
137444 -
keil
+關(guān)注
關(guān)注
69文章
1224瀏覽量
171504
原文標(biāo)題:Keil的軟件仿真和硬件仿真
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
端到端智駕仿真軟件aiSim教程系列1-安裝與認(rèn)證#軟件#教程#端到端#仿真#汽車#科技#測試#電子#數(shù)據(jù)
keil調(diào)試階段無法進(jìn)行仿真,能進(jìn)到仿真界面,但是無法執(zhí)行程序怎么解決?
詳解ADC電路的靜態(tài)仿真和動態(tài)仿真
Multisim模擬電路仿真教程
仿真軟件ABAQUS:功能強(qiáng)大的有限元軟件
決策如弈棋?Simu8助你提前看穿‘下一步’!#Simul8 #Minitab #建模仿真 #工業(yè)仿真軟件
大規(guī)模硬件仿真系統(tǒng)的編譯挑戰(zhàn)
CFD仿真與測試協(xié)同創(chuàng)新,構(gòu)建“仿真 + 實測”閉環(huán)
DLPC230-Q1仿真使用什么軟件?主要仿真哪些內(nèi)容?
仿真Vos電路
汽車HiL測試:利用TS-GNSS模擬器掌握硬件性能的仿真藝術(shù)
Simcenter FLOEFD 熱仿真分析軟件
Simcenter STAR-CCM+流體仿真軟件
Simcenter Flotherm熱仿真軟件

如何設(shè)置Keil中的軟件仿真和硬件仿真?
評論