当前位置:网站首页>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的返回结果。
单独跑这个程序都能成功,要是自己写的程序就不能保证了。
边栏推荐
猜你喜欢

安全帽识别系统-为安全生产保驾护航

目标检测前言

基于AI智能图像识别:4个不同的行业应用

The working principle and industry application of AI intelligent image recognition

梅科尔工作室-HarmonyOS应用开发第一次培训

The latest safety helmet wearing recognition system in 2022

Hardhat Recognition System - Solving Regulatory Conundrums

LiDAR Snowfall Simulation for Robust 3D Object Detection

GBase 8a MPP Cluster产品高级特性

跨应用间调用: URL Scheme
随机推荐
CVPR2020:Seeing Through Fog Without Seeing Fog
梅科尔工作室-DjangoWeb 应用框架+MySQL数据库第六次培训
Thread Handler
Pay “Attention” to Adverse Weather
Toward a Unified Model
梅科尔工作室-HarmonyOS应用开发第四次培训
360°大视野安全帽识别系统-深度学习智能视频分析
华为手机软键盘挡住Toast
对MySQL查询语句的分析
Mei cole studios - fifth training DjangoWeb application framework + MySQL database
RecycleView
TAMNet:A loss-balanced multi-task model for simultaneous detection and segmentation
websocket聊天通讯(全局封装)
基于uniapp开发的聊天界面
CVPR2022——Not All Points Are Equal : IA-SSD
GBase 8a MPP Cluster产品支撑的平台
内核与用户空间通过字符设备通信
我心仪的数据集—目标检测为主
Socket 网络协议 等
数据库的基本语法(其一)