OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7213|回复: 4

NXP IAP下的某一变量值如何传递给APP呢?

[复制链接]

9

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2016-9-17
在线时间
24 小时
发表于 2020-11-27 11:49:53 | 显示全部楼层 |阅读模式
10金钱
如题。

当前在IAP 或者说是BootLoader下有一数据想传递给正式程序,不知道有什么好的办法?还请大神指教一下。

本想通过传参的形式,可是想到app的main函数之前还有一段汇编语言,有点困难。

STM32有一个备份寄存器,但没有发现。不知道哪位大神有好的主意。

谢谢。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2016-9-17
在线时间
24 小时
 楼主| 发表于 2020-11-27 11:51:28 | 显示全部楼层
回复

使用道具 举报

34

主题

252

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
473
金钱
473
注册时间
2020-5-11
在线时间
217 小时
发表于 2020-11-27 13:39:53 | 显示全部楼层
这个是stm32吗,是stm32的话在iap的时候就把参数放在内部flash里面,跳转到app程序要使用那个参数的时候就读出呗
回复

使用道具 举报

9

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2016-9-17
在线时间
24 小时
 楼主| 发表于 2020-11-27 14:15:34 | 显示全部楼层
asshole 发表于 2020-11-27 13:39
这个是stm32吗,是stm32的话在iap的时候就把参数放在内部flash里面,跳转到app程序要使用那个参数的时候就 ...

在时钟初始化之前需要该参数。读取flash就得初始化时钟了
回复

使用道具 举报

3

主题

312

帖子

0

精华

高级会员

Rank: 4

积分
907
金钱
907
注册时间
2011-10-19
在线时间
196 小时
发表于 2020-11-27 16:22:18 | 显示全部楼层
本帖最后由 ufbycd 于 2020-11-27 16:29 编辑

在IAP内将一指针指向SRAM的末端,通过这个指针写入数据;
在APP内将一指针指向同一个位置,通过这个指针读取数据。

数据放末端的原因是,.data、.bss及堆、堆栈都是从SRAM低地址向高地址方向增长的。
把数据向数据放末端就不会被启动代码覆盖。

如果你会链接脚本,更好的办法是:在指定的SRAM位置声明一个无需初始化的段(section),IAP和APP都在这个段内定义一个相同的数据结构变量。

回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 17:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表