|
看到有朋友问到裸机使用屏幕的方法,这里就记录一下过程供参考。 在使用裸机调试程序时,大于128K内存占用的程序都在DDR中运行,那么可以知道小于128K的程序也是可以直接在外部DDR中运行。为此,这里进行两个验证。一是运行裸机例程LTDC_Display_2Layers_A7,二是将前文的LED Blink修改为外部DDR运行。 阅读文档可以知道,要在DDR中运行程序,首先要初始化DDR,裸机调试中的唯一方法是先运行DDR_Init例程。打开后的例程如下
配置Debug选项,然后点进入调试页面。
点击调试界面全速运行按钮,就可以进行DDR初始化了。如下图
阅读程序可知,DDR初始化后回进入主循环,一个led blink的循环。看到灯闪,说明已经初始化OK。
接下来点击停止按钮,并且不要复位开发板。 7 L9 W) [5 b0 f% n然后按照老方法打开LTDC的例程,要留意以下配置,就是不要主动复位CPU。
进入调试界面运行程序就可以看到开发板的屏幕显示两个图层的移动画面。
以上方法就是在外部DDR运行裸机程序的过程。也解答了上篇帖子坛友问到的然后运行裸机屏幕程序。 以下扩展一下,把之前的LED闪灯程序配置成外部DDR内运行。共3个需要修改的地方。其实文档也有介绍。 第一、 工程配置选项中添加宏USE_DDR。
第二、 链接器脚本中的定义,去掉1的注释,2添加注释
第三、 修改调试配置选项,去掉复位那一行
然后程序就可以在DDR中运行了,当然也是要先运行一次DDR_Init例程。 3 C$ j$ D8 f! o& g! ]* J$ ~$ o |
| [md]多谢大佬的分享 |
【STM32H5 评测】基础硬件加密与随机数性能 - STM32H5E5实测硬件AES加解密、HASH运算、TRNG真随机数输出速率与稳定性
【STM32H5 评测】内存读写性能 - STM32H5E5实测Flash,SRAM读写速度,用DMA搬运大块数据
【STM32H5 评测】CPU核心性能 - STM32H5E5跑 RTOS,观察任务切换速度、中断响应快慢
【NUCLEO-C562RE】OLED 显示
使用stm32C542做的低功耗密码锁示例
保姆级教程:CMake 工程导入 STM32CubeIDE 步骤
STM32CubeCLT 1.22.0新版本发布
【下载问题解决】关于ST官网下载软件问题解决
【STM32H735G-DK测评】lvgl移植
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
微信公众号
手机版