加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

飛凌嵌入式ElfBoard ELF 1板卡-LCD顯示圖片編程示例之介紹framebuffer

11/21 17:17
1201
閱讀需 2 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

Framebuffer 字面意思就是幀緩存的意思,即顯存,里面保存著一幀圖像。事實上,對于嵌入式系統(tǒng)而言。沒有真正意義上的顯存,F(xiàn)ramebuffer 是通過內(nèi)存模擬出來的。

一、LCD FrameBuffer 里的若干字節(jié)表示(具體根據(jù)驅(qū)動適配),LCD 屏幕上的一個像素點。

(1)RGB888:32bpp,占4字節(jié),分別是A8、R8、G8、B8,一般只用其中低24位,高8位表示透明度。

(2)RGB565:16bpp,占2字節(jié),分別是R5、G6、B5,比較常用的一種顏色

(3)RGB555:很少用。

假設(shè)LCD屏幕分辨率是800x600,每個像素占4字節(jié),那么framebuffer 大小就是:

800x600x4=1920000字節(jié)

二、fb與應(yīng)用程序的互交:

對于應(yīng)用程序而言,它和其它的設(shè)備并沒有什么區(qū)別,用戶可以把fb看成是一塊內(nèi)存,既可以向內(nèi)存中寫數(shù)據(jù),也可以讀數(shù)據(jù)。fb的顯示緩沖區(qū)位于內(nèi)核空間。應(yīng)用程序可以把此空間映射到自己的用戶空間,再進行操作。

三、在應(yīng)用程序中,操作/dev/fbn的一般步驟如下:

(1)打開/dev/fbn設(shè)備文件。

(2)用ioctl()操作取得當(dāng)前顯示屏幕的參數(shù),如屏幕的分辨率、每個像素點的比特數(shù)。根據(jù)屏幕的參數(shù)可計算屏幕緩沖區(qū)的大小。

(3)用mmap()函數(shù),將屏幕緩沖區(qū)映射到用戶空間。

(4)映射后就可以直接讀/寫屏幕緩沖區(qū),進行繪圖和圖片顯示。

飛凌嵌入式

飛凌嵌入式

保定飛凌嵌入式技術(shù)有限公司,創(chuàng)建于2006年,是一家專注嵌入式核心控制系統(tǒng)研發(fā)、設(shè)計和生產(chǎn)的高新技術(shù)企業(yè),是國內(nèi)較早專業(yè)從事嵌入式技術(shù)的企業(yè)之一。 經(jīng)過十幾年的發(fā)展與積累,公司擁有業(yè)內(nèi)優(yōu)秀的軟硬件研發(fā)團隊,在北京及保定建立兩大研發(fā)基地,在蘇州、深圳設(shè)有華東、華南技術(shù)服務(wù)中心,并在北美、歐洲以及亞太等其他國家和地區(qū)擁有國際業(yè)務(wù)網(wǎng)絡(luò)。公司研發(fā)的智能設(shè)備核心平臺廣泛應(yīng)用于物聯(lián)網(wǎng)、工控、軌道交通、醫(yī)療、電力、商業(yè)電子、智能家居、安防、機器人、環(huán)境監(jiān)測等諸多領(lǐng)域。

保定飛凌嵌入式技術(shù)有限公司,創(chuàng)建于2006年,是一家專注嵌入式核心控制系統(tǒng)研發(fā)、設(shè)計和生產(chǎn)的高新技術(shù)企業(yè),是國內(nèi)較早專業(yè)從事嵌入式技術(shù)的企業(yè)之一。 經(jīng)過十幾年的發(fā)展與積累,公司擁有業(yè)內(nèi)優(yōu)秀的軟硬件研發(fā)團隊,在北京及保定建立兩大研發(fā)基地,在蘇州、深圳設(shè)有華東、華南技術(shù)服務(wù)中心,并在北美、歐洲以及亞太等其他國家和地區(qū)擁有國際業(yè)務(wù)網(wǎng)絡(luò)。公司研發(fā)的智能設(shè)備核心平臺廣泛應(yīng)用于物聯(lián)網(wǎng)、工控、軌道交通、醫(yī)療、電力、商業(yè)電子、智能家居、安防、機器人、環(huán)境監(jiān)測等諸多領(lǐng)域。收起

查看更多

相關(guān)推薦

電子產(chǎn)業(yè)圖譜