當(dāng)前位置:首頁 > 公眾號精選 > 嵌入式微處理器
[導(dǎo)讀]第一部分: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)安


第一部分: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)設(shè)置,如常用的 Shell;掌握基本的 Shell 應(yīng)用

第三部分:嵌入式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 的作用及工作流程;了解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、設(shè)置u-boot環(huán)境變量
11、 u-boot驅(qū)動添加如網(wǎng)卡:DM9000

第五部分:LINUX內(nèi)核移植:熟悉內(nèi)核的原碼結(jié)構(gòu)和kbuild Makefile語法;掌握和內(nèi)核、驅(qū)動模塊編譯相關(guān)的原理及方法。 

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文件服務(wù)器系統(tǒng)搭建

第七部分:LINUX驅(qū)動開發(fā)

驅(qū)動開發(fā)是嵌入式Linux開發(fā)難度最高的內(nèi)容,也是目前嵌入式行業(yè)最緊缺的人才之一。本課程介紹嵌入式Linux驅(qū)動開發(fā)相關(guān)概念及開發(fā)流程,了解驅(qū)動開發(fā)的關(guān)鍵技術(shù)點,重點講解嵌入式Linux下常用接口驅(qū)動的編寫方法,包括:

1、字符型LED驅(qū)動開發(fā)(GPIO口驅(qū)動)
2、按鍵驅(qū)動開發(fā)(中斷驅(qū)動,在驅(qū)動中中斷程序的編寫,消息隊列的應(yīng)用
3、ADC驅(qū)動開發(fā)
4、網(wǎng)卡驅(qū)動開發(fā)
5、串口驅(qū)動開發(fā)
6、液晶屏(TFT彩屏驅(qū)動開發(fā)
7、觸摸屏驅(qū)動+tslib(中間插件移植與設(shè)置),
8、USB驅(qū)動開發(fā)+USB無線網(wǎng)卡移植
9、IIS驅(qū)動開發(fā)+maplay移植與應(yīng)用(mp3播放)+mplayer移植與應(yīng)用(視頻播放Mp4/廣告機等播放)
10、SD驅(qū)動開發(fā)
11、RTC驅(qū)動開發(fā)
12、電源管理方法

第八部分:LINUX應(yīng)用學(xué)習(xí)


嵌入式Linux應(yīng)用開發(fā)和系統(tǒng)開發(fā)是嵌入式Linux中最重要的一部分,也是企業(yè)人才需求最廣的一部分。主要目標(biāo)是精通嵌入式Linux下的程序設(shè)計,熟練掌握嵌入式Linux的開發(fā)環(huán)境、系統(tǒng)編程以及網(wǎng)絡(luò)編程,熟悉C++、QT編程并且深刻體會整個嵌入式Linux項目開發(fā)流程,強化學(xué)員對Linux應(yīng)用開發(fā)的能力。

1、Linux系統(tǒng)中的進程的概念,在應(yīng)用程序中線程與父子進程的創(chuàng)建與應(yī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é)議在應(yīng)用程序中的編程開發(fā)(SOCKET套接字編程開發(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、文件讀寫與存儲

第九部分:QT移植與開發(fā)

了解嵌入式Linux下的幾種常見GUI及其特點,重點能掌握QT的有關(guān)內(nèi)容,具備QT程序設(shè)計能力。了解嵌入式數(shù)據(jù)庫的配置與開發(fā):

1 、嵌入式Linux GUI介紹
2、嵌入式QT開發(fā)包移植
3、QT介紹及其信號插槽機制
4、 QT圖形界面編程技術(shù)
5、QT應(yīng)用程序與Linux驅(qū)動的銜接
6、 QT在實際項目中具體應(yīng)用

第十部分:無線通訊應(yīng)用

1、無線wifi模塊應(yīng)用
2、3G模塊應(yīng)用

第十一分布:嵌入式系統(tǒng)應(yīng)用程序,驅(qū)動程序調(diào)試

1、Linux基本工具調(diào)試使用。GDB,insight調(diào)試等
2、Linux應(yīng)用程序的編程
3、嵌入式產(chǎn)品程序打包與發(fā)布

第十二部分:嵌入式項目綜合調(diào)試,產(chǎn)品發(fā)布

了解真實項目的開發(fā)流程,掌握如何將所學(xué)知識應(yīng)用到項目開發(fā)中。將模擬真實項目的管理過程,培養(yǎng)學(xué)員項目團隊協(xié)同開發(fā)能力,項目文檔編寫能力和新知識的學(xué)習(xí)能力,為下一步就業(yè)做好知識上和心理上的充分準(zhǔn)備。
   
嵌入式LININX開發(fā)第一學(xué)習(xí)階段,主要打好基礎(chǔ),學(xué)好C編程,Linux系統(tǒng)編程。

1、C語言編程基礎(chǔ)
2、嵌入式開發(fā)基礎(chǔ):Linux概述安裝,shell命令,vim編輯器,GCC,GDB,Makefile,交叉開發(fā)環(huán)境構(gòu)建
3、嵌入式Linux系統(tǒng)編程:shell編程,文件編程,串口編程,進程編程,線程編程,網(wǎng)絡(luò)編程
4、嵌入式項目開發(fā):數(shù)據(jù)采集控制系統(tǒng),串口服務(wù)器
 
嵌入式LININX開發(fā)第二學(xué)習(xí)階段,掌握ARM匯編程序設(shè)計,驅(qū)動程序設(shè)計。

1、ARM體系結(jié)構(gòu):ARM體系,ARM指令,Thumb指令,匯編程序設(shè)計,邏輯程序開發(fā)
2、Linux內(nèi)核移植:bootloader,內(nèi)核配置,文件系統(tǒng)
3、驅(qū)動程序開發(fā):驅(qū)動架構(gòu)模型,字符設(shè)備驅(qū)動,塊設(shè)備驅(qū)動,網(wǎng)絡(luò)驅(qū)動
4、嵌入式項目開發(fā):智能家居系統(tǒng),視頻監(jiān)控系統(tǒng)
 
嵌入式LININX開發(fā)第三學(xué)習(xí)階段,掌握C++面向?qū)ο蟪绦蛟O(shè)計,Qt編程。

1、C++語言編程基礎(chǔ)
2、QT編程開發(fā):QT開發(fā)基礎(chǔ),QT布局與控件,QT繪圖,QT事件,QT網(wǎng)絡(luò)通信,QT數(shù)據(jù)庫,QT移植
3、嵌入式項目開發(fā):車載監(jiān)控管理系統(tǒng),工業(yè)能源管理系統(tǒng)
 
嵌入式設(shè)計應(yīng)具備的基本技能
 
1、Linux 基礎(chǔ)

安裝Linux操作系統(tǒng) Linux文件系統(tǒng) Linux常用命令 Linux啟動過程詳解 熟悉Linux服務(wù)能夠獨立安裝Linux操作系統(tǒng) 能夠熟練使用Linux系統(tǒng)的基本命令 認(rèn)識Linux系統(tǒng)的常用服務(wù)安裝Linux操作系統(tǒng) Linux基本命令實踐 設(shè)置Linux環(huán)境變量 定制Linux的服務(wù) Shell 編程基礎(chǔ)使用vi編輯文件 使用Emacs編輯文件 使用其他編輯器

2、Shell 編程基礎(chǔ)

Shell簡介 認(rèn)識后臺程序Bash編程熟悉Linux系統(tǒng)下的編輯環(huán)境 熟悉Linux下的各種Shell 熟練進行shell編程熟悉vi基本操作 熟悉Emacs的基本操作 比較不同shell的區(qū)別 編寫一個測試服務(wù)器是否連通的shell腳本程序 編寫一個查看進程是否存在的shell腳本程序 編寫一個帶有循環(huán)語句的shell腳本程序

3、Linux 下的 C 編程基礎(chǔ)

linux c語言環(huán)境概述 Gcc使用方法 Gdb調(diào)試技術(shù) AutoconfAutomake Makefile 代碼優(yōu)化 熟悉Linux系統(tǒng)下的開發(fā)環(huán)境 熟悉Gcc編譯器 熟悉Makefile規(guī)則編寫Hello,World程序 使用 make命令編譯程序 編寫帶有一個循環(huán)的程序 調(diào)試一個有問題的程序

4、嵌入式系統(tǒng)開發(fā)基礎(chǔ)

嵌入式系統(tǒng)概述 交叉編譯 配置TFTP服務(wù) 配置NFS服務(wù) 下載Bootloader和內(nèi)核 嵌入式Linux應(yīng)用軟件開發(fā)流程熟悉嵌入式系統(tǒng)概念以及開發(fā)流程 建立嵌入式系統(tǒng)開發(fā)環(huán)境制作cross_gcc工具鏈 編譯并下載U-boot 編譯并下載Linux內(nèi)核 編譯并下載Linux應(yīng)用程序

5、嵌入式系統(tǒng)移植

Linux內(nèi)核代碼 平臺相關(guān)代碼分析 ARM平臺介紹 平臺移植的關(guān)鍵技術(shù) 移植Linux內(nèi)核到 ARM平臺 了解移植的概念 能夠移植Linux內(nèi)核移植Linux2.6內(nèi)核到 ARM9開發(fā)板

6、嵌入式 Linux 下串口通信

串行I/O的基本概念 嵌入式Linux應(yīng)用軟件開發(fā)流程 Linux系統(tǒng)的文件和設(shè)備 與文件相關(guān)的系統(tǒng)調(diào)用 配置超級終端和MiniCOM 能夠熟悉進行串口通信 熟悉文件I/O 編寫串口通信程序 編寫多串口通信程序

7、嵌入式系統(tǒng)中多進程程序設(shè)計

Linux系統(tǒng)進程概述 嵌入式系統(tǒng)的進程特點 進程操作 守護進程 相關(guān)的系統(tǒng)調(diào)用了解Linux系統(tǒng)中進程的概念 能夠編寫多進程程序編寫多進程程序 編寫一個守護進程程序 sleep系統(tǒng)調(diào)用任務(wù)管理、同步與通信Linux任務(wù)概述任務(wù)調(diào)度 管道 信號 共享內(nèi)存 任務(wù)管理 API 了解Linux系統(tǒng)任務(wù)管理機制 熟悉進程間通信的幾種方式 熟悉嵌入式Linux中的任務(wù)間同步與通信編寫一個簡單的管道程序?qū)崿F(xiàn)文件傳輸 編寫一個使用共享內(nèi)存的程序

8、嵌入式系統(tǒng)中多線程程序設(shè)計

線程的基礎(chǔ)知識 多線程編程方法 線程應(yīng)用中的同步問題了解線程的概念 能夠編寫簡單的多線程程序編寫一個多線程程序

9、嵌入式 Linux 網(wǎng)絡(luò)編程

網(wǎng)絡(luò)基礎(chǔ)知識 嵌入式Linux中TCP/IP網(wǎng)絡(luò)結(jié)構(gòu) socket 編程 常用 API函數(shù) 分析Ping命令的實現(xiàn) 基本UDP套接口編程 許可證管理 PPP協(xié)議 GPRS 了解嵌入式Linux網(wǎng)絡(luò)體系結(jié)構(gòu) 能夠進行嵌入式Linux環(huán)境下的socket 編程 熟悉UDP協(xié)議、PPP協(xié)議 熟悉GPRS 使用socket 編寫代理服務(wù)器 使用socket 編寫路由器編寫許可證服務(wù)器 指出TCP和UDP的優(yōu)缺點 編寫一個web服務(wù)器 編寫一個運行在 ARM平臺的網(wǎng)絡(luò)播放器

10、GUI 程序開發(fā)

GUI基礎(chǔ) 嵌入式系統(tǒng)GUI類型 編譯QT 進行QT開發(fā)熟悉嵌入式系統(tǒng)常用的GUI 能夠進行QT編程使用QT編寫“Hello,World”程序 調(diào)試一個加入信號/槽的實例 通過重載QWidget 類方法處理事件

11、Linux 字符設(shè)備驅(qū)動程序

設(shè)備驅(qū)動程序基礎(chǔ)知識 Linux系統(tǒng)的模塊 字符設(shè)備驅(qū)動分析 fs_operation結(jié)構(gòu) 加載驅(qū)動程序了解設(shè)備驅(qū)動程序的概念 了解Linux字符設(shè)備驅(qū)動程序結(jié)構(gòu) 能夠編寫字符設(shè)備驅(qū)動程序編寫Skull驅(qū)動 編寫鍵盤驅(qū)動編寫I/O驅(qū)動 分析一個看門狗驅(qū)動程序 對比Linux2.6內(nèi)核與2.4內(nèi)核中字符設(shè)備驅(qū)動的不同Linux 塊設(shè)備驅(qū)動程序塊設(shè)備驅(qū)動程序工作原理 典型的塊設(shè)備驅(qū)動程序分析 塊設(shè)備的讀寫請求隊列了解Linux塊設(shè)備驅(qū)動程序結(jié)構(gòu) 能夠編寫簡單的塊設(shè)備驅(qū)動程序比較字符設(shè)備與塊設(shè)備的異同 編寫MMC卡驅(qū)動程序 分析一個文件系統(tǒng) 對比Linux2.6內(nèi)核與2.4內(nèi)核中塊設(shè)備驅(qū)動的不同

12、文件系統(tǒng)

虛擬文件系統(tǒng) 文件系統(tǒng)的建立 ramfs內(nèi)存文件系統(tǒng) proc文件系統(tǒng) devfs 文件系統(tǒng) MTD技術(shù)簡介 MTD塊設(shè)備初始化 MTD塊設(shè)備的讀寫操作了解Linux系統(tǒng)的文件系統(tǒng) 了解嵌入式Linux的文件系統(tǒng) 了解MTD技術(shù) 能夠編寫簡單的文件系統(tǒng)為 ARM9開發(fā)板添加 MTD支持 移植JFFS2文件系統(tǒng) 通過proc文件系統(tǒng)修改操作系統(tǒng)參數(shù) 分析romfs 文件系統(tǒng)源代碼 創(chuàng)建一個cramfs 文件系統(tǒng)
 
簡單地總結(jié)一下硬件開發(fā)的基本過程:

1、明確硬件總體需求情況,如CPU處理能力、存儲容量及速度、I/O端口的分配、接口要求、電平要求、特殊電路要求等等。
2、根據(jù)需求分析制定硬件總體方案,尋求關(guān)鍵器件及相關(guān)技術(shù)資料、技術(shù)途徑和技術(shù)支持,充分考慮技術(shù)可行性、可靠性和成本控制,并對開發(fā)調(diào)試工具提出明確要求。關(guān)鍵器件可試著去索取樣品。
3、總體方案確定后,做硬件和軟件的詳細(xì)設(shè)計,包括繪制硬件原理圖、軟件功能框圖、PCB設(shè)計、同時完成開發(fā)元器件清單。
4、做好PCB板后,對原理設(shè)計中的各個功能單元進行焊接調(diào)試,必要時修改原理圖并作記錄。
5、軟硬件系統(tǒng)聯(lián)調(diào)。一般情況下,經(jīng)過調(diào)試后原理及PCB設(shè)計上有所調(diào)整,需要二次投板。
6、可靠性測試、穩(wěn)定性測試,通過驗收,項目完成!  

硬件工程師應(yīng)具備的基本技能:

(1)由需求分析至總體方案、詳細(xì)設(shè)計的規(guī)劃創(chuàng)造能力;
(2)熟練運用設(shè)計工具,設(shè)計原理圖、PCB板的能力;
(3)熟練運用單片機、DSP、PLD、FPGA等進行軟硬件開發(fā)調(diào)試的能力;
(4)熟練運用仿真工具、示波器、信號發(fā)生器、邏輯分析儀等調(diào)測硬件的能力;
(5)掌握常用的標(biāo)準(zhǔn)電路的設(shè)計能力,如復(fù)位電路、常用濾波器電路、功放電路、高速信號傳輸線的匹配電路等;
(6)故障定位、解決問題的能力;
(7)設(shè)計文檔的組織編寫技能。 

-END-



推薦閱讀



【01】單片機C語言,必知的數(shù)據(jù)存儲與程序編寫知識!
【02】入門C語言20問20答
【03】C語言之父:因拒付論文裝訂費錯失博士學(xué)位,論文52年后重見天日
【04】C語言開發(fā)單片機為啥都是全局變量形式?
【05】分享10個值得關(guān)注的C語言開源項目



免責(zé)聲明:整理文章為傳播相關(guān)技術(shù),版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系刪除

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

嵌入式ARM

掃描二維碼,關(guān)注更多精彩內(nèi)容

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉