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

MSP430I2041: flash erase

Part Number:MSP430I2041Other Parts Discussed in Thread:UNIFLASH,

请问如何操作时,仅对该芯片内FLASH中1K(information memory)内局部擦除而不会影响其他部分校准且受保护的信息。

目前,由于误擦除,已经造成好几个芯片不能正常工作。请问什么原因引起?

yujing zhou:

使用的是内部时钟,本来想擦除一段,结果过了,显示:

if (*CSIRFCAL_CONST==0xFF) // If calibration constant erased { while(1); // do not load, trap CPU!! }

,

yujing zhou:

能只擦除一部分,不影响CSIRFCAL_CONST

,

yujing zhou:

看资料里不是可以分段擦除吗?

,

Ben Qin:

你好,你是如何擦除的?

可以使用uniflash来进行特定位置的擦除。

,

yujing zhou:

用的库函数FlashCtl_eraseSegment,应该只擦除一段,不知道怎么就多了

,

yujing zhou:

uniflash是怎么用,刚开始用这个芯片,不太懂

,

yujing zhou:

MSP430I2041资料里没有找到说明

,

Ben Qin:

如果你要烧录程序的话,一般来说直接连接芯片和电脑CCS,选择工程然后直接烧录就可以了

,

yujing zhou:

我从别的芯片读出来,再写到这个芯片可以吗

,

yujing zhou:

可能程序有问题

,

yujing zhou:

问提已解决

,

Ben Qin:

好的

,

yujing zhou:

再问一下,什么情况flash无法擦除?我试了试,不能擦除数据就不能再写入了

,

yujing zhou:

擦除程序:

FCTL3 = FWKEY; //Clear LOCK FCTL1 = FWKEY + ERASE;  *Flash_ptr = 0; delay_ms(10); while ((FCTL3 & BUSY)==BUSY); FCTL3 = FWKEY + LOCK;   地址设置的0x1000

,

Ben Qin:

你可以参考下TI的例程:

msp430i20xx_flashwrite_01.c (ti.com)

,

yujing zhou:

里面没有擦除的例程,只有写入的例程

,

Ben Qin:

参考下下面这篇帖子:

(+) CCS/MSP430I2041: How to erase flash memory – MSP low-power microcontroller forum – MSP low-power microcontrollers – TI E2E support forums

赞(0)
未经允许不得转载:TI中文支持网 » MSP430I2041: flash erase
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1