【課程大綱】
階段一:
Linux系統(tǒng)管理與編程基礎。嵌入式系統(tǒng)概述,Linux定制安裝,Linux命令詳解,系統(tǒng)管理,Shell編程。GCC程序編譯,GDB程序調試,Makefile。
階段二:
Linux應用程序設計。Linux文件編程,Linux時間編程。進程基礎,多進程程序設計,進程間通訊概述,管道通訊,信號通訊,共享內存通訊。消息隊列通訊,信號燈。多線程程序設計。線程基礎。IP協議,TCP協議,UDP協議分析及通訊程序設計。多路復用技術。
階段三:
ARM程序設計與系統(tǒng)移植。ARM處理器概述,ARM處理器工作模式,ARM系統(tǒng)寄存器,ARM尋址方式,ARM匯編指令集。ARM環(huán)境C語言編程,ADS集成開發(fā)環(huán)境。LED程序設計,ARM中斷與異常,S3c2440 GPIO,按鍵程序設計。
階段四:
內核開發(fā)與系統(tǒng)移植。Linux內核簡介,內核源代碼結構,內核配置與裁剪,內核模塊開發(fā),內核啟動流程,內存管理,進程地址空間,內核地址空間,內核鏈表,內核定時器。進程控制,進程調度,系統(tǒng)調用,文件系統(tǒng),內核異常分析,嵌入式Linux|產品開發(fā)流程,交叉工具鏈,嵌入式Linux內核制作。根文件系統(tǒng)制作。Bootloader介紹,U-Boot命令。
階段五:
Linux驅動程序設計。Linux驅動簡介,字符設備驅動程序設計,驅動調試技術,并發(fā)與競態(tài),loctl型驅動,內核等待隊列,阻塞型驅動程序設計,Poll設備操作。Mmap設備操作,硬件訪問,混雜設備驅動,LED驅動程序設計,Linux總線、設備、驅動模型,Linux platform驅動。中斷處理,按鍵驅動程序。Linux網絡體系架構,Linux網卡驅動程序設計,Dm9000網卡驅動程序分析,觸摸屏驅動程序設計,PCI驅動程序設計,串口驅動程序設計。
階段六:
專題與項目實戰(zhàn)。USB拓撲結構,USB設備系統(tǒng)模型,USB傳輸方式,USB描述符,Linux USB系統(tǒng)架構,Mass Strorage。USB設備驅動程序設計。RNDIS分析。