新唐 cortex - m0 FMC的使用

本文介绍了在嵌入式项目中如何使用新唐Cortex-M0的FMC进行数据保存,强调了初始化、写保护和数据验证的重要性,并分享了一段封装的FMC写入函数代码,同时提醒开发者注意FLASH的擦写次数限制和避免编程错误导致的系统崩溃。
摘要由CSDN通过智能技术生成

在这里插入图片描述在有联网需求的嵌入式项目中经常有场景需要本地能够保存一些掉电不丢失的消息,比如区分冷热启动或者保存离线数据等等。
在需要保存数据的量比较小的时候为了节约成本,可以不用外部FLASH或EEPROM,使用主控的内部空间。

下面介绍周星星在新唐单片机开发之旅中的景点FMC。

基础操作
打开FMC驱动的头文件,找到我需要的四个基础函数:
1、使能函数;
2、读函数;
3、写函数;
4、擦除函数。
然后我先封装了一个任意地址写任意数量数据再验证。
嗯,失败了。
应该是封装的函数有问题吧。
这里提醒某些小伙伴一句千万不要像阿星一样驱动函数都没验证OK,先把应用代码敲完了。
有这个习惯的小伙伴可能认为反正驱动函数有问题后面再调,开发顺序正反都一样,况且官方的库函数怎么可能有问题呢。但是领导看见你搞了半天没有进度,他可是会着急的哦。
封装的函数验证失败后,我用库文件的3个元函数重新验证。伪代码如下:
fmc_open();
fmc_write(addr,data);
if(data == fmc_read(addr))
printf(“ok !\r\n”);
else
printf(“err !\r\n”);
打印结果是err。
当时阿星如下图所述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值