使用Artery ICP Programmer将启动存储器作为主存扩展使用

使用Artery ICP Programmer将启动存储器作为主存扩展使用,第1张

概述 

启动存储器(Boot Memory)默认是作为BOOT模式用来存放原厂固化的启动代码。不过,在具有AP mode系列产品上,添加了新功能,启动存储器也可以选择作为主存的扩展区(AP模式)用来存放用户自定义代码。 注意:启动存储器AP模式只能设置一次不可逆,设置后原启动存储器BOOT模式功能不可恢复。 本应用指南将介绍主存扩展的使用范例,下面以AT32F415系列为例,其中:

章节2.1介绍使用Artery ICP Programmer将启动存储器开启AP模式,作为主存扩展的步骤。

章节2.2介绍项目run_in_boot_memmory在启动存储器执行应用程序的示例。

例程放在BSP标准库

uTIliTIesat32xx_boot_memmory_ap_demo un_in_boot_memmory目录

范例程序 

使用Artery ICP Programmer将启动存储器作为主存扩展使用

要使用ICP Programmer,请参照以下步骤:

连接J-Link或AT-Link仿真器到AT32F415并上电;

开启ICP programmer,选择用J-Link或AT-Link做连接;

通过菜单栏:“设备 *** 作”-“启动程序存储区AP模式”,如下图:

图1. ICP *** 作界面

使用Artery ICP Programmer将启动存储器作为主存扩展使用,e2ecc300-37aa-11ed-ba43-dac502259ad0.png,第2张

为防止误 *** 作,需按照提示手动输入启用秘钥0xA35F6D24, *** 作后“存储器信息”表格中会有成功或失败的提示信息。

关于ICP Programmer的详细说明,请参阅ICP Programmer用户手册。

run_in_boot_memmory:在启动存储器执行应用程序

在此例程中,硬件从主存储器启动,主存储器的代码会从串口(USART1)输出信息,启动存储器中的代码会初始化LED灯并让LED2闪烁。要在启动存储器执行应用程序,需对Keil进行如下设置:

设置启动存储器的起始位置及范围。

图2. 设置bootmem地址范围到IROM2

使用Artery ICP Programmer将启动存储器作为主存扩展使用,e30e4d90-37aa-11ed-ba43-dac502259ad0.png,第3张

范例程序把要载入启动存储器的应用代码编写成单独的c文件,范例中是把LED灯闪烁的相关代码放在run_in_boot_memmory.c,右键点击.c文件在OpTIons选项中将地址编到IROM2。

图3. 选择配置c文件

使用Artery ICP Programmer将启动存储器作为主存扩展使用,e33ec15a-37aa-11ed-ba43-dac502259ad0.png,第4张

图4. 配置c文件编译地址

使用Artery ICP Programmer将启动存储器作为主存扩展使用,e36d0812-37aa-11ed-ba43-dac502259ad0.png,第5张

编译后查看分散加载描述文件(scatter file),可以看到目标文件(object file) run_in_boot_memory.o放置到了启动存储器。

图5. 分散加载描述文件

使用Artery ICP Programmer将启动存储器作为主存扩展使用,e3957c0c-37aa-11ed-ba43-dac502259ad0.png,第6张

添加启动存储器flash算法。

图6. FLASH算法文件添加

使用Artery ICP Programmer将启动存储器作为主存扩展使用,e3bc37de-37aa-11ed-ba43-dac502259ad0.png,第7张

下载并运行后可以看到对应执行结果LED闪烁。

  审核编辑:汤梓红

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/dianzi/2997620.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-09-26
下一篇2022-09-26

发表评论

登录后才能评论

评论列表(0条)

    保存