《嵌入式C程式設計實戰》 1 3 複雜度降低

2021-09-23 16:23:25 字數 1247 閱讀 2959

正如我們所見,問題的複雜度正在不斷地增加,我們必須對此做出應對。可是,關鍵是怎樣才能降低複雜度呢?本節將會就這個問題給出一些基本的答案。

下面給出了一些「與降低複雜度相關的詞彙」。

抽象。結構(或體系)。

層次結構。

1.3.1 抽象

本書在以下部分定義了最小的元件,有時這些元件也被稱為葉元件。這些元件包括邏輯門、觸發器、儲存單元(邏輯元件)。其實,還可以將這些元件再分成更小的部分,如電晶體、電阻、電感和電容等最小的不可分割的組成。這些邏輯元件是匯流排、cpu的組成部分。而匯流排和cpu又是構成多處理器系統的組成部分。

元件的複雜性可以通過抽象層的數目和元件的數量來確定。使用抽象層的目的是為了通過隱藏子元件,來降低系統的複雜性。

本書的以下部分定義了不可再分的元件,或者有時也稱為葉元件,如閘電路、觸發器、儲存器(邏輯部件)。其實,可以對一些更小的元件進行研究,如電晶體、電阻、電感和電容。

這些邏輯部件共同構成了匯流排和cpu,而匯流排和cpu又共同構成了多處理器系統。

乙個元件的複雜性可以由它所包含的元件的數量和抽象層次的數目決定。抽象層次通過隱藏元件降低複雜性。

軟體元件的抽象層次。

機器**−工藝相關。

彙編**−工藝相關。

高階語言−工藝無關。

軟體元件−工藝無關。

較高的抽象層次往往被描述為工藝無關。例如,乙個c程式可以被編譯成各種不同的cpu所能執行的程式,硬體的vhdl可以被用來對各種不同型別的fpga進行開發。然而,較高的抽象層次也並非總都是工藝無關的,乙個較高的抽象層次的元件對處理器就是工藝相關的。

1.3.2 結構

結構用來描述各個組成部分的元件,以及各個元件之間的關係。嵌入式系統的軟體和硬體都有自己的體系結構,如圖1.5所示。

這裡有乙個關於結構的經典法則指出:任何乙個人類使用的裝置都不應該包含超過72以上的組成部分。但是,乙個計算機卻可以同時控制大量(數以百萬計)的元件。

1.3.3 層次結構

現在建立乙個結構示意圖,如圖1.6所示。結構中的每乙個分支都在延續,直到乙個不再可分的節點,這些組節點有時也被稱作葉節點。乙個元件是乙個分支或者是乙個不可分的葉結點。乙個葉元件可以是一段沒有呼叫任何其他函式的c**,或者是沒有子元件的vhdl**。抽象層頂部的部分比底部複雜。

《嵌入式C程式設計實戰》 導讀

嵌入式c程式設計實戰 本書是為致力於使用微控制器來設計嵌入式系統的人們準備的。本書將翔實的理論與真實的實踐相結合。現在由微控制器管理的嵌入式系統無處不在,汽車 機械人 辦公室 醫療裝置 機械 家居,以及其他各種各樣的需求中都可以看到它們的身影。乙個典型的微控制器包括了處理器 儲存器和外部裝置。乙個嵌...

《嵌入式C程式設計實戰》 導讀

本書是為致力於使用微控制器來設計嵌入式系統的人們準備的。本書將翔實的理論與真實的實踐相結合。現在由微控制器管理的嵌入式系統無處不在,汽車 機械人 辦公室 醫療裝置 機械 家居,以及其他各種各樣的需求中都可以看到它們的身影。乙個典型的微控制器包括了處理器 儲存器和外部裝置。乙個嵌入式系統c開發者需要對...

嵌入式程式設計複雜性

嵌入式往往沒有作業系統支撐,或者因為有作業系統支撐,但因為種種的限制,作業系統提供的功能少得可憐。所以,很多 不能像pc程式設計那樣天馬行空,任意馳騁。今天就聊聊記憶體分配的問題,記憶體碎片,可能大家都不陌生。然而在嵌入式系統裡,最怕的就是記憶體碎片,也是系統穩定的頭號殺手。我曾經做了乙個專案,系統...