This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430F5529:如何正确读取值

Guru**** 2589280 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1078050/msp430f5529-how-to-read-value-correctly

部件号:MSP430F5529

大家好,团队

客户提出的问题可能需要您的帮助:

客户存储的数据闪存为430,第一个地址为0x001800。 现在,他们打算读取从0x1800开始的100个数据,并将其放入自定义的数组值中,如下所示:

CHAR *Flash_PTR =(CHAR *) 0x001800;  

对于(i = 0;i < 100;I++)

值[i]=*Flash_PTR++;
}

但是 ,该值始终为0,客户希望知道如何正确读取。 请帮您检查此案例? 谢谢。

此致,

樱桃

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,Cherry,

    客户代码对我有效。

    #pragma PERSISTENT(value)
    #pragma LOCATION(value, 0x1800)
    char value[] = {0,1,2,3,4,5,6,7,8,9};
    int i;
    
    int main(void)
    {
    	WDTCTL = WDTPW | WDTHOLD;	// stop watchdog timer
    	
    	char *Flash_ptr = (char *)0x001800;
    
    	for(i = 0; i < 10; i++)
    	{
    	value[i] = *Flash_ptr++ ;
    	}
    
    	while(1);
    }

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Dennis,

    感谢你的帮助。 客户已检查上述代码,CCS 将报告以下错误:

    “发生数据验证错误,文件加载失败。”

    谢谢,此致,

    樱桃

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    请问有没有更新?

    谢谢,此致,

    樱桃

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,Cherry,

    让客户生成 TI (.txt)输出,然后使用该文件对设备进行编程。  要启用.txt 文件输出,请参阅以下内容: