久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 嵌入式c語言與c語言的區別

嵌入式c語言與c語言的區別 時間:2019-10-14      來源:沈陽中心,竇老師

嵌入式c語言與c語言的區別

 最廣泛使用的系統編程語言是C語言,它是使用自由格式源代碼的簡單編程語言;它曾用于以前用匯編語言構建的應用程序中。嵌入式C是C語言的擴展,它在嵌入式系統中應用于編寫嵌入式軟件,那么二者之間究竟有什么差異呢?

一、啟動過程

1.通用c語言程序的啟動過程

 普通c語言啟動程序搭載了windows或linux等通用操作系統的PC機,編譯器會自動完成啟動程序,對微處理器和外圍設備進行初始化,然后再調用main函數,用戶沒有必要制作自己的啟動程序。

2.嵌入式c語言程序的啟動過程

 嵌入式c語言搭載微處理器,用于嵌入式系統的啟動程序要能夠對目標系統的硬件和數據進行初始化,因此,用戶必須做特定的啟動程序。一般情況下,在支持微處理器的編譯器中會捆綁相應的啟動程序,如下圖:

二、存儲空間的分配

存儲器ROM和RAM

 RAM:隨機存取存儲器(random access memory)又稱作“隨機存儲器”,是與CPU直接交換數據的內部存儲器,也叫主存(內存)。它可以隨時讀寫,而且速度很快,通常作為操作系統或其他正在運行中的程序的臨時數據存儲媒介。當電源關閉時RAM不能保留數據。如果需要保存數據,就必須把它們寫入一個長期的存儲設備中(例如硬盤)。RAM和ROM相比,兩者的最大區別是RAM在斷電以后保存在上面的數據會自動消失,而ROM不會自動消失,可以長時間斷電保存。

 ROM:只讀存儲器。ROM所存數據,一般是裝入整機前事先寫好的,整機工作過程中只能讀出,而不像隨機存儲器那樣能快速地、方便地加以改寫。ROM所存數據穩定,斷電后所存數據也不會改變。

 1.對于普通c程序,操作系統將程序和數據從外部存儲設備載入RAM中運行。代碼、數據、堆棧都在RAM中。

 2.對于嵌入式c程序,因沒有通用的操作系統,嵌入式系統必須先將代碼設置到ROM中,將數據、堆棧設置到RAM中才可以運行。

三、對于硬件的訪問

 1.如上圖所示:對于普通c語言而言,操作系統對計算機硬件設備進行操作,如控制聲卡發出聲音,控制顯卡繪制圖形等。

應用程序可以通知操作系統執行某個具體的動作,以便使應用程序間接的通過操作系統對硬件進行操作。

 對于操作系統是怎樣控制硬件設備的只需大致了解即可,此過程為應用程序對API調用的過程,這一過程稱為系統調用,通過系統提供的接口函數就可以指揮操作系統來工作了。

2.如上圖所示:嵌入式系統在訪問硬件時,必須編寫直接操作硬件的應用程序。

四、資源的限制

 1.由于在嵌入式系統中使用小而耗電的組件,嵌入式系統具有有限的ROM和RAM以及較少的處理能力,因此在嵌入式C中編寫程序時應該注意有限的資源。

2.在C語言中,臺式計算機可以訪問系統操作系統,存儲器等,可以利用所有計算機資源。

五、應用方向

1.C主要用于簡單但邏輯的程序,基于操作系統的軟件等。

2.嵌入式C用于電視,洗衣機等微控制器。

上一篇:嵌入式c語言編碼規范

下一篇:基于Linux下的C語言項目實戰--本地賬號管理系統

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部