版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、嵌入式學習路徑嵌入式linux應用開發(fā)第一階段課程大綱1 搭建嵌入式Linux開發(fā)環(huán)境的目標:通過今天課程的學習,學生可以掌握嵌入式Linux的開發(fā)流程,掌握Linux下tftp、nfs等服務器的配置方法,為高效開發(fā)鋪路嵌入式Linux。 1.1 嵌入式LINUX介紹與開發(fā)1.2 LINUX快速入門1.3 搭建嵌入式LINUX開發(fā)環(huán)境1.4 熟悉嵌入式開發(fā)平臺1.5 嵌入式LINUX開發(fā)工具1.6 LINUX下調試技巧1.7 MAKE項目管理器1.8 交叉編譯【實驗】 1.學習LINUX系統(tǒng)命令2.配置TFTP服務3.配置NFS服務4.建立嵌入式開發(fā)環(huán)境5.下載內(nèi)核到嵌入式平臺6.下載根文件系
2、統(tǒng)7.編寫和下載應用程序到嵌入式平臺2 嵌入式LINUX進程與進程間通信 開發(fā)目標:通過今天課程的學習,學生將了解Linux系統(tǒng)中進程的概念,從內(nèi)核的角度理解進程的原理和實現(xiàn)。同時掌握Linux下daemon進程的編寫方法,了解Linux下進程間通信的幾種方法,具備編寫進程間通信編程的能力。 2.1 進程屬性和狀態(tài)2.2 進程控制和調度2.3 進程創(chuàng)建、執(zhí)行和死亡2.4 進程相關的系統(tǒng)調用2.5守護進程2.6進程間通信的基本概念MEMORY) 2.10 消息隊列(MESSAGE QUEUE) 2.11 信號量(SEMAPHORE) 2.12 共享內(nèi)存(共享內(nèi)存)【實驗】 1.使用PS命令查看進
3、程信息2.使用PROC文件系統(tǒng)查看進程信息3.使用SYSTEM()系統(tǒng)調用運行并等待4.EXIT和EXEC系統(tǒng)調用示例5.編寫守護進程6 . 編寫基于串口通信的多進程程序3 嵌入式Linux下的網(wǎng)絡開發(fā)目標: 通過今天課程的學習,學生可以了解網(wǎng)絡的基本知識,了解Linux下的網(wǎng)絡結構和socket編程,具備設計Linux下網(wǎng)絡編程的能力。 3.1 ISO/OSI七層協(xié)議模型和IP網(wǎng)絡四層模型3.2 TCP/IP協(xié)議簇3.3 基于嵌入式LINUX的TCP/IP網(wǎng)絡結構3.4 基于嵌入式LINUX的SOCKET編程3.5 UDP與TCP的區(qū)別3.6 UDP SERVER-客戶關系流程【實驗】 1.
4、 SOCKET socket編程2. PING程序分析與增強3. TFTP服務器設計4 嵌入式GUI和數(shù)據(jù)庫開發(fā)目標:通過今天課程的學習,學生可以了解嵌入式Linux下幾種常見的GUI及其特點,重點掌握QT的相關內(nèi)容,具備設計QT程序的能力。了解嵌入式數(shù)據(jù)庫的配置和開發(fā)。 4.1 嵌入式LINUX GUI 介紹及QT/MINIGUI 比較4.2 QT 介紹及其信號槽機制4.3 QT 圖形界面編程技術4.4 QVFB 虛擬幀緩沖區(qū)的建立及仿真開發(fā)調試4.5 QT 程序移植技術4.6 QT 在實際項目中具體應用4.7 嵌入式數(shù)據(jù)庫的概念4.8 嵌入式數(shù)據(jù)庫的遷移與編程實驗 1.基于QT的HELLO
5、 WORLD對話程序的實現(xiàn)2.建立上位機虛擬幀緩沖區(qū)的實驗3.基于QT圖形界面的溫度計實現(xiàn)5 綜合項目實踐基于QT的網(wǎng)絡通信系統(tǒng)目的:經(jīng)過幾天的學習,同學們基本掌握了嵌入式linux常用的應用程序編程方法。今天通過一個綜合的項目案例來鞏固和深化之前的知識,讓同學們了解嵌入式Linux項目的開發(fā)過程。 5.1 項目實現(xiàn)的功能5.1.1QT接口設計5.1.2 網(wǎng)絡報文傳輸功能5.1.3 網(wǎng)絡文件傳輸功能5.1.4 系統(tǒng)管理功能5.2 項目涉及的技術5.2.1 項目流程及項目管理方法5.2.2 QT接口開發(fā)5.2.3 QT多線程5.2.4 QT網(wǎng)絡編程5.2.5 Linux文件操作5.2.6 Qt移
6、植(軟件移植到S3C2440開發(fā)平臺) 5.2.7 程序優(yōu)化、測試(包括:內(nèi)存泄漏、系統(tǒng)調用跟蹤、函數(shù)執(zhí)行時間和頻率檢測、核心轉儲處理等)嵌入式linux系統(tǒng)開發(fā)第二階段課程大綱1 嵌入式Linux開發(fā)環(huán)境搭建目標:通過今天課程的學習,學生可以掌握嵌入式Linux交叉開發(fā)環(huán)境的搭建、交叉編譯工具鏈的使用、交叉編譯工具鏈制作的原理,并學會制作自己的Linux交叉開發(fā)環(huán)境。通過crosstool自己交叉編譯。工具鏈。 1.1 交叉開發(fā)環(huán)境介紹1.2 編譯交叉開發(fā)工具鏈1.3 配置宿主機開發(fā)環(huán)境1.4 建立交叉開發(fā)環(huán)境1.5 編譯器和二進制工具詳解1.6 交叉調試應用【實驗】 (1)安裝開發(fā)工具和文
7、件(2)配置超級終端/minicom (3)配置TFTP網(wǎng)絡服務(4)配置NFS網(wǎng)絡服務(5)引導目標板啟動Linux內(nèi)核(6)make crosstool cross工具鏈(七)交叉調試應用2 開發(fā)系統(tǒng)引導程序目標:了解嵌入式linux引導程序的原理,掌握如何在FS2410硬件平臺上移植u-boot。 2.1 Bootloader介紹2.2 u-boot項目介紹2.3 u-boot編譯與使用2.4 u-boot源碼分析2.5 u-boot資源分配2.6 u-boot遷移過程【實驗】 (1)常用u-boot命令(2)新增u-boot命令(3)設置u-boot環(huán)境變量(4)配置編譯u-boot
8、(5)移植FS2410的u-boot- 1.3.4支持網(wǎng)卡、串口功能 支持nor、nandflash 啟動 支持nor、nandflash 編程 支持yaffs2、jffs2 文件系統(tǒng)編程 支持U 盤文件讀取3 配置和編譯Linux內(nèi)核目標:熟悉內(nèi)核的原始代碼結構和kbuild Makefile語法;掌握內(nèi)核和驅動模塊編譯相關的原理和方法。 3.1 Linux內(nèi)核介紹3.2 Linux內(nèi)核特性3.3 Linux內(nèi)核源代碼結構3.4 Linux內(nèi)核選項分析3.5 Linux內(nèi)核編譯3.6 內(nèi)核模塊編譯與使用【實驗】 (1)配置交叉開發(fā)環(huán)境(2)熟悉菜單配置文件的組織方式(3)熟悉內(nèi)核配置流程選項
9、(4)在Kconfig中添加新選項(5)編譯交叉開發(fā)環(huán)境所需的內(nèi)核(六)在內(nèi)核中添加自己的字符設備程序4 移植Linux內(nèi)核源碼的目的:通過今天課程的學習,學生可以熟悉內(nèi)核啟動過程,掌握內(nèi)核移植的一般方法,分析平臺相關的代碼結構,并能夠移植高級的內(nèi)核。版本內(nèi)核自行支持FS2410開發(fā)板。 4.1 Linux內(nèi)核移植介紹4.2 Linux內(nèi)核移植平臺相關代碼分析4.3 Linux內(nèi)核源碼動手修改4.4 編譯過程錯誤與宏定義關系分析4.5 Linux啟動過程源碼分析4.6 2.6 內(nèi)核源碼介紹內(nèi)核平臺的設備結構【實驗】 (1)配置編譯高版本Linux內(nèi)核(2)移植高版本(linux- 2.6.26
10、)內(nèi)核支持FS2410板卡網(wǎng)卡驅動移植mtd支持和flash分區(qū)方法yaffs2文件系統(tǒng)移植sd卡驅動 LCD 支持 U 盤功能(三)編譯過程中的錯誤分析與解決5、Linux系統(tǒng)集成部署目標:了解嵌入式linux引導程序的原理,掌握如何在FS2410硬件平臺上移植u-boot。 5.1 Linux文件系統(tǒng)制作5.2 Linux系統(tǒng)集成測試5.3 文件系統(tǒng)和存儲設備選擇5.4 Ramdisk文件系統(tǒng)部署流程 5.5 JFFS2文件系統(tǒng)部署流程 5.6 Yaffs2文件系統(tǒng)部署流程【實驗】 (1)做最小的文件系統(tǒng)(2)添加udev支持(3)部署ramdisk文件系統(tǒng)(4)部署cramfs文件系統(tǒng)(
11、5)部署jffs2文件系統(tǒng)(6)部署yaffs2文件系統(tǒng)(7)配置u -boot 使系統(tǒng)獨立運行6 調試Linux內(nèi)核和優(yōu)化Linux內(nèi)核目標:掌握內(nèi)核調試的常用方法和內(nèi)核優(yōu)化的方法和策略。 6.1 Linux內(nèi)核調試概述6.2 Linux內(nèi)核打印功能6.3 Linux內(nèi)核啟動過程錯誤分析6.4 解析oops信息6.5 常用調試方法和工具6.6 基本驅動分析6.7 系統(tǒng)啟動時間優(yōu)化6.8 電源管理方法 動態(tài)和靜態(tài)功耗介紹 嵌入式處理器對電源管理的支持 嵌入式linux電源管理結構 用戶層電源管理策略 設備驅動層電源管理策略【實驗】 (1)通過基本調試方法解決核心啟動過程中的錯誤(2)分析和處理
12、oops錯誤(3)優(yōu)化系統(tǒng),加快系統(tǒng)啟動速度(4)優(yōu)化系統(tǒng),降低系統(tǒng)功耗嵌入式linux驅動開發(fā)第三階段課程大綱通過本課程,學生可以從用戶設備I/O編程的角度深入理解設備驅動的原理;通過了解字符設備驅動框架和具體的硬件設備I/O操作,可以開發(fā)字符設備驅動;了解linux2.6核心設備模型并掌握udev的使用。1. LINUX字符設備驅動開發(fā)1.1 LINUX字符設備驅動基礎1.2 字符設備驅動實現(xiàn)框架及典型驅動分析1.3 用戶空間和內(nèi)核空間數(shù)據(jù)傳輸1.4 同步、互斥、阻塞、休眠機制1.5 Linux-2.6設備模型 1.6 with sysfs文件系統(tǒng)udev 和 devfs 文件系統(tǒng)【實驗】
13、 1.驅動開發(fā)編程環(huán)境和內(nèi)核配置,編譯2.編寫模塊化字符設備驅動并測試3.如何給內(nèi)核程序傳遞參數(shù)4.在驅動代碼中添加創(chuàng)建proc節(jié)點的方法5.蜂鳴器驅動編寫與測試6.編寫驅動實現(xiàn)包括等待隊列、信號量、fifo等功能通過本課程,學生可以掌握基于基本字符設備驅動程序的復雜內(nèi)核機制;了解linux內(nèi)核中斷子系統(tǒng)的實現(xiàn)原理,掌握linux中斷處理程序的編寫方法;掌握內(nèi)核延遲機制和存儲管理機制。2. 設備驅動中常用的內(nèi)核機制2.1 輪詢和選擇操作2.2 異步通知機制2.3 1inux內(nèi)核中斷子系統(tǒng)2.4 中斷處理程序編寫2.5 驅動上/下半處理和延遲執(zhí)行機制2.6 內(nèi)核定時器和延遲機制2.7 存款管理機
14、制【實驗】 1. 編寫驅動實現(xiàn),包括等待隊列、信號量、fifo等函數(shù)2. 編寫驅動實現(xiàn),包括輪詢函數(shù)3. 編寫驅動實現(xiàn),包括異步通知功能4. 編寫秒表字符設備,主定時器使用5. 編寫驅動實現(xiàn)tasklet函數(shù)6、編寫驅動實現(xiàn)工作隊列函數(shù)7、按鍵中斷實驗8、A/D轉換實驗通過本課程,學生可以了解Linux中塊設備驅動的特點和框架,獨立分析Linux中部分塊設備的驅動方法,熟悉MTD設備驅動的特點和框架,具備MTD開發(fā)能力Nand Flash 驅動程序。通過實驗,學生還可以掌握IDE、Ramdisk驅動移植方法。3. LINUX塊設備驅動開發(fā)3.1 塊設備及其驅動的特點3.2 塊設備驅動中的兩個關
15、鍵結構GEN_DISK和REQUEST 3.3 塊設備驅動的注冊和請求處理3.4 MTD設備的特點及其與塊設備的關系3.5 分析MTD設備驅動框架及關鍵結構3.6 S3C2410(S3C2440)NAND FLASH控制器分析 3.7 S3C2410(S3C2440)NAND FLASH MTD驅動分析【實驗】 1.編寫一個簡單的塊設備驅動2.實現(xiàn)RAMDISK驅動 3.IDE硬盤驅動移植4.移植S3C2410閃存控制器驅動5.配置MTD核心選項6.移植嵌入式文件系統(tǒng)網(wǎng)絡設備是嵌入式產(chǎn)品開發(fā),尤其是基于網(wǎng)絡的產(chǎn)品開發(fā)最重要的方面之一。通過本課程,學生可以深入了解Linux網(wǎng)絡驅動程序中的套接字
16、(socket)和套接字緩沖區(qū)(sk_buff)的概念,了解網(wǎng)絡驅動程序的數(shù)據(jù)交換過程。通過實際動手操作,學生將掌握如何移植或編寫特定網(wǎng)卡的驅動程序,并在此基礎上實現(xiàn)更高級的網(wǎng)絡功能。了解MMC/SD卡的物理和電氣特性,熟悉相關工作協(xié)議,在此基礎上能夠移植或編寫Linux下MMC/SD控制器的驅動程序。LINUX網(wǎng)絡設備驅動開發(fā)4.1 OSI網(wǎng)絡參考模型4.2 Socket ( SOCKET)簡介程序基本實現(xiàn)五、LINUX下MMC/SD卡驅動開發(fā)5.1 嵌入式系統(tǒng)中幾種常見存儲介質(NOR/NAND FLASH、CF、MMC)對比/SD) 5.2 MMC/SD卡物理電氣規(guī)格5.3 MMC 5.
17、4 S3C2410(S3C2440)中MMC/SDHOST控制器分析 5.5 LINUX中MMC/SD存儲卡驅動結構分析完成【實驗】 1.編寫一個簡單的虛擬網(wǎng)卡驅動2.移植并編寫CS8900A網(wǎng)卡驅動3.移植并編寫DM9000網(wǎng)卡驅動4.配置網(wǎng)絡參數(shù)并測試網(wǎng)卡驅動的行為5.MMC/ SD協(xié)議解析6、LINUX源碼中添加對ARM平臺MMC/SD主控驅動的支持通過本課程,學生可以掌握嵌入式Linux顯示驅動程序的開發(fā)方法,了解嵌入式Linux圖形驅動程序的實現(xiàn)機制,能夠移植或編寫嵌入式顯示控制器驅動程序,完成對各種LCD硬件的定制。6. LINUX 幀緩沖驅動開發(fā)6.1 幀緩沖顯示技術6.2 幀緩
18、沖驅動顯示原理6.3 幀緩沖驅動數(shù)據(jù)結構6.4 幀緩沖驅動API 6.5 幀緩沖驅動基本實現(xiàn)6.6 使用高級圖形庫7. 觸摸屏驅動開發(fā)7.1 工作原理觸摸屏原理 7.2 S3C2410觸摸屏控制器的工作原理7.3 觸摸屏驅動的編寫【實驗】 1.熟悉FRAMEBUFFER驅動的結構2.熟悉FRAMEBUFFER中的重要數(shù)據(jù)結構3.編寫S3C2410彩色液晶控制器驅動4.編寫控制屏幕顯示的測試程序5.編譯高級圖形庫示例,顯示圖形6 . 熟悉觸摸屏驅動7. 編寫觸摸屏測試代碼掌握USB通信規(guī)范和拓撲中的主機控制器、HUB、USB設備的工作流程;掌握S3C2410 USB設備控制器的工作原理;最后在S
19、3C2410開發(fā)板上編寫usbtransfer固件程序,結合PC軟件上Windows環(huán)境下的DNW,實現(xiàn)基于usb的文件下載功能。通過Linux下USB驅動開發(fā)的學習,學生將深入了解Linux內(nèi)核USB子系統(tǒng),掌握USB驅動編程技術。學生學習后可以移植或編寫USB主機OHCI和設備驅動,最終通過usbtransfer設備的驅動編程實現(xiàn)Linux環(huán)境下的文件下載功能(代替DNW的下載功能)。8. LINUX下USB驅動開發(fā)基礎8.1 USB規(guī)范介紹8.2 USB主控制器8.3 USB HUB 8.4 USB設備狀態(tài)8.5 USB描述符8.6 USB請求8.7 USB通信數(shù)據(jù)格式8.8 S3C24
20、10 USB設備控制器8.9 編寫usbtransfer固件程序9. LINUX高級USB驅動開發(fā)9.1 Linux USB 驅動級別9.2 Linux USB 主機控制器驅動介紹9.3 Linux USB HUB 驅動介紹9.4 Linux USB 設備驅動9.5 編寫usbtransfer 設備驅動9.6 編寫usbtransfer 設備應用【實驗】 1.在開發(fā)板上燒錄測試USB固件程序2.分析編寫usbtransfer固件程序3.使用usbview工具觀察USB設備4.使用sysfs分析USB層次結構5.在LINUX下編寫usbtransfer設備驅動實現(xiàn)USB 下載 HYPERLINK
21、 %20%20%20%20:/blog.ednchina%20%20%20%20/gujunyi6688/270247/Message.aspx l # 嵌入式系統(tǒng)工程師學習?1.Linux基礎_安裝Linux操作系統(tǒng)Linux文件系統(tǒng)Linux常用命令Linux啟動過程詳解熟悉Linux服務 能夠獨立安裝Linux操作系統(tǒng)能夠熟練使用Linux系統(tǒng)的基本命令了解Linux系統(tǒng)常用服務Linux基礎命令練習設置Linux環(huán)境變量定制Linux服務shell編程基礎使用vi編輯文件Emacs編輯文件使用其他編輯器2 、Shell編程基礎殼牌簡介了解后臺程序Bash編程熟悉Linux系統(tǒng)下的編輯環(huán)
22、境熟悉Linux下的各種shell精通shell編程,熟悉vi基本操作熟悉Emacs的基本操作比較不同shell的區(qū)別編寫一個測試服務器是否連接的shell腳本編寫一個檢查進程是否存在的shell腳本編寫帶有循環(huán)語句的shell腳本3. Linux下的C編程基礎linux C語言環(huán)境使用Gccgdb調試技術自動配置汽車制造生成文件代碼優(yōu)化熟悉Linux系統(tǒng)下的開發(fā)環(huán)境熟悉gcc編譯器熟悉Makefile規(guī)則,編寫Hello, World程序make 命令編譯程序編寫一個帶循環(huán)的程序調試有問題的程序4.嵌入式系統(tǒng)開發(fā)的基礎嵌入式系統(tǒng)概述交叉編譯配置TFTP服務配置NFS服務下載引導加載程序和內(nèi)核
23、嵌入式Linux應用軟件開發(fā)流程熟悉嵌入式系統(tǒng)概念及開發(fā)流程搭建嵌入式系統(tǒng)開發(fā)環(huán)境制作cross_gcc工具鏈編譯下載U-boot編譯和下載Linux內(nèi)核編譯和下載Linux應用程序5 、嵌入式系統(tǒng)移植Linux內(nèi)核代碼平臺相關代碼分析ARM平臺介紹平臺遷移關鍵技術Linux內(nèi)核移植到ARM平臺了解移植的概念能夠移植Linux內(nèi)核 移植Linux2.6內(nèi)核到ARM9開發(fā)板6.嵌入式Linux下的串行通信I/O的基本概念嵌入式Linux應用軟件開發(fā)流程Linux系統(tǒng)文件和設備文件相關的系統(tǒng)調用配置超級終端和MiniCOM熟悉串口通信熟悉文件I/O編寫串口通訊程序編寫多串口通訊程序7.嵌入式系統(tǒng)中
24、的多進程編程Linux系統(tǒng)進程嵌入式系統(tǒng)的工藝特點流程操作守護進程相關系統(tǒng)調用了解Linux系統(tǒng)中進程的概念編寫多進程程序的能力編寫守護程序的能力sleep系統(tǒng)調用任務管理、同步和通信Linux 任務概述任務調度管道信號共享存儲任務管理API了解Linux系統(tǒng)任務管理機制熟悉進程間通信的幾種方式熟悉嵌入式Linux中的任務間同步和通信編寫一個簡單的流水線程序實現(xiàn)文件傳輸編寫一個使用共享內(nèi)存的程序8.嵌入式系統(tǒng)中的多線程編程線程的基礎知識多線程編程線程應用程序中的同步問題了解線程的概念能夠編寫簡單的多線程程序9.嵌入式Linux網(wǎng)絡編程網(wǎng)絡基礎Linux中的TCP/IP網(wǎng)絡結構套接字編程常用API函數(shù)分析Ping命令的實現(xiàn)基本UDP套接字編程許可證管理PPP協(xié)議G
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版勞動者勞動社會保險合同(特殊工種)3篇
- 二零二五版水溝施工與承包勞務合同范本2篇
- 二零二五版家政服務公司家政服務與品牌建設合同3篇
- 二零二五版宅基地使用權轉讓與房屋租賃一攬子合同2篇
- 二零二五版遠程辦公勞動合同簽訂與工作質量監(jiān)控3篇
- 二零二五版辦公用品耗材行業(yè)聯(lián)盟采購合同2篇
- 二零二五版旅游租車服務合同范本2篇
- 2025年草原草原生態(tài)保護與資源合理利用合同3篇
- 二零二五版家具原料采購合同與供應鏈管理協(xié)議3篇
- 展會市場調研服務合同(2篇)
- 非ST段抬高型急性冠脈綜合征診斷和治療指南(2024)解讀
- 產(chǎn)品共同研發(fā)合作協(xié)議范本5篇
- 風水學的基礎知識培訓
- 吸入療法在呼吸康復應用中的中國專家共識2022版
- 1-35kV電纜技術參數(shù)表
- 信息科技課程標準測(2022版)考試題庫及答案
- 施工組織設計方案針對性、完整性
- 2002版干部履歷表(貴州省)
- DL∕T 1909-2018 -48V電力通信直流電源系統(tǒng)技術規(guī)范
- 2024年服裝制版師(高級)職業(yè)鑒定考試復習題庫(含答案)
評論
0/150
提交評論