OpenEdv-开源电子网

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

IAP的boot loader如果我要定义一个数组,还需要给新数组设置起始地址吗

[复制链接]

20

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
金钱
248
注册时间
2014-10-16
在线时间
41 小时
发表于 2024-2-28 14:59:55 | 显示全部楼层 |阅读模式
10金钱
实验要求字符串控制IAP更新的,先更新固件再发字符串指令升级跳转,共用一个数组会覆盖数据,想开辟数组单独存放固件

奋斗才能新生
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

20

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
金钱
248
注册时间
2014-10-16
在线时间
41 小时
 楼主| 发表于 2024-2-28 15:49:17 | 显示全部楼层
试了一下,C8T6才20KRAM,去掉一部分占用的,实际就14K左右,boot loader是8K,不支持再建一个存放固件那么大的数组了,空间方面是不支持了,第一个问题还没搞懂程序那里要不要给新数组设置起始地址
奋斗才能新生
回复

使用道具 举报

26

主题

1533

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6369
金钱
6369
注册时间
2015-8-25
在线时间
1004 小时
发表于 2024-2-28 16:21:01 | 显示全部楼层
你定义的是常量数组吗?不是常量数组的话随便定义啊,对RAM来说,bootloader和App是共享的啊,常量数组是定义到FLASH的
回复

使用道具 举报

20

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
金钱
248
注册时间
2014-10-16
在线时间
41 小时
 楼主| 发表于 2024-2-28 16:47:43 | 显示全部楼层
szczyb1314 发表于 2024-2-28 16:21
你定义的是常量数组吗?不是常量数组的话随便定义啊,对RAM来说,bootloader和App是共享的啊,常量数组是定 ...

是10*1024大小的数组,和串口接收数组一样大,存放发送过来的固件,试了一次,ram不够用了,20K太小了,只能支持一个那么大的数组
奋斗才能新生
回复

使用道具 举报

11

主题

2103

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4588
金钱
4588
注册时间
2015-1-10
在线时间
574 小时
发表于 2024-2-28 22:25:03 | 显示全部楼层
待机唤醒 发表于 2024-2-28 16:47
是10*1024大小的数组,和串口接收数组一样大,存放发送过来的固件,试了一次,ram不够用了,20K太小了, ...

你不分包接收分包写入?
回复

使用道具 举报

70

主题

6697

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12687
金钱
12687
注册时间
2012-11-26
在线时间
3710 小时
发表于 2024-2-29 10:36:39 | 显示全部楼层
先接收写到flash里啊,最后跳转
回复

使用道具 举报

20

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
金钱
248
注册时间
2014-10-16
在线时间
41 小时
 楼主| 发表于 2024-3-1 10:29:58 | 显示全部楼层
阿侑kevin 发表于 2024-2-28 22:25
你不分包接收分包写入?

没有分包,就8K一次传入的
奋斗才能新生
回复

使用道具 举报

20

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
金钱
248
注册时间
2014-10-16
在线时间
41 小时
 楼主| 发表于 2024-3-1 10:31:25 | 显示全部楼层
jermy_z 发表于 2024-2-29 10:36
先接收写到flash里啊,最后跳转

之前要求是发MODE才能开始写,现在改了,得先写入,不然覆盖了
奋斗才能新生
回复

使用道具 举报

70

主题

6697

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12687
金钱
12687
注册时间
2012-11-26
在线时间
3710 小时
发表于 2024-3-1 13:15:51 | 显示全部楼层
待机唤醒 发表于 2024-3-1 10:29
没有分包,就8K一次传入的

实际应用中,是不可能一次性接收完才写入的,大的应用都几十kb甚至上百kb的,一般都分帧传输,帧还带校验的 ,校验成功才把这一帧数据写入
学无止境
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 21:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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