編譯器是將用一種程式語言(源語言)編寫的原始碼轉換成另一種計算機語言(通常是二進位格式)的電腦程式(或一組程序)。轉換的最常見原因是創建可執行程序。「編譯器」這個名稱主要用於將原始碼從高級程式語言翻譯成低級語言(例如彙編語言或機器代碼)的程序。
Cross-Compiler
如果編譯後的程序可以在一台CPU或作業系統與編譯器編譯程序的計算機不同的計算機上運行,則該編譯器稱爲交叉編譯器。
Decompiler
可以將程序從低級語言翻譯成高級語言的程序稱爲反編譯程序。
Language Converter
翻譯用不同高級語言編寫的程序的程序通常稱爲語言轉換器、源到源轉換器或語言轉換器。
編譯器可能執行以下操作&負;
- Preprocessing
- Parsing
- Semantic Analysis (Syntax-directed translation)
- Code generation
- Code optimization
Assemblers
彙編程序是一種程序,它接受基本的計算機指令(稱爲彙編語言),並將它們轉換成計算機處理器可以用來執行基本操作的位模式。彙編程序通過將彙編指令助記符轉換爲操作碼、將符號名解析爲內存位置來創建目標代碼。彙編語言使用助記符來表示每一個低級機器操作(操作碼)。
Debugging Tools in an Embedded System
調試是一個有條不紊的過程,它可以發現並減少電腦程式或電子硬體中的錯誤,從而使其按預期工作。當子系統緊密耦合時,調試是很困難的,因爲一個子系統中的一個小變化會在另一個子系統中產生錯誤。嵌入式系統中使用的調試工具在開發時間和調試特性上有很大的不同。我們將在這裡討論以下調試工具;
- Simulators
- Microcontroller starter kits
- Emulator
Simulators
通過在用於代碼開發的上位機上進行仿真,對單片機/系統的代碼進行了測試。模擬器試圖在軟體中模擬整個微控制器的行爲。
Functions of Simulators
模擬器執行以下功能−
定義目標系統的處理器或處理設備系列及其各種版本。
在執行每個步驟時,使用標籤和符號參數監視原始碼部分的詳細信息。
爲每個單步執行提供目標系統的RAM和模擬埠的狀態。
監視系統響應並確定吞吐量。
提供程序計數器內容的輸出與處理器寄存器的對比跟蹤。
提供當前命令的詳細含義。
監視從鍵盤輸入或從菜單中選擇的模擬器命令的詳細信息。
支持條件(最多8或16或32個條件)和無條件斷點。
提供斷點和跟蹤,它們是重要的測試和調試工具。
有助於同步內部外設和延遲。
Microcontroller Starter Kit
一個微控制器啓動套件包括−
- Hardware board (Evaluation board)
- In-system programmer
- Some software tools like compiler, assembler, linker, etc.
- Sometimes, an IDE and code size limited evaluation version of a compiler.
與模擬器相比,這些工具包的一大優勢是它們可以實時工作,因此可以方便地驗證輸入/輸出功能。然而,初學者工具包是開發簡單微控制器項目的完全足夠和最便宜的選擇。
Emulators
仿真器是一個硬體包或軟體程序,或者兩者都可以用來模擬另一個計算機系統(主機)中的一個計算機系統(來賓)的功能,不同於第一個計算機系統,因此模擬的行爲與實際系統(來賓)的行爲非常相似。
仿真是指電子設備中的電腦程式模擬(模擬)另一個程序或設備的能力。仿真的重點是重新創建原始的計算機環境。模擬器能夠與數字對象的真實性保持更緊密的聯繫。仿真器幫助用戶在平台上處理任何類型的應用程式或作業系統,其方式與軟體在其原始環境中運行的方式類似。
Peripheral Devices in Embedded Systems
嵌入式系統通過其外圍設備與外界進行通信,如following&mins;
- Serial Communication Interfaces (SCI) like RS-232, RS-422, RS-485, etc.
- Synchronous Serial Communication Interface like I2C, SPI, SSC, and ESSI
- Universal Serial Bus (USB)
- Multi Media Cards (SD Cards, Compact Flash, etc.)
- Networks like Ethernet, LonWorks, etc.
- Fieldbuses like CAN-Bus, LIN-Bus, PROFIBUS, etc.
- imers like PLL(s), Capture/Compare and Time Processing Units.
- Discrete IO aka General Purpose Input/Output (GPIO)
- Analog to Digital/Digital to Analog (ADC/DAC)
- Debugging like JTAG, ISP, ICSP, BDM Port, BITP, and DP9 ports
Criteria for Choosing Microcontroller
在選擇微控制器時,要確保它能滿足手頭的任務,並且具有成本效益。我們必須看看一個8位、16位或32位微控制器是否能夠最好地處理任務的計算需求。此外,在選擇微控制器時,應記住以下幾點;
速度−微控制器能支持的最高速度是多少?
包裝−是40針DIP(雙列直插包裝)還是QFP(四平板包裝)?這對於最終產品的空間、裝配和原型設計都很重要。
功耗這是電池供電產品的一個重要標準。
晶片上的RAM和ROM數量。
晶片上I/O管腳和計時器的計數。
單位成本−這對於使用微控制器的產品的最終成本來說很重要。
此外,請確保微控制器提供編譯器、調試器和彙編程序等工具。最重要的是,你應該從可靠的來源購買微控制器。