嵌入式系統設計學習週記①——擴展

嵌入式中的編程語言

隨着社會的飛速發展,IT技術已經進入高速發展階段,互聯網正在逐步向物聯網科技時代。發展。物聯網通過智能感知、識別技術與普適計算等通信感知技術,廣泛應用於網絡的融合中,也因此被稱爲繼計算機、互聯網之後世界信息產業發展的第三次浪潮,可以說嵌入式開發技術在物聯網領域應用最爲廣泛。所常見的編程語言有彙編語言、C語言 、SQL語言 、C++語言、 Java語言 、C#語言 、Shell等語言。那麼嵌入式開發中又是用的哪些語言呢?

  • 彙編語言

①面向機器的程序設計語言,即面向處理器的程序設計語言,處理器在相應的指令控制下工作的,它可以識別的每一條指令稱爲機器指令。每一種處理器都有自己可以識別的一整套指令,稱爲指令集。比如常見的ARM指令集、Thumb和Thumb2指令集。
②它直接與寄存器或者存儲器打交道,而不是具體的數據,因此彙編語言的執行速度要比其它語言都快,但同時編寫大型程序相當複雜。
③特定的彙編語言和特定的機器語言指令集是一一對應的,不同平臺之間不可直接移植。然而現實中需要編寫大型程序的需求很多,這就造成了彙編語言的使用範圍很狹窄。彙編語言常見的用處是在系統的啓動階段(比如電腦的BIOS啓動階段,因爲C語言的運行需要一定的環境,而系統啓動時這些環境還沒有建立)。在嵌入式uboot移植和內核移植中常見彙編代碼
④程序員用匯編語言編寫源代碼,然後彙編編譯器將其編譯爲機器碼(也就是計算機能夠識別的0和1),由計算機最終執行

  • C語言

①一門面向過程的計算機高級編程語言,廣泛應用於底層開發(特別是linux驅動開發)和linux應用和網絡編程,效率雖然沒有彙編語言高,但是比彙編語言靈活,可移植性好。
②C語言有豐富的數據結構和運算符。提供多種運算符和表達式值的方法,數據類型和運算符。
③允許直接訪問物理地址,對硬件進行操作(這個可從51單片機中看出來)。
④C 語言可以像彙編語言一樣對位、字節和地址進行操作,而這三者是計算機最基本的工作單元。
⑤GCC是其中編譯C語言的一中編譯器,在嵌入式開發中常用的是交叉編譯即在windows中編輯代碼,在linux中編譯並運行代碼,可以將C語言編譯成彙編語言進而由彙編的編譯器編譯爲機器碼,由計算機執行。
⑥C語言的缺點主要表現在數據的封裝性上,這一點使得C在數據的安全性上有很大缺陷,這也是C和C++的一大區別。最典型的應用是linux操作系統絕大多數是用C語言和少量彙編語言實現的。C語言雖然不是面向對象的語言,但是內核時面向對象的,這就時C語言的厲害之處。所以學好C語言很重要。

  • SQL語言

①是一種數據庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關係數據庫系統;同時也是數據庫腳本文件的擴展名(sql)。
②是高級的非過程化編程語言,允許用戶在高層數據結構上工作。包含6個部分:數據查詢語言(比如常見的SELECT、WHERE、ORDER BY和GROUP BY關鍵字)、數據操作語言(比如常見的INSERT、UPDATE和DELETE關鍵字)、事務處理語言(比如常見的BEGIN TRANSACTION、COMMIT和ROLLBACK關鍵字)、 數據控制語言(比如常見的GRANT和REVOKE關鍵字)、數據定義語言(比如常見的CREATE和DROP關鍵字)、指針控制語言(比如常見的DECLARE CURSOR、FETCH INTO和UPDATE WHERE CURRENT關鍵字)。常見的數據庫有MySQL,SQL Server、SQLite。
③通過這種語言,可以在嵌入式開發中存取相應的數據。嵌入式開發中再服務器端常用的是MySQL,客戶端常用的是SQLite。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章