tft每日頭條

 > 生活

 > 單片機嵌入式系統入門

單片機嵌入式系統入門

生活 更新时间:2025-02-06 17:27:59

進修嵌入式須要那些内容?

C語言

C語言是嵌入式的重中之重,Linux操作系統就是用C達到的,包含安卓系統的底層也是C語言達到的,根底不牢,地動山搖,一定要打好根底。

單片機嵌入式系統入門(學習嵌入式單片機需要學習哪些内容)1

C語言進修過程中重點要放在指針,構造體,文件的處理,數組等。在進修過程中,一定要多寫代碼,代碼隻看是看不會的。

遇到錯誤不要怕麻煩,善于運用搜索工具。要知道,你遇到的問題他人肯定也會遇到過,一般在網上一搜就會有答案。

最後,要多調試程序,熟悉調試的過程。程序三分寫,七分調,沒有誰的程序是能夠一遍寫對的。而且,多調試程序也能夠讓我們了解程序詳細是怎麼樣執行的。

文章相對比較長,字數比較多,大家可以先打開頭像關注我,之後慢慢看,///插播一條:我自己在今年年初錄制了一套還比較系統的入門單片機教程,想要的同學找我拿就行了免費的,私信我就可以哦~點我頭像左下角黑色字體加我也能領取哦。最近比較閑,帶做畢設,帶學生參加省級或以上比賽///

接着前幾期關于嵌入式常見的誤解

穩定性要求高

大局部嵌入式軟件都對程序的長期穩定運行有較高的要求。假如手機經常幾個月開機,通訊設備則要求24*7正常運行,即便是通訊上的測試設備也要求至少正常運行8小時。為了穩定性的宗旨,有一些比較常用的設計伎倆:

1.将不同的任務分布在獨立的進程中。優秀的模塊化設計是重要關鍵

2.Watch Dog, Heart beat,重新啟動失效的進程。

3.完善而統一的日志系統以快捷定位問題。嵌入式設備一般缺少乏有力的調試器,日志系統尤其重要。

将錯誤孤立在最小的範圍内,避免錯誤的擴散和連鎖反應。核心代碼要經過充分的驗證,對非核心代碼,能夠在監控或者沙盒中運行,避免其破壞整個系統。

舉例,Symbian上的GPRS訪問受不同硬件和操作系統版本影響,功能不是非常穩定。其中有一個版本上當關閉GPRS連接時一定會崩潰,而且屬于known issue。将GPRS連接,HTTP協議處理,文件下載等操作獨立到一個進程中,雖然每次操作完畢該進程都會崩潰,對用戶卻沒有影響。

雙備份這樣的伎倆較少采用

内存不足

單片機嵌入式系統入門(學習嵌入式單片機需要學習哪些内容)2

雖然當今的嵌入式系統的内存比之以K計數的時代已經有了很大的提高,但是随着軟件規模的增長,内存不足的問題依然時時困擾着系統架構師。有一些原則,架構師在進行設計決策的時候能夠參照:

虛拟内存技術

有一些嵌入式設備須要處理宏大的數據量,而這些數據不可能全部裝入内存中。一些嵌入式操作系統不提供虛拟内存技術,假如WinCE4.2每個程序最多隻能運用32M内存。對這樣的應用,架構師應該特别設計自己的虛拟内存技術。所謂的虛拟内存技術的核心是,将暫時不太可能運用的數據移出内存。這波及到一些技術點:

1.引用計數,正在運用的數據不能移出。

2.運用預測,預測下一個階段某個數據的運用可能性。基于預測移出數據或者提前裝入數據。

3.占位數據/對象。

4.高速緩存。在複雜數據結果下緩存高頻次運用的數據,直接訪問。

5.快捷的持久化和裝載。

下圖是一個全國電信機房管理系統的界面示意圖:

每個節點下都有大量的數據須要裝載,能夠運用上述技術将内存占用降到最低。

兩段式構造

在内存有限的系統裡,對象構造失敗是必需要處理的問題,失敗的理由中最常見的則是内存不足(現實中上這也是對PC平台的要求,但是在現實中中往往忽略,由于内存實在便宜)。兩段式構造就是一種常用而有效的設計。舉例來說:

單片機嵌入式系統入門(學習嵌入式單片機需要學習哪些内容)3

當創建CMyCompoundClass的時候會發生什麼呢?

CMyCompoundClass* myCompoundClass = new CMyCompoundClass;

1.為CMyCompoundClass的對象分配内存

2.調用CMyCompoundClass對象的構造函數

3.在構造函數中創建一個CMySimpleClass的實例

4.構造函數完畢返回

一切看起來都很簡略,但是假如第三步創建CMySimpleClass對象的時候發生内存不足的錯誤怎麼辦呢?構造函數沒法返回任何錯誤信息以提示調用者構造沒有成功。調用者于是獲得了一個指向CMyCompoundClass的指針,但是這個對象并沒有構造完整。

假如在構造函數中抛出異常會如何呢?這是個著名的噩夢,由于析構函數不會被調用,在創建CMySimpleClass對象之前假如分配了資源就會洩露。關于在構造函數中抛出異常能夠單講一個小時,但是有一個建議是:盡量避免在構造函數中抛出異常。

所以,運用兩段式構造法是一個更好的選擇。簡略的說,就是在構造函數避免任何可能産生錯誤的動作,假如分配内存,而把這些動作放在構造完成之後,調用另一個函數。

假如:

單片機嵌入式系統入門(學習嵌入式單片機需要學習哪些内容)4

這樣能夠保證當Construct不成功的時候釋放已經分配的資源。

在最重要的手機操作系統Symbian上,二段式構造法普遍運用。

對單片機感興趣的朋友可以找我,我錄制了一些關于單片機的入門教程,有需要的童鞋找我拿就像,免費的,私信我“林老師”就可以拿~點擊打開我的頭像就能領取。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved