SylixOS獲取系統分辨率的方法

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應用開發手冊》


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章