TI中文支持网
TI专业的中文技术问题搜集分享网站

量产的产品出现问题了,请各位TI的大牛们帮忙分析一下,谢谢!

使用产品型号:MSP430F1121A。

使用方法:板卡中有ARM和430,430配有纽扣电池,其片内RAM用来存储用户数据,板卡主电源掉电后依靠备用纽扣电池继续为430供电。ARM内部实现了BSL协议,430的固件和RAM中的数据都是通过BSL方式进行配置的。ARM每次上电使用BSL方式从430RAM中读取数据。

问题:1、ARM上电后获取430 RAM中数据,发现数据不对了。2、430的一个IO引脚状态变化了,程序里设置的是中断输入,出现问题时,这个引脚一直为输出了,一直为高电平,这个引脚连接外部按键开关。

分析可能存在的问题,是通过BSL模式访问MSP430时,改写了地址0到0x0a00某一处的数据。如果正好篡改的是IO寄存器的数据,则IO引脚状态发生变化,如果正好篡改的是RAM中的数据,则ARM获取数据后,会发现数据不对了。

依据,在BSL319源码ssp.c中,有一段代码

WORD accessAddr = (0x0212+(checksum^0xffff))&0xfffe;/* 0x0212:address of wchksum*/

if(accessAddr < 0x0a00)

{

    printf("warning: this command might change data at address %x  or %x!\n",  accessAddr,   accessAddr+1);

}

请大牛们帮忙分析下,是因为ARM通过BSL机制访问430 RAM数据,导致430地址中0到0x0a00某一处数据被篡改的吗?

灰小子:

很有可能。建议只在更新430固件时使用bsl。其他时候的通讯采用spi、iic等

Maka Luo:

BSL是一种程序烧录模式,为什么会用BSL来作为通信接口呢?

赞(0)
未经允许不得转载:TI中文支持网 » 量产的产品出现问题了,请各位TI的大牛们帮忙分析一下,谢谢!
分享到: 更多 (0)