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