使用的型号是STM32F103RCT6,RAM是48K,在启动函数里修改了堆是4096,也就是4K,栈是1K,我有一个Chip_det()函数,里面会进行字库的读取,如果在CPU_Init();里面调用,就能正常运行,如果放到while(1),大循环里就会触发硬件错误中断,触发的原因是文件系统的 f_lseek 函数,我一直追踪下去,发现是TM_FATFS_FLASH_SPI_disk_read函数的SPI_FLASH_BufferRead函数触发的,底层应该没问题,因为我这个函数放在CPU_Init();里是可以正常执行的,我跟踪时发现堆栈也没有溢出,有老司机知道是啥引起的吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>