
STM32H743对关键中断函数,使用ITCM搬至RAM运行,STM32CubeIDE仿真进入HardFault_Handler报错。其中,ITCM已查找网上多篇教程,修改了ld链接文件,CubeIDE编译能正常通过,且map文件中,对已搬至ITCM RAM区域运行的中断函数的地址是OK的。只要上电一仿真运行就会进入HardFault_Handler函数,MCU主频是480MHz,不知是否主频过高所致,请各位大神指点下。 |
STM32N6 使用SDMMC1-eMMC作为外部存储器,地址如何配置
STM32N6570-DK预装的Demo在哪里下载?
FlyMcu下载写入出错问题
STM32F373 SDAC1+DMA,数据只能更新一次?
各位大佬们多提提宝贵建议定位根本原因,跪谢。STM32L452 在未知情况下打开了读保护RDP?MCU无法运行,只有解除读保护后重新烧录固件
STM32H745I-DISCO的GUI DEMO演示。
关于GFX软件下载汇报
touchgfx 4.14版本
谜之BUG求解
STM32G030F6P6写FLASH最后8字节出错
我这边也找了相应开发板做了相关测试,的确碰到了你说的现象。
说实话,目前还没找到原因。找了个变通的方法,将整个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处还是有其他函数