一、調試工具及開發(fā)板目前AT32F425開發(fā)板都自帶AT-Link-EZ調試工具,AT-Link-EZ如下圖左邊紅框所示,它也可拆開后單獨搭配其他電路板使用,支持IDE在線調試、在線燒錄、USB轉串口等功能。圖1. AT32F425開發(fā)板實物圖注意:AT-START板配備資源的詳細說明,請參考《UM_AT_START_F425_Vx.x》,存放路徑為雅特力科技官方網站→產品訊息→超值型MCU→AT32F4xx系列下載的Evaluation Board(開發(fā)板)資料包解壓后\AT_START_F425_Vx.x\03_Documents。圖2. 雅特力科技官方網站AT-START-F425開發(fā)板資料包
二、燒錄工具及軟件
- AT燒錄工具及軟件:AT-Link/AT-Link+/AT-Link-Pro/AT-Link-ISO/AT-Link-EZ、ICP/ISP。
- 第三方燒錄工具:J-Link、安富萊、正點原子、軒微科技、創(chuàng)芯工坊、周立功、邁斯威志、阿莫燒錄器、昂科、永創(chuàng)智能、高勒康達、浦洛、戎象科技、欣揚電子、西爾特、智峰科技等。
注意:上述燒錄工具詳情請訪問雅特力科技官方網站→技術與開發(fā)支持→Hardware Development Tool頁面及第三方編程器(3RDParty Writer)頁面。
- ICP使用說明請參考《UM_ICP_Programmer》,存放路徑為雅特力科技官方網站→產品訊息→超值型MCU→AT32F4xx系列下載的ICP工具解壓后Artery_ICP_Programmer_Vx.x.xx\Document\UM_ICP_Programmer。
- ISP使用說明請參考《UM_ISP_Programmer》,存放路徑為雅特力科技官方網站→產品訊息→超值型MCU→AT32F4xx系列下載的ISP工具解壓后Artery_ISP_Programmer_Vx.x.xx\Document\UM_ISP_Programmer。
- AT-Link使用說明請參考《UM0004_AT-Link_User_Manual》,存放路徑為雅特力科技官方網站→產品訊息→超值型MCU→AT32F4xx系列下載的AT-Link-Family工具解壓后AT_Link_CH_Vx.x.x\05_Documents\UM0004_AT-Link_User_Manual_ZH_Vx.x.x。
圖3. 雅特力科技官方網站ICP/ISP/AT-Link-Family資料包
三、AT32開發(fā)環(huán)境
模板工程介紹在ArteryTek提供的固件庫BSP中都默認建立好了常用IDE的模板工程。BSP可從雅特力科技官方網站→產品訊息→超值型MCU→AT32F4xx系列獲取。圖4. 雅特力科技官方網站BSP資料包BSP中創(chuàng)建了Keil_v5/Keil_v4/IAR_6.10/IAR_7.4/IAR_8.2/eclipse_gcc/at32_ide的模板工程,存放路徑為AT32F425_Firmware_Library_V2.x.x\project\at_start_f4xx\templates,打開對應工程的文件夾并點擊工程文件即可打開對應的IDE工程。如下是Keil_v5工程示例:圖5. Keil_v5 templates工程示例工程內添加的內容描述如下:① at32f425_clock.c時鐘配置文件,設置了默認的時鐘頻率及時鐘路徑。② at32f425_int.c中斷文件,默認編寫了部分內核中斷函數的代碼流程。③ main.c模板工程的主代碼文件。④ at32f425_board.c板級配置文件,設置了AT-START上的按鍵和LED等常用硬件配置。⑤ firmware下的at32f425_xx.c是各片上外設的驅動文件。⑥ system_at32f425.c系統(tǒng)初始化文件。⑦ startup_at32f425.s啟動文件。⑧ readme.txt工程的說明文件,記錄了模板工程的一些應用功能、設置方式以及關聯應用筆記(ApNote)等信息。除了templates外,BSP還按照外設分類,提供了大量的examples示例代碼(Keil_v5工程文件)供用戶參考,用戶只需要直接打開即可。存放路徑為AT32F425_Firmware_Library_V2.x.x\project\at_start_f4xx\examples。注意:關于BSP的更多詳細說明,請參考《AT32F425固件庫BSP&Pack應用指南》的“4 BSP使用簡述”章節(jié),存放路徑為雅特力科技官方網站→產品訊息→超值型MCU→AT32F4xx系列下載的BSP解壓后\AT32F425_Firmware_Library_Vx.x.x\document。
Pack安裝
需要安裝Pack包在Keil/IAR中增加AT32 MCU型號,Pack包可以從雅特力科技官方網站→產品訊息→超值型MCU→AT32F4xx系列下載。圖6. 雅特力科技官方網站Pack包對于Keil編譯系統(tǒng),建議keil4.74或5.23以上版本。Keil_v5版本需要將Keil5_AT32MCU_AddOn解壓后安裝對應ArteryTek.AT32F425_DFP,Keil_v4版本需要安裝Keil4_AT32MCU_AddOn;默認情況下,安裝時可以自動識別到Keil的安裝路徑,如果識別不到或者不正確,需要手動選擇Keil的安裝路徑。圖7. 安裝ArteryTek.AT32F425_DFP圖8. 安裝Keil4_AT32MCU_AddOn也可打開keil,點擊Pack Installer圖標,在Pack Installer中點擊左上角file,選擇import,導入從雅特力科技官方網站下載好的對應pack包完成安裝。圖9. Keil中Pack Installer圖標對于IAR編譯系統(tǒng),建議IAR7.0或IAR6.1以上版本。安裝IAR_AT32MCU_AddOn,默認情況下,安裝時可以自動識別到IAR的安裝路徑,如果識別不到或者不正確,需要手動選擇IAR的安裝路徑。圖10. 安裝IAR_AT32MCU_AddOn注意:關于Pack安裝的更多詳細說明,請參考《AT32F425固件庫BSP&Pack應用指南》的“2 Pack安裝步驟”章節(jié),存放路徑為雅特力科技官方網站→產品訊息→超值型MCU→AT32F4xx系列下載的BSP解壓后\AT32F425_Firmware_Library_Vx.x.x\document。
使用AT-Link調試及下載
在Keil環(huán)境下使用AT-Link,在Debug里選擇CMSIS-DAP調試器。圖11. Keil Debug選項在Debug單擊Settings進入Cortex-M Target Driver Setup界面如下圖1. 先選擇AT-Link(WinUSB)-CMSIS-DAP/AT-Link-CMSIS-DAP;注意:關于WinUSB,請參考《FAQ0136_如何使用AT-LINK的WinUSB功能提升下載速率》,該文檔可以從雅特力科技官方網站→技術與開發(fā)支持→FAQ→FAQ0136下載。2. Port選擇SW,再勾選SWJ;3. 確認已識別到ARM SW-DP調試模塊。圖12. Keil Debug選項Settings設置
并且在Utilities里,先勾去下圖標示的選項框1,在選項框2下拉菜單選擇CMSIS-DAP Debugger,然后再勾選選項框1(需要先取消再勾選)。圖13. Keil Utilities選項在IAR環(huán)境下使用AT-Link,選中工程,點擊Project,選擇Options,在Debugger里選擇CMSISDAP調試器,再在CMSIS DAP里選擇SWD。圖14. IAR Debug選項圖15. IAR CMSIS-DAP選項注意:關于Flash算法文件、MCU型號切換、Jlink無法找到MCU等的詳細說明,請參考《AT32F425固件庫BSP&Pack應用指南》相關章節(jié),此處不再贅述。存放路徑為雅特力科技官方網站→產品訊息→超值型MCU→AT32F4xx系列下載的BSP解壓后\AT32F425_Firmware_Library_Vx.x.x\document。
四、快速替代AT32F415流程
- 請參考《MG0019_從AT32F415移植到AT32F425》,該文檔可從雅特力科技官方網站→產品訊息→超值型MCU→AT32F4xx系列獲取;
- 如果程序仍無法正常運行,請參考本文件其他章節(jié),或聯絡代理及雅特力科技技術支持人員協(xié)助解決。
注意:系統(tǒng)性能改善是多方面調優(yōu)共同作用的結果,關于如何提高AT32F425的運行效能,請參考應用手冊《AN0004_Performance_Optimization》,該應用筆記可從雅特力科技官方網站→技術與開發(fā)支持→AP Note→AN0004獲取。
AT32F425芯片的功能配置
一、預取指令緩沖設置預取指令緩沖器可以使CPU更快地執(zhí)行,CPU讀取一個字的同時下一個字已經在預取緩沖器中等候。預取指令控制器根據預取緩沖器中可用的空間決定是否訪問閃存,預取緩沖器中有至少一塊的空余空間時,預取控制器則啟動一次讀操作。對于不同的系統(tǒng)時鐘需要設置不同的時延,設置閃存性能選擇寄存器(FLASH_PSR)的bit2~0 (WTCYC)。圖16. 閃存性能選擇寄存器(FLASH_PSR)等待周期AT庫在系統(tǒng)時鐘配置函數system_clock_config()進行了相關設置,其他BSP請找到相同的位置做相應的設置。圖17. 系統(tǒng)時鐘配置函數system_clock_config
二、PLL時鐘設置
AT32F425內置的PLL最高可輸出96MHz時鐘,設置AT32F425的PLL有兩種方式:一種是使用傳統(tǒng)的時鐘配置寄存器CRM_CFG,一種是使用新增的PLL配置寄存器CRM_PLL。使用CRM_PLL可以配置更多種PLL時鐘頻率,其對應的公式為:使用時鐘配置寄存器CRM_CFG時PLL設定程序范例:(HEXT=8MHz,PLL=96MHz)還可以使用AT32新增的PLL配置寄存器CRM_PLL配置更多的時鐘頻率,范例如下:(HEXT=8MHz,PLL=94MHz)圖18. AT32F425輸出94MHz的時鐘配置其中,入口參數CRM_PLL_SOURCE_HEXT代表選擇HEXT為外部時鐘源,47為PLL_NS值,1為PLL_MS值,CRM_PLL_FR_4(0x02,四分頻)為PLL_FR值。更多時鐘配置相關信息,請參考《AN0121_AT32F425_CRM_Start_Guide》。該應用筆記可從雅特力科技官方網站→技術與開發(fā)支持→AP?Note→AN0121獲取,其中詳細介紹了AT32F425的時鐘源碼配置與修改,以及如何使用雅特力的時鐘配置工具(New Clock Configuration)來快速生成想要的時鐘代碼并應用到工程,該工具可從雅特力科技官方網站→產品訊息→超值型MCU→AT32F4xx系列獲取。
三、加密方式
注意:AT32F425的BOOT1位于用戶系統(tǒng)數據區(qū)(0x1FFF F800),當使用ISP工具時,請確認nBOOT1=1(出廠默認值),使程序由系統(tǒng)啟動程序代碼區(qū)(而不是SRAM)啟動。訪問保護訪問保護即大家通常說的“加密”,作用于整個Flash存儲區(qū)域。一旦設置了Flash的訪問保護,內置的Flash存儲區(qū)只能通過程序的正常執(zhí)行才能讀出,而不能通過JTAG或者SWD讀出,當使用ICP/ISP工具解除訪問保護時,芯片會對FLASH進行擦除操作。注意:一旦啟動高級訪問保護后,將不能被解除,并且禁止用戶以任何方式重新擦除以及寫入系統(tǒng)數據區(qū)。可用ICP/ISP工具對IC進行訪問保護與解除訪問保護操作,如下:
- Artery ICP Programmer工具(BOOT0=0)啟用訪問保護:設備操作--訪問保護--啟用訪問保護/啟用高級訪問保護。解除訪問保護:設備操作--訪問保護--解除訪問保護。
圖19. ICP工具啟用/解除訪問保護
- Artery ISP Programmer工具(BOOT0=1)啟用訪問保護:一直點擊下一步,直到進入最后界面,選擇保護、啟用訪問保護/高級訪問保護--下一步--是,即可將程序加密。解除訪問保護:選擇保護、禁用訪問保護--下一步--是,即可將Flash解除加密。
- Artery ISP Multi-Port Programmer工具(BOOT0=1)啟用訪問保護:使能/除能保護、啟用訪問保護/高級訪問保護--開始,即可將程序加密。解除訪問保護:使能/除能保護、禁用訪問保護--開始,即可將Flash解除加密。
圖20. ISP工具啟用訪問保護圖21. ISP工具解除訪問保護注意:設置了訪問保護不能通過擦除操作來解除訪問保護。
擦寫保護
寫保護作用于整個Flash存儲區(qū)域或者Flash存儲區(qū)域的某些頁。一旦設置了Flash的寫保護,內置的Flash存儲區(qū)就不能通過任何方式寫入。可用ICP/ISP工具對IC進行擦寫保護與解除擦寫保護操作,如下:
- Artery ICP Programmer工具(BOOT0=0)啟用擦寫保護:設備操作--用戶系統(tǒng)數據--勾選擦寫保護字節(jié)扇區(qū)--應用到設備。解除擦寫保護:設備操作--用戶系統(tǒng)數據--勾除擦寫保護字節(jié)扇區(qū)--應用到設備。
- Artery ISP Programmer工具(BOOT0=1)啟用擦寫保護:保護、啟用擦寫保護--下一步--是,即可啟用寫保護。解除擦寫保護:保護、禁用擦寫保護--下一步--是,即可解除寫保護。
- Artery ISP Multi-Port Programmer工具(BOOT0=1)啟用擦寫保護:使能/除能保護、啟用擦寫保護--開始--是,即可啟用寫保護。解除擦寫保護:使能/除能保護、禁用擦寫保護--開始--是,即可解除寫保護。
圖22. ICP工具啟用擦寫保護
圖23. ICP工具解除擦寫保護注意:設置了擦寫保護不能通過擦除操作來解除擦寫保護。
四、設定系統(tǒng)存儲器為擴展主存
系統(tǒng)存儲器(SystemMemory)默認是作為BOOT模式存放原廠固化的啟動代碼。不過,在AT32F425系列產品上,添加了新功能,系統(tǒng)存儲器也可以選擇作為主存的擴展區(qū)(AP模式)用來存放用戶自定義代碼。注意:系統(tǒng)存儲區(qū)AP模式只能設置一次且不可逆,設置后原系統(tǒng)存儲器BOOT模式功能不可恢復。產品開發(fā)過程中使用Artery ICP Programmer將系統(tǒng)存儲器作為擴展主存使用方法:
- 連接AT-Link/J-Link仿真器到AT-START-F425板并上電。
- 開啟Artery ICP programmer,選擇用AT-Link/J-Link連接。
- 通過菜單欄:設備操作--啟動程序存儲區(qū)AP模式--確定。
圖24. ICP工具設定系統(tǒng)存儲區(qū)AP模式
- 為防止誤操作,需按照提示手動輸入啟用秘鑰0xA35F6D24,操作后“存儲器信息”表格中會有成功或失敗的提示信息。
圖25. ICP工具設定系統(tǒng)存儲區(qū)AP模式確認界面量產生產過程中使用Artery ICP Programmer將系統(tǒng)存儲器作為擴展主存使用方法:
- 連接AT-Link仿真器到AT-START-F425板并上電。
注意:板載的AT-LinkEZ版本不支持離線燒錄,只能選擇非EZ版本的AT-Link。
- 開啟Artery ICP programmer,選擇用AT-Link做連接。
- 通過菜單欄:AT-Link設置--離線項目配置。
- 生成離線項目的步驟:
1. 新建項目2. 輸入項目名稱3. 選擇MCU型號4. 添加.hex文件5. 下載接口選擇SWD6. 勾選系統(tǒng)存儲區(qū)AP模式并輸入秘鑰7. 保存項目到AT-Link或保存項目文件其他選擇根據實際需要進行設置。圖26. ICP工具離線燒錄系統(tǒng)存儲區(qū)AP模式
- 若上述步驟7選擇的是保存項目文件,將會把項目保存為.atcp格式的文件,方便加載到其他AT-Link中使用。在操作過程中會彈出如下圖的窗口。如果選擇此項目僅允許在指定AT-Link使用,此項目文件與AT-Link綁定,只能在綁定的AT-Link使用,需設定綁定的AT-Link序列號;如果選擇此項目僅允許使用一次,此項目文件在同一個AT-Link只能使用一次。
圖27. ICP工具離線燒錄項目文件設置
- 若上述步驟7保存項目到AT-Link成功,在離線下載狀態(tài)監(jiān)控窗口里,選擇離線下載項目名稱--保存并激活,就可以開始燒錄了。
圖28. ICP工具離線下載狀態(tài)監(jiān)控
- 關于系統(tǒng)存儲器擴展的更多信息請參考《AN0066_config_boot_memory_as_extension_of_main_memory(AP_mode)》,該應用筆記可從雅特力科技官方網站→技術與開發(fā)支持→AP Note→AN0066獲取。
- 在系統(tǒng)存儲器運行用戶程序的Demo請參考BSP,存放路徑為雅特力科技官方網站→產品訊息→超值型MCU→AT32F4xx系列下載的BSP解壓后AT32F425_Firmware_Library_V2.x.x\utilities\at32f425_boot_memory_ap_demo。
五、在程序中區(qū)分AT32與其他IC方法
- 讀取Cortex-M系列CPU ID號區(qū)分,此方式可以區(qū)分出M0,M3,M4內核
圖29. 讀取Cortex型號
- 讀取 UID,PID 方式區(qū)分
圖 30. 讀取 UID,PID說明: 在AT32F4xx微控制器內部有多個ID編碼,將獲取到的ID信息組裝成一個64bit的數據,就可以區(qū)分出MCU是哪一種型號。更多信息請參考各型號技術手冊RM的調試(DEBUG)章節(jié)以及《AN0016_Recognize_AT32_MCU》,該應用筆記可從雅特力科技官方網站→技術與開發(fā)支持→AP Note→AN0016獲取。
下載編譯過程常見問題
程序啟動進入Hard Fault Handler
- 訪問數據越界。找到程序中訪問越界的問題點,并修改它到正常數據區(qū)域內。
- 程序使用SRAM超過MCU SRAM空間大小。
- 系統(tǒng)時鐘設置超出規(guī)格。
Keil項目內Jlink無法找到IC
- 請參考《FAQ0008_Keil項目內Jlink無法找到IC問題》,該文檔可以從雅特力科技官方網站→技術與開發(fā)支持→FAQ→FAQ0008下載。
- 請參考《FAQ0132_JLink手動添加Artery MCU》,該文檔及其附件可以從雅特力科技官方網站→技術與開發(fā)支持→FAQ→FAQ0132下載。
程序下載過程出問題
一、顯示Error: Flash Download failed–“Cortex-M4”問題在Keil仿真或下載時彈出:圖31. 下載出現Flash Download failed–“Cortex-M4”出現彈窗的原因可能是以下幾種:
- 開啟了訪問保護,先取消MCU訪問保護再下載。
- 選錯了或者沒有選擇加載Flash文件算法,在Flash Download處選擇添加正確的Flash文件算法。
- BOOT0選擇錯誤,BOOT0管腳電平須分別設置為0,使MCU從主閃存存儲器啟動。
- J-Link驅動版本太低,建議6.20C以上版本。
- 在程序中將JTAG/SWD PIN disable,解決方法參考“2.2.5 AT32恢復下載”。
二、顯示 No Debug Unit Device found問題
- 下載端口被占用,比如ICP正在連接目標設備。
- JTAG/SWD連線錯誤,或沒有連接。
三、顯示RDDI-DAP Error問題
- 編譯器優(yōu)化等級過高,如Keil AC6編譯器的默認優(yōu)化等級-Oz,需要改為-O0/-O1。
- 在程序中將JTAG/SWD PIN disable,解決方法參考“2.2.5 AT32恢復下載”。
四、ISP串口下載時卡死問題
使用ISP串口下載時,偶爾會卡死,卡死之后電腦無法釋放串口。建議處理方式:
- 檢查電源是否穩(wěn)定。
- 更換質量更好的USB轉串口工具,如CH340芯片等。
五、AT32恢復下載
在使用AT32F425時,用戶可能在以下操作后無法再次下載程序:
- 在程序中將JTAG/SWD PIN disable后,無法下載程序并且找不到JTAG/SWD device。
- 進入Standby mode后,無法下載程序并且找不到JTAG/SWD device。
這里提供解決方法如下:
- 方法1 通過切換boot模式。切換boot模式到Boot0=1,再按下復位鍵,即可恢復下載(注意切回Boot0=0)。同理,ISP下載也可恢復。
- 方法2 通過ICP tool加AT-Link方法。AT-Link專為AT32設計,因此使用ICP加AT-Link可恢復下載。
安全庫區(qū)sLib(Security Library)
概述
目前越來越多的微控器(MCU)應用需要使用到復雜的算法及中間件解決方案(middleware solution),因此,如何保護軟件方案商開發(fā)出來的核心算法等知識產權代碼(IP-Code),便成為微控制器應用中一項很重要的課題。因為這一重要的需求,AT32F425系列提供了安全庫區(qū)(SLIB)的功能,以防止重要的IP-Code被終端用戶的程序做修改或讀取,進而達到保護的目的。
應用原理
- 設定以密碼保護主閃存中指定范圍的程序區(qū)(即安全庫區(qū)),軟件方案商可將核心算法存放到此區(qū)域,以達到保護的功能,其余空白程序區(qū)可以提供給終端商客戶進行二次開發(fā)。
- 安全庫區(qū)劃分為唯讀區(qū)(SLIB_READ_ONLY)及指令區(qū)(SLIB_INSTRUCTION),并可選擇部分或是整個安全庫區(qū)存放唯讀區(qū)或者指令區(qū)。
- 唯讀安全庫區(qū)(SLIB_READ_ONLY)的數據能透過I-Code和D-Code總線讀取,不能寫入。
- 指令安全庫區(qū)(SLIB_INSTRUCTION)內的程序代碼僅能被MCU透過I-Code總線抓取指令(僅能被執(zhí)行),不能透過D-Code總線以讀取數據的方式讀取(包含ISP/ICP/調試模式以及從內部RAM啟動的程序),以讀取數據的方式去訪問SLIB_INSTRUCTION時,讀到的數值全都是0xFF或者0x00。
- 安全庫區(qū)的程序代碼及數據,除非輸入正確的密碼,否則無法被擦除。在密碼不正確時,對安全庫區(qū)執(zhí)行寫入或擦除,將會在FLASH_STS寄存器的EPPERR位置"1"提出警告。
- 終端用戶執(zhí)行主閃存的整片擦除時,安全庫區(qū)的程序代碼及數據不會被擦除。
- 當安全庫區(qū)的保護功能被啟動后,可以透過在SLIB_PWD_CLR寄存器寫入先前設置的密碼來解除保護功能。解除安全庫區(qū)的保護時,芯片將會執(zhí)行主閃存的整片擦除(包含安全庫區(qū)的內容)。因此即使軟件方案商設置的密碼被泄漏,也不會有程序代碼外泄的疑慮。
操作安全庫區(qū)
詳細操作請參考《AN0120_AT32F425_Security_Library_Application_Note》,該應用筆記可從雅特力科技官方網站→技術與開發(fā)支持→AP Note→AN0120獲取。關于雅特力雅特力科技于2016年成立,是一家致力于推動全球市場32位微控制器(MCU)創(chuàng)新趨勢的芯片設計公司,專注于ARM Cortex-M4/M0+的32位微控制器研發(fā)與創(chuàng)新,全系列采用55nm先進工藝及ARM Cortex-M4高效能或M0+低功耗內核,締造M4業(yè)界最高主頻288MHz運算效能,并支持工業(yè)級別芯片工作溫度范圍(-40°~105°)。雅特力目前已累積相當多元的終端產品成功案例:如微型打印機、掃地機、光流無人機、熱成像儀、激光雷達、工業(yè)縫紉機、伺服驅控、電競周邊市場、斷路器、ADAS、T-BOX、數字電源、電動工具等終端設備應用,廣泛地覆蓋5G、物聯網、消費、商務及工控等領域。
-
開發(fā)板
+關注
關注
25文章
5067瀏覽量
97589 -
雅特力
+關注
關注
0文章
158瀏覽量
8050 -
AT32
+關注
關注
1文章
113瀏覽量
2103
發(fā)布評論請先 登錄
相關推薦
評論