C語言是目前世界使用最廣泛的系統編程語言,嵌入式C是C的擴展,在嵌入式系統中應用于撰寫嵌入式軟體,針對嵌入式開發的C語言就是嵌入式C語言,嵌入式C與標準C沒有特別大的差別,主要區別在于嵌入式程式員思考角度、使用習慣與普通C不一樣,
具體體現在啟動程序、存盤空間的分配、對于硬體的訪問、資源的限制等方面,
1.啟動程序
PC機上普通C語言編譯器會自動完成啟動程式,程式員不用制作自己的啟動程式,自動初始化CPU和外設后,呼叫main函式,
而嵌入式C語言搭載微處理器與普通PC機器不同,要求嵌入式系統的啟動程式:要能對搭載微處理器的硬體平臺和所需資料進行初始化操作,所以做嵌入式開發的程式員一定要制作特定的啟動程式,
2.存盤空間
RAM:隨機存取存盤器是與CPU直接交換資料的內部存盤器,它可以隨時讀寫,而且速度很快,
ROM:只讀存盤器,ROM所存資料在作業程序中只能讀出,而不像隨機存盤器那樣能快速地、方便地加以改寫,ROM所存資料穩定,斷電后所存資料也不會改變,
RAM和ROM相比,兩者的最大區別是RAM在斷電以后保存在上面的資料會自動消失,而ROM不會自動消失,可以長時間斷電保存,如果需要保存資料,就必須使用ROM(例如硬碟),
對于普通C程式,作業系統將程式和資料從外部存盤設備載入RAM中運行,代碼、資料、堆疊都在RAM中,
對于嵌入式C程式,因沒有通用的作業系統,嵌入式系統必須先將代碼設定到ROM中,將資料、堆疊設定到RAM中才可以運行,
3.對于硬體的訪問、資源的限制等
對于普通C,作業系統對計算機硬體設備進行操作,應用程式可以通知作業系統執行某個具體的動作,以便使應用程式間接的通過作業系統對硬體進行操作,
對于作業系統是怎樣控制硬體設備的只需大致了解即可,此程序為應用程式對函式介面呼叫的程序,這一程序稱為系統呼叫,通過系統提供的介面函式就可以指揮作業系統來作業了,
而嵌入式系統在訪問硬體時,必須撰寫直接操作硬體的應用程式,
由于在嵌入式系統中使用小而耗電的組件,嵌入式系統具有有限的ROM和RAM以及較少的處理能力,因此在嵌入式C中撰寫程式時應該注意有限的資源,
在C語言中,PC機可以訪問系統作業系統,存盤器等,可以利用所有計算機資源,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/508103.html
標籤:其他
