miniGui相关的库拷贝的开发板上,并且将配置文件MiniGui.cfg拷贝/etc目录。然后运行自己编写的helloworld,发现界面一片黄色,根据经验改一下分辨率就可以,其实不然。
一 修改MiniGui.cfg的GAL_engine相关内容。
1. 修改[fbcon]
defaultmode=1024x768-16bpp -----> defaultmode=800x600-16bpp
此时程序简单报错"InitGUI failure when using MiniGui.cfg as cfg file."修改分辨率怎么会报这个错呢,这里琢磨了很久。查看源代码这个报错的位置发现在这个报错之前应该还会有一些debug信息。为什么这里就简单一行了事呢。后来想到重启系统运行一下helloworld看看。此时完成报错出现了(之前只报1行我的分析是miniGui在修改分辨率前已经运行GUI的相关部分,将默认值加载到了内存)
"GDI: Error in loading raw bitmap fonts!"
"GDI: Can not initialize raw bitmap fonts!"
"DESKTOP: Initialization of GDI failure!\n"
"InitGUI failure when using MiniGui.cfg as cfg file."
根据完整的4行debug信息我想到了自己没有添加miniGui的资源。
2. 网上已经很难下载到miniGui1.3版本的东西,最后在CSDN花了1个积分下到了需要的资源。解压后直接make install。需要的东西默认安装成usr/local/lib/minigui目录。这里注意也要把这些东西同路径的复制到目标板上(因为MiniGui.cfg的资源目录设置的就是这个路径)。此时再次启动程序继续报错(流汗)
"IAL Native Engine: Can not init mouse!\n"
"IAL: Init IAL engine failure.\n"
"DESKTOP: Low level event initialization failure!\n"
"InitGUI failure when using MiniGui.cfg as cfg file."
看到这个应该是鼠标的问题
3. 鼠标的问题一般有2个,就是鼠标设备和鼠标协议。这里cfg的鼠标设备应该设置成目标板的鼠标设备(cat 设备知道鼠标的设备应该/dev/input/mice)。
mdev=/dev/mouse---->mdev=dev/input/mice
再次运行看到了小企鹅和我的helloworld窗口,鼠标也是可以用的。
深呼吸......