OpenEdv-开源电子网

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

关于原子哥IAP例程的小问题

[复制链接]

5

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2019-8-13
在线时间
12 小时
发表于 2019-12-4 14:01:57 | 显示全部楼层 |阅读模式
5金钱
  if(((*(vu32*)(0X20001000+4))&0xFF000000)==0x08000000)
    {  
     iap_write_appbin(FLASH_APP1_ADDR,USART_RX_BUF,applenth);//¸üÐÂFLASH´úÂë   
     LCD_ShowString(30,210,200,16,16,"Copy APP Successed!!");
     printf("¹Ì¼þ¸üÐÂÍê³É!\r\n");
    }

我想问一个问题。这个程序不是要写 FLASH Bootloader吗?为什么要去访问(0X20001000+4)呢?(0X20001000+4) 不是RAM的起始地址吗?

最佳答案

查看完整内容[请看2#楼]

因为+4是栈顶地址,堆栈必定是位于内存里面的,所以可以判定是否合法。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2019-12-4 14:01:58 | 显示全部楼层
因为+4是栈顶地址,堆栈必定是位于内存里面的,所以可以判定是否合法。
回复

使用道具 举报

21

主题

2205

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5140
金钱
5140
注册时间
2014-8-26
在线时间
1317 小时
发表于 2019-12-4 17:25:38 | 显示全部楼层
判断ram这个地址的数据
回复

使用道具 举报

3

主题

1155

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7464
金钱
7464
注册时间
2015-1-15
在线时间
1368 小时
发表于 2019-12-4 18:16:21 | 显示全部楼层
猜测是拷贝升级文件到本地0X20001000处,然后判断升级文件是否有效,最后开始升级
一分耕耘一分收获。
回复

使用道具 举报

6

主题

1127

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1656
金钱
1656
注册时间
2019-8-15
在线时间
102 小时
发表于 2019-12-4 21:49:35 | 显示全部楼层
帮顶                                    
成功没有捷径
回复

使用道具 举报

5

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2019-8-13
在线时间
12 小时
 楼主| 发表于 2019-12-6 09:58:29 | 显示全部楼层
这个Flash Bootloader,它为什么不是访问(0x08000000+4)呢?
回复

使用道具 举报

5

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2019-8-13
在线时间
12 小时
 楼主| 发表于 2019-12-6 09:59:43 | 显示全部楼层
正点原子 发表于 2019-12-4 14:01
因为+4是栈顶地址,堆栈必定是位于内存里面的,所以可以判定是否合法。

原子哥,这个Flash Bootloader,它为什么不是访问(0x08000000+4)呢。而是去访问RAM的起始地址?
回复

使用道具 举报

5

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2019-8-13
在线时间
12 小时
 楼主| 发表于 2019-12-6 10:02:47 | 显示全部楼层
yklstudent 发表于 2019-12-4 18:16
猜测是拷贝升级文件到本地0X20001000处,然后判断升级文件是否有效,最后开始升级

好像是啊。这个例程,串口把数据以 0x20001000这个地址为起始地址开始存。只是最终这个判断条件,为什么会是0x08000000?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-23 12:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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