国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 1744|回復(fù): 0
打印 上一主題 下一主題

【嵌入式開(kāi)發(fā)教程3】瘋殼·平板電腦-LCD 驅(qū)動(dòng)實(shí)驗(yàn)教程

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2022-7-13 16:27:12 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
LCD 驅(qū)動(dòng)實(shí)驗(yàn)教程
——瘋殼·嵌入式平板開(kāi)發(fā)






第一節(jié) 電路原理圖介紹

  下圖來(lái)源于文檔 3128_sdk_a02_20170325.pdf 中第 19 頁(yè)。
  圖一、從原理圖可以看出 LCD 是采用 mipi 接口和 cpu 相連的。


圖1

第二節(jié) LCD 驅(qū)動(dòng)框架及實(shí)現(xiàn)

  在 linux 內(nèi)核中,顯示相關(guān)的驅(qū)動(dòng)稱(chēng)為 fb(framebuffer)驅(qū)動(dòng)。在 RK31XX 的平臺(tái)上,為了盡可能的復(fù)用代碼,fb 驅(qū)動(dòng)被分為 fb 框架相關(guān)的部分、LCDC 控制器相關(guān)的部分、LCD 屏幕相關(guān)的部分、LCD 電源操作相關(guān)的板級(jí)配置部分。
  a.fb 框架相關(guān)的代碼
    drivers/video/fbmem.c
    drivers/video/rockchip/rk_fb.c
    drivers/video/rockchip/rkfb_sysfs.c
    include/linux/rk_fb.h
    include/linux/rk_screen.h
  這部分代碼實(shí)現(xiàn)是fb  相關(guān)的框架,不涉及具體的硬件操作,所有的LCDC  驅(qū)動(dòng)共用。其中 fbmem.c 為 linux 內(nèi)核原生代碼,他向上提供和用戶(hù)空間交互的接口(open、read、write、ioctl 等),向下聯(lián)系平臺(tái)相關(guān)的 fb 驅(qū)動(dòng) rk_fb.c。
  b.LCDC 相關(guān)的代碼
  drivers/video/rockchip/lcdc/rk312x_lcdc.c
  這部分代碼和具體的 LCDC 控制器相關(guān)。
  c.LCD 屏幕配置相關(guān)代碼
  drivers/video/rockchip/screen/rk_screen.c
  rk_screen.c 是屏幕配置文件的共用代碼,重點(diǎn)介紹如下接口。  set_lcd_info:屏幕參數(shù)配置接口,所有的屏幕都會(huì)用到
  get_fb_size:根據(jù)屏幕的分辨率計(jì)算需要分配多大的 fb 空間,對(duì)于三 buffer,計(jì)算公式為 X*Y*4*3,雙 buffer 計(jì)算公式為 X*Y*4*2,目前我們都使用三 buffer。
  建議每個(gè)項(xiàng)目相關(guān)的人員都要看下 rk_screen.c 中相關(guān)接口的實(shí)現(xiàn),以方便開(kāi)發(fā)中遇到的 debug 問(wèn)題。

第三節(jié) 實(shí)驗(yàn)代碼 --- 快速判斷 RGB 顏色是否有顛倒

  在有些項(xiàng)目上,由于 LCD 屏幕自身原因或者硬件連接原因,會(huì)導(dǎo)致 RGB 顏色出現(xiàn)顛倒, 比如 R 和 G 反了、或者 R 和 B 反了、或者 B 和 G 反了,導(dǎo)致顯示顏色出現(xiàn)異常。這種情況可以通過(guò)軟件配置進(jìn)行糾正。首先,要判斷出哪兩種顏色反掉了,方法如下:通過(guò)RK 系統(tǒng)中自帶的 IO 命令向 FB 里面寫(xiě)單元色紅色(0x00ff0000)、綠色(0x0000ff00)、藍(lán)色(0x000000ff)看對(duì)應(yīng)的顯示效果,就可以判斷是哪兩種顏色反掉了。具體方法如  下:
(1)在串口里面執(zhí)行 stop 命令(需要 root 權(quán)限),這樣 Android 不再進(jìn)行屏幕更新,以免影響測(cè)試。
(2)然后查詢(xún) LCDC 寄存器,獲取當(dāng)前 FB 地址:因?yàn)?RK 采用三 buffer 的方式,這里有可能存在地址不一樣的情況,所以執(zhí)行 io 命令前盡量先敲如下命令看下地址是什么。


圖2
  用 io 命令依次向該地址寫(xiě)入 RGB 單元色數(shù)據(jù),看屏幕對(duì)應(yīng)的顯示情況:
  io -w -4 -l 0x3e8000 0x90fe8000 0x00ff0000 紅色
  io -w -4 -l 0x3e8000 0x90fe8000 0x0000ff00 綠色
  io -w -4 -l 0x3e8000 0x90fe8000 0x000000ff 藍(lán)色
  注意-l    參數(shù)后面跟的是寫(xiě)入數(shù)據(jù)的長(zhǎng)度,這里都是滿(mǎn)屏寫(xiě)入,我使用的設(shè)備的屏幕分辨率為 1280*800,因此一幀數(shù)據(jù)的長(zhǎng)度為 1280*800*4 = 0x3e8000。正常情況下,依次在串口中輸入上面三個(gè)命令,屏幕上依次顯示紅、綠、藍(lán)三種顏色,如果顯示的某種顏色  不對(duì),比如寫(xiě)入紅色,屏幕上顯示的卻是藍(lán)色,如果 R 和 B 反了,則應(yīng)該在屏幕驅(qū)動(dòng)中#define SWAP_RB 1,對(duì) RB 進(jìn)行交換。如果向 FB 里面寫(xiě)入 RGB 中任意一種的單元色屏而屏幕顯示的圖像不是這三個(gè)單元色中的任意一種,那就有可能是屏幕有問(wèn)題,或者  硬件設(shè)計(jì)有問(wèn)題,或者中間的轉(zhuǎn)換芯片比如 LVDS 有問(wèn)題,或者 LVDS_FORMAT 設(shè)置的不對(duì)。

第四節(jié) 實(shí)驗(yàn)現(xiàn)象

  為什么敲入了屏幕全部變紅色命令(io -w -4 -l 0x3e8000 0x90fe8000 0x00ff0000),屏幕并沒(méi)有任何反應(yīng)? --- IOMMU(input/output memory management unit),Device 的IOMMU 類(lèi)似于 CPU 的 MMU。
  首先因?yàn)樵O(shè)備默認(rèn)打開(kāi)了 iommu 功能,所以操作時(shí)候有可能操作的地址就不是真實(shí)的物理地址,而是虛擬地址。這樣就和 io 命令沖突了,io 命令是必須操作物理地址的。修改如下,DTS 中增加如下選項(xiàng):
&lcdc {
     status = "okay";
     backlight = <&backlight>;
     rockchip,iommu-enabled = <0>;
     ......




圖3



詳情地址:https://fengke.club/GeekMart/views/offline/android  
套件地址:https://fengke.club/GeekMart/su_fHnaDyD1o.jsp
視頻地址:https://fengke.club/GeekMart/su_f5W0Cuz3p.jsp
文件下載請(qǐng)點(diǎn)擊: 3、LCD驅(qū)動(dòng)實(shí)驗(yàn)教程.pdf (658.04 KB)


本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品毛片在线完整版的 | 窝窝午夜看片成人精品 | 欧美成一级 | 成人精品视频一区二区三区 | 在线精品国内外视频 | 91香蕉国产亚洲一二三区 | 思99热精品久久只有精品 | 欧美成人免费xxx大片 | 国产一区二区免费在线 | 极品色在线精品视频 | 欧美黑寡妇香蕉视频 | 日日摸夜夜欧美一区二区 | 在线欧美a| 三级aa久久 | 茄子香蕉草莓丝瓜芭乐绿巨人 | 亚洲欧洲精品成人久久曰影片 | 国产日韩第一页 | 青青草国产免费 | 精品久久久久久影院免费 | 欧美成人tv | 四虎影视在线观看永久地址 | 幸福宝app丝瓜下软件大全 | 一级a爰片久久毛片 | 亚洲xx在线| 欧美一区在线观看视频 | 一本久道久久综合中文字幕 | 成人国产精品久久久免费 | 中文字幕一区2区 | 男女羞羞羞视频午夜视频 | 国产第5页| 一级欧美一级日韩片 | 中文国产成人精品久久96 | 久久久91精品国产一区二区 | 国产岛国片 | 麻豆久久精品 | 国产精品国产三级农村妇女 | www国产精品com | 免费99精品国产自在现线 | 欧美a性| 国产野花视频天堂视频免费 | 久久五月视频 |