RT-Thread完整版fal及easyflash移植

本文讲述了在深圳隔离期间,如何在家利用Keil5和STM32CubeMX等工具,成功移植Fal和EasyFlash软件包到STM32F103 RT-Thread 3.1.3系统中,包括Kconfig配置、ENV工具操作和代码修改,以实现代理验证工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近深圳开始隔离了,居家办公对于我们这种需要做验证仿真的,而家伙都没在手上的打工人太难了。因为最近项目需要用到fal加easyflash软件包,而之前搞过,但是忘记具体的了。还好留有文档,现在也转为文章吧。现在是真的体会到了学了东西没做记录等于白学是什么意思了。

(该移植操作基于stm32f103系列RT-Thread3.1.3)


环境:Keil5,ENV工具,STM32F103VET6,STM32CubeMX,stm32f103_hal_1.7.0

只要会制作BSP模板,都可以根据本文进行移植,同时博主也发过制作基于RT-Thread3.1.3系统的BSP制作过程,连接如下 STM32F103系列移植rtthread3.1.3完整版详细过程

1.移植fal

1.1修改Kconfig

在工程内board文件夹中修改Kconfig,添加如下代码,添加Flash支持。

    config BSP_USING_ON_CHIP_FLASH
        	bool "Enable ON_CHIP_FLASH"
         default y

在这里插入图片描述在这里插入图片描述
保存后退出

1.2通过ENV工具打开fal

打开env工具进入到移植好RT-Thread系统的工程目录下输入menucongfig命令进行配置。
在这里插入图片描述进入到以下选项路径:
RT-Thread online packages ->
System packages -> 选择打开fal

在这里插入图片描述
进入fal进行如下设置
在这里插入图片描述
确认Flash支持打开,进入到如下选项中:
Hardware Drivers Config ->
On-chip Peripheral Drivers ->

在这里插入图片描述退出ENV工具,保存设置。然后在ENV工具内输出pkgs –update更新软件包。
在这里插入图片描述进入工程文件夹下会发现有个packages的文件夹,打开fal/samples/porting复制里面的fal_cfg.h到packages/fal/inc路径下
在这里插入图片描述在这里插入图片描述
再次打开ENV工具在工程路径下重新生成MDK5工程
在这里插入图片描述出现如下提示就生成成功了
在这里插入图片描述

1.3打开工程修改文件

打开工程,会发现增加了fal分组以及在Drivers中增加了drv_flash_f1.c文件,打开该文件,找到以下定义:
在这里插入图片描述记住这两个定义
打开fal_cfg.h文件进行如下修改:
注意几个地方:片内Flash名一定要与drv_flash_f1.h中的一样,这里包括设备名以及设备表,原本的设备表是stm32f2_onchip_flash,注意要修改
在这里插入图片描述在mian.c中调用fal_init()函数初始化fal
在这里插入图片描述

1.4编译下载测试

此时编译下载应该是没有问题的,直接下载到开发板中,使用串口工具连接串口,会出现以下信息,说明初始化成功
在这里插入图片描述按下tab键会发现fal命令
在这里插入图片描述
输入fal会看到能够进行的操作:
在这里插入图片描述接下来进行查看分区、擦、写以及读的操作
在这里插入图片描述至此,fal的移植就成功了,根据后续的需求进行跟详细的分区操作



2.移植EasyFlash

2.1通过ENV工具打开并设置EasyFlash

打开ENV工具进入工程路径下输入命令menuconfig

进入以下选项:
RT-Thread online packages ->
Tools packages ->

在这里插入图片描述进行EasyFlash设置:
在这里插入图片描述Stm32f103cbt6最小擦除粒度是1024(因为芯片页大小为1K)
最小写入粒度设置成STM32F1

退出menuconfig界面保存设置,输入命令pkgs –update更新软件包
将工程目录下软件包内把prots里的ef_fal_port.h文件复制到src文件夹内
在这里插入图片描述在这里插入图片描述回到ENV输入scons --target=mdk5重新生成工程

2.2打开工程修改文件

打开ef_fal_port.c文件,修改easyflash名,增加需要储存的变量名:
在这里插入图片描述重新打开之前移植好的fal组件中的fal_cfg.h文件,添加flash分区:
注意名称一致
在这里插入图片描述
添加测试代码
在这里插入图片描述
主函数中调用
在这里插入图片描述

2.3测试

编译下载程序,通过串口可以看到以下信息:
在这里插入图片描述
此时我们输入我们编辑好的MSH命令print_reboot
在这里插入图片描述此时我们断电再输入print_reboot
在这里插入图片描述看到掉电以后数据还是保存了,证明移植成功easyflash

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

弓长于水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值