1、了解嵌入式技術;
2、掌握嵌入式linux操作的使用;(命令)(80%以上的開發平台都是linux)
3、掌握嵌入式linux開發工具的使用;(gcc、gbd、make、shell)
4、掌握嵌入式linux應用開發;(檔案、多工、網路)(資料庫)
5、了解嵌入式產品開發流程;(硬體–軟體–系統)
6、了解嵌入式系統移植;(u-boot、核心、檔案系統)
7、了解嵌入式底層軟體開發;(驅動開發)
1、嵌入式技術是什麼?
在已有的硬體上移植作業系統;在作業系統之上做應用開發;在作業系統之下做底層開發;
(作業系統的作用:管理資源(軟體資源和硬體資源)==管家)
嵌入式解決的問題:讓軟硬體耦合度降低,軟硬體不直接發生關係;
2、嵌入式系統的組成?
應用程式(多變)—>作業系統(核心)—>處理器(核心)
嵌入式cpu的選擇
3.嵌入式軟體與非嵌入式軟體的區別?
①嵌入式軟體是結合作業系統做的開發
②非嵌入式軟體是做的裸機開發(沒有跑作業系統)
③嵌入式讓產品更加智慧型,可以跑更多的軟體,軟體可以多工的執行
4.嵌入式開發與微控制器開發的區別?
5.傳統開發的缺點?
①軟體移植性差(適配平台能力差,硬體一變化軟體就必須跟著變化)
②開發人員能力要求:軟硬通吃(不能分組,開發效率低;公司招人難度大,培養成本高)
③無法考慮使用者的使用體驗
6.嵌入式開發的優缺點?
優點:①功能上:軟體適配性強;開發人員能力劃分更加清楚;
②技術上:多工機制;提供豐富的網路協議;提供了開源軟體和庫
缺點:高效的作業系統對於硬體要求很高,成本高
1.嵌入式上層應用軟體開發
a.精通一門語言;
b.熟悉一款作業系統;(相當於會看說明書,會使用)
c.資料結構/演算法
2.嵌入式底層系統軟體開發
a.精通c語言(作業系統的核心是核心,所有作業系統核心都是由c+彙編開發的)
b.理解作業系統的實現(會使用,也會新增/修改功能)
c.熟悉硬體的工作原理(cpu:stm32+64位)(外設:spi,iic,藍芽,wifi,物聯網,攝像頭)
d.熟悉彙編
補充:①為什麼核心開發選擇c語言?(c語言的特點?)
能夠直接訪問硬體、移植性好、執行效率高
②為什麼c語言能夠直接訪問硬體?
c語言有指標資料型別,指標可以對位址進行操作
③什麼時候選擇用彙編?什麼時候選擇用c語言?
組合語言是低階語言,沒有高階語法的支撐,訪問硬體效率大於c語言,對於硬體進行初始化時用彙編,對於硬體進行複雜操作時用c語言。
3.嵌入式系統工程師
bsp(韌體工程師) 核心開發
4.微控制器是否可以作為嵌入式cpu?
yes, 作業系統有類似ucossii小的作業系統,所以微控制器可以上小型的作業系統.
5.哪些作業系統可以作為嵌入式作業系統?
嵌入式作業系統是可移植(**開源、提供可移植介面)的作業系統
(例:win10不能作為嵌入式作業系統因為他只適配在pc端,不可移植)
6.實時性
實時性(軟體、硬體):規定的時間內完成規定的動作
vxworks:實時性強 linux:無實時的,執行效率穩定
實時性的還有:rt-linux openwrt
嵌入式系統總結1
1.1嵌入式系統的應用1.1.1 測試 結構 1 上位機.2 下位機.3 被測控制板 1.1.2普適計算 pervasive computing 1.1.3汽車電子產品 設計方面 1 車況資訊系統.2 車在動態資訊系統.3 車載自動控制系統.1.1.4實時訊號處理系統 例如 雷達訊號處理系統 1.1...
嵌入式設計學習總結1
一 嵌入式基本概念概述 1 嵌入式技術是什麼?在已有的硬體上移植作業系統,在作業系統之上做上層應用開發,在作業系統之下做底層開發。簡言之 在軟 硬體中間移植乙個作業系統。2 作業系統的作用是什麼?管理資源 軟體資源 硬體資源 3 嵌入式系統與非嵌入式系統的區別?是否有作業系統。4 嵌入式開發與微控制...
關於嵌入式的總結1
1.嵌入式是在軟體上做移植作業系統,在作業系統的上面可以做應用開發,在作業系統的下面做底層開發。2.嵌入式軟體與非嵌入式軟體的區別是嵌入式軟體是結合作業系統知上做的開發,但是非嵌入式是裸機 沒有跑作業系統 開發。3.微控制器與嵌入式的開發區別是有無作業系統。4.嵌入式開發可以往嵌入式上層應用軟體開發...