1.打开STM32CubeMX,选择MP13 Bare Metal
2.使能外部晶振和DDR
3.配置时钟
4.STM32MP135F-DK开发板的蓝灯对应的是PA14,所以配置一下PA14
5.创建工程
6.修改.ld文件SYSRAM_BASE改为DDR_BASE
7.加入USE_DDR宏定义
8.配置签名文件的路径
../../../../ImageHeader/postbuild_STM32MP13.sh"${gnu_tools_for_stm32_compiler_path}" "${BuildArtifactFileBaseName}"
官方的ImageHeader我复制到了我的工程目录下,如有不同请更改路径配置
9.写入一段点灯代码,我实现的功能是满闪1次快闪2次,先屏蔽掉SystemClock_Config函数的Error_Handler(),因为会进入错误造成死循环,为什么时钟会错误,原因未知,不知道是不是官方的bug,还没搞清楚如何仿真我这里先忽略这个问题。
10.编译,如图所示显示编译成功,已经生成了.stm32烧录文件
11.打开官方的tsv文件,更改为我的固件
12.烧录下载,具体烧录方法见我上一帖
13.重启运行,点灯成功!
总结:
- STM32CubeMX生成的工程文件需要注意一下工程配置,这个相对于我们用的MCU会繁琐一些。
2.目前STM32CubeMX生成的工程文件,时钟配置函数会进入错误,原因未知,希望有了解的小伙伴可以交流一下。
3.目前感觉裸机运行烧录调试不如我们用的MCU灵活,每次烧录感觉太慢了,可能是之前用习惯像MDK、IAR这种IDE的原因,不过官方后期可能会支持IAR,但可能不会支持MDK。
4.下面附上我的工程,欢迎小伙伴们一起交流学习。