利用Cubemx生成H743的代码,点击烧录后,无法再识别到Jlink了,只能烧录时按着复位再松开(类似51单片机)。
烧录后不运行,用keil进行debug,调试发下芯片进去内存管理错误中断。
经过不断调试发现,还是MPU配置的有问题。而且老版本的cubemx文件是OK的(正常烧录和运行),但是用新版本重新生成的代码也有问题。
修改如下:
1、时钟配置
新版本时钟选择更严谨了?
下图这里必须要选Scale 1选项,时钟才能配置到400MHz。(tmd老版本没这玩意儿)
选完之后再去配置时钟。。。
2、 MPU配置选择
配置了3块区域:
1、默认的0地址开始4G大小
2、芯片IRAM2区域 0x24000000地址开始 512KB大小
3、(可忽略)SRAM区域 0x60000000 地址开始
总结,对于新版本Cubemx文件,STM32H743:
1、必须根据自己的时钟需求选择 Power Regulator Voltage Scale 电压域参数
2、程序涉及到的内存区域操作,必须要添加MPU配置保护