
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卡中需要如何配置? |
CubeMX 生成的 STM32H7 CMake 工程打开串口 DMA 无法正常发送数据,如何解决?
STM32F429 二级启动程序 (sboot) 开发难点:LD 文件 / 堆栈 / NVIC 及 startup.s 修改疑问
STM32CubeMx生成代码错误
使用CubeMX能配置STM32L4XX芯片的低功耗模式吗?
debug选项卡中的trace enable选项是灰色的无法勾选
2.0 CubeIDE大概更新时间?
smt32h5 gpdma LL库无法初始化?
STM32双核H7核间通信的方法
yolov5 转onnx 在cubeAI进行部署的时候 部署失败 我想一下大佬们这是什么原因
请问原子哥,STM32F407例程力,FFT测试章节里,计算时间统计正确吗?
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