硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4468|回复: 11
收起左侧

[ThreadX全家桶] stm32H7 FILEX驱动

[复制链接]

11

主题

28

回帖

61

积分

初级会员

积分
61
发表于 2020-7-5 20:37:29 | 显示全部楼层 |阅读模式
花了点时间折腾了下filex的驱动,实测没问题,直接套的cubemx生成的代码,要把cache关了,不然有问题,cache的设置跑fatfs,跟rl_flash都没问题,不知道filex什么鬼情况

filex h7 sdio driver.7z (4.82 KB, 下载次数: 44)
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2020-7-5 22:33:58 | 显示全部楼层
谢谢分享。
回复

使用道具 举报

11

主题

28

回帖

61

积分

初级会员

积分
61
 楼主| 发表于 2020-7-5 23:12:08 | 显示全部楼层
对了segger带的stm32h750x_vectors.s文件貌似有问题,没有SDMMC2_IRQHandler如果要用sdmmc2自己要处理下文件
回复

使用道具 举报

692

主题

3576

回帖

5677

积分

论坛元老

积分
5677
发表于 2020-7-6 08:56:45 | 显示全部楼层
牛x喔
回复

使用道具 举报

8

主题

108

回帖

142

积分

初级会员

积分
142
发表于 2020-7-6 09:47:26 | 显示全部楼层
尝试一下开启NAND FLASH的MPU保护,会给你惊喜。
回复

使用道具 举报

11

主题

28

回帖

61

积分

初级会员

积分
61
 楼主| 发表于 2020-7-6 10:08:45 | 显示全部楼层
李益达 发表于 2020-7-6 09:47
尝试一下开启NAND FLASH的MPU保护,会给你惊喜。

这个的cache已经坑了我一下午,最终才想起来cache问题
回复

使用道具 举报

11

主题

28

回帖

61

积分

初级会员

积分
61
 楼主| 发表于 2020-7-6 10:09:31 | 显示全部楼层

你的filex遇到cache问题了嘛
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2020-7-7 09:14:11 | 显示全部楼层
solarjjl 发表于 2020-7-5 23:12
对了segger带的stm32h750x_vectors.s文件貌似有问题,没有SDMMC2_IRQHandler如果要用sdmmc2自己要处理下文 ...

SES将其整成SDMMC_IRQHandler了,在H743里面有,你看下你的H750是不是也是这样
回复

使用道具 举报

11

主题

28

回帖

61

积分

初级会员

积分
61
 楼主| 发表于 2020-7-7 15:04:16 | 显示全部楼层
eric2013 发表于 2020-7-7 09:14
SES将其整成SDMMC_IRQHandler了,在H743里面有,你看下你的H750是不是也是这样

嗯有SDMMC_IRQHandler了,cubemx生成的是SDMMC2_IRQHandler,我就改了.s文件
回复

使用道具 举报

0

主题

48

回帖

48

积分

新手上路

积分
48
发表于 2020-7-7 21:26:28 | 显示全部楼层
关于这个cache问题,楼主可以参考STM32F746G-DISCO中的FileX驱动,下载地址:https://github.com/azure-rtos/sa ... ples_2020_05_29.zip

驱动文件在 Azure_RTOS_6.0_STM32F746G-DISCO_IAR_Samples_2020_05_29\iar\fx\fx_stm32_sdio_driver.c

具体来说,在调用BSP_SD_ReadBlocks_DMA前,要加上SCB_CleanInvalidateDCache_by_Addr((uint32_t*)media_ptr -> fx_media_driver_buffer, media_ptr -> fx_media_driver_sectors * 512);
在调用BSP_SD_WriteBlocks_DMA前,要加上SCB_CleanDCache_by_Addr((uint32_t*)media_ptr -> fx_media_driver_buffer, media_ptr -> fx_media_driver_sectors * 512);
回复

使用道具 举报

11

主题

28

回帖

61

积分

初级会员

积分
61
 楼主| 发表于 2020-7-7 22:25:07 | 显示全部楼层
Ting 发表于 2020-7-7 21:26
关于这个cache问题,楼主可以参考STM32F746G-DISCO中的FileX驱动,下载地址:https://github.com/azure-rto ...

感谢!我用F7 CUBEIDE那个工程里的驱动改的,我再去看看去
回复

使用道具 举报

11

主题

28

回帖

61

积分

初级会员

积分
61
 楼主| 发表于 2020-7-8 11:57:08 | 显示全部楼层
看了看rl-flash的sdmmc驱动,确实有cache操作,应该就是这部分原因了,由于是直接参考的F7驱动,所以没考率这方面问题,加上应该就好了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-17 16:39 , Processed in 0.044929 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表