
STM32H743对关键中断函数,使用ITCM搬至RAM运行,STM32CubeIDE仿真进入HardFault_Handler报错。其中,ITCM已查找网上多篇教程,修改了ld链接文件,CubeIDE编译能正常通过,且map文件中,对已搬至ITCM RAM区域运行的中断函数的地址是OK的。只要上电一仿真运行就会进入HardFault_Handler函数,MCU主频是480MHz,不知是否主频过高所致,请各位大神指点下。 |
关于三轴陀螺仪 I3G4250D
有提供 stm32h747 系列的 驱动 ek79007 mipi 的例程吗 ?
使用stm32F407连接PHY芯片进行以太网通讯,一插网线就会进入错误中断。
型号替代-STM32H5
正点原子阿波罗H743使用DMA2D后普通刷出现问题
STM32H7系列RMII用于TCP/IP 服务器
STM32H7双核调试问题:CM7能成功调试但CM4始终报"Failed to read ROM table via AP 3"错误
stm32G474的flash模式如何判定?single bank 和dual bank
STM32N6 使用SDMMC1-eMMC作为外部存储器,地址如何配置
STM32N6570-DK预装的Demo在哪里下载?
我这边也找了相应开发板做了相关测试,的确碰到了你说的现象。
说实话,目前还没找到原因。找了个变通的方法,将整个xxx_it.c文件放到ITCM去,这样操作可行。我这样修改的ld文件,
你参考试试看:
.itcm_text :
{
. = ALIGN(4);
_sITCM = .;
*stm32h7xx_it.o (.text .text*)
*stm32h7xx_it.o (.rodata .rodata*)
. = ALIGN(4);
_eITCM = .;
}>ITCMRAM AT> FLASH
对于搬至ITCM RAM区域运行的中断函数,如果不搬至此区域,上电仿真则正常,不会进入HardFault_Handler函数。这个问题,已查找两三天,FAE也无法联系上,实在是找不到人帮忙解决,请各位大神指点下。
谢谢大佬的意见,我再研究研究
查看汇编代码,我发现是一些无用的函数(代码文件中有此函数,但未调用的函数)会自动编译至0x0处,这可能是原因所在,但不好解决啊。
我尝试过MPU开启,关闭指令CAHE等都没用,奇怪的是DTCM都可以正常使用。
[md]是的。这些fault提示我也看到了。后面会继续关注这个问题。
我试了下,文件方式还是不行,用汇编代码发现在地址0x0处还是有其他函数