- 博客(4)
- 收藏
- 关注
原创 移植FatFS时注意事项
而当挂载成功后若代码卡在f_open函数,可能是因为栈溢出,因为使用LFN的情况下(使用exFAT必须使用LFN),FATFS在解析文件名的时候,会在函数栈上申请大量的缓冲区空间,从而导致栈溢出,因此当一点一点排查是会发现f_open最后会卡在memset里,有个简单是解决方法就是把f_open里的DIR dj;在f_mount调用时的第三个参数最好设为1,意思是直接挂载识别SD卡的系统,如果返回值挂载显示成功证明成功识别到SD卡格式化后的文件系统,这时候就能确定读写函数没有问题,因为内部都会调用到,
2025-12-03 16:47:40
122
原创 STM32SDIO外设读写SD卡注意事项
其实SD卡这个东西虽然可以用SPI接口来操作,但是毕竟SD卡的命令太多,状态机也特别复杂,如果自己来用SPI手写底层,开发效率不高,哪怕移植SPI的SDIO协议栈,也依然速率提不上去,毕竟SD卡本身就不是为SPI设计的,只是考虑到一些没有SDIO外设的芯片所保留的一种方法,所以对于有SDIO外设的芯片来说,就不要考虑用SPI,关于SD卡的一些基本上知识可以自己搜一下网上一抓一大把,可以看完之后实际去使用SDIO操作SD卡的时候再来看。
2025-11-22 17:45:38
847
原创 关于使用CLion开发STM32外扩SRAM/SDRAM注意事项
当使用Clion开发STM32时,与Keil不同的点很多,这里使用的是ST官方的CLT工具链,也就是GCC编译,因此相比Keil,多了个链接文件(.ld),因此如果你在外扩了SRAM/SDRAM的时候,如果想要显式声明一个大数组而不是通过指针去访问,就需要去修改.ld文件里的内容,所以我们在配置好FMC/FSMC后需要手动来.ld文件里面添加一行以声明你外扩的RAM,但是在声明之后,链接器只是知道有这么一块空间而不知道该把什么样的数据以什么样的形式链接到这块空间,因此我们还需要写Section,
2025-11-19 16:40:34
289
原创 关于STM32DCMI外设使用总结
其实仅仅这样是不行的,因为摄像头的数据是一直在发的,我们不可能等用于接收的这块内部SRAM把数据搬到外部RAM后再回来接收,这样数据就丢失了,因此我们需要保证始终有一块缓冲区用来接受数据,因此我们需要第二块缓冲区,也就是DMA的双缓冲机制,当一块缓冲区接收满数据之后,切换另一块去接收,已经满的这部分开始向外部SRAM发送,也就是始终有一块缓冲区在向外发送数据,始终有一块缓冲区来接收数据,所以我们在使用DCMI的时候,DMA的缓冲区就要在片内SRAM,但由于片内SRAM往往都比较小,且是分块的,例如。
2025-11-19 16:13:55
228
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅