关于IAP升级程序的疑惑

2019-03-23 22:17发布

最近在学习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 ");
    delay_ms(100);
}


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


}

问题如下:
OU_gsServerStart 中“at ”作为const类型 是存储在应用程序空间CODE下 还是升级程序空间UPDATECODE下? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
wateras1
1楼-- · 2019-03-25 18:21
谢谢分享
langsunny
2楼-- · 2019-03-25 22:08
http://bbs.eeworld.com.cn/thread-372688-1-1.html  iap升级的代码能分享下么etolang@gmail.com 谢谢!
委座888888
3楼-- · 2019-03-25 23:52
 精彩回答 2  元偷偷看……
委座888888
4楼-- · 2019-03-26 05:47
hanwenli123 发表于 2015-5-27 11:46
楼主代码谢谢

兄弟,能分享下代码吗》??
tsw33
5楼-- · 2019-03-26 07:29
有头有尾!!!!!
wwwheihei
6楼-- · 2019-03-26 11:08
 精彩回答 2  元偷偷看……

一周热门 更多>

相关问题

    相关文章