一、调试工具及开发板目前AT32F425开发板都自带AT-Link-EZ调试工具,AT-Link-EZ如下图左边红框所示,它也可拆开后单独搭配其他电路板使用,支持IDE在线调试、在线烧录、USB转串口等功能。图1. AT32F425开发板实物图注意:AT-START板配备资源的详细说明,请参考《UM_AT_START_F425_Vx.x》,存放路径为雅特力科技官方网站→产品讯息→超值型MCU→AT32F4xx系列下载的Evaluation Board(开发板)资料包解压后\AT_START_F425_Vx.x\03_Documents。图2. 雅特力科技官方网站AT-START-F425开发板资料包
二、烧录工具及软件
注意:上述烧录工具详情请访问雅特力科技官方网站→技术与开发支持→Hardware Development Tool页面及第三方编程器(3RD Party Writer)页面。
图3. 雅特力科技官方网站ICP/ISP/AT-Link-Family资料包
三、AT32开发环境
模板工程介绍在ArteryTek提供的固件库BSP中都默认建立好了常用IDE的模板工程。BSP可从雅特力科技官方网站→产品讯息→超值型MCU→AT32F4xx系列获取。图4. 雅特力科技官方网站BSP资料包BSP中创建了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系统初始化文件。⑦ 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使用简述”章节,存放路径为雅特力科技官方网站→产品讯息→超值型MCU→AT32F4xx系列下载的BSP解压后\AT32F425_Firmware_Library_Vx.x.x\document。
Pack安装
需要安装Pack包在Keil/IAR中增加AT32 MCU型号,Pack包可以从雅特力科技官方网站→产品讯息→超值型MCU→AT32F4xx系列下载。图6. 雅特力科技官方网站Pack包对于Keil编译系统,建议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编译系统,建议IAR7.0或IAR6.1以上版本。安装IAR_AT32MCU_AddOn,默认情况下,安装时可以自动识别到IAR的安装路径,如果识别不到或者不正确,需要手动选择IAR的安装路径。图10. 安装IAR_AT32MCU_AddOn注意:关于Pack安装的更多详细说明,请参考《AT32F425固件库BSP&Pack应用指南》的“2 Pack安装步骤”章节,存放路径为雅特力科技官方网站→产品讯息→超值型MCU→AT32F4xx系列下载的BSP解压后\AT32F425_Firmware_Library_Vx.x.x\document。
使用AT-Link调试及下载
在Keil环境下使用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功能提升下载速率》,该文档可以从雅特力科技官方网站→技术与开发支持→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环境下使用AT-Link,选中工程,点击Project,选择Options,在Debugger里选择CMSISDAP调试器,再在CMSIS DAP里选择SWD。图14. IAR Debug选项图15. IAR CMSIS-DAP选项注意:关于Flash算法文件、MCU型号切换、Jlink无法找到MCU等的详细说明,请参考《AT32F425固件库BSP&Pack应用指南》相关章节,此处不再赘述。存放路径为雅特力科技官方网站→产品讯息→超值型MCU→AT32F4xx系列下载的BSP解压后\AT32F425_Firmware_Library_Vx.x.x\document。
四、快速替代AT32F415流程
注意:系统性能改善是多方面调优共同作用的结果,关于如何提高AT32F425的运行效能,请参考应用手册《AN0004_Performance_Optimization》,该应用笔记可从雅特力科技官方网站→技术与开发支持→AP Note→AN0004获取。
AT32F425芯片的功能配置
一、预取指令缓冲设置预取指令缓冲器可以使CPU更快地执行,CPU读取一个字的同时下一个字已经在预取缓冲器中等候。预取指令控制器根据预取缓冲器中可用的空间决定是否访问闪存,预取缓冲器中有至少一块的空余空间时,预取控制器则启动一次读操作。对于不同的系统时钟需要设置不同的时延,设置闪存性能选择寄存器(FLASH_PSR)的bit2~0 (WTCYC)。图16. 闪存性能选择寄存器(FLASH_PSR)等待周期AT库在系统时钟配置函数system_clock_config()进行了相关设置,其他BSP请找到相同的位置做相应的设置。图17. 系统时钟配置函数system_clock_config
二、PLL时钟设置
AT32F425内置的PLL最高可输出96MHz时钟,设置AT32F425的PLL有两种方式:一种是使用传统的时钟配置寄存器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》。该应用笔记可从雅特力科技官方网站→技术与开发支持→AP Note→AN0121获取,其中详细介绍了AT32F425的时钟源码配置与修改,以及如何使用雅特力的时钟配置工具(New Clock Configuration)来快速生成想要的时钟代码并应用到工程,该工具可从雅特力科技官方网站→产品讯息→超值型MCU→AT32F4xx系列获取。
三、加密方式
注意:AT32F425的BOOT1位于用户系统数据区(0x1FFF F800),当使用ISP工具时,请确认nBOOT1=1(出厂默认值),使程序由系统启动程序代码区(而不是SRAM)启动。访问保护访问保护即大家通常说的“加密”,作用于整个Flash存储区域。一旦设置了Flash的访问保护,内置的Flash存储区只能通过程序的正常执行才能读出,而不能通过JTAG或者SWD读出,当使用ICP/ISP工具解除访问保护时,芯片会对FLASH进行擦除操作。注意:一旦启动高级访问保护后,将不能被解除,并且禁止用户以任何方式重新擦除以及写入系统数据区。可用ICP/ISP工具对IC进行访问保护与解除访问保护操作,如下:
图19. ICP工具启用/解除访问保护
图20. ISP工具启用访问保护图21. ISP工具解除访问保护注意:设置了访问保护不能通过擦除操作来解除访问保护。
擦写保护
写保护作用于整个Flash存储区域或者Flash存储区域的某些页。一旦设置了Flash的写保护,内置的Flash存储区就不能通过任何方式写入。可用ICP/ISP工具对IC进行擦写保护与解除擦写保护操作,如下:
图22. ICP工具启用擦写保护
图23. ICP工具解除擦写保护注意:设置了擦写保护不能通过擦除操作来解除擦写保护。
四、设定系统存储器为扩展主存
系统存储器(System Memory)默认是作为BOOT模式存放原厂固化的启动代码。不过,在AT32F425系列产品上,添加了新功能,系统存储器也可以选择作为主存的扩展区(AP模式)用来存放用户自定义代码。注意:系统存储区AP模式只能设置一次且不可逆,设置后原系统存储器BOOT模式功能不可恢复。产品开发过程中使用Artery ICP Programmer将系统存储器作为扩展主存使用方法:
图24. ICP工具设定系统存储区AP模式
图25. ICP工具设定系统存储区AP模式确认界面量产生产过程中使用Artery ICP Programmer将系统存储器作为扩展主存使用方法:
注意:板载的AT-Link EZ版本不支持离线烧录,只能选择非EZ版本的AT-Link。
1. 新建项目2. 输入项目名称3. 选择MCU型号4. 添加.hex文件5. 下载接口选择SWD6. 勾选系统存储区AP模式并输入秘钥7. 保存项目到AT-Link或保存项目文件其他选择根据实际需要进行设置。图26. ICP工具离线烧录系统存储区AP模式
图27. ICP工具离线烧录项目文件设置
图28. ICP工具离线下载状态监控
五、在程序中区分AT32与其他IC方法
图29. 读取Cortex型号
图 30. 读取 UID,PID说明: 在AT32F4xx微控制器内部有多个ID编码,将获取到的ID信息组装成一个64bit的数据,就可以区分出MCU是哪一种型号。更多信息请参考各型号技术手册RM的调试(DEBUG)章节以及《AN0016_Recognize_AT32_MCU》,该应用笔记可从雅特力科技官方网站→技术与开发支持→AP Note→AN0016获取。
下载编译过程常见问题
程序启动进入Hard Fault Handler
Keil项目内Jlink无法找到IC
程序下载过程出问题
一、显示Error: Flash Download failed–“Cortex-M4”问题在Keil仿真或下载时弹出:图31. 下载出现Flash Download failed–“Cortex-M4”出现弹窗的原因可能是以下几种:
二、显示 No Debug Unit Device found问题
三、显示RDDI-DAP Error问题
四、ISP串口下载时卡死问题
使用ISP串口下载时,偶尔会卡死,卡死之后电脑无法释放串口。建议处理方式:
五、AT32恢复下载
在使用AT32F425时,用户可能在以下操作后无法再次下载程序:
这里提供解决方法如下:
安全库区sLib(Security Library)
概述
目前越来越多的微控器(MCU)应用需要使用到复杂的算法及中间件解决方案(middleware solution),因此,如何保护软件方案商开发出来的核心算法等知识产权代码(IP-Code),便成为微控制器应用中一项很重要的课题。因为这一重要的需求,AT32F425系列提供了安全库区(SLIB)的功能,以防止重要的IP-Code被终端用户的程序做修改或读取,进而达到保护的目的。
应用原理
操作安全库区
详细操作请参考《AN0120_AT32F425_Security_Library_Application_Note》,该应用笔记可从雅特力科技官方网站→技术与开发支持→AP Note→AN0120获取。关于雅特力雅特力科技于2016年成立,是一家致力于推动全球市场32位微控制器(MCU)创新趋势的芯片设计公司,专注于ARM Cortex-M4/M0+的32位微控制器研发与创新,全系列采用55nm先进工艺及ARM Cortex-M4高效能或M0+低功耗内核,缔造M4业界最高主频288MHz运算效能,并支持工业级别芯片工作温度范围(-40°~105°)。雅特力目前已累积相当多元的终端产品成功案例:如微型打印机、扫地机、光流无人机、热成像仪、激光雷达、工业缝纫机、伺服驱控、电竞周边市场、断路器、ADAS、T-BOX、数字电源、电动工具等终端设备应用,广泛地覆盖5G、物联网、消费、商务及工控等领域。
全部0条评论
快来发表一下你的评论吧 !