Linux平臺(tái)搭建與環(huán)境熟悉
????了解linux系統(tǒng);區(qū)分各種版本的Linux系統(tǒng),以便于拓展 Linux視野。
1、Linux 簡(jiǎn)介;
2、Linux 系統(tǒng)的主要特點(diǎn);
3、Linux 的組成;
4、主要的 Linux 版本;
5、嵌入式 Linux簡(jiǎn)介與發(fā)展
虛擬機(jī)安裝和LINUX系統(tǒng)安裝
1、虛擬機(jī)安裝;
2、Linux系統(tǒng)的安裝;
3、Linux系統(tǒng)的常用軟件的安裝;
4、Linux快速入門
5、 熟悉運(yùn)用 Linux環(huán)境下,常用命令的操作與系統(tǒng)設(shè)置,如常用的 Shell;掌握基本的 Shell 應(yīng)用??
嵌入式LINUX環(huán)境搭建
1、 ?建立嵌入式 Linux開(kāi)發(fā)環(huán)境
2、 ?熟悉嵌入式開(kāi)發(fā)平臺(tái)
3、 ?嵌入式 Linux開(kāi)發(fā)工具
4、 ? Linux下的調(diào)試技巧
5、 ?MAKE工程管理器
6、 ?硬件環(huán)境的搭建;arm-linux-gcc與 gcc安裝配置
U-Boot
??? U-Boot:了解 U-Boot 的作用及工作流程;了解Bootloader 的代碼結(jié)構(gòu)、編譯過(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、設(shè)置u-boot環(huán)境變量
11、 u-boot驅(qū)動(dòng)添加如網(wǎng)卡:DM9000
LINUX內(nèi)核
??? LINUX內(nèi)核移植:熟悉內(nèi)核的原碼結(jié)構(gòu)和kbuild Makefile語(yǔ)法;掌握和內(nèi)核、驅(qū)動(dòng)模塊編譯相關(guān)的原理及方法。
1、Linux內(nèi)核介紹
2、Linux內(nèi)核特點(diǎn)
3、Linux內(nèi)核源代碼結(jié)構(gòu)
4、Linux內(nèi)核選項(xiàng)解析
5、Linux內(nèi)核編譯鏈接
6、內(nèi)核模塊編譯、使用方法
LINUX根文件系統(tǒng)
1、busybox 包移植、編譯
2、Linux跟文件系統(tǒng)制作過(guò)程
3、根文件系統(tǒng)介紹
4. nfs文件服務(wù)器系統(tǒng)搭建
Linux驅(qū)動(dòng)開(kāi)發(fā)
????驅(qū)動(dòng)開(kāi)發(fā)是嵌入式Linux開(kāi)發(fā)難度最高的內(nèi)容,也是目前嵌入式行業(yè)最緊缺的人才之一。本課程介紹嵌入式Linux驅(qū)動(dòng)開(kāi)發(fā)相關(guān)概念及開(kāi)發(fā)流程,了解驅(qū)動(dòng)開(kāi)發(fā)的關(guān)鍵技術(shù)點(diǎn),重點(diǎn)講解嵌入式Linux下常用接口驅(qū)動(dòng)的編寫方法,包括:
1、字符型LED驅(qū)動(dòng)開(kāi)發(fā)(GPIO口驅(qū)動(dòng))
2、按鍵驅(qū)動(dòng)開(kāi)發(fā)(中斷驅(qū)動(dòng),在驅(qū)動(dòng)中中斷程序的編寫,消息隊(duì)列的應(yīng)用
3、ADC驅(qū)動(dòng)開(kāi)發(fā)
4、網(wǎng)卡驅(qū)動(dòng)開(kāi)發(fā)
5、串口驅(qū)動(dòng)開(kāi)發(fā)
6、液晶屏(TFT彩屏驅(qū)動(dòng)開(kāi)發(fā)
7、觸摸屏驅(qū)動(dòng)+tslib(中間插件移植與設(shè)置),
8、USB驅(qū)動(dòng)開(kāi)發(fā)+USB無(wú)線網(wǎng)卡移植
9、IIS驅(qū)動(dòng)開(kāi)發(fā)+maplay移植與應(yīng)用(mp3播放)+mplayer移植與應(yīng)用(視頻播放Mp4/廣告機(jī)等播放)
10、SD驅(qū)動(dòng)開(kāi)發(fā)
11、RTC驅(qū)動(dòng)開(kāi)發(fā)
12、電源管理方法
Linux應(yīng)用學(xué)習(xí)
????嵌入式Linux應(yīng)用開(kāi)發(fā)和系統(tǒng)開(kāi)發(fā)是嵌入式Linux中最重要的一部分,也是企業(yè)人才需求最廣的一部分。主要目標(biāo)是精通嵌入式Linux下的程序設(shè)計(jì),熟練掌握嵌入式Linux的開(kāi)發(fā)環(huán)境、系統(tǒng)編程以及網(wǎng)絡(luò)編程,熟悉C++、QT編程并且深刻體會(huì)整個(gè)嵌入式Linux項(xiàng)目開(kāi)發(fā)流程,強(qiáng)化學(xué)員對(duì)Linux應(yīng)用開(kāi)發(fā)的能力。
1、Linux系統(tǒng)中的進(jìn)程的概念,在應(yīng)用程序中線程與父子進(jìn)程的創(chuàng)建與應(yīng)用
2、線程之間、進(jìn)程之間的通信
3、進(jìn)程間通信基本概念
4、管道(PIPE)
5、信號(hào)(SIGNAL)
6、內(nèi)存映射(MAPPED MEMORY)
7、消息隊(duì)列(MESSAGE QUEUE)
8、信號(hào)量(SEMAPHORE)
9、共享內(nèi)存(SHARE MEMORY)@
10、tcPip協(xié)議在應(yīng)用程序中的編程開(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ò)結(jié)構(gòu)
10.4. 基于嵌入式Linux的SOCKET編程
10..5.UDP與TCP的區(qū)別
10.6. UDP SERVER-CLIENT關(guān)系程
11、文件讀寫與存儲(chǔ)
QT移植與開(kāi)發(fā)
????了解嵌入式Linux下的幾種常見(jiàn)GUI及其特點(diǎn),重點(diǎn)能掌握QT的有關(guān)內(nèi)容,具備QT程序設(shè)計(jì)能力。了解嵌入式數(shù)據(jù)庫(kù)的配置與開(kāi)發(fā)。
1 、嵌入式Linux GUI介紹
2、嵌入式QT開(kāi)發(fā)包移植
3、QT介紹及其信號(hào)插槽機(jī)制
4、 QT圖形界面編程技術(shù)
5、QT應(yīng)用程序與Linux驅(qū)動(dòng)的銜接
6、 QT在實(shí)際項(xiàng)目中具體應(yīng)用
無(wú)線通訊應(yīng)用
1、無(wú)線wifi模塊應(yīng)用
2、3G模塊應(yīng)用
嵌入式系統(tǒng)應(yīng)用程序,驅(qū)動(dòng)程序調(diào)試
1、Linux基本工具調(diào)試使用。GDB,insight調(diào)試等
2、Linux應(yīng)用程序的編程
3、嵌入式產(chǎn)品程序打包與發(fā)布
嵌入式項(xiàng)目綜合調(diào)試,產(chǎn)品發(fā)布
????了解真實(shí)項(xiàng)目的開(kāi)發(fā)流程,掌握如何將所學(xué)知識(shí)應(yīng)用到項(xiàng)目開(kāi)發(fā)中。將模擬真實(shí)項(xiàng)目的管理過(guò)程,培養(yǎng)學(xué)員項(xiàng)目團(tuán)隊(duì)協(xié)同開(kāi)發(fā)能力,項(xiàng)目文檔編寫能力和新知識(shí)的學(xué)習(xí)能力,為下一步就業(yè)做好知識(shí)上和心理上的充分準(zhǔn)備。
?
嵌入式學(xué)習(xí)步驟
????第一學(xué)習(xí)階段:主要打好基礎(chǔ),學(xué)好C編程,Linux系統(tǒng)編程。
1、C語(yǔ)言編程基礎(chǔ)
2、嵌入式開(kāi)發(fā)基礎(chǔ):Linux概述安裝,shell命令,vim編輯器,GCC,GDB,Makefile,交叉開(kāi)發(fā)環(huán)境構(gòu)建
3、嵌入式Linux系統(tǒng)編程:shell編程,文件編程,串口編程,進(jìn)程編程,線程編程,網(wǎng)絡(luò)編程
4、嵌入式項(xiàng)目開(kāi)發(fā):數(shù)據(jù)采集控制系統(tǒng),串口服務(wù)器?
????第二學(xué)習(xí)階段:掌握ARM匯編程序設(shè)計(jì),驅(qū)動(dòng)程序設(shè)計(jì)。
1、ARM體系結(jié)構(gòu):ARM體系,ARM指令,Thumb指令,匯編程序設(shè)計(jì),邏輯程序開(kāi)發(fā)
2、Linux內(nèi)核移植:bootloader,內(nèi)核配置,文件系統(tǒng)
3、驅(qū)動(dòng)程序開(kāi)發(fā):驅(qū)動(dòng)架構(gòu)模型,字符設(shè)備驅(qū)動(dòng),塊設(shè)備驅(qū)動(dòng),網(wǎng)絡(luò)驅(qū)動(dòng)
4、嵌入式項(xiàng)目開(kāi)發(fā):智能家居系統(tǒng),視頻監(jiān)控系統(tǒng)?
????第三學(xué)習(xí)階段:掌握C++面向?qū)ο蟪绦蛟O(shè)計(jì),Qt編程。
1、C++語(yǔ)言編程基礎(chǔ)
2、QT編程開(kāi)發(fā):QT開(kāi)發(fā)基礎(chǔ),QT布局與控件,QT繪圖,QT事件,QT網(wǎng)絡(luò)通信,QT數(shù)據(jù)庫(kù),QT移植
3、嵌入式項(xiàng)目開(kāi)發(fā):車載監(jiān)控管理系統(tǒng),工業(yè)能源管理系統(tǒng)
嵌入式開(kāi)發(fā)硬件知識(shí)
????簡(jiǎn)單地總結(jié)一下硬件開(kāi)發(fā)的基本過(guò)程:
1、明確硬件總體需求情況,如CPU處理能力、存儲(chǔ)容量及速度、I/O端口的分配、接口要求、電平要求、特殊電路要求等等。
2、根據(jù)需求分析制定硬件總體方案,尋求關(guān)鍵器件及相關(guān)技術(shù)資料、技術(shù)途徑和技術(shù)支持,充分考慮技術(shù)可行性、可靠性和成本控制,并對(duì)開(kāi)發(fā)調(diào)試工具提出明確要求。關(guān)鍵器件可試著去索取樣品。
3、總體方案確定后,做硬件和軟件的詳細(xì)設(shè)計(jì),包括繪制硬件原理圖、軟件功能框圖、PCB設(shè)計(jì)、同時(shí)完成開(kāi)發(fā)元器件清單。
4、做好PCB板后,對(duì)原理設(shè)計(jì)中的各個(gè)功能單元進(jìn)行焊接調(diào)試,必要時(shí)修改原理圖并作記錄。
5、軟硬件系統(tǒng)聯(lián)調(diào)。一般情況下,經(jīng)過(guò)調(diào)試后原理及PCB設(shè)計(jì)上有所調(diào)整,需要二次投板。
6、可靠性測(cè)試、穩(wěn)定性測(cè)試,通過(guò)驗(yàn)收,項(xiàng)目完成!?
硬件工程師應(yīng)具備的基本技能:
1、由需求分析至總體方案、詳細(xì)設(shè)計(jì)的規(guī)劃創(chuàng)造能力;
2、熟練運(yùn)用設(shè)計(jì)工具,設(shè)計(jì)原理圖、PCB板的能力;
3、熟練運(yùn)用單片機(jī)、DSP、PLD、FPGA等進(jìn)行軟硬件開(kāi)發(fā)調(diào)試的能力;
4、熟練運(yùn)用仿真工具、示波器、信號(hào)發(fā)生器、邏輯分析儀等調(diào)測(cè)硬件的能力;
5、掌握常用的標(biāo)準(zhǔn)電路的設(shè)計(jì)能力,如復(fù)位電路、常用濾波器電路、功放電路、高速信號(hào)傳輸線的匹配電路等;
6、故障定位、解決問(wèn)題的能力;
7、設(shè)計(jì)文檔的組織編寫技能。
審核編輯:湯梓紅
評(píng)論
查看更多