本文目錄一覽:
- 1、單片機,C語言,嵌入式技術有什麼關係
- 2、嵌入式c語言和c語言的異同
- 3、嵌入式系統開發中的C語言編程和普通C語言編程有何區別?
- 4、c語言嵌入式與java嵌入式有哪些區別
- 5、嵌入式C語言和通用C語言有什麼區別
- 6、C語言的嵌入式和面向過程(對象)有什麼區別
單片機,C語言,嵌入式技術有什麼關係
為了讓你更容易理解,我就講得直白一些了。
單片機,就是一個可編程的控制芯片,內部集合了很多數字門電路,可以通過編程,對外部輸出信號,實現控制外部電路的目的;
C語言,就是一門早前的高級編程語言,可以用來編寫電腦軟件,也可以用來編寫單片機控制程序,還可以用來編寫嵌入式的程序。
嵌入式,這個不好解釋,比如現在的智能手機,就是一個嵌入式設備。嵌入式,在軟件上主要指可以運行於單片機或ARM等更高級芯片的系統,在硬件上主要指包含了單片機或ARM等高級控制芯片的設備。主要應用領域,包括可以用來做智能手機,做家居智能控制,做工業自動化控制等。
-完-
嵌入式c語言和c語言的異同
嵌入式編程用的最多的也是C語言,和普通的windows下的C編程不同的就是,比如應用層開發,嵌入式開發出來的應用程序最終不是要運行在PC上
的,而是目標板。所以嵌入式開發就一定會有交叉編譯這個環節(簡單一點理解就是,在PC下編程,然後交叉編譯一下,讓程序能運行在PC外的其他平台上,比
如ARM開發板什麼的)
稍微做一下類比:
普通編程開發=====CPU(比如奔騰)=====windows操作系統
嵌入式開發=====嵌入式處理器(比如ARM)=====嵌入式操作系統(比如嵌入式linux、wince、vxworks等)
PC上如果沒有windows操作系統,那它就是一個DOS機。
嵌入式開發中如果沒有嵌入式操作系統,那它就是通常所說的單片機開發,嵌入式開發最初就是從單片機開發走過來的。
現在所說的嵌入式開發,通常都是指有嵌入式操作系統的那種,產品功能複雜了,單片機開發無法實現,需要用到嵌入式操作系統,也能體現出嵌入式操作系
統的優勢。
當然現在所講嵌入式開發和單片機開發的區別不僅僅在是否有嵌入式操作系統上,嵌入式開發所使用的嵌入式處理器(比如ARM
/
MIPS等)在內核體系結構、指令系統、工作模式等方面與單片機都有很大不同。
嵌入式產品在航空、醫療、家電、消費電子、汽車電子、移動等眾多領域都可以看到,應用領域極為廣泛,所以現在嵌入式開發相當熱門,並且具備非常好的發展前景!!
嵌入式系統開發中的C語言編程和普通C語言編程有何區別?
無區別,只是你操作的層面不一樣。普通編程層次較高些(一般而言),而嵌入式操作的大部分偏底層,如管理內存映射,設置中斷系統等。
看來deep_pro也很了解。不過他也挺贊同我的:1、承認嵌入式系統開發中的C語言編程和普通C語言編程無區別;2、補充只是編譯器有較大區別,這對程序員來說基本是透明的;3、基本贊同我“嵌入式開發中的C語言大多數情況下需對硬件底層操作(因為你別指望嵌入式上能跑起一個龐大的操作系統),而普通C編程則不然(相信基本沒有程序員在PC上編程時還去控制PC上的內存映射)。”
綜上所述,我要謝謝deep_pro贊同我。
c語言嵌入式與java嵌入式有哪些區別
我是個嵌入式程序員。
嵌入式開發分為驅動開發和應用開發。
驅動開發難度較高,除了精通嵌入式芯片工作原理(寄存器設定…),操作系統原理(存儲空間分配…等)外,還需要了解基本的數字電路的知識(端子電位…等)。
這部分主要用C語言和彙編,這種開發薪金較高,不是隨便上個培訓班就能勝任的。
嵌入式應用開發,其實基本已經和普通軟件開發沒什麼區別了,只是使用的工具不同,因為各種不同已經在驅動層和操作系統層屏蔽了,直接調用各種接口函數編寫程序。是在嵌入式驅動開發的基礎上做的進一步開發。
這部分用C\C++,Java,C#都有,Java多一些,因為Java語言對不同平台間的兼容性較好,不管什麼系統,裝個Java虛擬器就可以跑Java程序。
早些年嵌入式開發指的都是嵌入式驅動開發,現在很多培訓班混淆視聽,把應用開發也歸類為嵌入式,會嵌入式應用開發的人一點都不缺乏。這也和市場需求有關,目前人才需求大部分都是嵌入式應用開發,國內很少有公司有財力和物力自己做驅動開發。
一個合格的嵌入式驅動開發程序員再怎麼也月薪上萬。
一個合格的嵌入式應用開發程序員最多四五千。
懂得應用開發的,根本不懂驅動開發,因為不懂硬件;懂得驅動開發的人輕鬆做應用開發,因為那些接口函數都是他們自己做的。
你真正要選擇的不是C語言還是Java,而是驅動還是做應用。
做驅動絕對是有挑戰的。高投入,高回報。
嵌入式C語言和通用C語言有什麼區別
語法上沒什麼區別,就是普通的c編程是在OS之上,有很多的標準庫函數可以調用,分配的內存就是PC機的內存,處理器就是PC的CPU。
而嵌入式C編程的話會涉及到操作硬件,所以底層沒有庫函數調用,需要自己編寫操作硬件的函數,另外編譯的時候是用交叉編譯器,內存是芯片上的ram,
處理器就是芯片帶的處理器,例如ARM或者MIPS等等,而不是PC的x86
CPU,
還有就是在寫程序的時候更注重程序的優化和效率,因為嵌入式硬件資源相對PC有限,實時性較強等等。
希望對你有幫助。
C語言的嵌入式和面向過程(對象)有什麼區別
這是兩個不同的概念
嵌入式系統是一種針對性很強的的專用計算機系統,軟件系統被固化在rom中,一般沒有操作系統,獨佔cpu運行,因容量,cpu性能,功耗等限制,嵌入式系統規模都比較小。比如全自動洗衣機,智能微波爐,電磁爐,智能冰箱這些電器里的系統就是嵌入式系統。
而面向過程和面向對象是兩種編程思想,面向過程指的是編程時以實現方法為中心,面向對象指的是編程時以數據為中心
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/283497.html