完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本人此次基于正点的战舰STM32F103ZET6开发板,使用外部SRAM给emWin分配内存空间,最开始分配的是60K的内存空间,外部SRAM的内存是1M字节。首先测试外部SRAM是可以使用的,然后下载程序后,直接死机。错误提示如下图所示: 其中,SRAM的初始化用的是INIT_ENV_EXPORT(SRAM_FSMC_Init);进行初始化的。在SRAM_FSMC_Init()最后用的是rt_memheap_init(&system_heap, “sram”, (void *)Bank1_SRAM3_ADDR, SRAM_SIZE);进行内存管理,且 #define SRAM_SIZE ((uint32_t)0x40000) //256k void GUI_X_Config(void) 如果GUI_NUMBYTES是60K,那么程序就会死在函数_Init(GUI_DEVICE * pDevice)中,错误提示如上图所示;如果GUI_NUMBYTES是30K,那么程序编译通过,但是不会显示字符。显示程序如下图所示: 结果显示图如下图所示: 通过结果图,可以看出,GUI_SetBkColor(GUI_RED);这一行代码是执行成功的,全屏被刷新为红色。但是在屏幕上我们可以看到有一条竖直的蓝色线条,如果我将GUI_DispString(“www.armfly.com \navailable”);代码屏蔽掉,那么线条就会消失;如果不屏蔽,线条就会出现。而且即便我从CPU内部将30K空间分配给emWin,结果也是一样的。 后来多次测试也发现,只要有字符串/字符的显示,都会在不同位置出现不同长短的线条。 所以,我的问题就是第一:为什么1M的外部SRAM,我分配60K空间给emWin就会死机,但是30K却不会? 第二:为什么当有文本内容显示的时候,都会显示成不一样的线条? |
|
相关推荐
1个回答
|
|
可以检查一下链接脚本, 看看是否和链接脚本有关系.
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1056 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
3545 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1482 浏览 0 评论
2181 浏览 0 评论
1663 浏览 0 评论
75387 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 03:44 , Processed in 0.622950 second(s), Total 69, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号