2443|2

1700

帖子

0

TA的资源

五彩晶圆(初级)

楼主
 

雅特力单片机AT32F403 如何将 IAP 放在非闪存起始地址? [复制链接]

 

雅特力单片机AT32F403的系列中,遇到非闪存起始地址问题,有关为了将更多的 APP 程序放在零等待闪存内, 可以将 IAP 程序放在非零等待闪存。或者其他原因也可以将 APP 程序放在非闪存起始地址, 即 IAP 起始地址不是 0x08000000。AT32F403、 AT32F413、 AT32F403A、 AT32F407 有零等待闪存和非零等待闪存, 零等待闪存的起始地址是 0x08000000。
如何将 IAP 放在非闪存起始地址 

最新回复

请问哪位同仁能否提供无线充电的工作原理?  详情 回复 发表于 2021-5-23 16:09
点赞 关注
 
 

回复
举报

1700

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 

以 AT32F403 开发板为例, 具体实现方法如下:
1、 IAP 程序可以放在闪存任何页的起始地址, 当放在非 page0 的起始地址时, 需要在 page0 增加一个引导程序,由引导程序跳转到 IAP, 在 IAP 中跳转到 APP。
Guide 为引导程序例程, 起始地址 0x08000000, 预留空间大小 4KB, 用户引导程序根据实际占用空间设置对应的大小。 程序在引导程序运行时 LED2 闪烁。

2、 设置 IAP 的起始地址 FLASH_BOOT_ADDR = 0x0807C000, 即 page248 起始。IAP 为 IAP 例程, 起始地址 0x0807C000, 预留空间大小 16KB, 用户 IAP 程序根据实际占用空间设置对应的大小。 程序在 IAP 运行时 LED3 闪烁。

IAP 的中断向量映射地址需要设置为 IAP 的起始地址, 即 IROM1 的 Start 值与 SCB->VTOR 值要一致。

3、 设置 APP 的起始地址 FLASH_APP1_ADDR = 0x08001000, 即 page2 起始。 因开启读保护后, 闪存的前 4KB 默认为写保护, 如果需要开启读保护, APP 的起始地址不能在前 4KB 内。LED 为 APP 例程, 起始地址 0x08001000, 预留空间大小 492KB, 用户 APP 程序根据实际占用空间设置对应的大小。 程序在 APP 运行时 LED4 闪烁。

APP 的中断向量映射地址需要设置为 APP 的起始地址, 即 IROM1 的 Start 值与 SCB->VTOR 值要一致

测试方法:
烧录引导程序前将闪存全部擦除, 使用 ICP、 ISP 或编译器烧录引导程序, 烧录成功后 LED2 闪烁。
使用 ICP、 ISP 或编译器烧录 IAP 程序, 烧录成功后 LED3 闪烁。
使用 ICP、 ISP、 编译器或者 IAP 升级软件(IAP_APP_Release 文件内) 烧录 APP 程序, 烧录成功后 LED4 闪烁。

类型: MCU 应用
适用型号: AT32F4xx 全系列
主功能: FLASH
次功能: 无

 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

请问哪位同仁能否提供无线充电的工作原理?

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表