本課程內(nèi)容詳細(xì)說明Linux內(nèi)核程序編寫的高并發(fā)、同歩、中斷、計(jì)時(shí)器、運(yùn)行內(nèi)存、DMA和cache等難題,融合案例解讀Linux驅(qū)動(dòng)各種各樣設(shè)備驅(qū)動(dòng)構(gòu)架、I/O實(shí)體模型及其Linux的移殖、設(shè)備樹編碼的撰寫等。
本課程內(nèi)容的合理布局分配是,每日授課約4鐘頭,試驗(yàn)約2鐘頭。規(guī)定學(xué)生親身在電腦上和電路板上開展試驗(yàn)。
課程大綱:
*章內(nèi)核程序編寫
熱身運(yùn)動(dòng),了解pcduino主控板
1.主控板詳細(xì)介紹和應(yīng)用
2.Bootloader、kernel、系統(tǒng)文件組成
3.怎么更新木板里的物品
第1節(jié)內(nèi)核程序編寫關(guān)鍵API深層次分析
1同歩與高并發(fā)(atomic,spinlock,mutex,completion深層次了解)
2等候序列
3內(nèi)核廷時(shí)
4運(yùn)行內(nèi)存申請(qǐng)辦理和釋放出來
5作為DMA的運(yùn)行內(nèi)存
6內(nèi)存屏障與存儲(chǔ)器瀏覽
第二節(jié)計(jì)時(shí)器
1內(nèi)核計(jì)時(shí)器tick
2tickless
3高精密計(jì)時(shí)器hrtimer
第三節(jié)中斷
1中斷頂?shù)紫掳?br> 2軟中斷
3tasklet
4工作中序列
5threaded_irq
6多核中斷affinity及軟中斷三層交換機(jī)
第四節(jié)Linux內(nèi)核模塊
1內(nèi)核模塊init和exit
2鍵入主要參數(shù)
3輸出主要參數(shù)
4控制模塊的license與GPL
第5節(jié)Linux內(nèi)核的調(diào)節(jié)
1printk
2Oops和panic
3initcall_debug
4電池管理suspend/resumedebug
5earlyprintk與lowleveldebug
6proc和sys
7grabserial
8soft和hardlockup
9內(nèi)核的源代碼級(jí)調(diào)節(jié)
10內(nèi)核模塊的源代碼級(jí)調(diào)節(jié)
11ftrace
第二章設(shè)備驅(qū)動(dòng)
第1節(jié)Linux設(shè)備驅(qū)動(dòng)實(shí)體模型
1Linux設(shè)備歸類
2Sys,系統(tǒng)總線、設(shè)備、驅(qū)動(dòng)和class
3熱插拔
4電池管理
5udev
第二節(jié)設(shè)備驅(qū)動(dòng)高并發(fā)操縱與I/O實(shí)體模型
1Linux標(biāo)識(shí)符設(shè)備驅(qū)動(dòng)構(gòu)造
2Linux設(shè)備驅(qū)動(dòng)中的高并發(fā)操縱
3Linux設(shè)備驅(qū)動(dòng)中的堵塞和非堵塞I/O
4Linux時(shí)分復(fù)用I/O
5SignalIO與AIO
6客戶室內(nèi)空間I/O與線程同步設(shè)計(jì)原理
第三節(jié)Linux繁雜設(shè)備驅(qū)動(dòng)
1設(shè)備驅(qū)動(dòng)層次架構(gòu)
2設(shè)備驅(qū)動(dòng)的面向?qū)ο缶幊淘O(shè)計(jì)方案
3platform驅(qū)動(dòng)
4根據(jù)I2C/SPI/USB等系統(tǒng)總線的驅(qū)動(dòng)
5塊設(shè)備驅(qū)動(dòng)與塊I/O生產(chǎn)調(diào)度
6互聯(lián)網(wǎng)設(shè)備驅(qū)動(dòng)
經(jīng)典案例
input分系統(tǒng)
LCD分系統(tǒng)
DM9000網(wǎng)口
ADI網(wǎng)口
vmem_disk
第三章Linux移殖和BSP搭建
第1節(jié)將Linux移殖到一個(gè)新的SoC或線路板
1OStimer
2L2cache
3early_printk
4clktree
5GPIO
6pinmux
7IRQchip
8DMA
9MACH_INIT
10小區(qū)維護(hù)保養(yǎng)
第二節(jié)設(shè)備樹(DeviceTree)
1用一個(gè)假定的簡(jiǎn)易線路板從頭至尾搭建一個(gè)dts文件
2dts編譯程序?yàn)閐tb,與dtb反匯編為dts
3Machine級(jí)的配對(duì)
4driver和device級(jí)的配對(duì)
5基詳細(xì)地址、中斷、gpio、數(shù)字時(shí)鐘、reset、pinmux等基本特性
6dts連接點(diǎn)自定特性
7起動(dòng)全過程中dtb的載入與進(jìn)行
8i2c,spi子連接點(diǎn)的進(jìn)行
9dts的等級(jí)分類與dtsi
10dtbinding文本文檔