
cubeMX固件库版本STM32Cube FW_F4V1.26.2 STM32F4上跑了FreeRtos,Fatfs,USB_Device_Mass Storage这几个中间件 由于使用了FreeRtos,SD卡强制为DMA控制 芯片需要对SD卡中的文件进行读写修改,文件大小不确定,所以FSMC接了1M的外表SRAM,使用FreeRtos-heap4管理这部分内存. 一开始在挂载文件系统时报告磁盘错误,排查后发现是MX生成的DMA的中断服务函数中没有调用BSP的回调函数,添加后报没有找到文件系统错误,调用fatfs的格式化函数,返回无异常,但再次挂载后仍提示未找到文件系统 直接读取SD卡内容,发现确实文件系统的配置没有被写入,尝试直接写入SD数据,数据来源为内部RAM,写入后读取,返回的数据是写入的内容,把数据来源定位到外部SRAM,再次写入SD卡,读取后发现SD卡的数据没有被改变,但HAL库的DMA发送函数没有回报异常。 目前需要让外部SRAM的数据可以直接通过DMA传输到SD卡中需要如何配置? |
关于使用FMC功能中的NAND FLASH上的R/B引脚
想要一个成熟产品OTG通信的程序。
请教下,使用 filex 文件系统需要支持中文的目录及文件名要怎么配置呀 ?
使用CUBEMX创建工程全部乱码
最近在学习使用VS code软件+MX配合开发
STM32F429V烧录是无法识别到芯片怎么办?
观测器
stm32f405rgt6为什么无法串口连接STM32CubeProgrammer?
CubeMX 生成的 STM32H7 CMake 工程打开串口 DMA 无法正常发送数据,如何解决?
STM32F429 二级启动程序 (sboot) 开发难点:LD 文件 / 堆栈 / NVIC 及 startup.s 修改疑问
SDIO 外设的 DMA 只能访问 AHB 总线上的“内部 SRAM1/2/3(0x2000 0000 起)”。 你通过 FSMC 挂在外部总线上的 1 M SRAM(典型地址 0x6000 0000 或 0x6800 0000 )属于 AHB 外部的存储器,SDIO DMA 无法直接访问。
[md]好的,我还使用在该芯片的全速USB2.0模拟了U盘,同样使用DMA对SD卡进行读取写入,在将电脑与芯片的USB2.0接口连接后(数据接口使用软件上拉,数据线长1m),电脑的资源管理器能识别到U盘设备,但读取时间很长才读取完毕可以打开,SD卡的容量为8GB(实际7.3GB),单次读取为512字节。不清楚造成这个传输速度慢的原因是否也与DMA传输有关,传输8MB文件的速度为355KB/s,但是传输过程是一卡一卡的。
芯片上运行了FREERTOS系统,系统掌管的中断优先级是5-15,SDIO中断优先级是5,SD的两个DMA中断优先级是6,USB_FS中断优先级是7