Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
FAL
SFUD
RT-Thread SFUD与FAL调试记录
发布于 2024-10-11 16:55:53 浏览:22
订阅该版
[tocm] ## SFUD配置 1.在组件中启用SFUD ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20241011/910393030e46715d6edcd1fe139f2c3c.png) 2.由于外部W25Q128使用的是SPI2,所以需要在board.h中开启。注意在STM32CUBE中打开SPI功能,我外部 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20241011/5fc2c745228c79f00f9487ce145b001c.png) 3.新建一个源文件w25q128.c ``` #include
#include
#include "main.h" int rt_hw_spi_flash_init(void) { __HAL_RCC_GPIOA_CLK_ENABLE(); rt_hw_spi_device_attach("spi2", "spi20", GPIOB, GPIO_PIN_11); if (RT_NULL == rt_sfud_flash_probe("W25Q128", "spi20")) { return -RT_ERROR; }; return RT_EOK; } ``` w25q128.h ``` #ifndef APPLICATIONS_W25Q128_H_ #define APPLICATIONS_W25Q128_H_ int rt_hw_spi_flash_init(void); #endif /* APPLICATIONS_W25Q128_H_ */ ``` 4.mian中初始化 rt_hw_spi_flash_init();编译后通过终端可发送sf产看命令 先初始化硬件 发送sf probe spi20 因为是SPI2的第一个设备所以是spi20,按照硬件来 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20241011/0f4888aa60968275da655d2082454788.png) 终端提示挂在成功并显示内存容量,W25q128,是128兆位,需除以8就是实际容量即16MB ## FAL配置 1.配置FAL ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20241011/d54bd7f215b27ed83bb94a8381a203ee.png) 注意这里的W25Q128要和 rt_sfud_flash_probe("W25Q128", "spi20")一致 编译之后如果会报错,找不到fal_cfg.h;放到drivers下就可以了 由于只对外部SPI FLASH进行分区管理,所以删除原来关于片上stm32f2_onchip_flash等定义 修改后fal_cfg.h代码如下,分区默认没有设计,按照自己要求分区即可 ``` #ifndef _FAL_CFG_H_ #define _FAL_CFG_H_ #include
#include
#define NOR_FLASH_DEV_NAME "W25Q128" /* ===================== Flash device Configuration ========================= */ extern const struct fal_flash_dev stm32f2_onchip_flash; extern struct fal_flash_dev nor_flash0; /* flash device table */ #define FAL_FLASH_DEV_TABLE \ { \ &nor_flash0, \ } /* ====================== Partition Configuration ========================== */ #ifdef FAL_PART_HAS_TABLE_CFG /* partition table */ #define FAL_PART_TABLE \ { \ {FAL_PART_MAGIC_WORD, "easyflash", NOR_FLASH_DEV_NAME, 0, 1024*1024, 0}, \ {FAL_PART_MAGIC_WORD, "download", NOR_FLASH_DEV_NAME, 1024*1024, 1024*1024, 0}, \ } #endif /* FAL_PART_HAS_TABLE_CFG */ #endif /* _FAL_CFG_H_ */ ``` main函数中加入 rt_hw_spi_flash_init(); fal_init(); 进行初始化,另外需要修改存储器容量搜索如下进行修改 ``` const struct fal_flash_dev nor_flash0 = { "norflash0", 0, 16*1024*1024, 4096, {NULL, read, write, erase} }; 将8修改成16,对应16M ``` 终端调试正常 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20241011/fb17c96e64298f59bf2c6b15cc1351ac.png.webp) 另外在调试中发现(sfud_norflash0.init_ok) has assert failed at read.错误,搞了半天。后来发现是自己在RT-Thread studio,中启用了FAL但是调试的时候编译不通过,怀疑默认的FAL固件有问题,于是从GITHUB上移植的FAL程序,把之前的删除了。最后总是提示这个,名称也对应了找不到问题点。于是觉得移植过程可能跟它自己生成的fal在某些地方匹配不了,于是还原了默认生成的fal。这里注意如果你删除自带的fal,通过配置停用再启用是不会还原默认的fal的。我没办法重新创建了工程重新生成,最后解决了。
查看更多
1
个回答
默认排序
按发布时间排序
xiaorui
认证专家
6小时前
小睿手办 https://item.taobao.com/item.htm?id=674889867009
点个赞👍 这类分享,建议楼主下次发布为文章更合适些
撰写答案
登录
注册新账号
关注者
0
被浏览
22
关于作者
AJS琥珀清年
这家伙很懒,什么也没写!
提问
1
回答
0
被采纳
0
关注TA
发私信
相关问题
1
【分享】如何使用 SFUD 库来操作 SPI Flash 设备
2
SFUD怎么使用
3
请教大家一下关于 SFUD 的的问题
4
移植sfud
5
使用SFUD操作FLASH
6
env使用easyflash不是3.2.4版本,而且没有type插件?
7
新增了W25X32设备成功,无法格式化
8
easyflash随着数据存储量增加,耗费时间加长
9
关于SFDP的问题
10
spi nand flash 能使用SFUD驱动吗
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
基于开源操作系统的融合创新:睿赛德科技荣获汽车操作系统TOP10
2
k230运行rt-smart
3
RT-Thread SCons上手指北
4
CAN调试过程曲折不断,记录调试过程的问题和解决方法。
5
【RT-Thread】记录一次对主仓的bsp进行修复并提交pr的总结
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
ART-Pi
FinSH
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
flash
packages_软件包
cubemx
PWM
freemodbus
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
rt_mq_消息队列_msg_queue
keil_MDK
C++_cpp
SFUD
ulog
at_device
本月问答贡献
出出啊
1515
个答案
342
次被采纳
小小李sunny
1438
个答案
289
次被采纳
张世争
786
个答案
169
次被采纳
crystal266
546
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
6
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
2
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部