1.适用范围

本文档适用于希望获得当前SylixOS系统分辨率的工程师。

2.如何获取系统分辨率

2.1 获取x86下的系统分辨率

由于x86架构下SylixOS系统的meun.lst文件包含分辨率设置信息,可以通过shell命令查看系统分辨率信息,如2.1  所示:

 

blob.png

2.1  x86下查看系统分辨率信息

 

2.2 获取任意架构下的系统分辨率

由于非x86架构的SylixOS系统没有设置分辨率信息的文件,可以通过对fb设备的ioctl操作获得当前系统分辨率。

首先确定当前系统中存在fb设备,如2.2所示:

blob.png

2.2  查看系统中的设备

打开fb设备,获取fb行列信息,并打印。如程序清2.3所示:

 

程序清单2.3  打开设备、对其进行ioctl操作并打印信息

fb_fd = open("/dev/fb0", O_RDWR, 0666);                        /*  打开 fb 设备          */

 

ioctl(fb_fd, LW_GM_GET_VARINFO, &var_info);                    /*  获取 fb 行列信息       */

   

printf("the xres is :%d\n", (int)var_info.GMVI_ulXRes);        /*  fb 显示区域高度        */

                                                              

printf("the yres is :%d\n", (int)var_info.GMVI_ulYRes);        /*  fb 显示区域宽度        */

 

程序适用于任何架构下的SylixOS系统,编译上传运行结果如2.42.52.6所示:

blob.png

2.4  Mini2440设备运行结果

 

blob.png

2.5  Mipsr4k设备运行结果

 

blob.png

2.6  x86设备运行结果

3.参考资料

 《RealEvo-IDE使用手册》

    《SylixOS应用开发手册》