本文是轉(zhuǎn)載同行的文章,已獲得原作者授權(quán),正文如下:
本文記錄時間是2026年3月19日,相關(guān)軟件都是這個時間點的最新版本,電腦系統(tǒng)是windows 10專業(yè)版22H2。
最近拿到一塊英飛凌的KIT_PSC3M5_EVK開發(fā)板,需要把板子跑起來,以前從來沒接觸過英飛凌的處理器,光搭建開發(fā)環(huán)境就挺波折的,所以記錄下來有需要的可以看看。
英飛凌也搞ST的那套全家桶套裝,不知道他倆誰學的誰。ModusToolbox? 3.7 Dashboard 就類似于STM32CubeMX。
ModusToolbox Programming Tools 就類似于STM32CubeProgrammer。
還有一個ModusToolbox? Setup軟件,相當于集中下載中心,上面可以下載所有ModusToolbox相關(guān)的軟件。
軟件實在是太難下載了,一下一個不吭聲,對中國區(qū)域網(wǎng)絡(luò)很不友好,生怕中國區(qū)用戶快速使用上他們家的東西。這里就不放官網(wǎng)下載鏈接了,可以自行去英飛凌官網(wǎng)搜索ModusToolbox相關(guān)資源。
如果你想用Keil來編譯,這個軟件指定了使用Keil最新的5.43a版本,我已經(jīng)把相關(guān)的軟件包放到網(wǎng)盤了,有需要的可以自取。
鏈接: https://pan.baidu.com/s/1xPDn-FyKg22VXlG0qm91jA?pwd=69b2
提取碼: 69b2
如果你裝有殺毒軟件,安裝的時候殺毒軟件(比如360)會反復(fù)警告,所以還是先把殺毒軟件關(guān)了。雙擊軟件開始安裝 ModusToolbox? 3.7 Dashboard,Dashboard就類似于STM32CubeMX,能自動生成代碼,安裝時會彈出如下圖片,推薦是選擇Install for me only,理由是當出現(xiàn)異常問題的時候可以換一個賬戶重新安裝繼續(xù)使用??,不過我選擇的是Install for all users。




這頁就先不管了,全裝上,有什么用后面再慢慢研究。


在系統(tǒng)環(huán)境變量設(shè)置界面,新增一個如下圖所示用戶變量,變量值一定要對應(yīng)到軟件安裝目錄下的tools_3.7這個目錄,路徑注意要用 / 不要用 \ ,設(shè)置完后環(huán)境變量重啟電腦。


重新打開軟件,打開設(shè)置。

等待一會軟件加載出如下界面,將紅框標記中的Manifest DB選擇Default China Manifest DB,不需要為什么,選擇就行。
網(wǎng)上有一篇教程叫ModusToolbox講堂第二課,中國大陸用戶使用須知,別相信里面寫的使用第三方中轉(zhuǎn)服務(wù)器的教程,我試了沒用。



設(shè)置好生成路徑,選擇OOB DEMO然后Create,OOB是一個開發(fā)板的演示工程,能看見板子上LED能閃爍,串口也會打印數(shù)據(jù)。



5.43a版本的keil,安裝的時候會長時間出現(xiàn)如下界面,等著就行。

keil打開界面也變成這樣了。

打開cprj文件,keil就會自動下載芯片相關(guān)的pack,這點還是比之前好的,以前還需要自己找。

然后直接用keil開始編譯,keil直接編譯不過,有6個錯誤???。

在Target配置界面,將Software Model從默認的Non-Secure Mode修改為Secure Mode,再次嘗試編譯就能編譯過了。

然后就會發(fā)現(xiàn),Keil無法下載程序到板子,更別說仿真了。這時候就需要再拜讀一下ModusToolbox? 3.7 Dashboard界面這個指導(dǎo)文檔了,大概意思就是還需要新建三個文件,然后才能用Keil下載和仿真。

在keil工程同一個目錄下創(chuàng)建三個文件postbuild.bat、project.ini、project2.ini

postbuild.bat寫如下內(nèi)容,大概意思就是先把keil生成的elf文件,轉(zhuǎn)換成hex文件。然后用GCC把keil的hex文件再轉(zhuǎn)換一遍,最后刪除掉keil生成的hex中間文件,所以還得下載一個GCC編譯器才能調(diào)用arm-none-eabi-objcopy。
注意一定要像下面圖片這種寫在一行,不能換行,英飛凌說明文檔里面的那種兩行寫法直接復(fù)制過來是不行的。

D:\Keil5\ARM\ARMCLANG\bin\fromelf --output "OOB_DEMO_Objects/tmp.hex" --i32combined "OOB_DEMO_Objects/OOB_DEMO.elf"
D:\GCC\arm-gnu-toolchain-13.2.Rel1-mingw-w64-i686-arm-none-eabi\bin\arm-none-eabi-objcopy -O ihex "OOB_DEMO_Objects/tmp.hex" "OOB_DEMO_Objects/OOB_DEMO.hex" --change-addresses 0x20000000
del "OOB_DEMO_Objects\tmp.hex"
project.ini 文件寫如下內(nèi)容,就是LOAD GCC生成的hex文件。

project2.ini 文件寫如下內(nèi)容,我感覺就是芯片里面下載的其實是GCC生成的hex文件,然后keil仿真的時候仍然用keil生成的elf文件來仿真,但是不下載到芯片里面,用這種方法來實現(xiàn)的keil仿真。

打開Keil Options,將OOB_DEMO.axf后綴改成elf,這樣編譯的時候會生成elf文件。

將創(chuàng)建的postbuild.bat填到RUN #1里面,意思就是在keil編譯完成后執(zhí)行postbuild.bat里面的內(nèi)容,以前keil生成bin文件的時候也是這么干的。

把project.ini文件填到Utilities下圖所示位置。

把project2.ini填到下圖所示位置,并取消勾選Load Application at startup

開發(fā)板上自帶的是CMSIS-DAP調(diào)試器,進入調(diào)試界面,把Reset and Run勾上,這樣下載完成后會自動運行程序。

如果以上這些步驟都正確的話,重新執(zhí)行一遍keil全編譯,就可以下載程序然后進入仿真暫停到main了。

運行后板子上的黃藍兩個LED開始閃爍,同時串口調(diào)試助手上會彈出如下內(nèi)容。

實在是太費勁了。