Keil 篇
1.1 Keil安裝步驟
安裝包鏈接:https://cloud.tencent.com/developer/article/1605195 (keil推薦在MDK5.31(含)以上)。
一、下載并解壓安裝包,并按步驟完成安裝
二、運行安裝程序,點擊next
三、勾選accept,點擊next
四、選擇安裝路徑,點擊next(最好選擇默認路徑,如果自行修改需要注意不要添加中文)
注意事項:
? 安裝路徑不能有中文
? 安裝目錄不能和Keil4以及KeilC51重合
五、信息隨意填寫,點擊next
六、等待安裝
七、點擊finish,完成安裝
八、突然會彈出“Pack installer”頁面,先后關閉兩個窗口
1.2 Keil使用流程(以ACM32F4X0系列為例)
一、安裝航芯的芯片包
二、創(chuàng)建一個新的文件夾temp,放入航芯提供的Core_Drivers文件(F4對應需要F4的Core_Drivers文件),同時在里面創(chuàng)建一個新的文件夾user。
三、打開keil,建立一個新的工程
四、安裝好了航芯的芯片包后,可以選擇對應的設備號(沒有找到對應的設備號可能是芯片包未安裝好)
五、添加頭文件(.h文件)
六、添加源文件(.C文件)
第一步打開空白頁,編寫程序(可以使用航芯提供的demo程序或者自己編寫的程序)后,第二步保存到對應的工程文件夾。
1.3 keil編譯、下載、運行
一、工程編譯
二、下載程序(ACM32F4XX 系列支持的在線仿真器包括: J-Link-V9(含)以上、 U-Link2、 CMSIS-DAP等,使用 J-Link 在線調試時, Keil 推薦在 MDK5.31(含)以上, J-Link 驅動建議在 V6.70e(含)以上)
航芯的core開發(fā)板是帶有DAP連接的,所以可以直接選擇CMSIS-DAPDebugger,通過Settings查看是否正常連接。如果需要使用Jlink方式連接,可以參考《航芯通用MCU使用JFlash燒錄程序的方法說明.pdf》。
三、運行(目前芯片不支持下載后自啟動,需要按下RESET鍵后,程序才能運行),以GPIO口翻轉控制LED燈閃爍為例,部分示例代碼(完整代碼見附錄)和現(xiàn)象如下:
1.4 Keil Debug使用說明
一、進入調試界面
二、調試工具欄介紹
斷點是調試器的功能之一,可以讓程序停止在設置斷點的語句。在調試過程中,可在程序的某一處設置斷點再點擊Run運行,此時當程序運行至該位置時自動停止。
三、調試窗口介紹
1. 查看外設寄存器的值,參考《航芯ACM32F0X0_FP0X_用戶手冊_V1.6.pdf》查看各個外設寄存器的功能。
2. 選中需要查看的參數(shù),單擊鼠標右鍵,可以將參數(shù)放入觀察窗口,實時查看參數(shù)的變化。
3. 內核寄存器組
寄存器窗口,如下圖所示,該窗口用于顯示R0~R15、xPSR等內核寄存器的值(不是外設寄存器),關于內核寄存器的介紹可以查看ARM架構基本寄存器。
IAR 篇
1.1 IAR安裝步驟
一、下載并解壓安裝包,并按步驟完成安裝
二、運行安裝程序,點擊next
三、勾選accept,點擊next
四、選擇安裝路徑,點擊next
五、安裝驅動,為避免以后可能使用到其他下載器,默認即可,會自動安裝一些驅動
六、直接選擇"NEXT"
七、點擊"install"
八、等待安裝完成,點擊"finish"完成安裝
九、安裝完會出現(xiàn)彈窗,是第7條選擇的驅動的安裝,每個彈窗直接點擊"Install","close"即可,所有驅動按照默認安裝即可。
1.2 IAR 使用流程(以ACM32F4X0為例)
一、建立新工作區(qū)(File–>>NewWorkspace)
二、建立新項目(Project–>>CreateNew Project…)
選擇對應的工程模板后點擊“OK”,之后將工程保存在對應的文件夾。
三、添加文件組和源文件
通過Add Files可以添加自己編寫好的源文件(.C)或者別的demo文件中的源文件,通過Add Group可以添加文件組,來給每個文件分組。
四、添加頭文件
點擊Project–>>Options,選擇C/C++Complier->>Preprocessor添加頭文件的路徑。
1.3 IAR編譯、下載、運行
一、編譯
Compile:只對目前打開的c文件進行語法檢查,不對它進行l(wèi)ink;Make:對工程所有打開的c文件進行語法檢查和link(只編譯有改動的文件或者設置變動的文件);Rebuild All:編譯鏈接當前工程(不管文件或者設置是否有變動);
Clean:清除當前工程的編譯狀態(tài);Batch?build:批量編譯,打開Batch?build?批量編譯后,需要給批量編譯起個名字,然后將本工程中的三個分類都添加到“Configurations?to?build”中,然后單擊“Make”?就可以對這工程中的三個分類全部進行編譯;
二、下載
下載程序需要先安裝調試文件(ACM32F4系列也需要安裝相應的調試文件)
? 將 ACM32F4XX.ddf 放置于 IAR 的安裝目錄的\arm\config\debugger下
? 將其余 4 個文件放置于 IAR 的安裝目錄的\arm\config\flashloader下
在目錄中放置好后需要在IAR中配置調試文件
內核選擇STAR,使用JLINK驅動燒錄或者CMSIS DAP燒錄
使用JLINK燒錄,需要更改配置
上述設置完成好后點擊Download andDeBUG,燒錄成功
三、運行
目前芯片不支持下載后自啟動,需要按下RESET鍵后,程序才能運行,以GPIO口翻轉控制LED燈閃爍為例,部分示例代碼(完整代碼見附錄)和現(xiàn)象如下:
1.4 IAR Debug使用說明
一、點擊白色按鍵或者通過Project->>Debugwithout Download進入仿真調試界面
二、設置斷點
按F5 鍵或工具條上的Go 按鈕都可以讓程序執(zhí)行到斷點。DebugLog 窗口將顯示關于斷點的信息
三、查看變量( Watch 窗口)
打開Live Watch 窗口的方法是選擇主菜單View → Watch 命令。 Watch 窗口用于觀察靜止位置上的變量,如全局變量。點擊鼠標右鍵選擇要查看的變量,點擊Add to Watch;變量的值在執(zhí)行時會變化并顯示出來。
四、監(jiān)視寄存器
選擇主菜單View > Register 打開寄存器窗口,顯示的是CPU 寄存器??梢詮募拇嫫鞔翱谧笊戏降南吕藛沃羞x擇需要查看的任何寄存器組。
Keil+GCC
1.1 Keil安裝及使用
具體安裝及使用相關信息參照Keil篇,本篇不做具體贅述。
1.2 GNU編譯器集合 (GCC) 安裝步驟
ARM GCC編譯器下載地址https://developer.arm.com/downloads/-/gnu-rm
①使用安裝文件exe安裝時,默認安裝目錄為
C:\Program Files (x86)\GNU ArmEmbedded Toolchain\10 2021.10;
②使用壓縮包zip文件時,將文件放入C:\Keil_v5\ARM文件夾內解壓,安裝目錄為C:\Keil_v5\ARM\gcc-arm-none-eabi-10.3-2021.10
安裝目錄后續(xù)配置Keil時使用
1.3 Keil + GCC相關配置
①打開Keil后,點擊圖示按鈕Manager Project Items
②在彈出界面中,F(xiàn)older/Extensions選項中選擇Use GCC Compiler (GNU) for ARMprojects,F(xiàn)older填入GCC安裝目錄。
③點擊圖示按鈕Configure target options
④在彈出界面中,Output選項中,如果選擇Creat Executable,則需要在Linker中配置腳本文件,如果選擇Creat Library則不需要在Linker中配置腳本文件。
⑤配置CC選項,Include Paths添加CMSIS、Device、HAL庫等相關路徑
MiscControls中
F4系列添加-mcpu=cortex-m33 -mthumb -ffunction-sections -fdata-sections-mfpu=fpv5-sp-d16 -mfloat-abi=hard,其中-mfpu=fpv5-sp-d16 -mfloat-abi=hard為浮點數(shù)運算配置,如不需要可刪除。
⑥配置Assmbler選項,Misc Controls F4系列添加-mcpu=cortex-m33 -mthumb。
⑦配置Linker選項,如步驟④中所述,僅在選擇Creat Executable時需要在Linker Script File中配置腳本文件,建議腳本文件包含在項目工程根目錄中。
MiscControls添加-Wl,–gc-sections ,如需使用封裝庫增加<-l庫名>來鏈接封裝庫。
⑧項目創(chuàng)建或移植時,CMSIS添加cmsis_gcc.h文件,Device更新GCC專用的.S啟動文件
(Startup_ACM32F4xx_gcc.S)
1.4 Keil + GCC調試使用說明
調試過程參照Keil篇,需要注意的是使用GCC編譯器時,在Keil環(huán)境下無法進行跳轉(快捷鍵F12)功能。
常見錯誤和注意事項
一、在 GCC環(huán)境下,printf重定向問題
在Keil中的C庫中,printf、scanf等輸入輸出流函數(shù)是通過fputc、fgetc來實現(xiàn)最底層操作的,所以我們只需要在我們的工程中重定義這兩個函數(shù)的功能就可以實現(xiàn)printf、scanf等流函數(shù)的重映射。與keil C庫類似GNU C庫下的流函數(shù)底層是通過_read、_write函數(shù)實現(xiàn)的,我們只要在工程中將他們重新定義就可以實現(xiàn)重映射的功能了。
C++ |
Eclipse+GCC
1.1 Eclipse安裝
①Eclipse下載地址https://www.eclipse.org/downloads/ 整體安裝過程需聯(lián)網(wǎng)進行。
②下載完成后雙擊打開,界面如下圖所示,點擊紅色框標記的選項。
③點擊后出現(xiàn)下圖設定界面,兩個設定項目分別是JRE的版本與安裝的位置,可自行選定。
④點擊安裝后,開始進入到下載流程,此時需全程聯(lián)網(wǎng)進行。
⑤安裝完成后,點擊LAUNCH啟動eclipse,開始插件安裝。