|
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卡中需要如何配置? |
无刷电机PWM输出配置
CubeMX+STM32F407VGT6+配置lwip的httpd功能,工程编译报错
workbench5.3.1生成代码问题
motor control workbench新建自主工程,STM32F405,生成代码,执行pilot,显示检测不到母线电压,电流,一直不转,检测不到极对数
配置CubeMX后(STM32H723VGT6),自动生成的代码,编译报错
STM32F4以太网 MAC Loopback(MAC回环)的实现
官网注册问题
基于STM32F103的HAL库实现USB(HID) OTA升级
vscode的cubemx插件看不了livewatch
串口空闲+DMA接收GPS信号,空闲中断触发时间不对。
微信公众号
手机版
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