Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
SFUD
W25Q256 使用SFUD驱动的一些疑问
发布于 2019-08-23 16:38:46 浏览:4431
订阅该版
平台是正点原子F429,代码是最新同步的。我在测试SPI Flash目前有以下三个疑问请教各位: **在fal_flash_sfud_port.c定义如下:** ```struct fal_flash_dev nor_flash0 = {FAL_USING_NOR_FLASH_DEV_NAME, 0, 32* 1024 * 1024, 4096, {init,read, write, erase}};``` **问题1:不清楚什么触发了以下两句断言。** int fal_flash_init(void) { ......... assert(device_table*->ops.read); //如果注释以下两句就会触发断言,但是注释了后,能使用easyflash正常读写外部flash的数据。 //assert(device_table*->ops.write); //assert(device_table*->ops.erase); ......... } 注释上述两句断言,上电打印的初始化信息如下 ``` \ | / - RT - Thread Operating System / | \ 4.0.2 build Aug 23 2019 2006 - 2019 Copyright by rt-thread team [SFUD] (..\..\..\components\drivers\spi\sfud\src\sfud.c:861) The flash device manufacturer ID is 0xEF, memory type ID is 0x40, capacity ID is 0x19. [SFUD] (..\..\..\components\drivers\spi\sfud\src\sfud_sfdp.c:122) Error: Check SFDP signature error. It's must be 50444653h('S' 'F' 'D' 'P'). [SFUD] Warning: Read SFDP parameter header information failed. The W25Q256 is not support JEDEC SFDP. [SFUD] Find a Winbond W25Q256FV flash chip. Size is 33554432 bytes. [SFUD] (..\..\..\components\drivers\spi\sfud\src\sfud.c:840) Flash device reset success. [SFUD] (..\..\..\components\drivers\spi\sfud\src\sfud.c:941) Enter 4-Byte addressing mode success. [SFUD] W25Q256 flash device is initialize success. [SFUD] Probe SPI flash W25Q256 by SPI device spi50 success. [D/FAL] (fal_flash_init:61) Flash device | L$ | addr: 0x00000000 | len: 0x0000ffff | blk_size: 0x00000000 |initialized finish. [D/FAL] (fal_partition_init:272) Warning: Do NOT found the flash device(W25Q256). [D/FAL] (fal_partition_init:272) Warning: Do NOT found the flash device(W25Q256). [32;22m[I/FAL] ==================== FAL partition table ====================[0m [32;22m[I/FAL] | name | flash_dev | offset | length |[0m [32;22m[I/FAL] -------------------------------------------------------------[0m [32;22m[I/FAL] | ef | W25Q256 | 0x00000000 | 0x00200000 |[0m [32;22m[I/FAL] | download | W25Q256 | 0x00200000 | 0x00300000 |[0m [32;22m[I/FAL] =============================================================[0m [32;22m[I/FAL] RT-Thread Flash Abstraction Layer (V0.4.0) initialize success.[0m [Flash] (packages\EasyFlash-latest\src\ef_env.c:1764) ENV start address is 0x00000000, size is 8192 bytes. [Flash] EasyFlash V4.0.99 is initialize success. [Flash] You can get the latest version on https://github.com/armink/EasyFlash . msh >``` 之后使用easyflash读写都没有问题。 **问题2:以下两句错误和警告怎么消除。** ```[SFUD] (..\..\..\components\drivers\spi\sfud\src\sfud_sfdp.c:122) Error: Check SFDP signature error. It's must be 50444653h('S' 'F' 'D' 'P'). [SFUD] Warning: Read SFDP parameter header information failed. The W25Q256 is not support JEDEC SFDP.``` **问题3:驱动应该是有是有问题,运行sf bench yes会shell卡死。easyfalsh读写却是正常。** ```sf write 4096 2 3 4 5 Write the sf_cmd flash data success. Start from 0x00001000, size is 4. Write data: 2 3 4 5 . msh > msh >sf read 4096 10 Read the sf_cmd flash data success. Start from 0x00001000, size is 10. The data is: Offset (h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F [00001000] 00 02 00 00 45 46 34 30 FF FF ....EF40.. easyfalsh测试 msh >setenv 3257 33 msh > msh >printenv 222=35 3257=33 msh >```
查看更多
6
个回答
默认排序
按发布时间排序
还没想好
2019-08-23
这家伙很懒,什么也没写!
是不是 SPI 总线有问题,数据传输过程中出错了吧。建议降低 SPI 时钟频率试试
beli
2019-08-23
这家伙很懒,什么也没写!
>是不是 SPI 总线有问题,数据传输过程中出错了吧。建议降低 SPI 时钟频率试试 ... --- easyflash能正常读写就很奇怪了
还没想好
2019-08-23
这家伙很懒,什么也没写!
>easyflash能正常读写就很奇怪了 --- 正常读写不表示 SPI 总线没有问题,有些瑕疵也能正常读写。
armink
2019-08-23
这家伙很懒,什么也没写!
这两句警告有可能是驱动初始化问题,也有可能是 Flash 有假货,可以试试用逻辑分析仪抓下波形,看下单片机发送 SFDP 那个命令后,是不是你这个 flash 确实没有响应
beli
2019-08-24
这家伙很懒,什么也没写!
>这两句警告有可能是驱动初始化问题,也有可能是 Flash 有假货,可以试试用逻辑分析仪抓下波形,看下单片机 ... --- 买的正点原子的开发板:lol应该不至于用假货,我先检查驱动的问题 //assert(device_table[i]->ops.write); //assert(device_table[i]->ops.erase); 触发这两句断言是什么原因呢,
armink
2019-08-24
这家伙很懒,什么也没写!
>买的正点原子的开发板应该不至于用假货,我先检查驱动的问题 >//assert(device_table->ops.write); >// ... --- 上逻辑分析仪是王道
撰写答案
登录
注册新账号
关注者
0
被浏览
4.4k
关于作者
beli
这家伙很懒,什么也没写!
提问
11
回答
33
被采纳
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
简单两步配置RTT源码阅读环境 vsc+clangd
2
恩智浦[FRDM-MCXN947]初探 之 ADC与DAC
3
LVGL使用字库IC芯片显示中文
4
基于STM32H750和Rt-Thread的CANFD通信实现的记录(一)
5
freemodbus主机在freertos的适配,参考rtthread例程
热门标签
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
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
编译报错
Debug
SFUD
msh
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1443
个答案
289
次被采纳
张世争
805
个答案
174
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
4
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
1
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部