嵌入式LINUX系統(tǒng),課程針對目前嵌入式開發(fā)工程師的特點,重點講解LINUX
原理和實際工作中的開發(fā)流程,并結(jié)合實際操作,加深理解。達到面對企業(yè)和
終端客戶的高級工程師的水平。
1:嵌入式Linux 入門Linux基礎知識入門;Bootloader 、交叉編譯環(huán)境等的基本概念;嵌入式系統(tǒng)概述;嵌入式處理器介紹;嵌入式操作系統(tǒng)介紹;嵌入式Linux開發(fā)流程介紹;CentOS 以及ubuntu安裝及使用;Linux基礎命令的介紹及使用;實例演示一個嵌入式設備
2:嵌入式Linux 開發(fā)基礎(一)Linux操作系統(tǒng)簡介;Linux內(nèi)核及文件系統(tǒng)簡介;Shell及常用命令;編輯器vim的使用;BASH程序設計;其他應用軟件的使用;實驗:用 vim 編寫一個 shell 程序
3:嵌入式Linux 開發(fā)基礎(二)gcc使用;gdb使用;Makefile 編寫;Binutils工具;Linux內(nèi)核編譯及安裝;實驗:動手編寫一個 Makefile 用 GCC 編譯一個程序
4:ARM體系結(jié)構(gòu) 與開發(fā)環(huán)境搭建嵌入式系統(tǒng)開發(fā)基礎;ARM體系結(jié)構(gòu);ARM指令系統(tǒng);開發(fā)板及相關(guān)資源介紹,開發(fā)板使用;搭建交叉編譯環(huán)境;常用開發(fā)工具使用;實驗:搭建開發(fā)環(huán)境,熟悉開發(fā)板流程
5:嵌入式系統(tǒng) Bootloader 開發(fā)ARM 架構(gòu);ARM 匯編語言;VIVI分析與開發(fā);U-BOOT分析與開發(fā);實驗與實例:用 VIVI 和 U-BOOT 編寫 bootloader 在開發(fā)板上能順利運行
6:嵌入式Linux 開發(fā)環(huán)境搭建與內(nèi)核裁剪交叉開發(fā)環(huán)境介紹;搭建ARM 交叉開發(fā)環(huán)境; 搭建主機開發(fā)環(huán)境 : NFS、 TFTP、超級終端、minicom、C-kermit; ELDK :The Embedded Linux Development Kit; Linux內(nèi)核基本知識介紹;Linux內(nèi)核配置選項介紹;Linux內(nèi)核編譯鏈接; Linux內(nèi)核移植基本概念;Linux內(nèi)核源代碼修改; MTD支持及FLASH分區(qū)修改; Linux 內(nèi)核中編譯進新的設備驅(qū)動; Linux 啟動過程的 LOG 分析; Linux 啟動過程原理分析; Linux initrd.img 的制作與分析; Linux 內(nèi)核的調(diào)試以及出錯分析; Linux內(nèi)核的 hacking ,oops 及printk; Linux 內(nèi)核常用的調(diào)試方法以及工具; 分析解決內(nèi)核編譯移植過程中的錯誤; 實例分析與實驗: 動手移植一個嵌入式Linux內(nèi)核使之在開發(fā)板上啟動
7:嵌入式Linux 文件系統(tǒng)Linux 文件系統(tǒng)介紹; 根文件系統(tǒng)原理及基本概念; Ramdisk Cramfs Jffs2 Yaffs2基本概念;Busybox 介紹以及使用; 制作一個文件系統(tǒng)作NFS LFS 啟動使用; 制作Ramdisk文件系統(tǒng)、Cramfs 文件系統(tǒng)、JFFS2文件系統(tǒng)、Yaffs2文件系統(tǒng); 移植一個嵌入式 web 服務器:GoaHead, Boa ; 實例分析與實驗: 動手制作一個嵌入式Linux 文件系統(tǒng)使之在開發(fā)板上啟動并實現(xiàn)web 服務 補充實驗: 在主機上實現(xiàn) XAMPP :HTTP 服務,F(xiàn)TP 服務,MYSQL ,MySQLAdmin,PHP ,Wiki服務
8:Linux驅(qū)動開發(fā) 必備的內(nèi)核知識基本知識及基本概念; 進程 、線程;內(nèi)存管理;同步互斥;阻塞非阻塞; 中斷top half bottom half; 硬件控制;定時延時處理 等; 一個最簡單的Linux 驅(qū)動:hello.c; 實例分析與實驗: process.c memory.c irqlock.c timer.c globalfifo.c pollmonitor.c etc
9:字符設備驅(qū)動 與設備文件系統(tǒng)字符設備: 字符設備基本概念; Linux字符設備驅(qū)動基礎; 字符設備驅(qū)動程序?qū)崿F(xiàn)框架; 字符設備關(guān)鍵數(shù)據(jù)結(jié)構(gòu); 用戶空間與內(nèi)核空間的數(shù)據(jù)傳輸; GlobalFIFO 設備驅(qū)動分析; 設備文件系統(tǒng):(Linux 文件操作、devfs 文件系統(tǒng)、udev文件系統(tǒng)、sysfs 文件系統(tǒng)、Linux 設備模型) 實例分析與實驗: Buttons 驅(qū)動、LED驅(qū)動、LCD驅(qū)動
10:驅(qū)動調(diào)試技術(shù) 與PCI設備驅(qū)動Linux驅(qū)動調(diào)試技術(shù): Linux 調(diào)試工具搭建; Linux內(nèi)核驅(qū)動調(diào)試技術(shù); GDB 、KGDB、KCORE、 DDD、OOPS、PRINTK; PCI設備驅(qū)動: PCI/PCI-E協(xié)議; Linux PCI 設備驅(qū)動開發(fā)基礎; Linux PCI 設備驅(qū)動關(guān)鍵數(shù)據(jù)結(jié)構(gòu); Linux PCI 設備注冊模型; Linux PCI 設備的管理模型分析; 實例分析與實驗: oops.c 、mvsas 驅(qū)動
11:FrameBuffer驅(qū)動與觸摸屏驅(qū)動FrameBuffer (顯卡)驅(qū)動: FrameBuffer顯示基本概念以及原理; FrameBuffer驅(qū)動程序關(guān)鍵數(shù)據(jù)結(jié)構(gòu); FrameBuffer驅(qū)動程序的API; FrameBuffer驅(qū)動程序的實現(xiàn); 觸摸屏驅(qū)動: 觸摸屏的硬件原理; 觸摸屏驅(qū)動的數(shù)據(jù)結(jié)構(gòu)與硬件控制; 觸摸屏驅(qū)動的加載卸載、打開釋放; 觸摸屏驅(qū)動的中斷、定時處理; 觸摸屏驅(qū)動的輪詢與異步通知; Linux 輸入子系統(tǒng); 實例分析及實驗: 顯卡驅(qū)動、S3C2410觸摸屏驅(qū)動
12:塊設備驅(qū)動 與 Flash設備驅(qū)動塊設備驅(qū)動: 塊設備基本知識及其驅(qū)動的特點; 塊設備驅(qū)動程序中關(guān)鍵結(jié)構(gòu)體; 塊設備驅(qū)動程序的注冊與請求處理實例分析; 塊設備驅(qū)動程序的數(shù)據(jù)處理模型; RamDisk 硬件原理及驅(qū)動; Flash 設備驅(qū)動;MTD; NOR Flash 驅(qū)動;NAND Flash驅(qū)動; Flash 文件系統(tǒng); 實例分析與實驗: Ramdisk驅(qū)動、S3c2410 NAND Flash 驅(qū)動
13:網(wǎng)絡設備驅(qū)動TCP IP 協(xié)議: TCP IP 協(xié)議 SPEC的獲??; TCP IP 協(xié)議 基本工作原理; ARP 、IP 、TCP、UDP、ICMP、 IGMP 等協(xié)議的基本概念基本原理; IRIS抓網(wǎng)絡數(shù)據(jù)包實例分析 TCP/IP 協(xié)議簇; Socket 網(wǎng)絡編程;Socket 基本原理;Socket 編程應用; 網(wǎng)絡設備驅(qū)動: 1. 網(wǎng)絡協(xié)議基礎知識及原理; 2. 網(wǎng)絡設備及其驅(qū)動的基本原理; 3. 網(wǎng)絡設備驅(qū)動程序中關(guān)鍵結(jié)構(gòu)體; 4. 網(wǎng)絡設備驅(qū)動程序的注冊與請求處理實例分析; 網(wǎng)絡設備驅(qū)動程序的數(shù)據(jù)處理模型; 網(wǎng)絡設備驅(qū)動程序的基本實現(xiàn); 實例分析與實驗: Socket 應用實例、CS8900網(wǎng)卡驅(qū)動
14:智能家居項目通過WEB頁面能進行遠程監(jiān)控,并能遠程對于家電進行控制
15:電子數(shù)碼相冊實現(xiàn)數(shù)碼相冊的瀏覽與圖片管理功能,并支持瀏覽外接U盤中的圖像資料,實現(xiàn)幻燈片播放
|