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

MSP430F5529: MSP430F5529 在IAR平台写入主存储器Flash扇区A出错“ User error: Illegal opcode found on address 0x43FA ”

Part Number:MSP430F5529

描述

我在使用TI 官方的msp430f5529开发板写主存储器flash的扇区A时出错,复现概率100%

代码

代码是TI官方代码,稍作修改

#include <msp430f5529.h>

char value;// 8-bit value to write to seg C

// Function prototypes
void write_BankA(char value);
void copy_C2D(void);

int main(void)
{WDTCTL = WDTPW+WDTHOLD;// Stop WDTvalue = 1;// initialize valuewrite_BankA(value++);// Write Bank A, increment value
//copy_C2D();// Copy segment C to D__no_operation();// Loop forever, SET BREAKPOINT HEREwhile(1);
}

//------------------------------------------------------------------------------
// Input = value, holds value to write to Bank A
//------------------------------------------------------------------------------
void write_BankA(char value)
{unsigned int i;char * Flash_ptr;// Initialize Flash pointerFlash_ptr = (char *) 0x4400;// Bank A addressFCTL3 = FWKEY;// Clear Lock bitFCTL1 = FWKEY+ERASE;// Set Erase bit_DINT();//no interrupt*Flash_ptr = 0;// Dummy write to erase Flash segFCTL1 = FWKEY+WRT;// Set WRT bit for write operationfor (i = 0; i < 128; i++){*Flash_ptr++ = value;// Write value to flash}while(FCTL3 & BUSY);_EINT();FCTL1 = FWKEY;// Clear WRT bitFCTL3 = FWKEY+LOCK;// Set LOCK bit
}

复现步骤

1. 在IAR 平台编译Ctrl+F7(compile)代码

2. 下载并调试Ctrl+D(download and debug)

3. 按运行键F5(Go),然后就报错了

错误截图

平台环境

windows10+IAR 7.12.1+MSP-EXP430F5529LP-V1.8

Flash_Write.zip

Yale Li:

您好,您能否提供一下你参考的例程的名称

,

zhang fan:

例程名称为MSP430F55xx_flashwrite_01.c

,

zhang fan:

您能否用我给的代码复现问题?

,

Yale Li:

您是想通过在代码中向Flash写入数据来解决您的另一个问题吗?

MSP430F5529: 请问如何在烧录程序进msp430单片机时保留flash数据?

我帮您把这个一起升级到英文论坛。

,

Yale Li:

不好意思回复您晚了。

想问一下您是用的什么调试工具?

是MSPFET吗?

,

zhang fan:

调试工具是开发板上板载的eZ-FET lite

,

Yale Li:

好的

,

Yale Li:

您好,您可以把您的project上传到这里吗?我们想帮您查看您的项目配置

,

zhang fan:

工程文件已经上传,项目是flash_write01

,

Yale Li:

收到,有了结果我会第一时间向您反馈

,

Yale Li:

您好,不好意思回复晚了。

在0x443B之后的数据并没有被擦除,这应该就是写入失败的原因。

建议您在写入之后做延时处理,并且在这里加入断点来查看存储器有没有擦除成功。

赞(0)
未经允许不得转载:TI中文支持网 » MSP430F5529: MSP430F5529 在IAR平台写入主存储器Flash扇区A出错“ User error: Illegal opcode found on address 0x43FA ”
分享到: 更多 (0)