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