粉粉嫩嫩的18虎白女,白丝女仆猛 喷水爽自慰,欧美嫩小槡BBBB槡BBBB槡,午夜视频在线免费观看,国产一级a毛一级a看免费视频

當前位(wei)置:首頁>新聞中心>技術分享>航芯技術分(fen)享(xiang) | ACM32F0x0開發環境搭建

航芯技術分享 | ACM32F0x0開發環境搭建

發布時間:2022-12-28

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++
#ifdef __GNUC__  
int __io_putchar(int ch)  
 {  
   Uart_Debug->DR = ch;
   while  ((Uart_Debug->FR & UART_FR_BUSY));  
   return ch;  
 }  
int _write(int fd, char* buffer, int  size)  
 {  
   for(int  i = 0;i<size;i++)  
   {  
       __io_putchar(*buffer++);  
   }  
   return  size;  
 }  
#else  
int fputc(int ch, FILE *f)  
 {  
   if  (Uart_Debug == NULL)  
   {  
       return 0;  
   }  
   Uart_Debug->DR = ch;  
   while  ((Uart_Debug->FR & UART_FR_BUSY));  
   return ch;  
 }  
#endif


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)個文件