当前位置:网站首页>CMT2380F32模块开发6-flash例程
CMT2380F32模块开发6-flash例程
2022-08-11 05:24:00 【andylauren】
本设备包含一颗 32kByte 容量的 FLASH 存储器,共划分为 64 个 Sector,每个 Sector 容量为 512Byte。本模块支持对该存储器的擦除、编程以及读取操作。此外,本模块支持对 FLASH 存储器擦写的保护,以及控制寄存器的写保护。
如果是初学者不建议使用这个做离线数据保存,还是老老实实外加eeprom吧,除非你明确的直到你的代码用了哪些flash,哪些falsh没有被使用。如果你是大神,可以使用这个功能做升级。
本样例展示FLASH的擦写功能,包括Sector擦除,字节/半字/字写功能。
en_result_t FlashWriteTest(void)
{
en_result_t enResult = Error;
uint32_t u32Addr = 0x3ff0;
uint8_t u8Data = 0x5a;
uint16_t u16Data = 0x5a5a;
uint32_t u32Data = 0x5a5a5a5a;
Flash_Init(FlashInt, 0);
Flash_SectorErase(u32Addr);
enResult = Flash_WriteByte(u32Addr, u8Data);
if (Ok == enResult) {
if (*((volatile uint8_t*)u32Addr) == u8Data) {
enResult = Ok;
} else {
return enResult;
}
} else {
enResult = Error;
return enResult;
}
u32Addr += 2;
enResult = Flash_WriteHalfWord(u32Addr, u16Data);
if (Ok == enResult) {
if (*((volatile uint16_t*)u32Addr) == u16Data) {
enResult = Ok;
} else {
return enResult;
}
} else {
return enResult;
}
u32Addr += 2;
enResult = Flash_WriteWord(u32Addr, u32Data);
if (Ok == enResult) {
if (*((volatile uint32_t*)u32Addr) == u32Data) {
enResult = Ok;
} else {
return enResult;
}
} else {
return enResult;
}
return enResult;
}这是它的测试代码,就是对0x3ff0地址进行字节/半字/字 擦写读过程。读数据是通过指针强制类型转换进行的。
这个例程只能通过打断看,查看FlashWriteTest的返回结果。
单独跑这个程序都能成功,要是自己写的程序就不能保证了。
边栏推荐
猜你喜欢

AIDL 简介以及使用

Pay “Attention” to Adverse Weather

360° large field of view helmet recognition system-deep learning intelligent video analysis

慢查询语句的优化思路

梅科尔工作室-DjangoWeb 应用框架+MySQL数据库第六次培训

TAMNet: A loss-balanced multi-task model for simultaneous detection and segmentation

Maykle Studio - HarmonyOS Application Development Fourth Training

跨应用间调用: URL Scheme

CNN-based Point Cloud De-Noising

Joint 3D Instance Segmentation and Object Detection for Autonomous Driving
随机推荐
Mysql导入UTF8编码数据库命令总结
Maykle Studio - Second Training in HarmonyOS App Development
Pay “Attention” to Adverse Weather
安全帽识别算法
Mei cole studios - sixth DjangoWeb application framework + MySQL database training
对MySQL查询语句的分析
梅科尔工作室-DjangoWeb 应用框架+MySQL数据库第五次培训
Node-2.垃圾回收机制
更新GreenDAO实体类导致的编译错误
>>开发工具:开发工具排名对比
博客目录
CNN-based Point Cloud De-Noising
Thread Handler
Pay “Attention” to Adverse Weather
秦始皇到底叫嬴政还是赵政?
weex入门踩坑
GBase 8s与Oracle存储对比
通用的 kernel和 userspace Makefile
目标检测前言
OpenPCDet installs the latest version: spconv in one step