1.適用範圍
本文檔適用於希望獲得當前SylixOS系統分辨率的工程師。
2.如何獲取系統分辨率
2.1 獲取x86下的系統分辨率
由於x86架構下SylixOS系統的meun.lst文件包含分辨率設置信息,可以通過shell命令查看系統分辨率信息,如圖2.1 所示:
圖2.1 x86下查看系統分辨率信息
2.2 獲取任意架構下的系統分辨率
由於非x86架構的SylixOS系統沒有設置分辨率信息的文件,可以通過對fb設備的ioctl操作獲得當前系統分辨率。
首先確定當前系統中存在fb設備,如圖2.2所示:
圖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.4、圖2.5、圖2.6所示:
圖2.4 Mini2440設備運行結果
圖2.5 Mipsr4k設備運行結果
圖2.6 x86設備運行結果
3.參考資料
《RealEvo-IDE使用手冊》
《SylixOS應用開發手冊》