<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

雅特力AT32F423入門使用指南

雅特力 AT32 MCU ? 2024-05-14 08:15 ? 次閱讀

搭建AT32開發環境

調試工具及開發板
目前AT32F423開發板都自帶AT-Link-EZ調試工具,AT-Link-EZ如下圖左邊紅框所示,它也可拆開后單獨搭配其他電路板使用,支持IDE在線調試、在線燒錄、USB轉串口等功能。圖1. AT-START-F423及AT-Link-EZ實物圖fc803c90-1186-11ef-9118-92fbcf53809c.png注意:AT-START板配備資源的詳細說明,請參考《UM_AT_START_F423_Vx.x》,存放路徑為雅特力科技官方網站→產品訊息→超值型MCU→AT32F4xx系列下載的Evaluation Board (開發板)資料包解壓后\AT_START_F423_Vx.x\03_Documents。圖2. 雅特力科技官方網站AT-START-F423開發板資料包fe9e0b24-1186-11ef-9118-92fbcf53809c.png

燒錄工具及軟件

  • AT燒錄工具及軟件:AT-Link /AT-Link+ /AT-Link-Pro /AT-Link-ISO /AT-Link-EZ、ICP/ISP。
  • 第三方燒錄工具:J-Link、安富萊、正點原子、軒微科技、創芯工坊、周立功、邁斯威志、阿莫燒錄器、昂科、永創智能、高勒康達、浦洛、戎象科技、欣揚電子、西爾特、智峰科技等。

注意:上述燒錄工具詳情請訪問雅特力科技官方網站→技術與開發支持→Hardware Development Tool頁面及第三方編程器(3RD Party 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資料包fec28224-1186-11ef-9118-92fbcf53809c.pngAT32開發環境一、模板工程介紹在ArteryTek提供的固件庫BSP中都默認建立好了常用IDE的模板工程。BSP可從雅特力科技官方網站→產品訊息→超值型MCU→AT32F4xx系列獲取。圖4. 雅特力科技官方網站BSP資料包fee92d3e-1186-11ef-9118-92fbcf53809c.pngBSP中創建at32_ide/eclipse_gcc/Keil_v5/Keil_v4/IAR_6.10/IAR_7.4/IAR_8.2/IAR_9.3的模板工程,存放路徑為AT32F423_Firmware_Library_V2.x.x\project\at_start_f4xx\templates,打開對應工程的文件夾并點擊工程文件即可打開對應的IDE工程。如下是Keil_v5工程示例:圖5. Keil_v5 templates工程示例ff054b36-1186-11ef-9118-92fbcf53809c.png工程內添加的內容描述如下:① at32F423_clock.c時鐘配置文件,設置了默認的時鐘頻率及時鐘路徑。② at32F423_int.c中斷文件,默認編寫了部分內核中斷函數的代碼流程。③ main.c模板工程的主代碼文件。④ at32F423_board.c板級配置文件,設置了AT-START上的按鍵和LED等常用硬件配置。⑤ firmware下的at32F423_xx.c是各片上外設的驅動文件。⑥ system_at32F423.c系統初始化文件。⑦ startup_at32F423.s啟動文件。⑧ readme.txt工程的說明文件,記錄了模板工程的一些應用功能、設置方式以及關聯應用筆記(ApNote)等信息。除了templates外,BSP還按照外設分類,提供了大量的examples示例代碼(Keil_v5工程文件)供用戶參考,用戶只需要直接打開即可。存放路徑為AT32F423_Firmware_Library_V2.x.x\project\at_start_f4xx\examples。注意:關于BSP的更多詳細說明,請參考《AT32F423固件庫BSP&Pack應用指南》的“4 BSP使用簡述”章節,存放路徑為雅特力科技官方網站→產品訊息→超值型MCU→AT32F4xx系列下載的BSP解壓后\AT32F423_Firmware_Library_Vx.x.x\document。

二、Pack安裝

需要安裝Pack包在Keil/IAR中增加AT32 MCU型號,Pack包可以從雅特力科技官方網站→產品訊息→超值型MCU→AT32F4xx系列下載。圖6. 雅特力科技官方網站Pack包ff3cb490-1186-11ef-9118-92fbcf53809c.png對于Keil編譯系統,建議keil4.74或5.23以上版本。Keil_v5版本需要將Keil5_AT32MCU_AddOn解壓后安裝對應ArteryTek.AT32F423_DFP,Keil_v4版本需要安裝Keil4_AT32MCU_AddOn;默認情況下,安裝時可以自動識別到Keil的安裝路徑,如果識別不到或者不正確,需要手動選擇Keil的安裝路徑。圖7. 安裝ArteryTek.AT32F423_DFPff67fea2-1186-11ef-9118-92fbcf53809c.png圖8. 安裝Keil4_AT32MCU_AddOnff90571c-1186-11ef-9118-92fbcf53809c.png也可打開keil,點擊Pack Installer圖標,在Pack Installer中點擊左上角file,選擇import,導入從雅特力科技官方網站下載好的對應pack包完成安裝。圖9. Keil中Pack Installer圖標ffb038f2-1186-11ef-9118-92fbcf53809c.png對于IAR編譯系統,建議IAR7.0或IAR6.1以上版本。安裝IAR_AT32MCU_AddOn,默認情況下,安裝時可以自動識別到IAR的安裝路徑,如果識別不到或者不正確,需要手動選擇IAR的安裝路徑。圖10. 安裝IAR_AT32MCU_AddOnffdba5d2-1186-11ef-9118-92fbcf53809c.png注意:關于Pack安裝的更多詳細說明,請參考《AT32F423固件庫BSP&Pack應用指南》的“2 Pack安裝步驟”章節,存放路徑為雅特力科技官方網站→產品訊息→超值型MCU→AT32F4xx系列下載的BSP解壓后\AT32F423_Firmware_Library_Vx.x.x\document。

三、使用AT-Link調試及下載

在Keil環境下使用AT-Link,在Debug里選擇CMSIS-DAP調試器。圖11. Keil Debug選項fff9b770-1186-11ef-9118-92fbcf53809c.png在Debug單擊Settings進入Cortex-M Target Driver Setup界面如下圖,1. 先選擇AT-Link(WinUSB)-CMSIS-DAP/AT-Link-CMSIS-DAP;注意:關于WinUSB,請參考《FAQ0136_如何使用AT-LINK的WinUSB功能提升下載速率》,該文檔可以從雅特力科技官方網站→技術與開發支持→FAQ→FAQ0136下載。2. Port選擇SW,再勾選SWJ;3. 確認已識別到ARM SW-DP調試模塊。圖12. Keil Debug選項Settings設置001c7ecc-1187-11ef-9118-92fbcf53809c.png并且在Utilities里,先勾去下圖標示的選項框1,在選項框2下拉菜單選擇CMSIS-DAP Debugger, 然后再勾選選項框1(需要先取消再勾選)。圖13. Keil Utilities選項0045a18a-1187-11ef-9118-92fbcf53809c.png在IAR環境下使用AT-Link,選中工程,點擊Project,選擇Options,在Debugger里選擇CMSISDAP調試器,再在CMSIS DAP里選擇SWD。圖14. IAR Debug選項006f4cd8-1187-11ef-9118-92fbcf53809c.png圖15. IAR CMSIS-DAP選項009f205c-1187-11ef-9118-92fbcf53809c.png注意:關于Flash算法文件、MCU型號切換、Jlink無法找到MCU等的詳細說明,請參考《AT32F423固件庫BSP&Pack應用指南》相關章節,此處不再贅述。存放路徑為雅特力科技官方網站→產品訊息→超值型MCU→AT32F4xx系列下載的BSP解壓后\AT32F423_Firmware_Library_Vx.x.x\document。

AT32 Work Bench

一、引言1.1.4小節用于介紹AT32 Work Bench使用。AT32 Work Bench通過對MCU的圖形化配置,生成初始化C代碼和對應IDE項目,以減少開發人員的工作量、時間和成本。

  • 環境要求軟件要求:Windows系統:需要Windows 7及以上操作系統支持。Linux系統:支持x86_64架構的Ubuntu、Fedora等發行版。硬件要求:建議內存最低2GB,建議硬盤最低4GB。

注意:關于AT32 Work Bench的詳細使用說明,請參閱《UM_AT32_Work_Bench.pdf》文件,其和AT32 Work Bench工具一同存放于雅特力官網→技術與開發支持→Tool,鏈接為https://www.arterytek.com/cn/support/index.jsp?index=5,如下圖所示:圖16. 雅特力科技官方網站AT32 Work Bench文檔與軟件00bbeed0-1187-11ef-9118-92fbcf53809c.png

二、安裝

Windows系統無需安裝,只需直接運行可執行程序AT32_Work_Bench.exe。Linux系統目前支持Ubuntu 16.4以上系統版本,有兩種安裝方式:

  • 終端中使用dpkg命令安裝在終端中輸入如下命令進行安裝:sudo dpgk –i AT32_Work_Bench_Linux-x86_64_Vx.x.xx.deb如下圖所示:

圖17. 終端命令安裝00e0d0c4-1187-11ef-9118-92fbcf53809c.png

  • 圖形方式安裝拷貝AT32_Work_Bench_Linux-x86_64_Vx.x.xx.deb到Linux系統中,并雙擊。在彈出的安裝程序中,點擊“安裝”按鈕,系統將本軟件自動安裝到系統中,如下圖所示:

圖18. 圖形方式安裝01a9a422-1187-11ef-9118-92fbcf53809c.png安裝完成之后,點擊左邊任務欄最下方“顯示所有程序”按鈕,在彈出的程序列表中找到“AT32_Work_Bench”,并點擊,將啟動AT32_Work_Bench。

三、項目配置

本小節將以AT32F403AVGT7新建一個USART工程為例,展示如何使用AT32_Work_Bench生成初始化C代碼和對應IDE項目。引導頁是啟動AT32 Work Bench時打開的第一個窗口。它提供三個選項:“開始一個新的設計”、“打開一個已有的設計”和“最近使用的設計”,如下圖所示:圖19. AT32 Work Bench引導頁01c93ca6-1187-11ef-9118-92fbcf53809c.png引導頁選擇MCU的具體信息,然后點擊新建進入項目配置界面,項目配置界面可以看到“Pin布局和配置”,“時鐘配置”,“代碼預覽”三個選項框,這是建立AT32 Work Bench工程主要使用到的三個功能,此部分將分(1)(2)(3)三點進行詳細說明。項目配置界面如圖所示:圖20. 項目配置界面

027498b2-1187-11ef-9118-92fbcf53809c.png

(1)“Pin布局和配置”視圖主要配置MCU使用到的外設和引腳,該視圖包含有“外設”、“模式和配置”與“Pin布局”三個窗口。從“外設”列表中選擇一個外設時,將打開所選外設的“模式和配置”窗口,用戶可以借此配置其功能模式與參數,模式窗口可選擇外設的工作模式和工作模式下使用的MCU引腳。由于MCU允許不同外設和多個功能使用相同的引腳,因此選擇模式后,會自動配置最適合用戶選擇的外設的引腳排列,以USART1為例,USART1的“模式和配置”窗口如下圖所示:圖21. “模式和配置”窗口0292569a-1187-11ef-9118-92fbcf53809c.png以USART1為例,配置USART1外設大概分為以下幾步:

  • 外設模式

圖22. 外設模式

02af5cea-1187-11ef-9118-92fbcf53809c.png

如上圖所示,外設“USART1”的模式選擇“異步模式”時,引腳布局的視圖中,PA9與PA10將自動映射到信號“USART1_TX”與“USART1_RX”。

  • 外設參數設置

圖23. 外設參數設置02c8309e-1187-11ef-9118-92fbcf53809c.png參數配置窗口顯示了“USART1”可以配置的參數,如基礎參數中的“波特率”、“數據位個數”等,高級參數中的“數據傳輸方向”等參數。

  • 外設GPIO設置

圖24. 外設GPIO設置02e65d94-1187-11ef-9118-92fbcf53809c.png外設GPIO設置窗口顯示了當前外設可以配置的GPIO,如上圖可配置“USART1”中“USART1_TX”和“USART1_RX”的GPIO參數。

  • 外設DMA設置

圖25. 外設DMA設置030c7736-1187-11ef-9118-92fbcf53809c.png外設DMA設置窗口可添加當前外設可以配置的DMA請求,如上圖可配置“USART1”中“USART1_TX”和“USART1_RX”的對應的DMA通道以及DMA請求的參數。

  • 外設NVIC設置

圖26. 外設NVIC設置0326ced8-1187-11ef-9118-92fbcf53809c.png外設NVIC設置窗口顯示了當前外設可以配置的中斷,當外設對應的DMA通道開啟后,也可配置對應DMA通道的中斷?!皳屨純炏燃墶焙汀白觾炏燃墶钡呐渲眯璧健癗VIC”總配置窗口進行統一配置。pin布局窗口以圖形方式表示所選封裝的引腳布局(例如,LQFP48、QFN32、TSSOP20等),其中每個引腳都用其名稱(如PA9)、配置狀態和當前信號分配來表示。在引腳視圖上,左鍵點擊引腳(除固定模式引腳),將彈出一個右鍵菜單,顯示該引腳可配置的信號;對于已經配置功能的引腳,右鍵單擊將彈出“輸入標簽”的按鈕,可以點擊按鈕,可以指定此信號的自定義標簽,左擊和右擊效果如下圖所示:圖27. 左擊和右擊效果034dff1c-1187-11ef-9118-92fbcf53809c.png(2)時鐘配置界面主要用來進行時鐘路徑及參數的配置。視圖中的下拉菜單和輸入框可用于修改實際的時鐘樹配置,以滿足應用需求,時鐘配置界面如下圖所示:圖28. 時鐘配置界面036d5cc2-1187-11ef-9118-92fbcf53809c.png注1:需要使lext為可用狀態,需要在外設“CRM”的模式窗口中設置“低速外部時鐘”的模式;注2:需要使hext為可用狀態,需要在外設“CRM”的模式窗口中設置“高速外部時鐘”的模式;注3:需要使clockout為可用狀態,需要在外設“CRM”的模式窗口中勾選“時鐘輸出”。(3)點擊“代碼預覽”按鈕,將自動生成當前配置的代碼,并在窗口中顯示代碼內容。左側顯示了生成的代碼文件,右側顯示選中文件的代碼內容,如下圖所示:圖29. 代碼預覽039692e0-1187-11ef-9118-92fbcf53809c.png點擊菜單欄或工具欄的“生成代碼”按鈕,將彈出“項目管理”窗口,如下圖所示:圖30. “項目管理”窗口03b4361a-1187-11ef-9118-92fbcf53809c.png對于堆大小和棧大小,建議的默認值分別為0x200和0x400,當應用使用中間件棧時,這些值可能需要增加;選中復制庫文件到項目文件夾后,生成代碼時將固件包內的庫文件自動復制到項目文件夾中;配置完項目選項后,點擊“確定”按鈕,將自動生成用戶代碼和選定IDE的項目文件。生成的項目文件結構如下圖:圖31. 項目文件結構03ea48c2-1187-11ef-9118-92fbcf53809c.png

快速替代AT32F415流程

  • 請參考《MG0022_從AT32F415移植到AT32F423》,該文檔可從雅特力科技官方網站→產品訊息→超值型MCU→AT32F4xx系列獲??;
  • 如果程序無法正常運行,請參考本文件其他章節,或聯絡代理及雅特力科技技術支持人員協助解決。

注意:關于如何獲得更高的AT32F423運行效能,請參考AT提供的應用手冊《AN0004_Performance_Optimization》,該應用筆記可從雅特力科技官方網站→技術與開發支持→AP Note→AN0004獲取。

AT32F423芯片的增強功能配置

預取指令緩沖設置預取指令緩沖器可以使CPU更快地執行,CPU讀取一個字的同時下一個字已經在預取緩沖器中等候。預取指令控制器根據預取緩沖器中可用的空間決定是否訪問閃存,預取緩沖器中有至少一塊的空余空間時,預取控制器則啟動一次讀操作。對于不同的系統時鐘需要設置不同的時延,設置閃存性能選擇寄存器(FLASH_PSR)的bit2~0(WTCYC)。圖32. 閃存性能選擇寄存器(FLASH_PSR)等待周期041466f2-1187-11ef-9118-92fbcf53809c.pngAT庫在系統時鐘配置函數system_clock_config()進行了相關設置,其他BSP請找到相同的位置做相應的設置。圖33. 系統時鐘配置函數system_clock_config043b1004-1187-11ef-9118-92fbcf53809c.png

PLL時鐘設置

一、PLL設定方式AT32F423內置的PLL最高可輸出150MHz時鐘,使用PLL時鐘配置寄存器(CRM_PLLCFG)可以配置多種PLL時鐘頻率,其對應的公式為:045ff5a4-1187-11ef-9118-92fbcf53809c.png使用AT BSP時PLL設定程序范例:(HEXT=8MHz, PLL=150MHz)圖34. AT32F423輸出150MHz的時鐘配置0484b8ee-1187-11ef-9118-92fbcf53809c.png其中,入口參數CRM_PLL_SOURCE_HEXT代表選擇HEXT為外部時鐘源,150為PLL_NS值,1為PLL_MS值,CRM_PLL_FR_4(0x02,四分頻)為PLL_FR值。更多時鐘配置相關信息,請參考《AN0158_AT32F423_CRM_Start_Guide》。該應用筆記可從雅特力科技官方網站→技術與開發支持→AP Note→AN0158獲取,其中詳細介紹了AT32F423的時鐘源碼配置與修改,以及如何使用雅特力的時鐘配置工具(New Clock Configuration)來快速生成想要的時鐘代碼并應用到工程,該工具可從雅特力科技官方網站→產品訊息→超值型MCU→AT32F4xx系列獲取。

二、PLL自動滑順

當AT32F423內置的PLL倍頻頻率>108MHz時,需要操作自動滑順頻率切換功能。使用AT32F423 BSP時PLL自動滑順頻率切換程序范例:圖35. AT32程序PLL自動滑順頻率切換配置04a02da4-1187-11ef-9118-92fbcf53809c.png注意:如果開啟了自動滑順頻率切換功能,在時鐘切換后必須關閉自動滑順頻率切換功能,開啟及關閉務必配對使用。

加密方式

注意:AT32F423的BOOT1位于用戶系統數據區(0x1FFF F800),當使用ISP工具時,請確認nBOOT1=1(出廠默認值),使程序由系統啟動程序代碼區(而不是SRAM)啟動。

一、訪問保護

訪問保護即大家通常說的“加密”,作用于整個Flash存儲區域。一旦設置了Flash的訪問保護,內置的Flash存儲區只能通過程序的正常執行才能讀出,而不能通過JTAG或者SWD讀出,當使用ISP/ICP工具解除訪問保護時,芯片會對FLASH進行擦除操作。注意:一旦啟動高級訪問保護后,將不能被解除,并且禁止用戶以任何方式重新擦除以及寫入系統數據區。可用ISP/ICP工具對IC進行訪問保護與解除訪問保護操作,如下:

  • Artery ICP Programmer工具(BOOT0=0)啟用訪問保護:設備操作--訪問保護--啟用訪問保護/高級訪問保護。解除訪問保護:設備操作--訪問保護--解除訪問保護。

圖36. ISP工具啟用/解除訪問保護訪問保護051efb2a-1187-11ef-9118-92fbcf53809c.png

  • Artery ISP Programmer工具(BOOT0=1)啟用訪問保護:一直點擊下一步,直到進入最后界面,選擇保護、啟用訪問保護/高級訪問保護--下一步--是,即可將程序加密。解除訪問保護:選擇保護、禁用訪問保護--下一步--是,即可將Flash解除加密。
  • Artery ISP Multi-Port Programmer工具(BOOT0=1)啟用訪問保護:選擇保護、啟用訪問保護/高級訪問保護--開始,即可將程序加密。解除訪問保護:選擇保護、禁用訪問保護--開始,即可將Flash解除加密。

圖37. ISP工具啟用訪問保護054c27a8-1187-11ef-9118-92fbcf53809c.png圖38. ISP工具解除訪問保護0578af76-1187-11ef-9118-92fbcf53809c.png注意:設置了訪問保護不能通過擦除操作來解除訪問保護。

二、擦寫保護

寫保護作用于整個Flash存儲區域或者Flash存儲區域的某些頁。一旦設置了Flash的寫保護,內置的Flash存儲區就不能通過任何方式寫入。

可用ISP/ICP工具對IC進行擦寫保護與解除擦寫保護操作,如下:

  • Artery ICP Programmer工具(BOOT0=0)啟用擦寫保護:設備操作--用戶系統數據--勾選擦寫保護字節扇區--應用到設備。解除擦寫保護:設備操作--用戶系統數據--勾除擦寫保護字節扇區--應用到設備。
  • Artery ISP Programmer工具(BOOT0=1)啟用擦寫保護:保護、啟用擦寫保護--下一步--是,即可啟用寫保護。解除擦寫保護:保護、禁用擦寫保護--下一步--是,即可解除寫保護。
  • Artery ISP Multi-Port Programmer工具(BOOT0=1)啟用擦寫保護:保護、啟用擦寫保護--開始--是,即可啟用寫保護。解除擦寫保護:保護、禁用擦寫保護--開始--是,即可解除寫保護。

圖39. ICP工具啟用擦寫保護059d0f4c-1187-11ef-9118-92fbcf53809c.png圖40. ICP工具解除擦寫保護05c5fcc2-1187-11ef-9118-92fbcf53809c.png注意:設置了擦寫保護不能通過擦除操作來解除擦寫保護。

設定系統存儲器為擴展主存

系統存儲器(System Memory)默認是作為BOOT模式存放原廠固化的啟動代碼。不過,在AT32F423系列產品上,添加了新功能,系統存儲器也可以選擇作為主存的擴展區(AP模式)用來存放用戶自定義代碼。注意:系統存儲區AP模式只能設置一次且不可逆,設置后原系統存儲器BOOT模式功能不可恢復。產品開發過程中使用Artery ICP Programmer將系統存儲器作為擴展主存使用方法:

  • 連接AT-Link/J-Link仿真器到AT-START-F423板并上電。
  • 開啟Artery ICP programmer,選擇用AT-Link/J-Link連接。
  • 通過菜單欄:設備操作--系統存儲區AP模式--確定。

圖41. ICP工具設定系統存儲區AP模式05f21852-1187-11ef-9118-92fbcf53809c.png

  • 為防止誤操作,需按照提示手動輸入啟用秘鑰0xA35F6D24,操作后“存儲器信息”表格中會有成功或失敗的提示信息。

圖42. ICP工具設定系統存儲區AP模式確認界面0620b518-1187-11ef-9118-92fbcf53809c.png量產生產過程中使用Artery ICP Programmer將系統存儲器作為擴展主存使用方法:

  • 連接AT-Link仿真器到AT-START-F423板并上電。

注意:板載的AT-Link EZ版本不支持離線燒錄,只能選擇非EZ版本的AT-Link。

  • 開啟Artery ICP programmer,選擇用AT-Link做連接。
  • 通過菜單欄:AT-Link設置--離線項目配置。
  • 生成離線項目的步驟:1. 新建項目2. 輸入項目名稱3. 選擇MCU型號4. 添加.hex文件5. 下載接口選擇SWD6. 勾選系統存儲區AP模式并輸入秘鑰7. 保存項目到AT-Link或保存項目文件其他選擇根據實際需要進行設置。

圖43. ICP工具離線燒錄系統存儲區AP模式0645db9a-1187-11ef-9118-92fbcf53809c.png

  • 若上述步驟7選擇的是保存項目文件,將會把項目保存為.atcp格式的文件,方便加載到其他AT-Link中使用。在操作過程中會彈出如下圖的窗口。如果選擇此項目僅允許在指定AT-Link使用,此項目文件與AT-Link綁定,只能在綁定的AT-Link使用,需設定綁定的AT-Link序列號;如果選擇此項目僅允許使用一次,此項目文件在同一個AT-Link只能使用一次。

圖44. ICP工具離線燒錄項目文件設置06687fd8-1187-11ef-9118-92fbcf53809c.png

  • 若上述步驟7保存項目到AT-Link成功,在離線下載狀態監控窗口里,選擇離線下載項目名稱--保存并激活,就可以開始燒錄了。

圖45. ICP工具離線下載狀態監控06876eac-1187-11ef-9118-92fbcf53809c.png

  • 關于系統存儲器擴展的更多信息請參考《AN0066_config_boot_memory_as_extension_of_main_memory(AP_mode)》,該應用筆記可從雅特力科技官方網站→技術與開發支持→AP Note→AN0066獲取。
  • 在系統存儲器運行用戶程序的Demo請參考BSP,存放路徑為雅特力科技官方網站→產品訊息→超值型MCU→AT32F4xx系列下載的BSP解壓后AT32F423_Firmware_Library_V2.x.x\utilities\at32F423_boot_memory_ap_demo。

在程序中區分AT32與其他IC方法

  • 讀取Cortex-M系列CPU ID號區分,此方式可以區分出M0,M0+,M1,M3,M4內核

圖46. 讀取Cortex型號06a37e6c-1187-11ef-9118-92fbcf53809c.png

  • 讀取UID,PID方式區分

圖47. 讀取UID,PID06c2819a-1187-11ef-9118-92fbcf53809c.png說明:在AT32F4xx微控制器內部有多個ID編碼,將獲取到的ID信息組裝成一個64bit的數據,就可以區分出MCU是哪一種型號。更多信息請參考各型號技術手冊RM的調試(DEBUG)章節以及《AN0016_Recognize_AT32_MCU》,該應用筆記可從雅特力科技官方網站→技術與開發支持→AP Note→AN0016獲取。

下載編譯過程常見問題

程序啟動進入Hard Fault Handler

  • 訪問數據越界。找到程序中訪問越界的問題點,并修改它到正常數據區域內。
  • 程序使用SRAM超過MCU SRAM空間大小。
  • 系統時鐘設置超出規格。

Keil項目內Jlink無法找到IC

  • 請參考《FAQ0008_Keil項目內Jlink無法找到IC問題》,該文檔可以從雅特力科技官方網站→技術與開發支持→FAQ→FAQ0008下載。
  • 請參考《FAQ0132_JLink手動添加Artery MCU》,該文檔及其附件可以從雅特力科技官方網站→技術與開發支持→FAQ→FAQ0132下載。

程序下載過程出問題

顯示Error: Flash Download failed–“Cortex-M4”問題在KEIL仿真或下載時彈出:圖48. 下載出現Flash Download failed–“Cortex-M4”06eeccaa-1187-11ef-9118-92fbcf53809c.png出現彈窗的原因可能是以下幾種:

  • 開啟了訪問保護,先取消MCU訪問保護再下載。
  • 選錯了或者沒有選擇加載Flash文件算法,在Flash Download處選擇添加正確的Flash文件算法。
  • BOOT0選擇錯誤,BOOT0管腳電平須設置為0,使MCU從主閃存存儲器啟動。
  • J-Link驅動版本太低,建議6.20C以上版本。
  • 在程序中將JTAG/SWD PIN disable,解決方法參考“2.3.5 AT32恢復下載”。

顯示No Debug Unit Device found問題

  • 下載端口被占用,比如ICP正在連接目標設備。
  • JTAG/SWD連線錯誤,或沒有連接。

顯示RDDI-DAP Error問題

  • 編譯器優化等級過高,如Keil AC6編譯器的默認優化等級-Oz,需要改為-O0/-O1。
  • 在程序中將JTAG/SWD PIN disable,解決方法參考“2.3.5 AT32恢復下載”。

ISP串口下載時卡死問題

使用ISP串口下載時,偶爾會卡死,卡死之后電腦無法釋放串口。建議處理方式:

  • 檢查電源是否穩定。
  • 更換質量更好的USB轉串口工具,如CH340芯片等。

AT32恢復下載

在使用AT32F423時,用戶可能在以下操作后無法再次下載程序:

  • 在程序中將JTAG/SWD PIN disable后,無法下載程序并且找不到JTAG/SWD device;
  • 進入Standby mode等低功耗模式后,無法下載程序并且找不到JTAG/SWD device。

解決該問題的原理是在程序還沒有運行時使芯片HALT住,介紹幾種方式如何解決該問題。1. 更改芯片BOOT模式,改為啟動程序存儲器啟動或者sram啟動,然后通過復位腳復位芯片,此時就可以擦除程序恢復下載。2. 使用ICP軟件工具搭配AT-Link調試器,連接AT-Link RST pin到芯片的復位腳,ICP界面上直接點擊連接即可正常連接,連接后擦除芯片內程序即可恢復。3. 使用Keil軟件搭配AT-Link調試器,連接AT-Link RST pin到芯片的復位腳,在Keil的debug界面修改為下圖中紅框內的選項,就可以擦除程序恢復下載。圖49. debug界面修改0719011e-1187-11ef-9118-92fbcf53809c.png4. 使用IAR軟件搭配AT-Link調試器,連接AT-Link RST pin到芯片的復位腳,在IAR的CMSIS DAP界面修改為下圖中紅框內的選項,就可以擦除程序恢復下載圖50. CMSIS DAP界面修改073bd43c-1187-11ef-9118-92fbcf53809c.png

安全庫區sLib(Security Library)

概述

目前越來越多的微控器(MCU)應用需要使用到復雜的算法及中間件解決方案(middleware solution),因此,如何保護軟件方案商開發出來的核心算法等知識產權代碼(IP-Code),便成為微控制器應用中一項很重要的課題。因為這一重要的需求,AT32F423系列提供了安全庫區(SLIB)的功能,以防止重要的IP-Code被終端用戶的程序做修改或讀取,進而達到保護的目的。

應用原理

  • 設定以密碼保護主閃存中指定范圍的程序區(即安全庫區),軟件方案商可將核心算法存放到此區域,以達到保護的功能,其余空白程序區可以提供給終端商客戶進行二次開發。
  • 安全庫區劃分為唯讀區(SLIB_READ_ONLY)及指令區(SLIB_INSTRUCTION),并可選擇部分或是整個安全庫區存放唯讀區或者指令區。
  • 唯讀安全庫區(SLIB_READ_ONLY)的數據能透過I-Code和D-Code總線讀取,不能寫入。
  • 指令安全庫區(SLIB_INSTRUCTION)內的程序代碼僅能被MCU透過I-Code總線抓取指令(僅能被執行),不能透過D-Code總線以讀取數據的方式讀取(包含ISP/ICP/調試模式以及從內部RAM啟動的程序),以讀取數據的方式去訪問SLIB_INSTRUCTION時,讀到的數值全都是0xFF。
  • 安全庫區的程序代碼及數據,除非輸入正確的密碼,否則無法被擦除。在密碼不正確時,對安全庫區執行寫入或擦除,將會在FLASH_STS寄存器的EPPERR位置"1"提出警告。
  • 終端用戶執行主閃存的整片擦除時,安全庫區的程序代碼及數據不會被擦除。
  • 當安全庫區的保護功能被啟動后,可以透過在SLIB_PWD_CLR寄存器寫入先前設置的密碼來解除保護功能。解除安全庫區的保護時,芯片將會執行主閃存的整片擦除(包含安全庫區的內容)。因此即使軟件方案商設置的密碼被泄漏,也不會有程序代碼外泄的疑慮。

操作安全庫區

詳細操作請參考《AN0164_AT32F423_Security_Library_Application_Note》,該應用筆記可從雅特力科技官方網站→技術與開發支持→AP Note→AN0164獲取。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開發板
    +關注

    關注

    25

    文章

    4560

    瀏覽量

    94883
  • 雅特力
    +關注

    關注

    0

    文章

    142

    瀏覽量

    7811
  • AT32
    +關注

    關注

    1

    文章

    103

    瀏覽量

    1873
收藏 人收藏

    評論

    相關推薦

    雅特力AT32F423 GPIO使用指南

    GPIO特性AT32F423支持多達86個雙向I/O引腳,這些引腳分為6組,分別為PA0-PA15、PB0-PB15、PC0-PC15、PD0-PD15、PE0-PE15
    的頭像 發表于 03-05 08:18 ?352次閱讀
    雅特力<b class='flag-5'>AT32F423</b> GPIO<b class='flag-5'>使用指南</b>

    AT32F423 I 2C使用指南

    電子發燒友網站提供《AT32F423 I 2C使用指南.pdf》資料免費下載
    發表于 02-01 09:30 ?0次下載
    <b class='flag-5'>AT32F423</b> I 2C<b class='flag-5'>使用指南</b>

    雅特力AT32F423時鐘配置入門指南

    電子發燒友網站提供《雅特力AT32F423時鐘配置入門指南.pdf》資料免費下載
    發表于 01-31 09:37 ?0次下載
    雅特力<b class='flag-5'>AT32F423</b>時鐘配置<b class='flag-5'>入門</b><b class='flag-5'>指南</b>

    AT32F425入門使用指南

    AT32F425入門使用指南旨在讓用戶快速使用AT32F425xx 進行項目開發。
    發表于 10-26 07:46

    AT32F423時鐘配置入門指南

    AT32F423時鐘配置本應用入門指南主要介紹兩部分內容:1、基于提供的V2.x.x 的板
    發表于 10-26 07:22

    AT32F423安全庫應用說明

    這篇應用筆記主要在闡述AT32F423系列安全庫區的應用原理、軟件使用方法及范例程序。
    發表于 10-26 07:18

    AT32F423 DMA使用指南

    AT32F423 擁有 2 個 DMA 控制器(DMA1/DMA2),每個 DMA 支持 7 個通道且外設的 DMA 請求可映射到任意通道上。本文主要就 DMA 的基本功能進行講解和案列解析。
    發表于 10-26 06:51

    AT32F403時鐘配置入門指南

    AT32F403時鐘配置本應用入門指南主要介紹兩部分內容:1、基于提供的V2.x.x 的板
    發表于 10-26 06:41

    AT32F423入門使用指南

    AT32F423入門使用指南旨在讓用戶快速使用AT32F423xx 進行項目開發。
    發表于 10-26 06:37

    AT32F402/405時鐘配置入門指南

    AT32F402/405時鐘配置本應用入門指南主要介紹兩部分內容:1、基于提供的V2.x.
    發表于 10-26 06:37

    AT32F423的GPIO功能及固件驅動程序API的配置和使用

    這篇應用筆記介紹AT32F423的GPIO功能及固件驅動程序API的配置和使用,并對BSP例程的軟件設計加以說明,同時演示使用方法并展示實驗效果,供用戶參考。AT32F423xx的通用功能I/O
    發表于 10-26 06:26

    AT32F403入門使用指南

    AT32F403入門使用指南旨在讓用戶快速使用AT32F403xx 進行項目開發。
    發表于 10-24 08:05

    AT32F421入門使用指南

    AT32F421入門使用指南旨在讓用戶快速使用AT32F421xx 進行項目開發。
    發表于 10-24 07:38

    AT32F413入門使用指南

    AT32F413入門使用指南旨在讓用戶快速使用AT32F413xx 進行項目開發。
    發表于 10-24 07:34

    AT32F415入門使用指南

    AT32F415入門使用指南旨在讓用戶快速使用AT32F415xx 進行項目開發。
    發表于 10-24 06:50
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>