1. 我錄制45天,你學(xué)完只需要1天
歷時(shí)1個(gè)半月,驅(qū)動(dòng)大全I(xiàn)IO驅(qū)動(dòng)完結(jié)了!20個(gè)視頻,時(shí)長5小時(shí)45分鐘。大綱如下:
01.1_IIO子系統(tǒng)簡化框架 01.2_DHT11操作原理與編程思路 01.3_DHT11驅(qū)動(dòng)程序體驗(yàn)_IMX6ULL 01.3_DHT11驅(qū)動(dòng)程序體驗(yàn)_STM32MP157 01.4_DHT11驅(qū)動(dòng)程序分析 01.5_通道的sysfs信息修改與體驗(yàn) 02.1_iio_buffer的核心要素與體驗(yàn) 02.2_增加iio_buffer并體驗(yàn)sysfs 02.3_實(shí)現(xiàn)iio_buffer的寫入 03.1_iio_trigger的引入與體驗(yàn) 03.2_iio_trigger內(nèi)部機(jī)制 03.3_iio-trig-hrtimer分析 03.4_修改DHT11驅(qū)動(dòng)使用iio_trigger 04.1_iio_event的引入與體驗(yàn) 04.2_修改DHT11驅(qū)動(dòng)使用iio_event_編程 04.3_修改DHT11驅(qū)動(dòng)使用iio_event_上機(jī)測試 04.4_使用trigger寫iio_event(不實(shí)用) 05.1_驅(qū)動(dòng)示例_IMX6ULL的ADC驅(qū)動(dòng) 05.2_驅(qū)動(dòng)示例_STM32MP157的ADC驅(qū)動(dòng) 05.3_STM32MP157的ADC驅(qū)動(dòng)分析
2. Linux驅(qū)動(dòng):用起來很爽,能用起來很困難
Linux驅(qū)動(dòng)的發(fā)展已經(jīng)形成了一個(gè)又一個(gè)的山頭,觸摸屏有"輸入子系統(tǒng)",I2C設(shè)備有"I2C子系統(tǒng)"。
硬件的差異必然導(dǎo)致訪問的差異,這很正常。
但是對(duì)于IIO子系統(tǒng),在常規(guī)的"/dev/xxx"設(shè)備節(jié)點(diǎn)外,又增加了"sysfs"文件的訪問,
而你要理解如何使用這些"sysfs",又必須理解IIO子系統(tǒng)的設(shè)計(jì)思路,
也就是一個(gè)寫APP的人,需要去理解內(nèi)核IIO子系統(tǒng)的知識(shí)。
即使作為Linux驅(qū)動(dòng)開發(fā)工程師,去理解IIO子系統(tǒng)也是困難的:
它使用"虛擬中斷控制器"管理傳感器的硬件操作函數(shù),
使用各類"trigger"l來實(shí)現(xiàn)不同方式的讀取方法:比如循環(huán)讀取、周期性讀取。
聽不懂了吧?
我一開始也是懵的!你能一下子看懂下面這個(gè)框圖嗎?
Linux內(nèi)核里,習(xí)慣引入大量的結(jié)構(gòu)體,引入新的框架,但是又沒有足夠的注釋。
這就導(dǎo)致:
對(duì)于某個(gè)知識(shí)點(diǎn),已經(jīng)學(xué)會(huì)的人用起來很高效、很爽
但是,如果你想"學(xué)會(huì)",成本很高,很耗時(shí)
這就導(dǎo)致很多驅(qū)動(dòng)開發(fā)者,直接越過各類框架,比如越過IIO子系統(tǒng),簡單粗暴地使用字符設(shè)備操作傳感器。
3. 百問網(wǎng)的意義
我們研究Linux,轉(zhuǎn)換為教程,讓工程師更高效地理解、使用Linux,這就是我們存在的意義。
比如PCIE驅(qū)動(dòng),我們錄制了半年;IIO驅(qū)動(dòng),我們錄制了1個(gè)半月;你們只需要學(xué)習(xí)幾天。
-
驅(qū)動(dòng)
+關(guān)注
關(guān)注
12文章
1844瀏覽量
85395 -
Linux
+關(guān)注
關(guān)注
87文章
11324瀏覽量
209938
原文標(biāo)題:難用的Linux,IIO驅(qū)動(dòng)完結(jié)有感
文章出處:【微信號(hào):baiwenkeji,微信公眾號(hào):百問科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論