OpenEdv-开源电子网

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

STM32IAP实验

[复制链接]

21

主题

79

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
281
金钱
281
注册时间
2015-7-12
在线时间
51 小时
发表于 2017-12-1 11:07:20 | 显示全部楼层 |阅读模式
1金钱
今天刚看完这个实验,执行完以后也都正常,但是当我去执行APP程序以后,我如果想要换个APP去执行,这该怎么办,似乎串口发送bin文件然后再去执行这个APP以后,就没法再接收其他的APP了

最佳答案

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

正好也在弄这个 可以flash置个标志位 有标志的时候进入APP 没有的时候进入BOOT 在APP里如果接收到特定串口信息 清掉FLASH里的标志 重启就进入BOOT 即可实现在APP里进行bootloader的功能 这样的话可以扩展几个APP同时存在 根据标志更改即可 参看这个帖子 http://www.openedv.com/forum.php?mod=viewthread&tid=229573&highlight=IAP
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

63

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1820
金钱
1820
注册时间
2015-11-30
在线时间
255 小时
发表于 2017-12-1 11:07:21 | 显示全部楼层
鸢 发表于 2017-12-3 17:54
但是串口升级以后就开始运行后面的程序了,就不能进行再次升级了

正好也在弄这个   
可以flash置个标志位  有标志的时候进入APP  没有的时候进入BOOT
在APP里如果接收到特定串口信息    清掉FLASH里的标志    重启就进入BOOT  
即可实现在APP里进行bootloader的功能  
这样的话可以扩展几个APP同时存在   根据标志更改即可  
参看这个帖子  
http://www.openedv.com/forum.php ... 3&highlight=IAP
回复

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6662
金钱
6662
注册时间
2016-5-29
在线时间
910 小时
发表于 2017-12-1 11:24:25 | 显示全部楼层
一个单片机玩多个APP,这是想成系统的节凑呀.加油.
回复

使用道具 举报

21

主题

79

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
281
金钱
281
注册时间
2015-7-12
在线时间
51 小时
 楼主| 发表于 2017-12-3 17:54:44 | 显示全部楼层
yklstudent 发表于 2017-12-1 12:32
简单啊,STM32不是内置BOOTLOADER嘛,直接串口升级更新你的APP就可以了

但是串口升级以后就开始运行后面的程序了,就不能进行再次升级了
回复

使用道具 举报

21

主题

79

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
281
金钱
281
注册时间
2015-7-12
在线时间
51 小时
 楼主| 发表于 2017-12-8 20:10:22 | 显示全部楼层
asianeast 发表于 2017-12-1 11:07
正好也在弄这个   
可以flash置个标志位  有标志的时候进入APP  没有的时候进入BOOT
在APP里如果接收 ...

那我现在想这样做,我现在在运行这个IAP程序,当我把APP1写进去以后,可不可以把原来的IAP程序给刷掉,断电再通电以后一直运行APP1
回复

使用道具 举报

21

主题

79

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
281
金钱
281
注册时间
2015-7-12
在线时间
51 小时
 楼主| 发表于 2017-12-8 20:30:06 | 显示全部楼层
yklstudent 发表于 2017-12-3 21:41
你了解内置BOOTLOADER的工作原理嘛?
只要控制BOOT引脚就可以进入内置BOOTLOADER

这个可以用软件控制吗
回复

使用道具 举报

1

主题

63

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1820
金钱
1820
注册时间
2015-11-30
在线时间
255 小时
发表于 2017-12-11 13:23:17 | 显示全部楼层
鸢 发表于 2017-12-8 20:10
那我现在想这样做,我现在在运行这个IAP程序,当我把APP1写进去以后,可不可以把原来的IAP程序给刷掉,断 ...

其实芯片在出厂的时候就有一个boot,是引导到你IAP程序的栈顶地址的,也就是说程序运行后,首先运行芯片厂家的BOOT,再运行你自己的IAP,再运行你的APP,如果你连这个IAP的跳板都没的话,我想你的APP也是运行不了的 。
其实IAP只是一个跳板作用,你理解成搬运工就行 ,不太占用运行时间的,大可不必删除掉。
况且IAP就是给你更新程序用的,你都删除掉了,以后还怎么更新程序呢?
回复

使用道具 举报

4

主题

52

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
282
金钱
282
注册时间
2014-2-20
在线时间
27 小时
发表于 2017-12-11 13:34:02 | 显示全部楼层
感觉楼主还是没有明白bootloder的作用,要是理解了,就不会要求刷掉了。
回复

使用道具 举报

1

主题

63

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1820
金钱
1820
注册时间
2015-11-30
在线时间
255 小时
发表于 2017-12-11 14:46:39 | 显示全部楼层
鸢 发表于 2017-12-8 20:30
这个可以用软件控制吗

引脚这个只能硬件控制   软件控制不了   
回复

使用道具 举报

21

主题

79

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
281
金钱
281
注册时间
2015-7-12
在线时间
51 小时
 楼主| 发表于 2017-12-13 17:07:21 | 显示全部楼层
asianeast 发表于 2017-12-11 13:23
其实芯片在出厂的时候就有一个boot,是引导到你IAP程序的栈顶地址的,也就是说程序运行后,首先运行芯片 ...

我也觉得说的有理,说的很对
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-16 20:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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