minigui在hi3515上移植成功
2 E币
成为会员,免费下载资料
文件大小:14.33 KB
上传者:bhua
时间:2014-10-24 19:24:07
下载量:115
本帖最后由 bhua 于 2014-10-24 19:25 编辑
搞了一段时间,终于把minigui移植上去了,总是能够显示界面并且玩扫雷,玩球球了!
移植过程参考了http://blog.csdn.net/longyue0917/article/details/7882672
虽然有了借鉴,但是移植还是费了不少力气
首先,安装参考说明安装zlib库、png库、JPEG库都没问题很顺利,我把配置都写成脚本文件了,附件奉上
移植freetype库时 arm-linux-gnu-ld改成arm-hismall-linux-ld arm-linux-gnu-gcc改成arm-hismall-linux-gcc arm-linux-gnu-gcc -E改成arm-hismall-linux-gcc -E我当初就是没有去掉gnu犯傻,请各位勿笑哈
移植资源库根据教程就行
移植核心库的时候要认真阅读教程,在修改hifb时,HI3510_VideoInit函数的开头要加上
/*********ARBG1555*************************************
static struct fb_bitfield g_r16 = {10, 5, 0};
static struct fb_bitfield g_g16 = {5, 5, 0};
static struct fb_bitfield g_b16 = {0, 5, 0};
static struct fb_bitfield g_a16 = {15, 1, 0};
否则会出错,而且这个是ARGB 颜色分量,对应后面配置文件MiniGUI.cfg 里的defaultmode=1024x768-32bpp 32bpp为ARGB8888 ARGB1555颜色分量对应的是defaultmode=1024x768-32bpp 16bpp
如果颜色分量为ARGB1555颜色分量,而设置defaultmode=1024x768-32bpp 32bpp 在运行sample时会出现问题
/********ARGB8888*************************************/
struct fb_bitfield g_r32 = {16, 8, 0};
struct fb_bitfield g_g32 = {8, 8, 0};
struct fb_bitfield g_b32 = {0, 8, 0};
struct fb_bitfield g_a32 = {24, 8, 0};
在核心库的移植过程中我还遇到一怪事,不知道当时是什么情况下,我在终端输入了以下声明
export C_INCLUDE_PATH=/usr/include:/usr/local/include
export LIBRARY_PATH=/lib:/usr/lib:/usr/local/
然后在编译过程中asm问题老是不能解决,而且出现的位置不是libpcxvfb.c这个文件,后来想了下既然asm问题是include路径问题,那应该与include声明有关,于是将系统重启,解决了问题
后面的sample编译按照教程就可以了 但是切记一点,编译好的sample要把这个sample的文件夹放到板子上,然后进入mginit文件夹运行,小的愚昧,一开始都是吧编译好的mginit可执行文件单独放到nfs文件系统中运行,结果老师提示“can not create task bar” 而且还一直困惑了一段时间,哎 没办法,搞嵌入式还是相当烦躁的,但是要学号嵌入式又不得不细心点
搞了一段时间,终于把minigui移植上去了,总是能够显示界面并且玩扫雷,玩球球了!
移植过程参考了http://blog.csdn.net/longyue0917/article/details/7882672
虽然有了借鉴,但是移植还是费了不少力气
首先,安装参考说明安装zlib库、png库、JPEG库都没问题很顺利,我把配置都写成脚本文件了,附件奉上
移植freetype库时 arm-linux-gnu-ld改成arm-hismall-linux-ld arm-linux-gnu-gcc改成arm-hismall-linux-gcc arm-linux-gnu-gcc -E改成arm-hismall-linux-gcc -E我当初就是没有去掉gnu犯傻,请各位勿笑哈
移植资源库根据教程就行
移植核心库的时候要认真阅读教程,在修改hifb时,HI3510_VideoInit函数的开头要加上
/*********ARBG1555*************************************
static struct fb_bitfield g_r16 = {10, 5, 0};
static struct fb_bitfield g_g16 = {5, 5, 0};
static struct fb_bitfield g_b16 = {0, 5, 0};
static struct fb_bitfield g_a16 = {15, 1, 0};
否则会出错,而且这个是ARGB 颜色分量,对应后面配置文件MiniGUI.cfg 里的defaultmode=1024x768-32bpp 32bpp为ARGB8888 ARGB1555颜色分量对应的是defaultmode=1024x768-32bpp 16bpp
如果颜色分量为ARGB1555颜色分量,而设置defaultmode=1024x768-32bpp 32bpp 在运行sample时会出现问题
/********ARGB8888*************************************/
struct fb_bitfield g_r32 = {16, 8, 0};
struct fb_bitfield g_g32 = {8, 8, 0};
struct fb_bitfield g_b32 = {0, 8, 0};
struct fb_bitfield g_a32 = {24, 8, 0};
在核心库的移植过程中我还遇到一怪事,不知道当时是什么情况下,我在终端输入了以下声明
export C_INCLUDE_PATH=/usr/include:/usr/local/include
export LIBRARY_PATH=/lib:/usr/lib:/usr/local/
然后在编译过程中asm问题老是不能解决,而且出现的位置不是libpcxvfb.c这个文件,后来想了下既然asm问题是include路径问题,那应该与include声明有关,于是将系统重启,解决了问题
后面的sample编译按照教程就可以了 但是切记一点,编译好的sample要把这个sample的文件夹放到板子上,然后进入mginit文件夹运行,小的愚昧,一开始都是吧编译好的mginit可执行文件单独放到nfs文件系统中运行,结果老师提示“can not create task bar” 而且还一直困惑了一段时间,哎 没办法,搞嵌入式还是相当烦躁的,但是要学号嵌入式又不得不细心点
展开》
折叠》