Keil 篇
1.1 Keil安裝步驟(zou)
安裝包鏈接: (keil推薦在MDK5.31(含)以上)。
一(yi)、下載(zai)并(bing)解壓安裝包,并(bing)按步驟完成安裝
二、運行(xing)安(an)裝(zhuang)程序(xu),點(dian)擊next
三、勾選accept,點擊next
四、選擇安裝路(lu)徑(jing)(jing),點擊next(最(zui)好(hao)選擇默認路(lu)徑(jing)(jing),如(ru)果自行修改(gai)需要注意不要添加中文)
注意事項:
? 安裝路徑不能有中文
? 安裝目合
五、信息隨(sui)意(yi)填寫,點(dian)擊next
六(liu)、等待安(an)裝
七、點擊finish,完(wan)成安裝
八、突然會(hui)彈出“Pack installer”頁(ye)面,先后(hou)關閉兩個(ge)窗口
1.2 Keil使用流(liu)程(以(yi)ACM32F0X0系列為例)
一、安裝航(hang)芯(xin)的(de)芯(xin)片包
二、創(chuang)建一(yi)個新的(de)文(wen)件夾temp,放入航芯提供(gong)的(de)Core_Drivers文(wen)件,同時在里面創(chuang)建一(yi)個新的(de)文(wen)件夾user。
三、打開keil,建(jian)立(li)一(yi)個(ge)新(xin)的(de)工程。
四、安裝好了航(hang)芯的(de)芯片包后,可以選擇對應的(de)設(she)備號(hao)(沒有找到對應的(de)設(she)備號(hao)可能是(shi)芯片包未安裝好)
五(wu)、添加頭(tou)文(wen)(wen)件(.h文(wen)(wen)件)
六(liu)、添(tian)加源文(wen)件(jian)(jian)(.C文(wen)件(jian)(jian))
第一(yi)步(bu)打開(kai)空白頁,編寫程(cheng)(cheng)序(xu)(可以使用航芯(xin)提供(gong)的demo程(cheng)(cheng)序(xu)或(huo)者自(zi)己(ji)編寫的程(cheng)(cheng)序(xu))后,第二步(bu)保(bao)存到(dao)對應的工程(cheng)(cheng)文(wen)件夾(jia)。
1.3 keil編譯、下載、運行
一、工程編譯
二(er)、下載程序(ACM32F0X0 系列支持的(de)在線仿(fang)(fang)真器包括: J-Link、 U-Link2、 ST-Link、 CMSIS-DAP,ACM32F4XX 系列支持的(de)在線仿(fang)(fang)真器包括: J-Link-V9(含)以(yi)上、 U-Link2、 CMSIS-DAP等,使用(yong) J-Link 在線調試時, Keil 推薦在 MDK5.31(含)以(yi)上, J-Link 驅動建議在 V6.70e(含)以(yi)上)
航(hang)芯的(de)core開發(fa)板是帶有DAP連(lian)接(jie)的(de),所(suo)以(yi)可以(yi)直接(jie)選擇CMSIS-DAPDebugger,通(tong)過Settings查看是否正常連(lian)接(jie)。如果需(xu)要使(shi)用Jlink方(fang)式連(lian)接(jie),可以(yi)參(can)考《航(hang)芯通(tong)用MCU使(shi)用JFlash燒錄程序(xu)的(de)方(fang)法(fa)說(shuo)明.pdf》。
三、運(yun)行(目前(qian)芯片不支持下載后自啟動,需要按下RESET鍵后,程(cheng)序(xu)才(cai)能運(yun)行),以(yi)GPIO口(kou)翻轉控制LED燈閃爍為(wei)例,部(bu)分示例代碼(ma)(完整(zheng)代碼(ma)見附(fu)錄)和現象(xiang)如下:
1.4 Keil Debug使(shi)用說明(ming)
一、進入調試界面(mian)
二、調(diao)試(shi)工具欄(lan)介紹
斷(duan)點(dian)是調試器的功能之一,可以(yi)讓程序停止在(zai)(zai)設置斷(duan)點(dian)的語句。在(zai)(zai)調試過程中,可在(zai)(zai)程序的某一處(chu)設置斷(duan)點(dian)再點(dian)擊Run運行,此時(shi)當程序運行至(zhi)該(gai)位(wei)置時(shi)自動停止。
三、調試(shi)窗口(kou)介紹
1. 查看(kan)外(wai)(wai)設(she)寄存器(qi)的(de)值,參考(kao)《航(hang)芯ACM32F0X0_FP0X_用戶(hu)手冊_V1.6.pdf》查看(kan)各(ge)個(ge)外(wai)(wai)設(she)寄存器(qi)的(de)功能。
2. 選中需(xu)要查看的參數(shu)(shu),單擊(ji)鼠標(biao)右鍵,可以將參數(shu)(shu)放入觀察窗口,實時(shi)查看參數(shu)(shu)的變(bian)化。
3. 內核寄存(cun)器組
寄存(cun)(cun)器(qi)窗(chuang)口,如下(xia)圖(tu)所示(shi),該窗(chuang)口用于顯示(shi)R0~R15、xPSR等內(nei)核(he)寄存(cun)(cun)器(qi)的值(不是外設寄存(cun)(cun)器(qi)),關(guan)于內(nei)核(he)寄存(cun)(cun)器(qi)的介紹可以查(cha)看(kan)。
IAR 篇(pian)
1.1 IAR安(an)裝步驟
一、下載并解壓安裝包(bao),并按(an)步驟(zou)完成安裝
二、運行安裝(zhuang)程(cheng)序(xu),點擊next
三、勾選accept,點擊next
四、選(xuan)擇安裝路徑,點擊(ji)next
五(wu)、安裝驅(qu)動,為避免以后(hou)可能使用(yong)到(dao)其他(ta)下載器,默(mo)認即可,會(hui)自(zi)動安裝一些驅(qu)動
六、直接選擇(ze)"NEXT"
七(qi)、點擊"install"
八、等(deng)待安(an)裝完(wan)成,點擊"finish"完(wan)成安(an)裝
九、安裝(zhuang)完會出(chu)現(xian)彈窗,是第7條選擇(ze)的驅(qu)(qu)動的安裝(zhuang),每個(ge)彈窗直接點擊"Install","close"即(ji)可,所有(you)驅(qu)(qu)動按照默(mo)認(ren)安裝(zhuang)即(ji)可。
1.2 IAR 使用流(liu)程(以ACM32F0X0為例)
一、建立(li)新工(gong)作區(File–>>NewWorkspace)
二、建立(li)新(xin)項目(Project–>>CreateNew Project…)
選(xuan)擇(ze)對應的(de)(de)工(gong)程模板后(hou)點(dian)擊“OK”,之后(hou)將(jiang)工(gong)程保存在對應的(de)(de)文件夾(jia)。
三(san)、添(tian)加文(wen)件組和源文(wen)件
通過Add Files可以(yi)添(tian)加自(zi)己編寫好的源(yuan)文件(.C)或者別(bie)的demo文件中的源(yuan)文件,通過Add Group可以(yi)添(tian)加文件組,來給(gei)每個文件分(fen)組。
四、添加頭文件
點擊Project–>>Options,選擇C/C++Complier->>Preprocessor添加頭(tou)文件的路(lu)徑(jing)。
1.3 IAR編(bian)譯、下載、運行(xing)
一、編譯
Compile:只對目前(qian)打開的(de)(de)(de)c文件進行(xing)語法檢(jian)查(cha),不對它(ta)進行(xing)link;Make:對工程所有(you)打開的(de)(de)(de)c文件進行(xing)語法檢(jian)查(cha)和(he)link(只編(bian)譯有(you)改動的(de)(de)(de)文件或者設置變動的(de)(de)(de)文件);Rebuild All:編(bian)譯鏈接當前(qian)工程(不管(guan)文件或者設置是否有(you)變動);
Clean:清除當前工(gong)程(cheng)(cheng)(cheng)的編譯(yi)狀態(tai);Batch?build:批(pi)量(liang)編譯(yi),打開Batch?build?批(pi)量(liang)編譯(yi)后,需要給批(pi)量(liang)編譯(yi)起個名(ming)字,然后將(jiang)本(ben)工(gong)程(cheng)(cheng)(cheng)中的三(san)個分類都添(tian)加到(dao)“Configurations?to?build”中,然后單擊(ji)“Make”?就可以對這(zhe)工(gong)程(cheng)(cheng)(cheng)中的三(san)個分類全部(bu)進行編譯(yi);
二、下載
下(xia)載程序需要先安裝(zhuang)調(diao)(diao)試文件(ACM32F4系列也(ye)需要安裝(zhuang)相(xiang)應(ying)的調(diao)(diao)試文件)
? 將 ACM32F0XX.ddf 放(fang)置于(yu) IAR 的(de)(de)安裝目錄(lu)的(de)(de)\arm\config\debugger下
? 將其余 4 個文件放置于 IAR 的安(an)裝目(mu)錄的\arm\config\flashloader下
在(zai)目錄中放置(zhi)好后需要在(zai)IAR中配置(zhi)調試文件(jian)
內核選(xuan)擇SC000,使用JLINK驅動燒錄(lu)。
上述(shu)設置(zhi)完(wan)成(cheng)好后點擊Download andDeBUG,燒錄(lu)成(cheng)功(gong)
三、運行
目前芯(xin)片(pian)不支持下(xia)(xia)載(zai)后(hou)自啟動(dong),需(xu)要按下(xia)(xia)RESET鍵后(hou),程(cheng)序才能運行(xing),以GPIO口翻(fan)轉控制(zhi)LED燈閃爍(shuo)為例(li),部分示例(li)代碼(完整代碼見(jian)附錄)和(he)現象(xiang)如下(xia)(xia):
1.4 IAR Debug使(shi)用說(shuo)明
一、點擊白色按鍵或者通過Project->>Debugwithout Download進入仿真調試界面(mian)
二、設置斷(duan)點
按F5 鍵或(huo)工具條(tiao)上的Go 按鈕都(dou)可以(yi)讓程序執行到斷點。DebugLog 窗口(kou)將(jiang)顯示關于斷點的信(xin)息(xi)
三、查看變(bian)量( Watch 窗口(kou))
打開Live Watch 窗口的(de)方法是選擇(ze)主菜單View → Watch 命令(ling)。 Watch 窗口用(yong)于觀察(cha)靜止位置(zhi)上的(de)變量,如(ru)全局變量。點擊鼠(shu)標(biao)右鍵選擇(ze)要(yao)查(cha)看(kan)的(de)變量,點擊Add to Watch;變量的(de)值在執行時會變化并(bing)顯示出來(lai)。
四、監視寄存(cun)器
選擇(ze)主菜(cai)單View > Register 打(da)開寄存器(qi)窗口,顯示的是(shi)CPU 寄存器(qi)。可以從寄存器(qi)窗口左上方的下(xia)拉菜(cai)單中選擇(ze)需要查(cha)看(kan)的任何(he)寄存器(qi)組。
Keil+GCC
1.1 Keil安裝及使用
具(ju)體(ti)安裝及使用相關信息參(can)照Keil篇,本篇不(bu)做(zuo)具(ju)體(ti)贅述。
1.2 GNU編(bian)譯(yi)器集合 (GCC) 安裝步驟(zou)
ARM GCC編譯器下載地址
①使(shi)用安裝(zhuang)(zhuang)文件exe安裝(zhuang)(zhuang)時(shi),默認安裝(zhuang)(zhuang)目錄為(wei)
C:\Program Files (x86)\GNU ArmEmbedded Toolchain\10 2021.10;
②使用壓縮包zip文件(jian)時,將文件(jian)放入C:\Keil_v5\ARM文件(jian)夾內解壓,安裝(zhuang)目錄為C:\Keil_v5\ARM\gcc-arm-none-eabi-10.3-2021.10
安裝目錄后續配置Keil時使(shi)用(yong)
1.3 Keil + GCC相關(guan)配置
①打開(kai)Keil后,點擊圖示按鈕(niu)Manager Project Items
②在彈(dan)出界面中,Folder/Extensions選(xuan)項中選(xuan)擇Use GCC Compiler (GNU) for ARMprojects,Folder填入GCC安裝目錄
③點擊圖示按鈕Configure target options
④在彈出(chu)界面中,Output選項中,如果選擇Creat Executable,則需(xu)要在Linker中配置腳本(ben)文(wen)件,如果選擇Creat Library則不需(xu)要在Linker中配置腳本(ben)文(wen)件。
⑤配置CC選項,Include Paths添(tian)加CMSIS、Device、HAL庫等相關路徑
MiscControls中F0系列添(tian)加(jia)-mcpu=cortex-m0-mthumb -ffunction-sections -fdata-sections。
⑥配(pei)置Assmbler選項(xiang),Misc Controls F0系列添(tian)加(jia)-mcpu=cortex-m0 -mthumb。
⑦配置Linker選(xuan)項,如(ru)步驟(zou)④中所述,僅(jin)在選(xuan)擇Creat Executable時需要在Linker Script File中配置腳本文件(jian),建議腳本文件(jian)包(bao)含在項目(mu)工程根目(mu)錄中。
MiscControls添加(jia)-Wl,–gc-sections ,如需使用封裝庫增加(jia)<-l庫名>來鏈接封裝庫
⑧項目創建或移植時,CMSIS添加cmsis_gcc.h文件,Device更新GCC專用的.S啟動文件(Startup_ACM32F0x0_gcc.S)
1.4 Keil + GCC調試使(shi)用說(shuo)明
調試(shi)過程(cheng)參(can)照Keil篇,需(xu)要注意的是使用GCC編譯器時,在Keil環(huan)境下無法進行跳轉(快捷鍵F12)功(gong)能。
常見(jian)錯誤和注(zhu)意事項
一、在 GCC環境(jing)下,printf重定向問題
在(zai)Keil中(zhong)的(de)(de)(de)C庫中(zhong),printf、scanf等輸(shu)入輸(shu)出流(liu)(liu)函(han)數(shu)是通(tong)過fputc、fgetc來實(shi)現(xian)(xian)最底(di)層操(cao)作的(de)(de)(de),所以我們(men)(men)只需要在(zai)我們(men)(men)的(de)(de)(de)工程中(zhong)重(zhong)定(ding)義這兩(liang)個函(han)數(shu)的(de)(de)(de)功能就(jiu)可以實(shi)現(xian)(xian)printf、scanf等流(liu)(liu)函(han)數(shu)的(de)(de)(de)重(zhong)映射(she)。與keil C庫類(lei)似GNU C庫下的(de)(de)(de)流(liu)(liu)函(han)數(shu)底(di)層是通(tong)過_read、_write函(han)數(shu)實(shi)現(xian)(xian)的(de)(de)(de),我們(men)(men)只要在(zai)工程中(zhong)將他們(men)(men)重(zhong)新定(ding)義就(jiu)可以實(shi)現(xian)(xian)重(zhong)映射(she)的(de)(de)(de)功能了。
C++ |
Eclipse+GCC
1.1 Eclipse安裝(zhuang)
① Eclipse下載(zai)地址//www.eclipse.org/downloads/ 整體(ti)安裝過(guo)程(cheng)需聯網進行
②下載完成后雙擊打開,界(jie)面如下圖所(suo)示(shi),點擊紅色框標記的(de)選項
③點擊后出現下圖設定界面,兩個設定項目分別是JRE的版本與安裝的位置,可自行選定
④點擊安裝后,開始進入到下載流程,此時需全程聯網進行
⑤安裝完成后,點擊LAUNCH啟動eclipse,開始插件安裝
1.2 Eclipse使用
打開(kai)eclipse軟件,會彈出對話框讓選擇workspace,界面(mian)如下(xia)圖所示(shi):
Workspace由(you)用(yong)戶自(zi)己定義,用(yong)來(lai)存儲相關文件。
ACM32系列MCU是ARM內核(he),所以需要下載(zai)(zai)一個(ge)支持編譯(yi)ARM內核(he)的(de)編譯(yi)器,示例選擇了xpack模式的(de)編譯(yi)器,下載(zai)(zai)地址
編譯時有清理或拷貝的操作,需要使用到xPack Windows Build Tools中的一些工具, 同編譯工具鏈設定相似,軟件包下載完成后解壓到指定的目錄下,依次點擊Windows->Preferences->MCU->GlobalBuild Tool Path進入到設定中,指定構建工具的目錄。
1.3 調試工(gong)具驅動(dong)安裝(zhuang)
1.3.1 J-Link
①下載J-Link軟件,訪問可選擇不同版本J-Link驅動(dong)下載,本文中選取下載了(le)J-Link V7.82版本
②安(an)裝完成后,依次(ci)點擊eclipse的Windows->Preferences->MCU->GlobalSEGGER J-Link Path進入到(dao)設定中,指定JLink工具的目錄,圖示如下:
③ 進入到Debug Configurations配(pei)置(zhi)頁面(mian)
④雙擊GDB SEGGER J-Link Debugging創建J-Link調試的配置(zhi),修(xiu)改相應的配置(zhi)后即可使用J-Link進行調試
ACM32相關(guan)PACKS安裝(zhuang)后,SVD文(wen)件可在相關(guan)文(wen)件夾內(nei)索引,索引地址為
C:\Users\用戶名\AppData\Local\Arm\Packs\Aisinochip
配置完成(cheng)后即可使用J-Link進行調(diao)試
1.3.2 CMSIS-DAP
DAP調試需要使用OpenOCD插件,目(mu)前網絡(luo)上的版本是由于沒有針對ACM32系列的eFlash操作做支持,是無(wu)法直接使用的,需要使用航芯提供(gong)的版本,相(xiang)應的軟件包(bao)名稱(cheng)為openocd-v0.11.0-i686-w64-mingw32。直接把該軟件放入到指定(ding)的目(mu)錄下(xia),依次點(dian)擊eclipse的Windows->Preferences->MCU->GlobalOpenOCD Path進入到設定(ding)中,指定(ding)OpenOCD工具的目(mu)錄,圖示(shi)如下(xia):
然后(hou)進(jin)入到Debug Configurations配置(zhi)頁(ye)面中,雙擊GDB OpenOCD Debugging創(chuang)建(jian)DAP調(diao)試的配置(zhi),修改相(xiang)應的配置(zhi)后(hou)即可使用DAP進(jin)行調(diao)試, 相(xiang)應的配置(zhi)項(xiang)如(ru)圖所示:
按照格式索引cmsis-dap.cfg與acm32f0x0.cfg兩(liang)個文件