嵌入式STM32F103工程中,ucGUI图片显示与内存冲突

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/horse_2007s/article/details/85243245

环境:win7-64位、keil5、STM32F103VEC6、RTOS系统、ucGUI-V3.9、屏幕(320x240)

现象描述:

0.原工程内存占用:Program Size: Code=37434 RO-data=127570 RW-data=312 ZI-data=19936  

此时程序运行显示正常。

1.先给这个工程添加一张图片P1(320x240),暂时未调用。

此时工程内存占用:Program Size: Code=37434 RO-data=281190 RW-data=312 ZI-data=19936  

程序功能运行不正常,硬件上跑的速度变慢,部分动态数据不显示;硬件仿真后可以看到该动态数据所在数组状态错误。

2.再给工程添加一张图片P2(320x240),暂时未调用

此时工程内存占用:Program Size: Code=37434 RO-data=434810 RW-data=312 ZI-data=19936  

程序功能运行正常,显示正常,硬件运行速度也比较正常

3.调用图片P2

此时工程内存占用:Program Size: Code=37450 RO-data=434810 RW-data=312 ZI-data=19936  

程序功能运行正常,显示P2时,P2图片显示不完全,还有不应该存在的线条固定显示

附keil5配置:

简单分析:

(我这边在IAR上也有个类似的项目,上面运行就很正常)

应该是内存分配存在的问题,由于IAR上运行正常,就仔细查不同,后来果然发现是内存分配不对,我这边实际使用103的芯片,可是我按照105芯片进行内存分配,这两个存在很大的差异。103为增强型,105为互联型。此处改正后就运行正常了。

103对应的闪存分配地址

105对应的闪存分配地址

猜你喜欢

转载自blog.csdn.net/horse_2007s/article/details/85243245