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