打印

升级程序

[复制链接]
1325|40
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shimx|  楼主 | 2018-10-12 18:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
学习MSP430的在线升级。方式是这样的:MSP430与无线WIFI芯片通过UART通讯,升级文件有上位机软件通过TCP/IP协议发送给无线WIFI芯片,再通过UART发送给MSP430。

预先修改了lnk430F5309.xcl

// Constant data
-Z(CONST)DATA16_C,DATA16_ID,TLS16_ID,DIFUNCT,CHECKSUM=A7FF-FF7F

// Code
-Z(CODE)UPDATECODE=A000-A7FF      // 升级程序
-Z(CODE)CSTART,ISR_CODE,CODE_ID=A7FF-FF7F
-P(CODE)CODE=A7FF-FF7F                //应用程序
-Z(CODE)MYRESET=FF7C-FF7D        //升级标志
-Z(CODE)MYCHECK=FF7E-FF7F         //升级成功标志  (因为无外置大容量EEPROM不得不加的)

// Interrupt vectors
-Z(CODE)INTVEC=FF80-FFFF        
-Z(CODE)RESET=FFFE-FFFF        

MSP430启动后执行代码
void main( void )@"UPDATECODE"
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  
  
  
  if(*(unsigned int*)UPDATEADDR==0xFFFF)update();
  
  Application();
  while(1);
}

update.c如下
__monitor void update(void)@"UPDATECODE"
{
    if(OU_check())
    {
        OU_gsServerStart();
    }
    OU_gsUpdate(); }

void OU_gsServerStart(void)@"UPDATECODE"
{
    OU_sendstr("at\r");
    delay_ms(100);
}


char OU_check(void)@"UPDATECODE"
{
    if(*(unsigned int *)UPDATESUCESS==0xFFFF)
    {
        return 1;  
    }
    else
    {
       return 0;
    }


}

相关帖子

沙发
jiaxw| | 2018-10-12 18:46 | 只看该作者

你把你得问题详细描述下哈

使用特权

评论回复
板凳
shimx|  楼主 | 2018-10-12 18:50 | 只看该作者


问题如下:
OU_gsServerStart 中“at\r”作为const类型 是存储在应用程序空间CODE下 还是升级程序空间UPDATECODE下?

使用特权

评论回复
地板
yszong| | 2018-10-12 18:53 | 只看该作者
UPDATECODE空间下,你定义一个常数组,再看编译出来的txt 就知道在哪里了

使用特权

评论回复
5
午夜粪车| | 2018-10-12 18:58 | 只看该作者
串口烧写么?

使用特权

评论回复
6
liliang9554| | 2018-10-12 19:03 | 只看该作者
这个方案可行吗?
bsl的升级程序吗?

使用特权

评论回复
7
lizye| | 2018-10-12 19:07 | 只看该作者

这个是要实现什么功能

使用特权

评论回复
8
liliang9554| | 2018-10-12 19:12 | 只看该作者
可以网络设计固件吗?

使用特权

评论回复
9
liliang9554| | 2018-10-12 19:26 | 只看该作者
没有弄过这个高端升级方法呢。

使用特权

评论回复
10
午夜粪车| | 2018-10-12 19:38 | 只看该作者
这样的固件设计通过网络都完成了。

使用特权

评论回复
11
heweibig| | 2018-10-12 19:47 | 只看该作者
方案可行吗?

使用特权

评论回复
12
wuhany| | 2018-10-12 19:54 | 只看该作者
串口升级程序需要修改引导区的

使用特权

评论回复
13
zhenykun| | 2018-10-12 20:13 | 只看该作者
用bsl升级的程序吗?

使用特权

评论回复
14
jlyuan| | 2018-10-12 20:20 | 只看该作者
这种确实可以,直接网络升级。

使用特权

评论回复
15
jlyuan| | 2018-10-12 20:20 | 只看该作者
楼主实现这个方案了吗

使用特权

评论回复
16
pixhw| | 2018-10-12 22:24 | 只看该作者
利用JTAG接口

使用特权

评论回复
17
sdlls| | 2018-10-12 22:25 | 只看该作者
利用自定义升级固件进行程序升级的方式比较灵活

使用特权

评论回复
18
febgxu| | 2018-10-12 22:25 | 只看该作者
MSP430系列的单片机都集成了JTAG接口

使用特权

评论回复
19
xiaoyaodz| | 2018-10-12 22:25 | 只看该作者
利用自定义升级固件

使用特权

评论回复
20
fentianyou| | 2018-10-12 22:26 | 只看该作者
引导程序的意义在于当应用程序不存在或错误时能直接进入升级程序

使用特权

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

本版积分规则

857

主题

10661

帖子

5

粉丝