第一部分:Linux平臺搭建與環(huán)境熟悉 了解linux系統;區分各種版本的Linux系統,以便于拓展 Linux視野。 1、Linux 簡(jiǎn)介; 2、Linux 系統的主要特點(diǎn); 3、Linux 的組成; 4、主要的 Linux 版本; 5、嵌入式 Linux簡(jiǎn)介與發(fā)展 第二部分虛擬機安裝和LINUX系統安裝 1、虛擬機安裝; 2、Linux系統的安裝; 3、Linux系統的常用軟件的安裝; 4、Linux快速入門(mén) 5、 熟悉運用 Linux環(huán)境下,常用命令的操作與系統設置,如常用的 Shell;掌握基本的 Shell 應用 第三部分:嵌入式LINUX環(huán)境搭建 1、 建立嵌入式 Linux開(kāi)發(fā)環(huán)境 2、 熟悉嵌入式開(kāi)發(fā)平臺 3、 嵌入式 Linux開(kāi)發(fā)工具 4、 Linux下的調試技巧 5、 MAKE工程管理器 6、 硬件環(huán)境的搭建;arm-linux-gcc與 gcc安裝配置 第四部分: U-Boot: 了解 U-Boot 的作用及工作流程;了解Bootloader 的代碼結構、編譯過(guò)程;移植U-Boot;掌握常用的U-Boot命令。 1、 Bootloader介紹 2、 u-boot工程介紹 3、 u-boot的編譯使用 4、 u-boot源碼分析 5、 u-boot資源分配 6、 配置編譯u-boot 7、 u-boot移植過(guò)程 8、 u-boot常用命令操作 9、 添加u-boot新命令 10、設置u-boot環(huán)境變量 11、 u-boot驅動(dòng)添加如網(wǎng)卡:DM9000 第五部分:LINUX內核移植:熟悉內核的原碼結構和kbuild Makefile語(yǔ)法;掌握和內核、驅動(dòng)模塊編譯相關(guān)的原理及方法。 1、Linux內核介紹 2、Linux內核特點(diǎn) 3、Linux內核源代碼結構 4、Linux內核選項解析 5、Linux內核編譯鏈接 6、內核模塊編譯、使用方法 第六部分:LINUX根文件系統 1、busybox 包移植、編譯 2、Linux跟文件系統制作過(guò)程 3、根文件系統介紹 4. nfs文件服務(wù)器系統搭建 第七部分:LINUX驅動(dòng)開(kāi)發(fā) 驅動(dòng)開(kāi)發(fā)是嵌入式Linux開(kāi)發(fā)難度最高的內容,也是目前嵌入式行業(yè)最緊缺的人才之一。本課程介紹嵌入式Linux驅動(dòng)開(kāi)發(fā)相關(guān)概念及開(kāi)發(fā)流程,了解驅動(dòng)開(kāi)發(fā)的關(guān)鍵技術(shù)點(diǎn),重點(diǎn)講解嵌入式Linux下常用接口驅動(dòng)的編寫(xiě)方法,包括 1、字符型LED驅動(dòng)開(kāi)發(fā)(GPIO口驅動(dòng)) 2、按鍵驅動(dòng)開(kāi)發(fā)(中斷驅動(dòng),在驅動(dòng)中中斷程序的編寫(xiě),消息隊列的應用 3、ADC驅動(dòng)開(kāi)發(fā) 4、網(wǎng)卡驅動(dòng)開(kāi)發(fā) 5、串口驅動(dòng)開(kāi)發(fā) 6、液晶屏(TFT彩屏驅動(dòng)開(kāi)發(fā) 7、觸摸屏驅動(dòng)+tslib(中間插件移植與設置), 8、USB驅動(dòng)開(kāi)發(fā)+USB無(wú)線(xiàn)網(wǎng)卡移植 9、IIS驅動(dòng)開(kāi)發(fā)+maplay移植與應用(mp3播放)+mplayer移植與應用(視頻播放Mp4/廣告機等播放) 10、SD驅動(dòng)開(kāi)發(fā) 11、RTC驅動(dòng)開(kāi)發(fā) 12、電源管理方法 第八部分:LINUX應用學(xué)習 嵌入式Linux應用開(kāi)發(fā)和系統開(kāi)發(fā)是嵌入式Linux中最重要的一部分,也是企業(yè)人才需求最廣的一部分。主要目標是精通嵌入式Linux下的程序設計,熟練掌握嵌入式Linux的開(kāi)發(fā)環(huán)境、系統編程以及網(wǎng)絡(luò )編程,熟悉C++、QT編程并且深刻體會(huì )整個(gè)嵌入式Linux項目開(kāi)發(fā)流程,強化學(xué)員對Linux應用開(kāi)發(fā)的能力. 1、Linux系統中的進(jìn)程的概念,在應用程序中線(xiàn)程與父子進(jìn)程的創(chuàng )建與應用 2、線(xiàn)程之間、進(jìn)程之間的通信 3、進(jìn)程間通信基本概念 4、管道(PIPE) 5、信號(SIGNAL) 6、內存映射(MAPPED MEMORY) 7、消息隊列(MESSAGE QUEUE) 8、信號量(SEMAPHORE) 9、共享內存(SHARE MEMORY)@ 10、tcPip協(xié)議在應用程序中的編程開(kāi)發(fā)(SOCKET套接字編程開(kāi)發(fā)) 10.1. ISO/OSI七層協(xié)議模型與IP網(wǎng)絡(luò )四層模式 10.2.TCP/IP協(xié)議簇 10.3. 基于嵌入式Linux的TCP/IP網(wǎng)絡(luò )結構 10.4. 基于嵌入式Linux的SOCKET編程 10..5.UDP與TCP的區別 10.6. UDP SERVER-CLIENT關(guān)系程 11、文件讀寫(xiě)與存儲 第九部分:QT移植與開(kāi)發(fā) 了解嵌入式Linux下的幾種常見(jiàn)GUI及其特點(diǎn),重點(diǎn)能掌握QT的有關(guān)內容,具備QT程序設計能力。了解嵌入式數據庫的配置與開(kāi)發(fā) 1 、嵌入式Linux GUI介紹 2、嵌入式QT開(kāi)發(fā)包移植 3、QT介紹及其信號插槽機制 4、 QT圖形界面編程技術(shù) 5、QT應用程序與Linux驅動(dòng)的銜接 6、 QT在實(shí)際項目中具體應用 第十部分:無(wú)線(xiàn)通訊應用 1、無(wú)線(xiàn)wifi模塊應用 2、3G模塊應用 第十一分布:嵌入式系統應用程序,驅動(dòng)程序調試 1、Linux基本工具調試使用。GDB,insight調試等 2、Linux應用程序的編程 3、嵌入式產(chǎn)品程序打包與發(fā)布 第十二部分:嵌入式項目綜合調試,產(chǎn)品發(fā)布 了解真實(shí)項目的開(kāi)發(fā)流程,掌握如何將所學(xué)知識應用到項目開(kāi)發(fā)中。將模擬真實(shí)項目的管理過(guò)程,培養學(xué)員項目團隊協(xié)同開(kāi)發(fā)能力,項目文檔編寫(xiě)能力和新知識的學(xué)習能力,為下一步就業(yè)做好知識上和心理上的充分準備 嵌入式LININX開(kāi)發(fā)第一學(xué)習階段,主要打好基礎,學(xué)好C編程,Linux系統編程。 1、C語(yǔ)言編程基礎 2、嵌入式開(kāi)發(fā)基礎:Linux概述安裝,shell命令,vim編輯器,GCC,GDB,Makefile,交叉開(kāi)發(fā)環(huán)境構建 3、嵌入式Linux系統編程:shell編程,文件編程,串口編程,進(jìn)程編程,線(xiàn)程編程,網(wǎng)絡(luò )編程 4、嵌入式項目開(kāi)發(fā):數據采集控制系統,串口服務(wù)器 嵌入式LININX開(kāi)發(fā)第二學(xué)習階段,掌握ARM匯編程序設計,驅動(dòng)程序設計。 1、ARM體系結構:ARM體系,ARM指令,Thumb指令,匯編程序設計,邏輯程序開(kāi)發(fā) 2、Linux內核移植:bootloader,內核配置,文件系統 3、驅動(dòng)程序開(kāi)發(fā):驅動(dòng)架構模型,字符設備驅動(dòng),塊設備驅動(dòng),網(wǎng)絡(luò )驅動(dòng) 4、嵌入式項目開(kāi)發(fā):智能家居系統,視頻監控系統 嵌入式LININX開(kāi)發(fā)第三學(xué)習階段,掌握C++面向對象程序設計,Qt編程。 1、C++語(yǔ)言編程基礎 2、QT編程開(kāi)發(fā):QT開(kāi)發(fā)基礎,QT布局與控件,QT繪圖,QT事件,QT網(wǎng)絡(luò )通信,QT數據庫,QT移植 3、嵌入式項目開(kāi)發(fā):車(chē)載監控管理系統,工業(yè)能源管理系統 嵌入式設計應具備的基本技能 1、Linux 基礎 安裝Linux操作系統 Linux文件系統 Linux常用命令 Linux啟動(dòng)過(guò)程詳解 熟悉Linux服務(wù)能夠獨立安裝Linux操作系統 能夠熟練使用Linux系統的基本命令 認識Linux系統的常用服務(wù)安裝Linux操作系統 Linux基本命令實(shí)踐 設置Linux環(huán)境變量 定制Linux的服務(wù) Shell 編程基礎使用vi編輯文件 使用Emacs編輯文件 使用其他編輯器 2、Shell 編程基礎 Shell簡(jiǎn)介 認識后臺程序Bash編程熟悉Linux系統下的編輯環(huán)境 熟悉Linux下的各種Shell 熟練進(jìn)行shell編程熟悉vi基本操作 熟悉Emacs的基本操作 比較不同shell的區別 編寫(xiě)一個(gè)測試服務(wù)器是否連通的shell腳本程序 編寫(xiě)一個(gè)查看進(jìn)程是否存在的shell腳本程序 編寫(xiě)一個(gè)帶有循環(huán)語(yǔ)句的shell腳本程序 3、Linux 下的 C 編程基礎 linux c語(yǔ)言環(huán)境概述 Gcc使用方法 Gdb調試技術(shù) AutoconfAutomake Makefile 代碼優(yōu)化 熟悉Linux系統下的開(kāi)發(fā)環(huán)境 熟悉Gcc編譯器 熟悉Makefile規則編寫(xiě)Hello,World程序 使用 make命令編譯程序 編寫(xiě)帶有一個(gè)循環(huán)的程序 調試一個(gè)有問(wèn)題的程序 4、嵌入式系統開(kāi)發(fā)基礎 嵌入式系統概述 交叉編譯 配置TFTP服務(wù) 配置NFS服務(wù) 下載Bootloader和內核 嵌入式Linux應用軟件開(kāi)發(fā)流程熟悉嵌入式系統概念以及開(kāi)發(fā)流程 建立嵌入式系統開(kāi)發(fā)環(huán)境制作cross_gcc工具鏈 編譯并下載U-boot 編譯并下載Linux內核 編譯并下載Linux應用程序 5、嵌入式系統移植 Linux內核代碼 平臺相關(guān)代碼分析 ARM平臺介紹 平臺移植的關(guān)鍵技術(shù) 移植Linux內核到 ARM平臺 了解移植的概念 能夠移植Linux內核移植Linux2.6內核到 ARM9開(kāi)發(fā)板 6、嵌入式 Linux 下串口通信 串行I/O的基本概念 嵌入式Linux應用軟件開(kāi)發(fā)流程 Linux系統的文件和設備 與文件相關(guān)的系統調用 配置超級終端和MiniCOM 能夠熟悉進(jìn)行串口通信 熟悉文件I/O 編寫(xiě)串口通信程序 編寫(xiě)多串口通信程序 7、嵌入式系統中多進(jìn)程程序設計 Linux系統進(jìn)程概述 嵌入式系統的進(jìn)程特點(diǎn) 進(jìn)程操作 守護進(jìn)程 相關(guān)的系統調用了解Linux系統中進(jìn)程的概念 能夠編寫(xiě)多進(jìn)程程序編寫(xiě)多進(jìn)程程序 編寫(xiě)一個(gè)守護進(jìn)程程序 sleep系統調用任務(wù)管理、同步與通信Linux任務(wù)概述任務(wù)調度 管道 信號 共享內存 任務(wù)管理 API 了解Linux系統任務(wù)管理機制 熟悉進(jìn)程間通信的幾種方式 熟悉嵌入式Linux中的任務(wù)間同步與通信編寫(xiě)一個(gè)簡(jiǎn)單的管道程序實(shí)現文件傳輸 編寫(xiě)一個(gè)使用共享內存的程序 8、嵌入式系統中多線(xiàn)程程序設計 線(xiàn)程的基礎知識 多線(xiàn)程編程方法 線(xiàn)程應用中的同步問(wèn)題了解線(xiàn)程的概念 能夠編寫(xiě)簡(jiǎn)單的多線(xiàn)程程序編寫(xiě)一個(gè)多線(xiàn)程程序 9、嵌入式 Linux 網(wǎng)絡(luò )編程 網(wǎng)絡(luò )基礎知識 嵌入式Linux中TCP/IP網(wǎng)絡(luò )結構 socket 編程 常用 API函數 分析Ping命令的實(shí)現 基本UDP套接口編程 許可證管理 PPP協(xié)議 GPRS 了解嵌入式Linux網(wǎng)絡(luò )體系結構 能夠進(jìn)行嵌入式Linux環(huán)境下的socket 編程 熟悉UDP協(xié)議、PPP協(xié)議 熟悉GPRS 使用socket 編寫(xiě)代理服務(wù)器 使用socket 編寫(xiě)路由器編寫(xiě)許可證服務(wù)器 指出TCP和UDP的優(yōu)缺點(diǎn) 編寫(xiě)一個(gè)web服務(wù)器 編寫(xiě)一個(gè)運行在 ARM平臺的網(wǎng)絡(luò )播放器 10、GUI 程序開(kāi)發(fā) GUI基礎 嵌入式系統GUI類(lèi)型 編譯QT 進(jìn)行QT開(kāi)發(fā)熟悉嵌入式系統常用的GUI 能夠進(jìn)行QT編程使用QT編寫(xiě)“Hello,World”程序 調試一個(gè)加入信號/槽的實(shí)例 通過(guò)重載QWidget 類(lèi)方法處理事件 11、Linux 字符設備驅動(dòng)程序 設備驅動(dòng)程序基礎知識 Linux系統的模塊 字符設備驅動(dòng)分析 fs_operation結構 加載驅動(dòng)程序了解設備驅動(dòng)程序的概念 了解Linux字符設備驅動(dòng)程序結構 能夠編寫(xiě)字符設備驅動(dòng)程序編寫(xiě)Skull驅動(dòng) 編寫(xiě)鍵盤(pán)驅動(dòng)編寫(xiě)I/O驅動(dòng) 分析一個(gè)看門(mén)狗驅動(dòng)程序 對比Linux2.6內核與2.4內核中字符設備驅動(dòng)的不同Linux 塊設備驅動(dòng)程序塊設備驅動(dòng)程序工作原理 典型的塊設備驅動(dòng)程序分析 塊設備的讀寫(xiě)請求隊列了解Linux塊設備驅動(dòng)程序結構 能夠編寫(xiě)簡(jiǎn)單的塊設備驅動(dòng)程序比較字符設備與塊設備的異同 編寫(xiě)MMC卡驅動(dòng)程序 分析一個(gè)文件系統 對比Linux2.6內核與2.4內核中塊設備驅動(dòng)的不同 12、文件系統 虛擬文件系統 文件系統的建立 ramfs內存文件系統 proc文件系統 devfs 文件系統 MTD技術(shù)簡(jiǎn)介 MTD塊設備初始化 MTD塊設備的讀寫(xiě)操作了解Linux系統的文件系統 了解嵌入式Linux的文件系統 了解MTD技術(shù) 能夠編寫(xiě)簡(jiǎn)單的文件系統為 ARM9開(kāi)發(fā)板添加 MTD支持 移植JFFS2文件系統 通過(guò)proc文件系統修改操作系統參數 分析romfs 文件系統源代碼 創(chuàng )建一個(gè)cramfs 文件系統 簡(jiǎn)單地總結一下硬件開(kāi)發(fā)的基本過(guò)程: 1、明確硬件總體需求情況,如CPU處理能力、存儲容量及速度、I/O端口的分配、接口要求、電平要求、特殊電路要求等等。 2、根據需求分析制定硬件總體方案,尋求關(guān)鍵器件及相關(guān)技術(shù)資料、技術(shù)途徑和技術(shù)支持,充分考慮技術(shù)可行性、可靠性和成本控制,并對開(kāi)發(fā)調試工具提出明確要求。關(guān)鍵器件可試著(zhù)去索取樣品。 3、總體方案確定后,做硬件和軟件的詳細設計,包括繪制硬件原理圖、軟件功能框圖、PCB設計、同時(shí)完成開(kāi)發(fā)元器件清單。 4、做好PCB板后,對原理設計中的各個(gè)功能單元進(jìn)行焊接調試,必要時(shí)修改原理圖并作記錄。 5、軟硬件系統聯(lián)調。一般情況下,經(jīng)過(guò)調試后原理及PCB設計上有所調整,需要二次投板。 6、可靠性測試、穩定性測試,通過(guò)驗收,項目完成! 硬件工程師應具備的基本技能: (1)由需求分析至總體方案、詳細設計的規劃創(chuàng )造能力; (2)熟練運用設計工具,設計原理圖、PCB板的能力; (3)熟練運用單片機、DSP、PLD、FPGA等進(jìn)行軟硬件開(kāi)發(fā)調試的能力; (4)熟練運用仿真工具、示波器、信號發(fā)生器、邏輯分析儀等調測硬件的能力; (5)掌握常用的標準電路的設計能力,如復位電路、常用濾波器電路、功放電路、高速信號傳輸線(xiàn)的匹配電路等; (6)故障定位、解決問(wèn)題的能力; (7)設計文檔的組織編寫(xiě)技能。 嵌入式技術(shù)學(xué)習,聯(lián)系宋老師企鵝號:3524-6590-88 Tel/WX:173--1795--1908 以下課程可免費試聽(tīng)C語(yǔ)言、電子、PCB、STM32、Linux、FPGA、JAVA、安卓等。 想學(xué)習的你和我聯(lián)系預約就可以免費聽(tīng)課了。 ![]() |