调用 rt_sfud_flash_probe函数的时候,就会出现硬件出错

发布于 2020-06-24 15:31:41
rt_hw_spi_device_attach("spi2", "spi20", GPIOF, GPIO_PIN_10);
rt_kprintf("attach ok! \r\n");

这两句都正常,当时调用
rt_sfud_flash_probe("W25Q256","spi20"))的时候,就出现了硬件出错问题

1.png
2.png

查看更多

关注者
0
被浏览
561
9 个回答
早起鸟
早起鸟 2020-06-24
没有用QSPI,用的是硬件SPI2引脚。把rt_sfud_flash_probe("W25Q256","spi20"))去掉,挂载都没有问题。
4.png
3.png

不知道 大家 有没有遇到 过,相互交流一下。。
早起鸟
早起鸟 2020-06-27
以上的问题,莫名其妙地好了。。
但是又发现了新的问题。如下:

QQ图片20200627102433.png
QQ图片20200627102440.png

擦除和写都没问题,但是一读就内存出错。
不知道 有没有遇到 过。
JQRR_7669
JQRR_7669 认证专家 2020-06-27
是堆栈溢出了吧,加大堆栈尺寸试试
早起鸟
早起鸟 2020-06-27
JQRR_7669 发表于 2020-6-27 13:04
是堆栈溢出了吧,加大堆栈尺寸试试


好像不是堆栈,改大也不行
JQRR_7669
JQRR_7669 认证专家 2020-06-27
看打印提示是有变量没有对齐引起的,先关掉fpu试试
早起鸟
早起鸟 2020-06-27
JQRR_7669 发表于 2020-6-27 13:24
看打印提示是有变量没有对齐引起的,先关掉fpu试试


FPU是在哪里关
早起鸟
早起鸟 2020-06-27
7.png而且我使用的例程是跟官网上的一样。

8.png

在主函数这里被调用 。
不知道 错误 是怎么引起的。今天上午测了一下,。发现没有错误 了,probe也可以,就是sf read 会出现硬件出错。
下午发现到这个函数又不行了。
@armlink,@各位大牛。。
早起鸟
早起鸟 2020-06-28
我用的是H750的SPI2来驱动,是不是这个接口有问题?昨天上午可以了一会(但是读取函数 sf read还是不行。),工程重新用env生成了一下就不行了。
JQRR_7669
JQRR_7669 认证专家 2020-06-28
提供的信息太少了,没办法帮你定位故障原因和位置,你自己单步跟踪下,看看在什么位置出的错
whj467467222
whj467467222 认证专家 2020-06-28
上传代码吧
早起鸟
早起鸟 2020-06-28
JQRR_7669 发表于 2020-6-28 09:18
提供的信息太少了,没办法帮你定位故障原因和位置,你自己单步跟踪下,看看在什么位置出的错 ...


我已经定位到如下:
1.png
运行到这个位置就会硬件出错。
早起鸟
早起鸟 2020-06-28
whj467467222 发表于 2020-6-28 09:28
上传代码吧


好的,我直接把代码上传上来,麻烦你有时间,帮我看一下,函数在thread_task.c里面的static int spi_flash_init(void) 谢谢!下载附件[stm32h750_wds.zip]






whj467467222
whj467467222 认证专家 2020-06-28
早起鸟 发表于 2020-6-28 10:16
好的,我直接把代码上传上来,麻烦你有时间,帮我看一下,函数在thread_task.c里面的static int spi_flas ...


thread_task.c的第94行修改为下面这句之后再试试
INIT_APP_EXPORT(spi_flash_init);
早起鸟
早起鸟 2020-06-28
whj467467222 发表于 2020-6-28 11:48
thread_task.c的第94行修改为下面这句之后再试试


也是一样出错。
whj467467222
whj467467222 认证专家 2020-06-28
注释掉你的flash初始化,通过终端输入list_device看看打印信息
早起鸟
早起鸟 2020-06-28
    本帖最后由 早起鸟 于 2020-6-28 14:51 编辑


whj467467222 发表于 2020-6-28 13:51
注释掉你的flash初始化,通过终端输入list_device看看打印信息

1.png
2.png

方便我加你一下联系方式吗?我的联系QQ :2531683451
一路寻梦
一路寻梦 2020-11-13

我也发现和你一模一样的问题,rtthread studio 生成潘多拉475板芯片的代码,用QSPI驱动板载flash,

rt_hw_spi_device_attach("qspi1","qspi10",GPIOE,GPIO_PIN_11);
devflash=rt_sfud_flash_probe("W25q128","qspi10");
调用第二句就出现硬件BUG

公司多台机生成的代码都出现这个问题,说明是必现的,希望大师自己生成测一下
Juggernaut
Juggernaut 2021-02-22

楼主问题解决了吗?怎么操作的

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览