NuMaker-IoT-M487开发板介绍

描述

有些应用场合需要使用 Flash 储存配置数据。大多数微控制器内建 Flash 用以储存程序代码。M487 微控制器内建 512K Bytes APROM 和 4K Bytes LDROM 的 Flash 内存。RT-Thread 的 fal (Flash 抽象层) 套件提供统一的操作接口分区管理与存取功能。因此利用 fal 的分区管理功能很容易在 M487 的 APROM 分割一个区块做为数据储存。

这次仍以 NuMaker-IoT-M487 开发板为操作范例。关于开发板的介绍,请参考系列文章第一篇 “NuMaker-IoT-M487 的 RT-Thread 快速上手指南”。

代码

在 “NuMaker-IoT-M487 加载RT-Thread软件包 at_device, 三分钟上手Wi-Fi 模块” 文章里的范例不仅包含 RT-Thread OS、at_device 套件,也加入 fal 套件。展开范例计划里的 packages,可以看到 fal-latest,因此不用再额外加入 fal 套件。

代码

从 RT-Thread 的 fal 套件说明 (https://packages.rt-thread.org/detail.html?package=fal) 得知叫用 init() 后,就可以对 Flash 做read()、erase()、write() 的操作。但是必须先为 fal 设定 M487 的 Flash 配置。这个范例里已经有配置。展开计划里的 board, 开启 fal_cfg.h。

代码

这里配置有规划两个 Flash 空间,一个是 ldrom,另一个是 aprom 。 ldrom 有 4K bytes,整个都可以使用,因此从 ldrom 的地址 0 开始,大小有 4K (0x1000) 。aprom 有 512K bytes,规划最后的 128K bytes 做为数据储存空间,因此从 aprom 的地址 384K (0x60000) 开始, 大小有 128K (0x20000)。

请继续按照前篇文章的步骤编译,再把固件刻录到 NuMaker-IoT-M487 开发板。利用 RT-Thread 的console, 可以测试 Flash, 暂且不用另写代码。当按下 NuMaker-IoT-M487 的Reset 键,终端机出现msh /》后就可以下命令。在终端机里输入

fal probe, 列出 ldrom 和aprom 两个 flash.

fal probe aprom, 选用 aprom

fal erase, 清除一块区块

fal read, 读取结果确认是清除的, 内容都为 0xFF.

fal write, 写入一些数据, 这里是 Nuvoton 的 ASCII 码。

再 fal read, 确认数据写入。

再 fal erase, fal read, 确认数据又清除了。

代码

  审核编辑:彭菁
 
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分