一、軟件仿真
Keil有很強大的軟件仿真功能,通過軟件仿真可以發現很多將要出現的問題,Keil的仿真可以查看很多硬件相關的寄存器,通過觀察這些寄存器值的變化可以知道代碼有沒有正常運行。這樣可以避免頻繁下載程序,延長單片機Flash壽命。
開始仿真之前,先配置一些選項。
在工程設置里設置好芯片型號和晶振頻率。
第一步:
第二步:
在“Debug”選項卡中選擇“Use Simulator”,表示使用軟件仿真;選擇“Run to main()”則表示跳過匯編代碼,直接跳轉到main函數開始仿真。設置下面的“Dialog DLL”項為“DARMSTM.DLL”和“TARMSTM.DLL”;parameter項為“-pSTM32F103C8”,用于設置支持STM32F103C8的軟硬件仿真。
第三步:
點擊開始仿真,這個時候會多出來一個工具條,就是Debug工具條。
1:復位,其功能等同于硬件上按復位按鈕,相當于實現了一次硬復位。按下該按鈕后,代碼會重新從頭開始執行。
2:執行到斷點處,按按鈕用來快速執行到斷點處,有時候并不需要觀看每步時怎么執行的,而是想快速執行到程序的某個地方看結果,這個按鈕就可以實現這樣的功能,前提是已在查看的地方設置了斷點。3:停止運行,此按鈕在程序一直執行的時候變為有效,可以使程序停止下來進入到單步調試狀態。4:執行進去,該按鈕用來實現執行到某個函數里面去的功能,在沒有函數的情況下等同于執行過去按鈕。
5:執行過去,在碰到有函數的地方,通過該按鈕就可以單步執行過這個函數,而不進入這個函數單步執行。6:執行出去,該按鈕是進入了函數單步調試的時候,有時候可能不必再執行該函數的剩余部分了,通過該按鈕就直接一步執行完函數余下的部分,并跳出函數回到函數被調用的位置。7:執行到光標處,該按鈕可以迅速使程序運行到光標處,與執行到斷點處按鈕功能類似。
8:匯編窗口,通過該按鈕可以查看匯編代碼,這對分析程序很有用。9:堆棧局部變量窗口,通過該按鈕可以顯示Call Stack+Locals窗口,顯示當前函數的局部變量及其值,方便查看。10:觀察窗口,MDK5提供2個觀察窗口(下拉選擇),該按鈕按下則彈出一個顯示變量的窗口。輸入想觀察的變量或表達式,即可查看其值,是很常用的調試窗口。
11:內存查看窗口,MDK5提供4個內存查看窗口,按下按鈕,則彈出一個內存查看窗口,可以在里面輸入要查看的內存地址,然后觀察這一片內存的變化情況。12:串口打印窗口,MDK5提供4個串口打印窗口。按下該按鈕,則彈出一個類似串口調試助手界面的窗口,用來顯示從串口打印出來的內容。13:邏輯分析窗口,該圖標下面有3個選項,一般用第一個,也就是邏輯分析窗口。通過SETUP按鈕新建一些IO口,于是可以觀察這些IO的電平變化情況,并以多種形式顯示出來,比較直觀。14:系統查看窗口,該按鈕可以提供各種外設寄存器的查看窗口(通過下拉選擇),選擇對應外設即可調出該外設的相關寄存器表,并顯示這些寄存器的值,方便查看設置是否正確。
二、硬件仿真
硬件仿真則是程序下載到單片機中,進行的仿真,是程序實際在單片機中運行的情況。
需要選擇后面那個選項,然后在下拉單里選擇自己的仿真器。然后后面步驟和軟件仿真一樣。
注:要在邏輯硬件仿真里使用邏輯分析儀之類的工具,要開“Trace”
原文標題:Keil的軟件仿真和硬件仿真
文章出處:【微信公眾號:玩轉單片機】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
仿真
+關注
關注
50文章
4082瀏覽量
133613 -
keil
+關注
關注
68文章
1213瀏覽量
166887
原文標題:Keil的軟件仿真和硬件仿真
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論