stm32篇--内置flash

本文介绍了STM32内置Flash的结构,包括主存储块和信息块的用途,以及编程规则。强调了Flash操作需遵循的"先擦除后写入"原则,并以16位半字为单位进行写入。示例代码展示了如何进行Flash的写入和读取字符串操作,以实现数据存储。

stm32自带内置flash,我对内置flash研究不多,曾试过隔2k内还是一块,不明原因。
stm32的FLASH分为主存储块和信息块。主存储块用于保存具体的程序代码和用户数据,信息块用于负责由stm32出厂是放置2KB的启动程序(Bootloader)和512B的用户配置信息区。
主存储块是以页为单位划分的,一页大小为1KB。范围为从地址0x08000000开始的128KB内。
对Flash 的写入操作要 “先擦除后写入”的原则;
stm32的内置flash 编程操作都是以页为单位写入的,而写入的操作必须要以16位半字宽度数据位单位,允许跨页写,写入非16位数据时将导致stm32内部总线错误。
进行内置flash读写时,必须要打开内部Rc振荡器。
下面是我用到的网络上的一个例子,改一下就可以用了:
#define FLASH_ADR 0x08008000  //要写入数据的地址

union union_temp16
{
    unsigned int un_temp16;
    unsigned char  un_temp8[2];  // example 16: 0x0102  8:[0]2 [1]1
}my_unTemp16;

configStruct myConf =
{
 "cmnet",
 "\0",
 "\0",
 "201.2.2.2",
 "9002",
 {
  "test123","\0","\0"
 }
};

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值