硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3282|回复: 2
收起左侧

[emWin] 使用了emwin的存储设备后,控件不能正常显示

[复制链接]

9

主题

113

回帖

145

积分

初级会员

积分
145
发表于 2016-10-27 15:31:30 | 显示全部楼层 |阅读模式
使用了emwin的存储设备后,控件不能正常显示
具体情形是这样的,在CM4F内核的MCU上移植了emWIN5.22版本。
在测试例程的时候,发现控件显示不正常。

对话框的内容:

static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {    { FRAMEWIN_CreateIndirect,  "Caption",           0,                       0,  0,  128,128,FRAMEWIN_CF_MOVEABLE,0},
    { BUTTON_CreateIndirect,    "BUTTON0",           GUI_ID_BUTTON0,          10, 4,  75, 23, 0,0},    { EDIT_CreateIndirect,       NULL,               GUI_ID_EDIT0,            10, 33, 100,21, 0,0}
};

主程序:
Main_Task(void)
{
     GUI_Init();
     WM_SetCreateFlags(WM_CF_MEMDEV);  /* Use memory devices on all windows to avoid flicker */
     GUI_ExecDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), &_cbCallback, 0, 0, 0);
}


在模拟器上跑是正常的,而移植到板子上跑的时候控件就不正常了,按钮不显示,对话框全变黑。


正常的图:
无标题.jpg



不正常的在板子上,不好贴


目前有两种情形:
1、注释WM_SetCreateFlags(WM_CF_MEMDEV);  /* Use memory devices on all windows to avoid flicker */这一行,不开存储设备,在板子上显示正常。
2、去掉底层优化,只使用点操作的方式,显示也正常。
可以确定的是,底层优化部分的函数没问题,全部都测试过。
有一点,编译时microlib库没勾选(勾选了编译不能通过),报错:

.\bin\freertos_blinker.axf: Error: L6218E: Undefined symbol __use_two_region_memory (referred from startup_keil.o).
.\bin\freertos_blinker.axf: Error: L6218E: Undefined symbol __initial_sp (referred from entry2.o).

不知道这个现象的产生是不是跟microlib有关,PS:emwin的库来自于keil5 包中middleware中。

求大神指导啊~
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115721
QQ
发表于 2016-10-27 15:39:40 | 显示全部楼层
1. 现在用的什么芯片
2. 微库选择不选择都行,不选择的话,部分C库函数要做重定向,并禁止半主模式。
回复

使用道具 举报

9

主题

113

回帖

145

积分

初级会员

积分
145
 楼主| 发表于 2016-10-28 09:35:21 | 显示全部楼层
1、apollo1
2、问题已经找到,先自己打脸一百下。
驱动中画彩色线条的函数写成了画单色线
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-14 10:32 , Processed in 0.201340 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表