雅特力MUC AT32F423入门使用指南
雅特力初步环境准备
雅特力开发环境下载地址:雅特力官方网站
搭建AT32开发环境
调试工具及开发板
目前AT32F423开发板都自带AT-Link-EZ调试工具,AT-Link-EZ如下图左边红框所示,它也可拆开后单独搭配其他电路板使用,支持IDE在线调试、在线烧录、USB转串口等功能。
图1. AT-START-F423及AT-Link-EZ实物图
注意:AT-START板配备资源的详细说明,请参考《UM_AT_START_F423_Vx.x》,存放路径为雅特力科技官方网站→产品讯息→超值型MCU→AT32F4xx系列下载的Evaluation Board (开发板)资料包解压后\AT_START_F423_Vx.x\03_Documents。
图2. 雅特力科技官方网站AT-START-F423开发板资料包
烧录工具及软件
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资料包
AT32开发环境
一、模板工程介绍
在ArteryTek提供的固件库BSP中都默认建立好了常用IDE的模板工程。BSP可从雅特力科技官方网站→产品讯息→超值型MCU→AT32F4xx系列获取。
图4. 雅特力科技官方网站BSP资料包
BSP中创建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工程示例
工程内添加的内容描述如下:
① 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包
对于Keil编译系统,建议keil4.74或5.23以上版本。Keil_v5版本需要将Keil5_AT32MCU_AddOn解压后安装对应ArteryTek.AT32F423_DFP,Keil_v4版本需要安装Keil4_AT32MCU_AddOn;默认情况下,安装时可以自动识别到Keil的安装路径,如果识别不到或者不正确,需要手动选择Keil的安装路径。
图7. 安装ArteryTek.AT32F423_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安装的更多详细说明,请参考《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选项
在Debug单击Settings进入Cortex-M Target Driver Setup界面如下图,
先选择AT-Link(WinUSB)-CMSIS-DAP/AT-Link-CMSIS-DAP;注意:关于WinUSB,请参考《FAQ0136_如何使用AT-LINK的WinUSB功能提升下载速率》,该文档可以从雅特力科技官方网站→技术与开发支持→FAQ→FAQ0136下载。
Port选择SW,再勾选SWJ;
确认已识别到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等的详细说明,请参考《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文档与软件
二、安装
Windows系统无需安装,只需直接运行可执行程序AT32_Work_Bench.exe。
Linux系统目前支持Ubuntu 16.4以上系统版本,有两种安装方式:
终端中使用dpkg命令安装
在终端中输入如下命令进行安装:sudo dpgk –i AT32_Work_Bench_Linux-x86_64_Vx.x.xx.deb
如下图所示:
图17. 终端命令安装
图形方式安装拷贝AT32_Work_Bench_Linux-x86_64_Vx.x.xx.deb到Linux系统中,并双击。在弹出的安装程序中,点击“安装”按钮,系统将本软件自动安装到系统中,如下图所示:
图18. 图形方式安装
安装完成之后,点击左边任务栏最下方“显示所有程序”按钮,在弹出的程序列表中找到“AT32_Work_Bench”,并点击,将启动AT32_Work_Bench。
三、项目配置
本小节将以AT32F403AVGT7新建一个USART工程为例,展示如何使用AT32_Work_Bench生成初始化C代码和对应IDE项目。引导页是启动AT32 Work Bench时打开的第一个窗口。它提供三个选项:“开始一个新的设计”、“打开一个已有的设计”和“最近使用的设计”,如下图所示:
图19. AT32 Work Bench引导页
引导页选择MCU的具体信息,然后点击新建进入项目配置界面,项目配置界面可以看到“Pin布局和配置”,“时钟配置”,“代码预览”三个选项框,这是建立AT32 Work Bench工程主要使用到的三个功能,此部分将分(1)(2)(3)三点进行详细说明。项目配置界面如图所示:
图20. 项目配置界面
(1)“Pin布局和配置”视图主要配置MCU使用到的外设和引脚,该视图包含有“外设”、“模式和配置”与“Pin布局”三个窗口。从“外设”列表中选择一个外设时,将打开所选外设的“模式和配置”窗口,用户可以借此配置其功能模式与参数,模式窗口可选择外设的工作模式和工作模式下使用的MCU引脚。由于MCU允许不同外设和多个功能使用相同的引脚,因此选择模式后,会自动配置最适合用户选择的外设的引脚排列,以USART1为例,USART1的“模式和配置”窗口如下图所示:
图21. “模式和配置”窗口
以USART1为例,配置USART1外设大概分为以下几步:
外设模式
图22. 外设模式
如上图所示,外设“USART1”的模式选择“异步模式”时,引脚布局的视图中,PA9与PA10将自动映射到信号“USART1_TX”与“USART1_RX”。
外设参数设置
图23. 外设参数设置
参数配置窗口显示了“USART1”可以配置的参数,如基础参数中的“波特率”、“数据位个数”等,高级参数中的“数据传输方向”等参数。
外设GPIO设置
图24. 外设GPIO设置
外设GPIO设置窗口显示了当前外设可以配置的GPIO,如上图可配置“USART1”中“USART1_TX”和“USART1_RX”的GPIO参数。
外设DMA设置
图25. 外设DMA设置
外设DMA设置窗口可添加当前外设可以配置的DMA请求,如上图可配置“USART1”中“USART1_TX”和“USART1_RX”的对应的DMA通道以及DMA请求的参数。
外设NVIC设置
图26. 外设NVIC设置
外设NVIC设置窗口显示了当前外设可以配置的中断,当外设对应的DMA通道开启后,也可配置对应DMA通道的中断。“抢占优先级”和“子优先级”的配置需到“NVIC”总配置窗口进行统一配置。
pin布局窗口以图形方式表示所选封装的引脚布局(例如,LQFP48、QFN32、TSSOP20等),其中每个引脚都用其名称(如PA9)、配置状态和当前信号分配来表示。
在引脚视图上,左键点击引脚(除固定模式引脚),将弹出一个右键菜单,显示该引脚可配置的信号;对于已经配置功能的引脚,右键单击将弹出“输入标签”的按钮,可以点击按钮,可以指定此信号的自定义标签,左击和右击效果如下图所示:
图27. 左击和右击效果
(2)时钟配置界面主要用来进行时钟路径及参数的配置。视图中的下拉菜单和输入框可用于修改实际的时钟树配置,以满足应用需求,时钟配置界面如下图所示:
图28. 时钟配置界面
注1:需要使lext为可用状态,需要在外设“CRM”的模式窗口中设置“低速外部时钟”的模式;
注2:需要使hext为可用状态,需要在外设“CRM”的模式窗口中设置“高速外部时钟”的模式;
注3:需要使clockout为可用状态,需要在外设“CRM”的模式窗口中勾选“时钟输出”。
(3)点击“代码预览”按钮,将自动生成当前配置的代码,并在窗口中显示代码内容。左侧显示了生成的代码文件,右侧显示选中文件的代码内容,如下图所示:
图29. 代码预览
点击菜单栏或工具栏的“生成代码”按钮,将弹出“项目管理”窗口,如下图所示:
图30. “项目管理”窗口
对于堆大小和栈大小,建议的默认值分别为0x200和0x400,当应用使用中间件栈时,这些值可能需要增加;选中复制库文件到项目文件夹后,生成代码时将固件包内的库文件自动复制到项目文件夹中;配置完项目选项后,点击“确定”按钮,将自动生成用户代码和选定IDE的项目文件。生成的项目文件结构如下图:
图31. 项目文件结构
快速替代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)等待周期
AT库在系统时钟配置函数system_clock_config()进行了相关设置,其他BSP请找到相同的位置做相应的设置。
图33. 系统时钟配置函数system_clock_config
PLL时钟设置
一、PLL设定方式AT32F423内置的PLL最高可输出150MHz时钟,使用PLL时钟配置寄存器(CRM_PLLCFG)可以配置多种PLL时钟频率,其对应的公式为:
使用AT BSP时PLL设定程序范例:(HEXT=8MHz, PLL=150MHz)
图34. AT32F423输出150MHz的时钟配置
其中,入口参数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自动滑顺频率切换配置
注意:如果开启了自动滑顺频率切换功能,在时钟切换后必须关闭自动滑顺频率切换功能,开启及关闭务必配对使用。
加密方式
注意: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工具启用/解除访问保护访问保护
Artery ISP Programmer工具(BOOT0=1)启用访问保护:一直点击下一步,直到进入最后界面,选择保护、启用访问保护/高级访问保护--下一步--是,即可将程序加密。解除访问保护:选择保护、禁用访问保护--下一步--是,即可将Flash解除加密。
Artery ISP Multi-Port Programmer工具(BOOT0=1)启用访问保护:选择保护、启用访问保护/高级访问保护--开始,即可将程序加密。解除访问保护:选择保护、禁用访问保护--开始,即可将Flash解除加密。
图37. ISP工具启用访问保护
图38. ISP工具解除访问保护
注意:设置了访问保护不能通过擦除操作来解除访问保护。
二、擦写保护
写保护作用于整个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工具启用擦写保护
图40. ICP工具解除擦写保护
注意:设置了擦写保护不能通过擦除操作来解除擦写保护。
设定系统存储器为扩展主存
系统存储器(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模式
为防止误操作,需按照提示手动输入启用秘钥0xA35F6D24,操作后“存储器信息”表格中会有成功或失败的提示信息。
图42. ICP工具设定系统存储区AP模式确认界面
量产生产过程中使用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. 下载接口选择SWD
6. 勾选系统存储区AP模式并输入秘钥
7. 保存项目到AT-Link或保存项目文件
其他选择根据实际需要进行设置。
图43. ICP工具离线烧录系统存储区AP模式
若上述步骤7选择的是保存项目文件,将会把项目保存为.atcp格式的文件,方便加载到其他AT-Link中使用
在操作过程中会弹出如下图的窗口。如果选择此项目仅允许在指定AT-Link使用,此项目文件与AT-Link绑定,只能在绑定的AT-Link使用,需设定绑定的AT-Link序列号;如果选择此项目仅允许使用一次,此项目文件在同一个AT-Link只能使用一次。
图44. ICP工具离线烧录项目文件设置
若上述步骤7保存项目到AT-Link成功,在离线下载状态监控窗口里,选择离线下载项目名称--保存并激活,就可以开始烧录了。
图45. ICP工具离线下载状态监控
关于系统存储器扩展的更多信息请参考《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型号
读取UID,PID方式区分
图47. 读取UID,PID
说明:在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”
出现弹窗的原因可能是以下几种:
开启了访问保护,先取消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住,介绍几种方式如何解决该问题。
更改芯片BOOT模式,改为启动程序存储器启动或者sram启动,然后通过复位脚复位芯片,此时就可以擦除程序恢复下载。
使用ICP软件工具搭配AT-Link调试器,连接AT-Link RST pin到芯片的复位脚,ICP界面上直接点击连接即可正常连接,连接后擦除芯片内程序即可恢复。
使用Keil软件搭配AT-Link调试器,连接AT-Link RST pin到芯片的复位脚,在Keil的debug界面修改为下图中红框内的选项,就可以擦除程序恢复下载。
图49. debug界面修改
4. 使用IAR软件搭配AT-Link调试器,连接AT-Link RST pin到芯片的复位脚,在IAR的CMSIS DAP界面修改为下图中红框内的选项,就可以擦除程序恢复下载
图50. CMSIS DAP界面修改
安全库区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获取。
关于雅特力
雅特力科技于2016年成立,是一家致力于推动全球市场32位微控制器(MCU)创新趋势的芯片设计公司,专注于ARM ®Cortex®-M4/M0+的32位微控制器研发与创新,全系列采用55nm先进工艺及ARM® Cortex®-M4高效能或M0+低功耗内核,缔造M4业界最高主频288MHz运算效能,并支持工业级别芯片工作温度范围(-40°~105°)。雅特力目前已累积相当多元的终端产品成功案例:如微型打印机、扫地机、光流无人机、热成像仪、激光雷达、工业缝纫机、伺服驱控、电竞周边市场、断路器、ADAS、T-BOX、数字电源、电动工具等终端设备应用,广泛地覆盖5G、物联网、消费、商务及工控等领域。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由Ray转载自雅特力 微信公众号,原文标题为:AT32讲堂082 | 雅特力AT32F423入门使用指南,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
【经验】雅特力32位MCU AT32F421 GPIO的使用指南
本文中雅特力将为大家分享32位微控制器AT32F421 GPIO的使用指南。
【经验】雅特力AT32 MCU CAN入门指南
CAN是Controller Area Network的缩写(以下称为CAN),它的设计目标是以最小的CPU负荷来高效处理大量的报文。本文介绍雅特力AT32 MCU CAN入门指南
【经验】 雅特力AT32 MCU Printf的功能使用方法
内容概述本文档主要介绍雅特力AT32 MCU在Keil和IAR两种工程环境下的printf功能使用方法。其共包含6种方法,各方法的具体用法在具体内容中描述。
国民技术N32G020系列MCU最大工作频率高达80MHz,具备256K字节存储空间、多种功耗工作模式
N32G020系列产品已能提供LQFP48/QFN48/LQFN32/QFN32等多种系列封装型号,适用于电机驱动、微型打印机、激光条码扫描器、电子烟、光模块、低成本LoRa模块以及其它注重成本和功耗的智能化产品。
国产32位MCU,240M高主频、独有安全库、AD/DA、CAN、EMAC接口外设应有尽有
描述- 雅特力科技推出的AT32系列32位ARM Cortex-M4/M0+ MCU,采用55nm制程,主频高达240MHz,具备丰富的外设接口如AD/DA、CAN、EMAC等,并拥有独有安全库,适用于工业、安全和高性能应用。产品线涵盖高性能、主流型和超值型,支持多种开发工具和实时操作系统,广泛应用于电机控制、电力监测、舞台灯光等领域。
型号- AT32F413,AT32F415,STM32F407VET6,STM32F407VGT6,STM32F407,AT32F421,AT32F403ARGT7,AT32F4XX,STM32F103RET6,AT32F403ARET7,STM32F107VBT6,AT32F403,AT32F403ARCT7,STM32F207,AT32F407,AT32F403AVET7,STM32F107RBT6,AT32F403ACGT7,AT32F403AVGT7,AT32F403ACET7,AT32F403ACCT7,AT32L031,AT32F403AVCT7,STM32F103VCT6,STM32F103VET6,STM32F103VGT6,STM32F103RGT6,STM32F207VGT6,AT32F407AVCT7,STM32F207VCT6,AT32F435,AT32F437,AT32F407VCT7,AT32F407AVGT7,AT32F403AXXU7,AT32F407VGT7,AT32F407XXT7,AT32F407RCT7,AT32F403ACGU7,AT32F407VET7,AT32,AT32F407RET7,AT32F403ACEU7,AT32F407RGT7,AT32F403ACCU7,AT32 SERIES,STM32F207VET6,AT32F403A 系列,AT32F425,STM32F103,STM32F107VCT6,STM32F107,AT32F403AXXT7,STM32 SERIES,AT32F407 系列,STM32F107RCT6,AT32F403A,AT32L415,AT32F407A
AT32讲堂 | 解析雅特力AT32 MCU HICK时钟校准
AT32系列MCU内部都有提供适合运行的内部高速时钟(HICK),在25℃下,其典型值频率8MHz的精度由工厂校准到±1%,在-40到105℃,该内部高速时钟的精度达到±2.5%,可见精度会受到温度的影响。为了降低环境温度对精度造成的影响,用户可在运行时间隙调用校准程序来进行校准。
【经验】解析雅特力AT32系列MCU RTC入门指南
RTC计数逻辑位于电池供电域,内部为一个32位递增计数器,只要电池供电域有电,RTC便会一直运行,不受系统复位以及VDD掉电影响。本文雅特力将为大家介绍AT32系列MCU的RTC入门指南。
【经验】雅特力AT32 MCU USB设备库的架构和使用方法
本文主要介绍雅特力MCU AT32 USB设备库的结构和库的使用方法,AT32 USB是基于USB2.0全速设备,不支持USB2.0高速设备。这里库的作用是用来管理USB外设和实现USB的基本协议,使开发者能够更快的上手开发。
雅特力携多款AT32 MCU新品与应用方案亮相2024慕尼黑上海电子展
7月8日,2024慕尼黑上海电子展electronica China在上海新国际博览中心拉开序幕,作为全球电子行业的盛会,汇聚了国内外众多优质电子企业。雅特力携高性能AT32 MCU与应用方案齐亮相,呈现了多款电机控制、工业控制、汽车电子、智能家居、消费、商务,及新能源等应用方案。现场人流攒动、氛围热烈!
雅特力32位MCU-AT32快速选型指南
描述- 本资料为AT32系列微控制器(MCU)选型表,详细列出了不同型号的AT32 MCU的特性和支持功能。包括I2S通信模式(全双工/半双工)的支持情况,以及不同型号之间的差异。资料更新日期为2022年3月8日,版本号为V202203,支持多个系列型号。
型号- AT32F413CCU7,AT32F437ZCT7,AT32F415CBT7,AT32F415R8T7,AT32F425F8P7,AT32F437ZGT7,AT32F403ZET6,AT32F421K6T7,AT32F425C6U7,AT32F437VMT7,AT32F425R8T7,AT32F437RGT7,AT32F421K4U7-4,AT32F437RCT7,AT32F403ARGT7,AT32WB415CCU7-7,AT32F413CBT7,AT32F435CMT7,AT32F403ARCT7,AT32F415CCU7,AT32F435RCT7,AT32F435ZGT7,AT32F403AVET7,AT32F435RGT7,AT32F435VMT7,AT32F421C6T7,AT32F403ACET7,AT32F413KBU7-4,AT32F435ZCT7,AT32WB415,AT32F435CMU7,AT32F413CBU7,AT32F415KBU7-4,AT32F407RCT7,AT32F403ACGU7,AT32F407VET7,AT32F425K8U7-4,AT32F407RGT7,AT32F403ACCU7,AT32F415RCT7,AT32F425R8T7-7,AT32F415CBU7,AT32F425K6T7,AT32F421K6U7,AT32F425K6U7-4,AT32F425C6T7,AT32F421G4U7,AT32F415RBT7-7,AT32F421G8U7,AT32F421F4P7,AT32F421F8P7,AT32F413RCT7,AT32F425R6T7-7,AT32F413KCU7-4,AT32F413,AT32F425F6P7,AT32F415,AT32F437VCT7,AT32F421K4T7,AT32F437VGT7,AT32F437ZMT7,AT32F421K8T7,AT32F425C8U7,AT32F403ZGT6,AT32F403ZCT6,AT32F425R6T7,AT32F413C8T7,AT32F415RBT7,AT32F421,AT32F403ARET7,AT32F403,AT32F435VGT7,AT32F435CGT7,AT32F407,AT32F435VCT7,AT32F421C8T7,AT32F435CCT7,AT32F403ACGT7,AT32F403AVGT7,AT32F421C4T7,AT32F403ACCT7,AT32F435ZMT7,AT32F403AVCT7,AT32F413RBT7,AT32F415C8T7,AT32F435,AT32F415RCT7-7,AT32F437,AT32F435CGU7,AT32F407VCT7,AT32F415CCT7,AT32F407VGT7,AT32F435CCU7,AT32F415KCU7-4,AT32,AT32F407RET7,AT32F403ACEU7,AT32F415K8U7-4,AT32F415R8T7-7,AT32F435RMT7,AT32F413CCT7,AT32F425,AT32F421K4U7,AT32F425K8T7,AT32F421K8U7-4,AT32F421K8U7,AT32F425C8T7,AT32F437RMT7,AT32F421G6U7,AT32F421K6U7-4,AT32F421F6P7,AT32F403A
【经验】雅特力AT32 MCU如何灵活使用DMA弹性映射请求?
在使用雅特力部分系列MCU时,可以使用DMA弹性映射功能。此功能使得DMA的通道配置更加灵活,可以将某外设的DMA请求通道指定到DMA1或者DMA2共14个通道中的任意一个通道。本文将介绍如何使用DMA弹性映射请求,从而使得DMA传输变得更加灵活多变。
雅特力AT32F423安全库应用笔记
AT32F423系列提供了安全库区(SLIB)的功能,以防止重要的IP-Code被终端用户的程序做修改或读取,进而达到保护的目的。本文档将详细阐述AT32F423系列安全库区的应用原理和软件使用方法。
【经验】解析雅特力AT32 MCU SDRAM控制器的使用
本文中将为大家解析雅特力AT32 MCU SDRAM控制器的使用。
【经验】Jlink使用KEIL下载/Debug雅特力MCU的配置方法
Jlink使用KEIL下载/Debug雅特力MCU的配置方法使用雅特力MCU进行开发,很多用户手里只有Jlink,对于Jlink使用KEIL下载/Debug雅特力MCU的配置方法不太了解。本文介绍可以使用KEIL下载/Debug的步骤设置。
合纵连横,航顺HK32 MCU预测AI大潮下的MCU发展新趋势
在6月15日召开的“赋能创芯,共筑生态”2024年度航顺HK32MCU新品发布会暨第二次代理商培训大会上,航顺芯片联合创始人、首席科学家&CTO王翔分享了AI大潮下的MCU发展趋势,概括起来就是---合纵连横!
电子商城
现货市场
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
可烧录IC封装SOP/MSOP/SSOP/TSOP/TSSOP/PLCC/QFP/QFN/MLP/MLF/BGA/CSP/SOT/DFN;IC包装Tray/Tube/Tape;IC厂商不限,交期1-3天。支持IC测试(FT/SLT),管装、托盘装、卷带装包装转换,IC打印标记加工。
最小起订量: 1pcs 提交需求>
登录 | 立即注册
提交评论