嵌入式系統感悟

2021-08-09 15:14:49 字數 1082 閱讀 9352

做嵌入式已經有很多年了。做了很多的系統,苦沒有少吃,回頭看看過去感覺很多都是在做重複的工作,很是無奈。跟讓我傷心的是很多東西做完就忘記了,沒有很好地進行歸納總結,做完了就完了,過一段時間做類似的工作又累的跟狗似的,從頭來過。我想不能這樣了。必須要改變這種現實。所以我要對僅有的一些東西進行總結以告慰我已經逝去的青春。這篇文章以後可能經常會改動,改動說明我又進步了。哈哈。閒言少敘,現在開始。

首先是嵌入式處理器的核心的是什麼呢?

我認為是處理器架構和指令集。就用arm進行說明吧。譬如arm9的處理器架構就是很多的處理器模式,很多的暫存器和協處理器cp(這個東西要注意,很重要)。指令集就更好說了,從v4--v7指令集,經過各有不同大的,但是基本套路是一樣的,譬如資料處理指令,定址指令等等。大家只要知道了乙個處理器是屬於哪個版本的就基本掌握了它的變成方法。

可能你要說乙個處理器就這兩個主要麼?其實還有一些譬如儲存器控制機制,中斷機制和記憶體管理機制。ram9和a8處理器的記憶體管理機機制就差很多。他們進本是這對不同的系統規模設計的,arm9乙個bank是128mb,估計他永遠也用不了ddr.呵呵。中斷機制說明了系統處理各種異常的過程。記憶體管理就不用多少說了。上系統的話(應該說是上大系統譬如linux)的話是必須要用的。不然系統就玩不轉了。,可能你要問不是還有很多的外設的麼?咋不說說,這個還真不好說,因為各家的處理器暫存器和位址都不一樣,從系統的角度來看,只要系統能玩轉了,各種外設就是系統外部對一些暫存器的操作而已。

編譯器。了解了一款處理器以後就可以給處理器程式設計了。我們給處理器程式設計要解決兩個問題乙個是如何將我們程式設計的高階語言轉化成處理器能識別的機器語言,乙個就是如何控制**在什麼地方執行。第乙個問題我們就要有編譯器。它的工作分為預編譯,編譯,彙編,鏈結四個過程。第二個問題技術就要有個控制編譯器的東西了,在linux中就是makefile檔案了。當然makefile檔案主要是控制檔案包含問題,檔案的鏈結問題是由鏈結檔案來完成的。不同的編譯器就本就是這些過程只是這些實現方法不太一樣罷了。

bootloader篇:可以給系統程式設計以後首先給系統要編寫的就是bootloader程式了,為什麼呢?因為這個程式是我們做其他工作很方便的乙個助手。

作業系統篇:如果想很規範地給系統進行程式設計,就要上乙個系統這樣使用系統統一的系統呼叫就可以規範軟體層的東西了。呵呵

嵌入式系統

嵌入式開發的相關領域 搞嵌入式若能熟悉嵌入式應用的一些主要領域,這樣的人更受企業歡迎。主要的相關 領域包括 a 數字影象壓縮技術 這是嵌入式最重要最熱門的應用領域之一,主要是應掌握mpeg 編譯碼演算法和技術,如 pda 高精電視 機頂盒等都涉及mpeg高速解碼問 題。b 通訊協議及程式設計技術 這...

嵌入式系統

嵌入式系統就是計算機系統的一類,就是被塞進其他裝置的計算機作業系統。我的嵌入式老師只用了三個詞語就總結了嵌入式系統的精髓 專用的可裁剪的 計算機系統。包括嵌入式軟體開發的知識體系和背景 先說背景 計算機,領域內,知識體系,按層次分,可以分為 其中 此處,暫且不討論上層的純軟體,以及底層的硬體,只是簡...

嵌入式系統

硬體結構 軟體結構 作業系統 vxworks商用嵌入式系統的代表 嵌入式linux 採用的是linux的核心,大多數採用的是linux的微核心 微核心本身只提供一些最基本的作業系統功能,如任務排程 記憶體管理 中斷處理等,而類似於檔案系統和網路協議等附加功能則執行在使用者空間中 交叉編譯 交叉編譯 ...