對思科實施嵌入式Linux培訓

2010年初對思科實施嵌入式Linux開發培訓,感謝思科員工的支持。第一天_________________________________________________________________課程一: 動手構建一個嵌入式Linux系統_________________________________________________________________   1.      進入嵌入式Linux的精彩世界1.1 Linux的特色、版本演進與發展方向1.2 嵌入式Linux系統組成1.3 開發環境構建1.3.1 安裝設置ARM工具鏈1.3.2 安裝設置NFS文件系統1.3.3 安裝設置SSH服務1.3.3 安裝設置TFTP服務1.4 GNU工具鏈和GDB調試1.4.1 經常使用GNU工具的使用1.4.2 使用gdb調試器   2.      構建Linux Bootloader2.1 編譯和運行U-Boot2.2 U-Boot移植   3.      內核編譯與配置3.1 內核配置Kconfig和Makefile3.2 內核編譯3.2 在內核中新增和修改程序   4.      構建文件系統4.1 文件系統組成4.2 Busybox編譯與配置4.3 加入C庫4.4 加入應用程序4.4.1 編寫一個應用程序4.4.2 使用NFS服務4.4.3 使用TFTP服務次日第5章 讓系統映像更小5.1 內核裁剪5.2 文件系統裁剪5.2.1 C庫裁剪5.2.2 應用程序裁剪_________________________________________________________________課程二: Linux內核和內核開發技術(驅動開發必備的內核知識)_________________________________________________________________第6章 成爲一個Linux內核開發者6.1 patch和郵件列表6.2官方源代碼演進6.3 商業發行版版本維護6.4 源代碼與項目管理工具6.5 內核代碼檢查和check-in第7章 Linux內核工做機理7.1 內核整體結構7.2 進程管理7.3 內存管理7.4 文件系統7.5 系統調用第8章 Linux內核編程8.1 內核編程主要API8.1.1 同步與併發8.1.2 等待隊列8.1.3 內核延時8.1.4 內存申請和釋放8.2 定時器8.3 中斷頂底半部8.3.1 軟中斷8.3.2 tasklet8.3.3 工做隊列8.3.4 threaded_irq8.4 Linux內核線程8.5 IO與內存訪問8.6 DMA與cache一致性第9章 Linux內核模塊開發9.1 內核模塊組成9.2 編寫一個內核模塊9.3 加載和卸載內核模塊9.4 內核模塊進入文件系統第三天第10章 Linux內核調試方法10.1 printk10.2 oops和panic10.3 內核debug選項10.4 gdb、kgdb和kdb10.5 使用仿真器_________________________________________________________________課程三: Linux設備驅動開發(驅動原理、軟件架構與設備實例)_________________________________________________________________第11章 Linux字符設備驅動結構11.1 Linux字符設備驅動結構11.2 globalmem虛擬設備實例描述11.3 globalmem設備驅動11.3.1加載與卸載設備驅動11.3.2打開與釋放函數11.3.3讀寫函數11.3.4 seek函數11.3.5 ioctl函數11.4 globalmem驅動的編譯與加載11.5 globalmem驅動在用戶空間的驗證第12章 Linux設備驅動中的併發控制12.1併發控制的概念12.2什麼時候須要併發控制12.3自旋鎖12.3.1自旋鎖的概念12.3.2自旋鎖相關數據結構與函數12.4信號量12.4.1信號量的概念12.4.2信號量與同步12.4.3信號量與互斥12.4.4信號量相關數據結構與函數12.5增長併發控制後的globalmem驅動12.5.1在globalmem驅動中增長併發控制12.5.2在用戶空間驗證globalmem設備的併發控制第13章 Linux設備驅動中的阻塞與非阻塞I/O13.1阻塞與非阻塞I/O13.2 poll操做的概念13.3什麼時候須要poll操做13.4等待隊列waitqueues13.5 Linux poll操做相關數據結構與函數13.5.1應用程序中的poll相關數據結構與函數13.5.2設備驅動中的poll相關數據結構與函數13.6支持poll操做的globalmem驅動13.6.1在globalmem驅動中增長poll操做13.6.2在用戶空間驗證globalmem設備的poll第14章 Linux設備驅動中的異步通知14.1異步通知的概念14.2什麼時候須要異步通知14.3 Linux異步通知相關數據結構與函數14.4支持異步通知的globalmem驅動14.4.1在globalmem驅動中增長異步通知14.4.2在用戶空間驗證globalmem的異步通知第15章 硬件和綜合因素:中斷、IO訪問、驅動分層結構15.1 以觸摸屏驅動爲例剖析IO訪問15.2 以觸摸屏驅動爲例剖析中斷的使用15.3 以音頻驅動爲例剖析剖析DMA的使用15.4 範舉多個驅動子系統剖析Linux驅動的框架結構第四天第16章 Linux塊設備驅動16.1塊設備的I/O操做特色16.2 Linux塊設備驅動結構16.3塊設備驅動註冊與註銷16.4塊設備的打開與釋放16.5塊設備驅動的ioctl函數16.6塊設備I/O請求隊列16.6.1請求隊列的概念16.6.2請求隊列的相關數據結構與函數16.6.3請求隊列的保護機制16.7塊設備的讀寫流程16.8實例:硬盤設備驅動第17章 Linux Ethernet設備驅動17.1 Linux網絡設備驅動結構17.2網絡設備驅動註冊與註銷17.3網絡設備初始化17.4網絡設備打開與釋放17.5數據發送流程17.6數據接收流程17.7網絡鏈接狀態17.8參數設置和統計數據17.9實例:CS8900網卡設備驅動第18章 Linux PCI設備驅動18.1 PCI的I/O空間、存儲空間和配置空間18.2 Linux PCI設備驅動架構18.3 PCI設備驅動註冊與註銷18.4 PCI設備初始化18.5 PCI設備的probe18.6 PCI設備打開與釋放18.7 PCI設備數據讀寫與控制18.8 PCI設備驅動中斷處理18.8實例:NE2000 PCI網卡驅動_________________________________________________________________課程四: Linux內核移植(BSP構建)_________________________________________________________________第19章 Linux BSP構建19.1 BSP的組成部分19.2 plat/mach各組件的實現19.2.1 內核節拍19.2.2中斷管理19.2.3 時鐘19.2.4 GPIO19.2.5 DMA19.2.6 IO內存映射19.3設備與資源19.3.1 platform device、resource和plarform data19.3.2 uart/spi/i2c等設備板級resource
相關文章
相關標籤/搜索