AT32讲堂028 | AT32 MCU如何设定启动存储器为主存扩展

概述 
启动存储器(boot memory)默认是作为boot模式用来存放原厂固化的启动代码。不过,在具有ap mode系列产品上,添加了新功能,启动存储器也可以选择作为主存的扩展区(ap模式)用来存放用户自定义代码。
注意:启动存储器ap模式只能设置一次不可逆,设置后原启动存储器boot模式功能不可恢复。本应用指南将介绍主存扩展的使用范例,下面以at32f415系列为例,其中:
章节2.1介绍使用artery icp programmer将启动存储器开启ap模式,作为主存扩展的步骤。
章节2.2介绍项目run_in_boot_memmory在启动存储器执行应用程序的示例。
例程放在bsp标准库
utilities\at32xx_boot_memmory_ap_demo\run_in_boot_memmory目录
范例程序 
使用artery icp programmer将启动存储器作为主存扩展使用
要使用icp programmer,请参照以下步骤:
连接j-link或at-link仿真器到at32f415并上电;
开启icp programmer,选择用j-link或at-link做连接;
通过菜单栏:“设备操作”-“启动程序存储区ap模式”,如下图:
图1. icp操作界面
为防止误操作,需按照提示手动输入启用秘钥0xa35f6d24,操作后“存储器信息”表格中会有成功或失败的提示信息。
关于icp programmer的详细说明,请参阅icp programmer用户手册。
run_in_boot_memmory:在启动存储器执行应用程序
在此例程中,硬件从主存储器启动,主存储器的代码会从串口(usart1)输出信息,启动存储器中的代码会初始化led灯并让led2闪烁。要在启动存储器执行应用程序,需对keil进行如下设置:
设置启动存储器的起始位置及范围。
图2. 设置bootmem地址范围到irom2
范例程序把要载入启动存储器的应用代码编写成单独的c文件,范例中是把led灯闪烁的相关代码放在run_in_boot_memmory.c,右键点击.c文件在options选项中将地址编到irom2。
图3. 选择配置c文件图4. 配置c文件编译地址
编译后查看分散加载描述文件(scatter file),可以看到目标文件(object file) run_in_boot_memory.o放置到了启动存储器。
图5. 分散加载描述文件
添加启动存储器flash算法。
图6. flash算法文件添加
下载并运行后可以看到对应执行结果led闪烁。
关于雅特力雅特力科技于2016年成立,是一家致力于推动全球市场32位微控制器(mcu)创新趋势的芯片设计公司,专注于arm cortex-m4/m0+的32位微控制器研发与创新,全系列采用55nm先进工艺及arm cortex-m4高效能或m0+低功耗内核,缔造m4业界最高主频288mhz运算效能,并支持工业级别芯片工作温度范围(-40°~105°)。雅特力目前已累积相当多元的终端产品成功案例:如微型打印机、扫地机、光流无人机、热成像仪、激光雷达、工业缝纫机、伺服驱控、电竞周边市场、断路器、adas、t-box、数字电源、电动工具等终端设备应用,广泛地覆盖5g、物联网、消费、商务及工控等领域。

富士康越南显示器面板工厂已投产
随着华为Mate10的到来,购入华为最强旗舰的最佳时机快到了
关于可拓展至250A的智能电源模块MPM3695的性能分析和介绍
iOS在华份额下滑5.4% 苹果多元化发展将进入原创影视领域
【节能学院】ASJ60剩余电流监测仪在路灯线路中的应用
AT32讲堂028 | AT32 MCU如何设定启动存储器为主存扩展
控制智能家居方式不外乎手机或智能音箱 体感控制将是下一发展方向
苹果23款经典产品汇总 总有一款你没见过
美开发出按需储存和释放太阳热能的新材料
ROGMAXIMUSXIFORMULA主板评测 极致用料和优秀做工毫无疑问是最顶级的存在
保险丝的快慢断在应用中保护性能方面的不同
关于电机控制领域的十大重要事实和发展趋势浅析
小白福利丨小白逆袭速学诀窍免费领
柯洁:对抗机器人失败非常正常,人类还有机会
六种常见的LED显示屏安装方式解读
关于创建可穿戴心率监测器(一)性能分析
Vertica在亚太及日本区继续发展并扩大市场影响力
“照明即平台”的意义是什么
如何使用SMS为LED供电
RTX 3080 Ti将推迟到2月中旬上市