顯卡驅(qū)動(dòng)開發(fā)DRM入門--Apple的學(xué)習(xí)筆記

由于之前的blog提及kmscube的源碼我沒有找到语泽,所以只能在網(wǎng)上搜索了榕堰。

DRM簡介

DRM是Linux目前主流的圖形顯示框架氓润,同時(shí)DRM可以統(tǒng)一管理GPU和Display驅(qū)動(dòng)璧帝,使得軟件架構(gòu)更為統(tǒng)一叔锐,方便管理和維護(hù)黄痪。而且drm是集成在linux kernel中的紧帕。
DRM從模塊上劃分,可以簡單分為3部分:libdrm桅打、KMS是嗜、GEM愈案。

  1. libdrm:對(duì)底層接口進(jìn)行封裝,向上層提供通用的API接口鹅搪,主要是對(duì)各種IOCTL接口進(jìn)行封裝站绪。
    2)KMS:Kernel Mode Setting,主要作用是更新畫面和設(shè)置顯示參數(shù)
    3)GEM:Graphic Execution Manager涩嚣,主要負(fù)責(zé)顯示buffer的分配和釋放
    然后我自己運(yùn)行出錯(cuò)的代碼是返回設(shè)置參數(shù)不正確崇众。mode參數(shù)比如我設(shè)置1440x900,然后還有水平同步和垂直同步等信息航厚。它從connector需要一路進(jìn)行綁定顷歌。


    綁定關(guān)系.png

調(diào)試問題

調(diào)試的時(shí)候出現(xiàn)過的權(quán)限問題。我下載的drm how-to工程在ubuntu本機(jī)驗(yàn)證通過幔睬,但是開發(fā)板運(yùn)行就報(bào)錯(cuò)眯漩,ccs9調(diào)試發(fā)現(xiàn)drmModeSetCrtc返回參數(shù)無效。video初始化都是會(huì)建立設(shè)備/dev/dri/card0麻顶。之前調(diào)試運(yùn)行在linux本機(jī)card0被x11等占用著資源赦抖,所以也會(huì)返回?zé)o權(quán)限。所以u(píng)buntu下我本機(jī)調(diào)試的時(shí)候是使用ctrl+alt+F3切換到tty界面辅肾,然后通過ctrl+alt+F2再切換回圖形界面队萤。

connector的TDMS

drmModeSetCrtc里到底做了什么,但是當(dāng)我還沒有下載到libdrm的源碼矫钓,我只能自己分析傳入?yún)?shù)要尔。學(xué)習(xí)了下HDMI接口TDMS協(xié)議。
顯示屏的顯示原理:
當(dāng)CRT顯示器顯示一幅圖像時(shí)新娜,電子槍是從左到右赵辕、從上到下來掃描屏幕的。由電子槍打出的電子經(jīng)由偏轉(zhuǎn)線圈的偏轉(zhuǎn)得以打到屏幕的不同點(diǎn)上概龄。電子束在從左到右掃描完一行后还惠,需要回到起始方向進(jìn)行下一行的掃描,這個(gè)返回的工作由回程轉(zhuǎn)換器來完成私杜。
專業(yè)名詞
水平同步:同步一行蚕键,然后進(jìn)行下一行
垂直同步:同步一幀。
60Hz刷新率就是指衰粹,每秒顯示60幀(圖像)
假設(shè)分辨率為800*600,則每秒有60次垂直同步锣光。而每次垂直同步包括了600次水平同步。
另外傳輸?shù)臄?shù)據(jù)包括圖像數(shù)據(jù)(8bit調(diào)制為10bit每通道進(jìn)行傳輸)寄猩,控制信號(hào)(用來說明下一次傳輸哪類信號(hào))嫉晶,音頻數(shù)據(jù)(4bit)骑疆。通道包括rgb共3通道田篇,最后加一通道為clock替废。

HDMI TDMS.png

我此時(shí)懷疑是否ioctrl后底層驅(qū)動(dòng)配置不支持。然后又看了下硬件原理用的是TDA19988的解碼芯片說只支持到1280的解碼泊柬,那么1440x900之前為什么也能支持椎镣?關(guān)于TDA在上圖中是什么位置有點(diǎn)搞不明白,之后再研究下兽赁。然后總是顯示tilcdc初始化成功状答,tilcdc到底是個(gè)什么東西。重要兜了個(gè)圈子又回到了TI官網(wǎng)刀崖,LCDC是LCD controller的縮寫惊科,ti就是TI,說白了tilcdc就是am335的一個(gè)lcd模塊亮钦。就和我現(xiàn)在一直做的can模塊一樣馆截。

LCDC模塊

終于進(jìn)入正題,我之前除了看graph章節(jié)蜂莉,我還應(yīng)該要看TI官網(wǎng)的LCDC章節(jié)蜡娶。這里面就寫drm及kmscube還有testmode的源碼路徑。并且還告知dts在有LCD的情況下應(yīng)該如何配置映穗,看了教程后覺得我的底層驅(qū)動(dòng)當(dāng)前是正常的窖张,因?yàn)檫\(yùn)行kmscube能正常顯示3D圖像。
http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components/Kernel/Kernel_Drivers/Display/LCDC.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蚁滋,一起剝皮案震驚了整個(gè)濱河市宿接,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌枢赔,老刑警劉巖澄阳,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異踏拜,居然都是意外死亡碎赢,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門速梗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肮塞,“玉大人,你說我怎么就攤上這事姻锁≌碚裕” “怎么了?”我有些...
    開封第一講書人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵位隶,是天一觀的道長拷窜。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么篮昧? 我笑而不...
    開封第一講書人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任赋荆,我火速辦了婚禮,結(jié)果婚禮上懊昨,老公的妹妹穿的比我還像新娘窄潭。我一直安慰自己,他們只是感情好酵颁,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開白布嫉你。 她就那樣靜靜地躺著,像睡著了一般躏惋。 火紅的嫁衣襯著肌膚如雪幽污。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,482評(píng)論 1 302
  • 那天簿姨,我揣著相機(jī)與錄音油挥,去河邊找鬼。 笑死款熬,一個(gè)胖子當(dāng)著我的面吹牛深寥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播贤牛,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼惋鹅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了殉簸?” 一聲冷哼從身側(cè)響起闰集,我...
    開封第一講書人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎般卑,沒想到半個(gè)月后武鲁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蝠检,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年沐鼠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片叹谁。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡饲梭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出焰檩,到底是詐尸還是另有隱情憔涉,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布析苫,位于F島的核電站兜叨,受9級(jí)特大地震影響穿扳,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜国旷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一纵揍、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧议街,春花似錦、人聲如沸璧榄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽骨杂。三九已至涂身,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間搓蚪,已是汗流浹背蛤售。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留妒潭,地道東北人悴能。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像雳灾,于是被迫代替她去往敵國和親漠酿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容