嵌入式軟件編程 從事嵌入式底層軟件設(shè)計工作需要學(xué)習(xí)哪些?如何做好軟件設(shè)計?
從事嵌入式底層軟件設(shè)計工作需要學(xué)習(xí)哪些?如何做好軟件設(shè)計?事實上,嵌入式系統(tǒng)非常廣泛,包括裸機、RTOS(有幾個系統(tǒng),但它們是相似的)和Linux。在開發(fā)語言方面,C仍然是主流,C也是。如何做好軟件設(shè)
從事嵌入式底層軟件設(shè)計工作需要學(xué)習(xí)哪些?如何做好軟件設(shè)計?
事實上,嵌入式系統(tǒng)非常廣泛,包括裸機、RTOS(有幾個系統(tǒng),但它們是相似的)和Linux。在開發(fā)語言方面,C仍然是主流,C也是。如何做好軟件設(shè)計,關(guān)鍵取決于個人的邏輯思維能力,以及程序的組織結(jié)構(gòu)??峙履愕倪壿嬎季S能力與你的教育背景有很大關(guān)系。對于相同的功能,不同的人會有不同的認(rèn)識。雖然可以工作,但有些人的代碼亂七八糟,沒有規(guī)則來定義,反正很難維護;有些人的代碼干凈整潔,一目了然。
在我看來,功能的實現(xiàn)只是最基本的要求。如何實現(xiàn)代碼的簡化、整潔、高效和邏輯清晰是一個難點,需要不斷的個人總結(jié)和改進。
什么是嵌入式系統(tǒng)?
嵌入式系統(tǒng)是一種計算機系統(tǒng),它在大型機電系統(tǒng)中具有特殊的功能,通常具有實時計算的約束。它作為一個完整設(shè)備的一部分嵌入,通常包括硬件和機械部件。嵌入式系統(tǒng)控制著當(dāng)今許多常用的設(shè)備。98%的微處理器是作為嵌入式系統(tǒng)的組成部分。
嵌入式計算機和通用計算機屬性的典型示例是低功耗、小尺寸、穩(wěn)定的工作范圍和低單位成本。這是以有限的處理資源為代價的,這使得編程和交互更加困難。然而,通過在硬件上構(gòu)建一個智能機制,利用傳感器和嵌入式單元網(wǎng)絡(luò)的可能存在,我們不僅可以在管理單元和網(wǎng)絡(luò)層優(yōu)化可用資源,而且可以提供遠(yuǎn)遠(yuǎn)超出可用資源的增強功能。例如,可以設(shè)計智能技術(shù)來管理嵌入式系統(tǒng)的功耗。數(shù)字信號處理器(DSP)是一種通用的標(biāo)準(zhǔn)專用處理器。
由于嵌入式系統(tǒng)專用于特定任務(wù),設(shè)計工程師可以對其進行優(yōu)化,以減小產(chǎn)品的尺寸和成本,提高可靠性和性能。一些嵌入式系統(tǒng)是大規(guī)模生產(chǎn)的,并受益于規(guī)模經(jīng)濟。
嵌入式系統(tǒng)范圍從便攜式設(shè)備(如數(shù)字手表和MP3播放器)到大型固定裝置(如交通燈、工廠控制器和復(fù)雜系統(tǒng),如混合動力車輛、MRI和航空電子設(shè)備)。復(fù)雜性從單個微控制器芯片的低端到具有多個單元的高端設(shè)備。外圍設(shè)備和網(wǎng)絡(luò)安裝在大型機箱或機箱中。
要學(xué)習(xí),首先要有一定的C語言基礎(chǔ)。樓下,我建議你去51單片機,51單片機就是全部。最重要的開發(fā)版本之一?;镜臇|西。在你學(xué)會這個之后,你就可以設(shè)計了。更深,更強,更有尊嚴(yán),更有技術(shù)能力。單片機。其實,強的是一種單片機,比如amu或者51左右。和Android一樣。它們的核心是一樣的。他們都使用安卓系統(tǒng)。用于編程的C語言代碼。只是他們表達(dá)方式不同而已。一個簡單,另一個困難
如何學(xué)習(xí)嵌入式?
根據(jù)可用設(shè)備的不同,可以在不同級別執(zhí)行嵌入式調(diào)試。針對不同形式的嵌入式調(diào)試的不同度量包括:是否減慢主應(yīng)用程序的速度、被調(diào)試的系統(tǒng)或應(yīng)用程序與實際系統(tǒng)或應(yīng)用程序的接近程度、可以為調(diào)試設(shè)置的觸發(fā)器的表達(dá)程度(例如,當(dāng)特定的程序計數(shù)器值到達(dá)時,我想檢查內(nèi)存),以及在調(diào)試過程中可以檢查的內(nèi)容,例如只檢查內(nèi)存和內(nèi)存。
從最簡單到最復(fù)雜,大致可以分為以下幾個方面:
·交互式駐車調(diào)試,使用嵌入式操作系統(tǒng)(如forth和basic)提供的簡單shell
·外部調(diào)試通過日志記錄或串行端口輸出來執(zhí)行,以便通過使用閃存中的監(jiān)視器或調(diào)試服務(wù)器(如rememy debugger)來跟蹤操作,甚至可以在異構(gòu)多核系統(tǒng)中使用。
·在線調(diào)試器(ICD),通過JTAG或nexus接口連接到微處理器的硬件設(shè)備。這允許微處理器的操作由外部控制,但通常僅限于處理器中的特定調(diào)試功能。
·在線模擬器(ice)用模擬等效物取代微處理器,從而完全控制微處理器的各個方面。
一個完整的仿真器可以模擬硬件的所有方面,允許控制和修改所有硬件,并允許在普通PC上進行調(diào)試。缺點是成本低,運行速度慢,在某些情況下比最終系統(tǒng)慢100倍。
對于SoC設(shè)計,典型的方法是在FPGA原型板上對設(shè)計進行驗證和調(diào)試。使用certus等工具將探針插入FPGA RTL,使信號可供觀察。用于調(diào)試多塊FPGA上的硬件、固件和軟件交互,其功能類似于邏輯分析儀。
純軟件調(diào)試器的優(yōu)點是,它們不需要任何硬件修改,但必須小心控制,以節(jié)省時間和存儲空間。