【单片机】MSP430F5529单片机的Flash读写控制,MSP430 flash 读写

news/2024/12/5 8:41:18/

文章目录

  • 内存模型
  • 程序

内存模型

https://qq742971636.blog.csdn.net/article/details/108892807

单片机的Flash里面的区域不是全都能写的:https://blog.csdn.net/u014470361/article/details/79297601

找一下手册看看MSP430F5529单片机哪些地址区域能写:
下图:

闪存内存可以通过 JTAG 端口、Spy-Bi-Wire (SBW)、BSL 或者由 CPU 在系统中进行编程。CPU 可以对闪存内存进行单字节、单字和长字的写入操作。
闪存内存的特性包括:
闪存内存由 n 个主存储器段和四个信息存储器段(A 到 D)组成,每个信息存储器段的大小为 128 字节,每个主存储器段的大小为 512 字节。
段 0 到 n 可以一次擦除,或者可以逐个段进行擦除。
段 A 到 D 可以单独进行擦除,这些段也被称为信息存储器。
段 A 可以单独上锁。

在这里插入图片描述

下图大概的意思:

这段文本描述了一个内存模型的地址范围和用途。下面是各个地址范围及其属性的解释:

00000h-00FFFh:包含有间隙的外设
00000h-000FFh:保留给系统扩展使用
00100h-00FEFh:外设 x
00FF0h-00FF3h:描述符类型 (2) x
00FF4h-00FF7h:描述符结构的起始地址 x
01000h-011FFh:BSL 0 x x
01200h-013FFh:BSL 1 x x
01400h-015FFh:BSL 2 x x
01600h-017FFh:BSL 3 x x x
017FCh-017FFh:BSL 签名位置
01800h-0187Fh:信息 D x
01880h-018FFh:信息 C x
01900h-0197Fh:信息 B x
01980h-019FFh:信息 A x
01A00h-01A7Fh:设备描述符表 x
01C00h-05BFFh:16KB RAM
05B80h-05BFFh:备用中断向量
05C00h-0FFFFh:程序 x x (1) x
0FF80h-0FFFFh:中断向量
10000h-45BFFh:程序 x x x
45C00h-FFFFFh:空闲

其中,一些关键词的含义如下:

BSL:表示主引导加载程序(Bootstrap Loader)
Info A/B/C/D:信息区域
RAM:随机访问存储器
程序:存放代码的区域
中断向量:存放中断处理程序的区域

此内存模型的特点包括:
在读取/写入/获取时可以生成NMI(非屏蔽中断)
获取访问时生成PUC(CPU保护状态更改)
可以保护读取/写入操作
总是能够从(1)访问PMM寄存器;用户可以进行大规模擦除操作,包括整个存储器擦除、按照块擦除和按照段擦除。

在这里插入图片描述

程序

#include <msp430.h>//从地址addr开始写,写len个
void write_data(unsigned int addr, const unsigned char dat[], unsigned char len) {unsigned char i;FCTL1 = FWKEY + ERASE; //设置擦除模式FCTL3 = FWKEY;for (i = 0; i < len; i++) {*(unsigned char *) (addr + i) = 0;}FCTL1 = FWKEY + WRT; //设置写入模式for (i = 0; i < len; i++) {*(unsigned char *) (addr + i) = dat[i];}FCTL1 = FWKEY;FCTL3 = FWKEY + LOCK;
}//从地址addr开始读,读len个
void read_data(unsigned int addr, unsigned char dat[], unsigned char len) {unsigned char i;for (i = 0; i < len; i++) {dat[i] = *(unsigned char *) (addr + i);}
}const unsigned char data[] = "ABCDEDF";
unsigned char data_read[10];int main(void) {WDTCTL = WDTPW | WDTHOLD;    // stop watchdog timerwrite_data(0x001800, data, 7);read_data(0x001800, data_read, 7);while (1);
}

http://www.ppmy.cn/news/865736.html

相关文章

一键Ghost后,如何用DiskGenius恢复硬盘上原来的数据

各种一键Ghost、一键备份还原软件&#xff0c;在国内很流行&#xff0c;确实简化了安装Windows的操作&#xff0c;方便了用户。 如果在用一键Ghost等软件&#xff0c;还原了Windows系统后&#xff0c;发现一些重要的数据没有事先备份&#xff0c;怎么办&#xff1f;本文介绍这…

一键GHOST的使用方法

一键GHOST使用 一. 一键GHOST优点 现在大家电脑安装的一般是Windows XP系统&#xff0c;并且大多没有软驱&#xff0c;而且以前版本的GHOST只能在纯DOS底下运行。所以一般要恢复系统&#xff0c;只有在光驱放入启动盘来引导进入纯DOS&#xff0c;再运行GHOST进行备份或还原的操…

一键ghost备份,生成ghost文件

1.下载一键ghost,安装完成后&#xff0c;点击“一键备份系统” 2.此时系统重启&#xff0c;进入ghost备份 3.选择“一键备份系统” . 4 . 5.此时会提示磁盘需要分区 6.建立分区的时候要注意&#xff0c;ctrlF11直接把主分区调小一些&#xff0c;分区后部的空间&#xff…

计算机无法开机 如何系统还原步骤,如何解决一键GHOST还原失败后电脑无法开机?...

今天小编给大家分享的是如何解决 一键GHOST 还原失败后电脑无法开机的问题?对这个感兴趣的小伙伴们就和小编一起学习下吧&#xff0c;以下就是具体的内容。 方法&#xff1a; 1.检查显示器和主机线、接头是否接通; 2.如果外接显示器看到系统已经正常启动&#xff0c;那么可以检…

通过u盘启动计算机使用ghost安装系统步骤,一键Ghost U盘版安装使用图文教程

一键ghost优盘版,适应各种用户需要,既可独立使用,又能相互配合.主要功能包括:一键备份C盘,一键恢复C盘,中文向导,GHOST,DOS工具箱。 软件名称&#xff1a;一键GHOST 优盘版 V2020.07.20 支持sas服务器备份软件大小&#xff1a;15.7MB更新时间&#xff1a;2020-08-21立即下载 所…

联想ghost重装系统_一键ghost怎么用|一键ghost重装系统教程|一键重装系统步骤

2016-12-26 17:26:17 一键ghost是操作非常简单的一键重装工具&#xff0c;我们可以直接在本地通过一键ghost重装系统&#xff0c;不用借助光盘或U盘&#xff0c;就能重装32位或64位系统&#xff0c;一键ghost集成了32位和64位运行环境... 2017-05-27 17:38:01 U盘已经取代光盘成…

联想ghost重装系统_【一键ghost装系统教程】一键ghost重装系统_一键ghost安装教程...

2017-01-01 17:40:45 一键ghost是一款功能非常强大的系统安装工具&#xff0c;一键ghost可以直接本地一键安装系统&#xff0c;支持32位下安装64位&#xff0c;或64位下安装32位系统&#xff0c;因为一键ghost工具包含32位和64位运... 2017-04-01 17:18:39 如何一键安装系统想必…

linux一键ghost,linux 下一键 Ghost

Linux 做ghost 使用指南。 转载时请注明本博客地址。 1. 使用unetbootin-windows-585.exe 软件做 ubuntu 的liveusb &#xff0c;一定是做liveusb&#xff0c;不是liveCD&#xff0c;如果你做的是liveCD&#xff0c;要把做好的文件拷出来&#xff0c;否则&#xff0c;重启…