打印
[MCU]

烧进去第一部分后再烧写第二部分第一部分的程序就没了

[复制链接]
725|25
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dingy|  楼主 | 2020-3-21 12:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
通常在用户需要实现IAP功能时,即用户程序运行中作自身的更新操作,需要在设计固件程序时编写两个项目代码,第一个项目程序不执行正常的功能操作,而只是通过某种通信管道(如USB、USART)接收程序或数据,执行对第二部分代码的更新;第二个项目代码才是真正的功能代码。这两部分项目代码都同时烧录在User Flash中,当芯片上电后,首先是第一个项目代码开始运行,它作如下操作:
1)检查是否需要对第二部分代码进行更新
2)如果不需要更新则转到4)
3)执行更新操作
4)跳转到第二部分代码执行
第一部分代码必须通过其它手段,如JTAG或ISP烧入;第二部分代码可以使用第一部分代码IAP功能烧入,也可以和第一部分代码一道烧入,以后需要程序更新是再通过第一部分IAP代码更新。
------------------------------------------------------------------------------------------------------------------------
请问在MSP430中,通过IAR EW430怎么能将这两部分代码一块烧进去啊,他们的XCL文件都不一样,我在烧进去第一部分后,再烧写第二部分,第一部分的程序就没了。两次烧写我都已经修改了XCL文件。

使用特权

评论回复

相关帖子

沙发
bqyj| | 2020-3-21 12:23 | 只看该作者

设置好BOOT和APP的FLASH、 INTVEC、 RESET,不要有冲突

使用特权

评论回复
板凳
zhuhuis| | 2020-3-21 12:25 | 只看该作者
430不清楚,DSP最近已成功升级

使用特权

评论回复
地板
chenho| | 2020-3-21 12:27 | 只看该作者

设置好BOOT和APP的FLASH、 INTVEC、 RESET,不要有冲突

使用特权

评论回复
5
llljh| | 2020-3-21 12:28 | 只看该作者
这个是程序的地址有冲突了的

使用特权

评论回复
6
dingy|  楼主 | 2020-3-21 12:30 | 只看该作者
自升级的话是需要bootloader做引子的

使用特权

评论回复
7
supernan| | 2020-3-21 12:34 | 只看该作者
把两个文件合并成一个,或者先烧写bootloader程序,然后通过bootloader下载app程序

使用特权

评论回复
8
houcs| | 2020-3-21 12:36 | 只看该作者
BSL吗

使用特权

评论回复
9
yinxiangh| | 2020-3-21 12:38 | 只看该作者
你怎么实现的?

使用特权

评论回复
10
morrisk| | 2020-3-21 12:39 | 只看该作者

现在有OAD升级。

使用特权

评论回复
11
kangzj| | 2020-3-21 12:41 | 只看该作者
是串口吗?

使用特权

评论回复
12
guoyt| | 2020-3-21 12:43 | 只看该作者
是哪里的程序有冲突?

使用特权

评论回复
13
yufe| | 2020-3-21 12:44 | 只看该作者
修改bootloader了吗?

使用特权

评论回复
14
wangzsa| | 2020-3-21 12:45 | 只看该作者

能够远程升级吗?

使用特权

评论回复
15
guoyt| | 2020-3-21 12:47 | 只看该作者
楼主对什么芯片升级?

使用特权

评论回复
16
gongche| | 2020-3-21 12:50 | 只看该作者
能不能提供一个远程升级的 方案呢?

使用特权

评论回复
17
hanwe| | 2020-3-21 12:52 | 只看该作者
jtag无法远程升级吧。

使用特权

评论回复
18
bqyj| | 2020-3-21 12:53 | 只看该作者

远程烧写的吗

使用特权

评论回复
19
tian111| | 2020-3-21 12:56 | 只看该作者
你的硬件电路呢?

使用特权

评论回复
20
zwll| | 2020-3-21 12:57 | 只看该作者
可能损毁了bootloader

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

745

主题

10920

帖子

6

粉丝