嵌入式linux 系統(tǒng)與應用開發(fā)就業(yè)班課程大綱
1周入學輔導+14周理論+2周項目指導(其中含7周項目實踐)
C語言基礎(chǔ)、C++基礎(chǔ)、數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)原理、Linux應用基礎(chǔ)、電子電路基礎(chǔ)
開課前一周:入學基礎(chǔ)測試與輔導(C語言、C++、linux基礎(chǔ)、數(shù)據(jù)結(jié)構(gòu)、電子電路) 序號 課程目標 課程內(nèi)容 1
Linux 快速入門
Linux 概述; Linux發(fā)行版;
Linux開發(fā)環(huán)境搭建-vmware虛擬機;Linux系統(tǒng)安裝
Linux的基礎(chǔ)知識; Linux文件系統(tǒng)和文件; Shell的使用;
常用的shell命令;Linux的軟件安裝;
Linux 下的C語言編程基礎(chǔ);Linux下VIM的使用;
編譯器GCC的使用;調(diào)試器gdb的使用;
Linux下多文件編譯與項目管理工具make的使用;
C語言基礎(chǔ)強化
C語言語法C語言的內(nèi)存布局與常見庫函數(shù) 3
數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)強化
鏈表、隊列、棧、樹、哈希表
數(shù)據(jù)搜索、遍歷、排序與常見算法
C++語言基礎(chǔ)強化
面向?qū)ο蟮木幊谭椒?類及對象的封裝 類的繼承與派生虛函數(shù)與多態(tài)性 構(gòu)造函數(shù)與虛構(gòu)函數(shù) 模板 異常處理 5
ARM硬件接口
嵌入式微處理器 ARM寄存器 ARM工作模式
ARM異常中斷 ARM匯編指令分類 ARM匯編指令尋址方式
ARM匯編程序設計 C及匯編語言混合編程
實驗:
基本ARM匯編指令編程;數(shù)據(jù)訪問練習;
ARM匯編和C混合編程;ARM指令和THUMB指令混合編程
ARM開發(fā)調(diào)試環(huán)境建立 ARM GPIO應用
ARM存儲器控制器 ARM中斷控制器(IR和FI)
實驗:
ARM匯編語言與C語言實現(xiàn)跑馬燈;
IR與FI中斷流程分析 ARM時鐘及定時器;TFT LCD驅(qū)動程序設計
實驗:
看門狗定時器應用;LCD顯示曲線及圖片;
LCD漢字顯示實驗; ADC控制器應用;觸摸屏應用及校準
實驗:
ADC應用實驗;觸摸屏實現(xiàn)實驗 PWM時鐘應用;實時時鐘及鬧鐘應用
實驗:
蜂鳴器控制;實時時鐘及鬧鐘應用;
ARM工作模式轉(zhuǎn)換;ARM啟動代碼設計 NOR Flash應用設計;NAND Flash應用設計
IIC總線控制器
實驗:
NOR Flash編程;NAND Flash編程; 6
交叉開發(fā)環(huán)境搭建
嵌入式系統(tǒng)定義;Linux交叉開發(fā)環(huán)境介紹;
GNU交叉工具鏈的使用;宿主機與PC機間的通信;
串口通信;交叉調(diào)試;
實驗:
Minicom配置使用,Windows超級終端配置實驗;
NFS共享設置實驗
7
Linux下C語言開發(fā)
文件I/O操作編程;
Linux系統(tǒng)調(diào)用與用戶編程接口;
Linux中文件及文件描述符概述;
不帶緩存的文件I/O操作;標準I/O開發(fā)。
文件操作 目錄操作 特殊文件
Linux下進程管理;Linux進程控制編程;守護進程;
信號及信號處理 進程間通信;多線程編程
管道;管道創(chuàng)建與讀寫;標準流管道;FIFO信號量;
共享內(nèi)存實現(xiàn);消息隊列實現(xiàn)
線程概述與分類;Linux線程技術(shù)發(fā)展;線程的實現(xiàn)和基本操作;
線程訪問控制。 TCP/IP協(xié)議概述;OSI參考模型和TCP/IP參考模型;
TCP/IP協(xié)議棧;TCP和UDP;
套接字基礎(chǔ) 網(wǎng)絡Socket概述;Socket通信原理;
Socket基礎(chǔ)編程。 套接字編程進階 多路選擇I/O 文件傳輸實現(xiàn) 8
嵌入式GUI設計
Linux下嵌入式gui編程介紹;t介紹;通過t designer認識t; 信號和槽;t的事件T中的多線程編程;t 中的網(wǎng)絡編程。
t界面布局與特效處理 9
嵌入式數(shù)據(jù)庫應用
數(shù)據(jù)庫基礎(chǔ)
嵌入式數(shù)據(jù)庫應用
嵌入式GUI與數(shù)據(jù)庫結(jié)合技術(shù)
根文件系統(tǒng)
常見根文件系統(tǒng)一(cramfs、jffs2)根文件系統(tǒng)的目錄結(jié)構(gòu);根文件系統(tǒng)內(nèi)容;
常見根文件系統(tǒng)制作;添加設備文件;添加動態(tài)鏈接庫;
添加系統(tǒng)應用程序;添加配置文件; 常見根文件系統(tǒng)二(yaffs、romfs)
根文件系統(tǒng)的目錄結(jié)構(gòu);根文件系統(tǒng)內(nèi)容;
常見根文件系統(tǒng)制作;添加設備文件;添加動態(tài)鏈接庫;
添加系統(tǒng)應用程序;添加配置文件; 11
項目架構(gòu)
綜合項目架構(gòu)分析與項目開發(fā)技巧 12Bootloader
Bootloader介紹;GEC2440Bootloader分析;
常見bootloader源碼分析;
u-boot配置與編譯;u-boot移植;u-boot 使用
實驗:
修改u-boot源代碼,移植到開發(fā)板上
Linux內(nèi)核高級技術(shù)
Linux內(nèi)核結(jié)構(gòu) 配置與編譯移植 Linux內(nèi)核模塊設計內(nèi)核內(nèi)存管理、進程管理、中斷管理、設備管理
內(nèi)核時鐘和定時器管理、信號、調(diào)度
Linux內(nèi)核調(diào)試與優(yōu)化 14
Linux驅(qū)動高級應用
字符驅(qū)動