找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1862|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

嵌入式C語(yǔ)言和C語(yǔ)言的區(qū)別

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主

最廣泛使用的系統(tǒng)編程語(yǔ)言是C語(yǔ)言,它是使用自由格式源代碼的簡(jiǎn)單編程語(yǔ)言;它曾用于以前用匯編語(yǔ)言構(gòu)建的應(yīng)用程序中。嵌入式C是C語(yǔ)言的擴(kuò)展,它在嵌入式系統(tǒng)中應(yīng)用于編寫嵌入式軟件。

一、啟動(dòng)過(guò)程

1)通用c語(yǔ)言程序的啟動(dòng)過(guò)程

普通c語(yǔ)言啟動(dòng)程序搭載了windows或linux等通用操作系統(tǒng)的PC機(jī),編譯器會(huì)自動(dòng)完成啟動(dòng)程序,對(duì)微處理器和外圍設(shè)備進(jìn)行初始化,然后再調(diào)用main函數(shù),用戶沒(méi)有必要制作自己的啟動(dòng)程序。



2)嵌入式c語(yǔ)言程序的啟動(dòng)過(guò)程

嵌入式c語(yǔ)言搭載微處理器,用于嵌入式系統(tǒng)的啟動(dòng)程序要能夠?qū)δ繕?biāo)系統(tǒng)的硬件和數(shù)據(jù)進(jìn)行初始化,因此,用戶必須做特定的啟動(dòng)程序。一般情況下,在支持微處理器的編譯器中會(huì)捆綁相應(yīng)的啟動(dòng)程序,如下圖:



二、存儲(chǔ)空間的分配

存儲(chǔ)器ROM和RAM

RAM:隨機(jī)存取存儲(chǔ)器(random access memory)又稱作“隨機(jī)存儲(chǔ)器”,是與CPU直接交換數(shù)據(jù)的內(nèi)部存儲(chǔ)器,也叫主存(內(nèi)存)。它可以隨時(shí)讀寫,而且速度很快,通常作為操作系統(tǒng)或其他正在運(yùn)行中的程序的臨時(shí)數(shù)據(jù)存儲(chǔ)媒介。
當(dāng)電源關(guān)閉時(shí)RAM不能保留數(shù)據(jù)。如果需要保存數(shù)據(jù),就必須把它們寫入一個(gè)長(zhǎng)期的存儲(chǔ)設(shè)備中(例如硬盤)。
RAM和ROM相比,兩者的最大區(qū)別是RAM在斷電以后保存在上面的數(shù)據(jù)會(huì)自動(dòng)消失,而ROM不會(huì)自動(dòng)消失,可以長(zhǎng)時(shí)間斷電保存。
ROM:只讀存儲(chǔ)器。ROM所存數(shù)據(jù),一般是裝入整機(jī)前事先寫好的,整機(jī)工作過(guò)程中只能讀出,而不像隨機(jī)存儲(chǔ)器那樣能快速地、方便地加以改寫。ROM所存數(shù)據(jù)穩(wěn)定,斷電后所存數(shù)據(jù)也不會(huì)改變。1. 對(duì)于普通c程序,操作系統(tǒng)將程序和數(shù)據(jù)從外部存儲(chǔ)設(shè)備載入RAM中運(yùn)行。代碼、數(shù)據(jù)、堆棧都在RAM中。2. 對(duì)于嵌入式c程序,因沒(méi)有通用的操作系統(tǒng),嵌入式系統(tǒng)必須先將代碼設(shè)置到ROM中,將數(shù)據(jù)、堆棧設(shè)置到RAM中才可以運(yùn)行。

三、對(duì)于硬件的訪問(wèn)



對(duì)于普通c語(yǔ)言而言,操作系統(tǒng)對(duì)計(jì)算機(jī)硬件設(shè)備進(jìn)行操作,如控制聲卡發(fā)出聲音,控制顯卡繪制圖形等。
應(yīng)用程序可以通知操作系統(tǒng)執(zhí)行某個(gè)具體的動(dòng)作,以便使應(yīng)用程序間接的通過(guò)操作系統(tǒng)對(duì)硬件進(jìn)行操作。
對(duì)于操作系統(tǒng)是怎樣控制硬件設(shè)備的只需大致了解即可,此過(guò)程為應(yīng)用程序?qū)PI調(diào)用的過(guò)程,這一過(guò)程稱為系統(tǒng)調(diào)用,通過(guò)系統(tǒng)提供的接口函數(shù)就可以指揮操作系統(tǒng)來(lái)工作了。


嵌入式系統(tǒng)在訪問(wèn)硬件時(shí),必須編寫直接操作硬件的應(yīng)用程序。


四、資源的限制

1.由于在嵌入式系統(tǒng)中使用小而耗電的組件,嵌入式系統(tǒng)具有有限的ROM和RAM以及較少的處理能力,因此在嵌入式C中編寫程序時(shí)應(yīng)該注意有限的資源。2.在C語(yǔ)言中,臺(tái)式計(jì)算機(jī)可以訪問(wèn)系統(tǒng)操作系統(tǒng),存儲(chǔ)器等,可以利用所有計(jì)算機(jī)資源。


五、應(yīng)用方向

1、C語(yǔ)言主要用于操作系統(tǒng)開(kāi)發(fā),以及系統(tǒng)底層開(kāi)發(fā)。2、嵌入式C主要用于家電產(chǎn)品、消費(fèi)電子有關(guān)的單片機(jī)開(kāi)發(fā)。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表