Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
FAL
flashDB
SFUD
rtt-nano+FlashDB+Fal+SFUD读写外部flash芯片,求助
发布于 2023-12-26 19:33:48 浏览:867
订阅该版
开发环境是keil mdk6,芯片at32f403Avg,rtt-nano版本3.15,flashdb版本1.1.0, Fal版本0.5.99,SFUD版本从gitee下的最新版。 出现问题是,我需要同时使用片上flash与片外flash,片上flash存日志、工作参数,片外flash存测量结果。但片上、外置flash同时工作就有问题。 片上flash已经正常工作,片外flash spi通信、SFUD库都能调试正常。 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20231226/91e845a471a6d1b769c4fb045947c440.png)之前调试片上flash存日志、工作参数基本无问题, ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20231226/d9696fe8640316b0cb95021d23800074.png.webp) 可以正常保存工作参数,可以正常写入、读出日志, ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20231226/143f917139f464da685663c06e46dae2.png) 这是片上flash初始化流程,分成两个分区,一个kvdb,一个tsdb。 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20231226/a1827fbf1e719d4fe12abe132bfa70a7.png) 但是一初始化外部flash,外部flash就出问题,片上flash也出问题。片外flash分区偏移地址出问题,片上flash分区不能识别。 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20231226/c3f4d6c7e1f3ee728fcc9c2d3ea16137.png) 但如果删掉片上flash分区,只保留片外flash分区,片外flash分区就能成功初始化,能写入,能读取 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20231226/ca6725a099576ce9df5b0c70894f5041.png) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20231226/ac7dcd4544ca3e2c4aa163c9fddfe243.png) 请教这是咋回事呢? 我还有个问题是,假如片外flash分区超过大概0x00076000大小,分区初始化就过不去,失败;假如低于这个大小就能通过。这是不是我这片flash在那个位置有损坏导致擦除错误,还是我的spi函数有问题呢?(ps这问题不重要,大佬们请不要在这问题花心思... ) 低于0x00070000,可以正常读写 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20231226/d0d33a87b8abad9a403bdbece9613386.png) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20231226/c55fc7f4cf5c09d8b93b9b0255d60d34.png) 高于0x00070000,读写不正常 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20231226/847364ed0c8b10f1011bd0b9fe78db64.png.webp)![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20231226/faee151c8116026b8367b7d446d7ab09.png) (后来试验发现只与分区大小有关,与偏移地址无关,是不是spi连续写入超过0x00070000失败了?有待继续实验) ps2,高于0x00070000读写失败问题找到了,flash给定空间太大,flashdb初始化需要的时间太长,主函数死在这里时间太长直接触发看门狗了,单独开个线程初始化flashdb,问题解决。 就是flash初始化时间也太长了,12MB花了1分25秒格式化...
查看更多
2
个回答
默认排序
按发布时间排序
fox0815
2023-12-27
这家伙很懒,什么也没写!
找到问题所在。 第一个问题是,fal分区表是静态的,且任一分区初始化时,会自动检查所有分区、所有flash设备地址、大小是否正确。我同时使用片上flash记录日志、片外flash记录测量结果,而日志分区在时钟系统初始化之前抢先初始化以记录之后外设初始化记录;片外flash在时钟系统初始化之后再初始化方便配置spi时钟,而片上flash设备的容量,我设计成根据识别到芯片sfpd寄存器组内容后,根据读取内容设置长度,方便处理不同flash芯片。 但如果是所有flash设备在最开始全都检查大小,那刚开始时片外flash容量为0,触发错误。 第二个问题是电路问题,片外flash距离mcu距离远、没做好铺地,导致30MHz spi工作时信号衰减严重,减速+通信失败再重试解决。
CrazyH
2023-12-27
这家伙很懒,什么也没写!
16MB的外置,不推荐再用fal挂分区了,直接上文件系统,如lfs,另外FlashDB也有文件模式
撰写答案
登录
注册新账号
关注者
0
被浏览
867
关于作者
fox0815
这家伙很懒,什么也没写!
提问
5
回答
1
被采纳
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
RT-Thread项目助手v0.2.0 - 支持Env Windows
2
RttreadV5.10上,GD32F450Z RTC时间显示问题
3
rt-smart启动流程分析
4
EtherKit快速上手PROFINET
5
RTThread USB转串口无法接收数据
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
cubemx
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
SFUD
msh
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
813
个答案
177
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
149
次被采纳
本月文章贡献
出出啊
1
篇文章
2
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
3
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部