MSP430 5xx-flash Beyond the range of 64K addresses to read a(7)

时间:2025-03-09

5xx-超出64 k地址的flash 读和写和segment A 的读写理解

__disable_interrupt(); // 5xx Workaround: Disable global // interrupt while erasing. Re-Enable // GIE if needed FCTL3 = FWKEY; // Clear Lock bit FCTL1 = FWKEY+ERASE; // Set Erase bit

*(unsigned int *)Flash_ptrD = 0; // Dummy write to erase Flash seg D FCTL1 = FWKEY+WRT; // Set WRT bit for write operation

for (i = 0; i < 128; i++) {

*Flash_ptrD++ = *Flash_ptrC++; }

FCTL1 = FWKEY; FCTL3 = FWKEY+LOCK; }

void write_Seg_1(char value) {

unsigned int i;

char * Flash_ptr; Flash_ptr = (char *) 0x10000;

__disable_interrupt(); FCTL3 = FWKEY; FCTL1 = FWKEY+ERASE; *(unsigned int *)Flash_ptr = 0; FCTL1 = FWKEY+WRT;

for (i = 0; i < 128; i++) {

*Flash_ptr++ = value++; }

FCTL1 = FWKEY; FCTL3 = FWKEY+LOCK; }

调试截图如下: 初始化时LOCKA=1

// copy value segment C to seg D // Clear WRT bit // Set LOCK bit // Initialize Flash pointer // 5xx Workaround: Disable global // interrupt while erasing. Re-Enable // GIE if needed // Clear Lock bit // Set Erase bit

// Dummy write to erase Flash seg // Set WRT bit for write operation // Write value to flash // Clear WRT bit // Set LOCK bit

MSP430 5xx-flash Beyond the range of 64K addresses to read a(7).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219