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

文章目录

  • 内存模型
  • 程序

内存模型

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.hqwc.cn/news/22331.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp下载和上传照片

利用uniapp开发的时候&#xff0c;需要下载和上传照片&#xff0c;在H5和微信小程序中的写法不一样。 H5环境下 浏览器中下载就是模拟超链接下载。也不需要获取什么权限&#xff0c;比较简单。 // #ifdef H5 this.isLoading true; let oA document.createElement("a&…

Spring Boot原理分析(二):IoC

文章目录 〇、IoC思想和IoC容器IoC体现了什么思想什么是IoC容器 一、Spring IoC容器的继承层次1.BeanFactory2.ListableBeanFactory3.HierarchicalBeanFactory4.ApplicationContext5.常用的ApplicationContext的实现类ClassPathXmlApplicationContext&#xff08;基于XML配置&a…

文件IO_打开和关闭文件(附Linux-5.15.10内核源码分析)

目录 1.打开文件 1.1 函数原型介绍 1.1.1 open函数 1.1.2 creat函数 1.1.2 openat函数 1.2 内核源码分析 1.3 函数原型区别 2.关闭文件 2.1 函数原型介绍 2.1.1 close函数 2.2 内核源码实现 1.打开文件 1.1 函数原型介绍 1.1.1 open函数 #include <sys/types.…

国产MCU-CW32F030开发学习-BH1750模块

国产MCU-CW32F030开发学习-BH1750模块 硬件平台 CW32_48F大学计划板CW32_IOT_EVA物联网开发评估套件BH1750数字型光照强度传感器 BH1750 BH1750是一款数字型光照强度传感器&#xff0c;能够获取周围环境的光照强度。其测量范围在0~65535 lx。lx勒克斯&#xff0c;是光照强…

前端漏洞xss

网络钓鱼、获取Cookie、强制弹窗获取流量、网站挂马(将恶意代码嵌入程序&#xff0c;用户浏览页面时计算机将被嵌入木马)、发送垃圾信息或广告、传播蠕虫病毒 漏洞原理 XSS(Cross Site Scripting),是一种跨站的脚本攻击&#xff0c;曾简称为CSS&#xff0c; 后改为XSS。 攻击…

git下载源码及环境搭建之数据库(二)

学习目标&#xff1a; 数据库 新项目使用 数据库文件 的配置 及相关属性的设置 步骤&#xff1a; 数据库 下图所示为开发时所用数据库 第一步&#xff1a;新建一个数据库 注意&#xff1a; 字符集与排序规则我们应该选择utf-8 相关 选中新创建的表&#xff0c;点击备份—还…

备战秋招009(20230714)

文章目录 前言一、Java内存区域1、JVM组成部分2、运行时数据区域01、基础02、程序计数器03、虚拟机栈04、本地方法栈05、堆06、方法区07、直接内存 3、HotSpot虚拟机对象01、对象的创建02、内存分配03、内存布局04、访问定位 二、垃圾回收1、堆空间01、空间结构02、GC 分类03、…

Unified Named Entity Recognition as Word-Word Relation Classification

原文链接&#xff1a;https://arxiv.org/pdf/2112.10070.pdf AAAI 2022 介绍 NER主要包括三种类型&#xff1a;flat、overlap和discontinuous。目前效果最好的模型主要是&#xff1a;span-based和seq2seq&#xff0c;但前者注重于边界的识别&#xff0c;后者可能存在exposure b…

OpenCV 入门教程:自适应阈值处理

OpenCV 入门教程&#xff1a;自适应阈值处理 导语一、自适应阈值处理二、示例应用2.1 图像二值化2.2 图像去噪 总结 导语 自适应阈值处理是图像处理中常用的技术之一&#xff0c;它能够根据图像的局部特征自动调整阈值&#xff0c;从而提高图像的处理效果。在 OpenCV 中&#…

LabVIEW-实现波形发生器

一、题目 用两种方法实现一种多类型信号波形发生器&#xff08;至少包括&#xff1a;正弦波、三角波、方波等&#xff09;&#xff0c;可以调节信号频率、幅度、相位等参数&#xff0c;可以图形化显示信号波形。 需要给出产生信号波形的基本方法、程序设计基本方法以及程序实现…

SpringCloud(4) Eureka 如何主动下线服务节点

目录 1.直接停掉客户端服务2.发送HTTP请求1&#xff09;调用DELETE接口2&#xff09;调用状态变更接口 3.客户端主动通知注册中心下线1&#xff09;代码示例2&#xff09;补充3&#xff09;测试 一共有三种从 Eureka 注册中心剔除服务的方式&#xff1a; 1.直接停掉客户端服务…

慢速减压控制技术在预防同步辐射光源和原位透射电镜氮化硅窗口膜真空中破裂的应用

摘要&#xff1a;氮化硅薄膜窗口广泛应用于同步辐射光源中的扫描透射软X射线显微镜和原位透射电镜&#xff0c;但氮化硅薄膜只有几百纳米的厚度&#xff0c;很容易因真空抽取初期的快速压差变化造成破裂。为此&#xff0c;本文提出了线性缓变压力控制解决方案&#xff0c;即控制…