今天把ucgui移植到utu2440上了

本文分享了在嵌入式平台上移植GUI系统的实战经验,包括解决编译错误、配置LCD参数、处理触摸屏驱动等问题,并提供了具体步骤及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(转贴,谢谢作者) 

原来以为会很难原来这么简单,呵呵。上面是运行了个实例程序看到跑起来了真的好开心啊.

 
参考资料:
这个写的很好很详细,不像大多数移植档那样泛泛而谈。
 
我记录一下,我自己中间的遇到编译错误和困难,希望对大家能有点帮助
1.要确认你的main函数名字是不是main(就是全小写的,否则会遇到编译错误,我的原来是Main,结果编译到最后提示说 undefined symbol main refered by kernel.o之类的话)。
2.在lcdwin.c中 把 #if defined(WIN32) && !defined(LCD_SIMCONTROLLER)这个条件编译去掉 还有最后的 #endif 和 #endif 上面一点的那个 #else,都去掉 否则整个文件都不会被编译进去的。

把这里
void LCD_L0_SetLUTEntry(U8 Pos, LCD_COLOR color) {
 // LCDSIM_SetLUTEntry(Pos, color, LCD_DISPLAY_INDEX);
}
里面的那个LCDSIM_SetLUTEntry象这样注释掉。
3.如果编译的时候提示找不到GUI_X.C的话,那就从Sample/GUI_X 这里拷贝GUI_X_uCOS.c到Start/GUI/Core下并且把名字改成GUI_X.C.
还要在这个文件的最后加上
void GUI_X_Log(const char *s)   {}
void GUI_X_ErrorOut(const char *s){}
void GUI_X_Warn(const char *s){}
这样的三个空函数,不加的话编译也会出错误的.
4.把lcdconf.h中,最后面的一大堆东西删除掉只留下面几项即可
#define LCD_XSIZE      (240)   /* X-resolution of LCD, Logical coor. */
#define LCD_YSIZE      (320)   /* Y-resolution of LCD, Logical coor. */
//#define LCD_BITSPERPIXEL (8)
#define LCD_BITSPERPIXEL (16)
#define LCD_CONTROLLER 1
#define LCD_SWAP_RB_0 1
5.如果编译过程中出现touchscreen方面的错误,那么就把guiconf.h 中的
#define GUI_SUPPORT_TOUCH         (1)注释掉
当然了这是现在没有添加触摸屏驱动的做法。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值