
曙海教學(xué)優(yōu)勢
該課程,秉承21年教學(xué)品質(zhì),以項目實現(xiàn)為導(dǎo)向,面向企事業(yè)單位項目實際需求,講師將會與您分享設(shè)計的全流程以及工具的綜合使用技巧與經(jīng)驗。課程可定制,線下/線上/上門皆可,全國免費報名熱線:4008699035。
曙海培訓(xùn)的課程培養(yǎng)了大批受企業(yè)歡迎的工程師。大批企業(yè)和曙海
建立了良好的合作關(guān)系,合作企業(yè)三十多萬家。曙海的課程得到業(yè)內(nèi)企事業(yè)單位廣泛贊譽。
本課程詳解Linux內(nèi)核編程的并發(fā)、同步、中斷、定時器、內(nèi)存、DMA和cache等問題,結(jié)合實例講解Linux驅(qū)動各種設(shè)備驅(qū)動架構(gòu)、I/O模型以及Linux的移植、設(shè)備樹代碼的編寫等。
本課程的布局安排是,每天上課約4小時,實驗約2小時。要求學(xué)員親自在電腦和電路板上進(jìn)行實驗。
第一章 內(nèi)核編程
熱身,熟悉pcduino板卡
1.板卡介紹和使用
2.Bootloader、kernel、文件系統(tǒng)構(gòu)成
3.怎么更新板子里的東西
第1節(jié) 內(nèi)核編程主要API深入剖析
1 同步與并發(fā)(atomic, spinlock,mutex,completion深入理解)
2 等待隊列
3 內(nèi)核延時
4 內(nèi)存申請和釋放
5 用作DMA的內(nèi)存
6 內(nèi)存屏障與寄存器訪問
第2節(jié) 定時器
1 內(nèi)核定時器tick
2 tickless
3 高精度定時器hrtimer
第3節(jié) 中斷
1 中斷頂?shù)装氩?/font>
2 軟中斷
3 tasklet
4 工作隊列
5 threaded_irq
6 多核中斷affinity及軟中斷負(fù)載均衡
第4節(jié) Linux內(nèi)核模塊
1 內(nèi)核模塊init和exit
2 輸入?yún)?shù)
3 輸出參數(shù)
4 模塊的license與GPL
第5節(jié) Linux內(nèi)核的調(diào)試
1 printk
2 Oops和panic
3 initcall_debug
4 電源管理suspend/resume debug
5 earlyprintk與low level debug
6 proc和sys
7 grabserial
8 soft和hard lockup
9 內(nèi)核的源碼級調(diào)試
10 內(nèi)核模塊的源碼級調(diào)試
11 ftrace
第二章 設(shè)備驅(qū)動
第1節(jié) Linux設(shè)備驅(qū)動模型
1 Linux設(shè)備分類
2 Sys,總線、設(shè)備、驅(qū)動和class
3 熱插拔
4 電源管理
5 udev
第2節(jié) 設(shè)備驅(qū)動并發(fā)控制與I/O模型
1 Linux字符設(shè)備驅(qū)動結(jié)構(gòu)
2 Linux設(shè)備驅(qū)動中的并發(fā)控制
3 Linux設(shè)備驅(qū)動中的阻塞與非阻塞I/O
4 Linux多路復(fù)用I/O
5 Signal IO與AIO
6 用戶空間I/O與多線程設(shè)計原則
第3節(jié) Linux復(fù)雜設(shè)備驅(qū)動
1 設(shè)備驅(qū)動分層框架
2 設(shè)備驅(qū)動的面向?qū)ο笤O(shè)計
3 platform驅(qū)動
4 基于I2C/SPI/USB等總線的驅(qū)動
5 塊設(shè)備驅(qū)動與塊I/O調(diào)度
6 網(wǎng)絡(luò)設(shè)備驅(qū)動
案例分析
input子系統(tǒng)
LCD子系統(tǒng)
DM9000網(wǎng)卡
ADI網(wǎng)卡
vmem_disk
第三章 Linux移植和BSP構(gòu)建
第1節(jié) 將Linux移植到一個新的SoC或電路板
1 OS timer
2 L2 cache
3 early_printk
4 clk tree
5 GPIO
6 pinmux
7 IRQ chip
8 DMA
9 MACH_INIT
10 社區(qū)維護(hù)
第2節(jié) 設(shè)備樹(Device Tree)
1用一個假設(shè)的簡單電路板從頭到尾構(gòu)建一個dts文件
2 dts編譯為dtb,與dtb反編譯為dts
3 machine級的匹配
4 driver和device級的匹配
5 基地址、中斷、gpio、時鐘、reset、pinmux等常規(guī)屬性
6 dts節(jié)點自定義屬性
7 啟動過程中dtb的讀取與展開
8 i2c, spi子節(jié)點的展開
9 dts的分級與dtsi
10 dt binding文檔
?