大家在開(kāi)發(fā)嵌入式應(yīng)用時(shí)候是不是遇到過(guò)這種情況?靈光一閃有了新idea,可奈何板子不在身邊?這可如何是好。別急,今天給大家介紹一位新朋友,它可以解決我們這樣的窘境,讓我們可以隨時(shí)隨地施展才華!
Keil模擬器(Keil uVision Simulator)是Keil集成開(kāi)發(fā)環(huán)境(IDE)中的一個(gè)軟件仿真工具,用于在沒(méi)有實(shí)際硬件的情況下測(cè)試和調(diào)試嵌入式程序。它的核心作用是模擬目標(biāo)處理器的行為,幫助開(kāi)發(fā)者驗(yàn)證代碼邏輯、調(diào)試算法、觀察寄存器和內(nèi)存變化,而無(wú)需連接真實(shí)MCU。主要特點(diǎn)有:
純軟件仿真
不依賴硬件,直接在PC上運(yùn)行
適合早期開(kāi)發(fā)階段或硬件不可用時(shí)
支持多種ARM Cortex-M內(nèi)核
Cortex-M0/M3/M4/M7等
對(duì)應(yīng)的CPU DLL文件(如SARMCM4.DLL)用于加載仿真模型
寄存器和內(nèi)存可視化
可以查看和修改MCU寄存器、外設(shè)寄存器、RAM、Flash
支持?jǐn)帱c(diǎn)、單步執(zhí)行、變量監(jiān)視
外設(shè)仿真(有限)
支持基本外設(shè),如GPIO、定時(shí)器、中斷
不支持復(fù)雜外設(shè)(如USB、Ethernet、LCD控制器),這些通常需要硬件調(diào)試
調(diào)試功能
單步執(zhí)行、斷點(diǎn)、觀察變量
支持執(zhí)行初始化腳本(INI文件)模擬外設(shè)狀態(tài)
由于沒(méi)有了硬件本身的限制,因此使用場(chǎng)景多樣,例如:
算法驗(yàn)證:如濾波、控制邏輯
啟動(dòng)代碼調(diào)試:檢查中斷向量、系統(tǒng)初始化
學(xué)習(xí)ARM架構(gòu):觀察寄存器變化,理解指令執(zhí)行
尤其是針對(duì)于初學(xué)者來(lái)說(shuō),在手頭沒(méi)有開(kāi)發(fā)板的前提下,可以說(shuō)正是模擬器給了我們想象的翅膀,讓我們不必受限于環(huán)境制約,大膽的施展才華。
接下來(lái)小編就以NXP推出的Time Series Studio,以下簡(jiǎn)稱TSS為例,給大家分享下如何將一個(gè)靜態(tài)算法庫(kù)導(dǎo)入到一個(gè)模擬器工程中。首先要聲明的是,開(kāi)發(fā)流程其實(shí)和有實(shí)體硬件是一模一樣的,都需要我們新建工程并添加代碼依賴文件到IDE中。在開(kāi)始前,請(qǐng)先準(zhǔn)備好一個(gè)編譯好的算法庫(kù)文件,小編這里就以TSS生成的一個(gè)SVM算法庫(kù)文件為例進(jìn)行說(shuō)明:

1.新建工程:這里要注意,由于我們是模擬器運(yùn)行,在選擇器件時(shí)候就不能選擇各個(gè)芯片廠商提供的pack了,這里我們選擇arm-》cortex-m7:

點(diǎn)擊OK后,會(huì)彈出依賴包添加提示,這里需要注意的是,如果你想自己添加啟動(dòng)文件等依賴也是可以的,不過(guò)為了簡(jiǎn)單起見(jiàn),小編建議大家直接在這里勾選,只需要選擇兩個(gè)即可:

現(xiàn)在,和器件相關(guān)的文件就已經(jīng)添加完畢了:

2.添加源文件和算法庫(kù)文件,選擇要添加的library以及源文件:

3.根據(jù)需要進(jìn)行頭文件引用路徑的配置:

4.為工程添加linker腳本,在Linker選項(xiàng)卡下,下拉菜單選擇_ac6.sct:

5.由于我們是在模擬器運(yùn)行,需要修改Debug的方式,勾選Use Simulator:

6.至此我們就完成了所有的配置工作,接下來(lái)就是熟悉的三件套了:編譯、下載、調(diào)試。不過(guò)要注意的是,由于我們沒(méi)有真機(jī),對(duì)于燒寫flash等操作就不再需要了。直接點(diǎn)擊調(diào)試按鈕即可跳轉(zhuǎn)調(diào)試頁(yè)面,可以完美查看程序運(yùn)行、寄存器狀態(tài)、錯(cuò)誤報(bào)告等:

好了,今天小編帶著大家體驗(yàn)了如何使用Keil提供的模擬器功能來(lái)進(jìn)行算法庫(kù)的調(diào)試,你是否已經(jīng)蠢蠢欲動(dòng)來(lái)感受無(wú)硬件的系統(tǒng)調(diào)試新體驗(yàn)!
-
開(kāi)發(fā)板
+關(guān)注
關(guān)注
26文章
6150瀏覽量
113885 -
keil
+關(guān)注
關(guān)注
69文章
1226瀏覽量
171899 -
模擬器
+關(guān)注
關(guān)注
2文章
997瀏覽量
45399 -
算法庫(kù)
+關(guān)注
關(guān)注
0文章
5瀏覽量
1695
原文標(biāo)題:開(kāi)發(fā)板不在手?Keil模擬器照樣幫你跑代碼!
文章出處:【微信號(hào):NXP_SMART_HARDWARE,微信公眾號(hào):恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
xmc7200如何將KEIL的算法庫(kù)移植到MTB?
mini57系列運(yùn)行帶算法庫(kù)的程序,編譯沒(méi)有錯(cuò)誤但無(wú)法運(yùn)行是為什么?
基于模擬器遠(yuǎn)程調(diào)試系統(tǒng)的研究與實(shí)現(xiàn)
基于QEMU系統(tǒng)模擬器Xilinx/QEMU的運(yùn)行與調(diào)試
Windows CE 模擬器和遠(yuǎn)程調(diào)試工具詳解
如何不需要使用就能進(jìn)行模擬調(diào)試的方法資料說(shuō)明
如何對(duì)PNET 模擬器進(jìn)行初始化安裝
SuperH 模擬器/調(diào)試器 V.9.09.00 用戶手冊(cè)的補(bǔ)充信息
PDSDK COM 套件參考手冊(cè)(仿真器/模擬器調(diào)試器定制套件)
PDSDK COM 套件參考手冊(cè)(仿真器/模擬器調(diào)試器定制套件)

如何使用Keil模擬器功能進(jìn)行靜態(tài)算法庫(kù)調(diào)試
評(píng)論