A. 編寫嵌入式c語言程序用什麼軟體
編寫C語言的軟體叫:c語言編譯器;
而支持c語言的編譯器比較多:
在單片機等嵌入式開發中最主要用的是:keil c
在我們常用的windows系統下最常用的是Visual C++編譯器
其他的還有很多
下面是windows系統下,大學教學中目前開在廣泛使用的編譯器Visual C++ 6.0
下載地址在我的網盤,在網盤里還有一些c,c++的實例可以下載
中文版:
英文版:
B. 嵌入式系統開發用哪些編譯軟體
VC6.0最經典的 不過vs也不錯
C. 嵌入式軟體編譯為什麼一定要在linux系統下
首先這個問題就不對。
mac
ios
,windows下都有編譯。
取決於軟體運行平台。哪種平台編譯之後,在設備上運行
調試方便,就用那種。
wince平台的你見過用Linux的?單片機開發工具也都是windows
D. 如何在網頁中嵌入C程序編譯環境
唯一的途徑就是用c編寫ActiveX控制項,然後由網頁載入。
E. 說明嵌入式應用程序的編譯和載入過程
開發軟體上都有編譯和載入的按鈕,先編譯通過後,連接下載器到設備,點載入按鈕就信了。
F. 如何在網頁中嵌入C程序編譯環境
類似online judge的形式?可以將源代碼上傳到伺服器後,由伺服器編譯、運行,並將結果返回給web伺服器。不過,這樣的C程序不能具備交互性,同時可能會影響伺服器的安全
G. 在嵌入式LINUX中,可以直接編譯並運行程序嗎
當然可以。
理論上,你只需要在平台中有一個可以跑的編譯器(准確說環境比較合適吧。。),可以把你的代碼翻譯成平台可以運行的格式,那麼就行了。。
理論上,你甚至自己可以做一個 「編譯器」,如何在嵌入式系統中,把你的某個代碼,比如:
「
主函數**
列印 ¥我愛XXX¥
退出
」
翻譯成你的平台可以執行的格式,然後運行。。。
^_^,起碼我是這樣理解的。
但是MS還沒有人這樣做。
原因可能主要是幾個:
1.嵌入式平台的資源有限。
2.目前MS在裡面搭一個合適的開發環境,無疑是很痛苦的事情。
H. 嵌入式linux的程序怎樣編譯
編譯及安裝簡要步驟: 編輯Makefile版本信息 定義內核特性,生成配置文件.config,用於編譯:make xconfig 編譯內核:make 安裝內核:make install 安裝模塊:make moles_install
I. 什麼叫嵌入式軟體開發可以說的詳細些嗎
一、考試說明
1、考試要求:
(1)掌握科學基礎知識;
(2)掌握嵌入式系統的硬體、軟體知識;
(3)掌握嵌入式系統分析的方法;
(4)掌握嵌入式系統設計與開發的方法及步驟;
(5)掌握嵌入式系統實施的方法
(6)掌握嵌入式系統運行維護知識;
(7)了解信息化基礎知識、信息技術引用的基礎知識;
(8)了解信息技術標准、安全,以及有關法律的基本知識;
(9)了解嵌入式技術發展趨勢;
(10)正確閱讀和理解計算機及嵌入式領域的英文資料。
2、通過本考試的合格人員能根據項目管理和工程技術的實際要求,按照系統總體設計規格進行軟、硬體實際,編寫系統開發規格說明書等相應的文檔;組織和指導嵌入式系統靠法實施人員實施硬體電路、編寫和調試程序,並對嵌入式系統硬體設備和程序進行優化和集成測試,開發出符合系統總體設計要求的高質量嵌入式系統;具有工程師的實際工作能力和業務水平。
二、考試范圍
考試科目1:嵌入式系統基礎知識
1.計算機科學基礎
1.1數制及轉換
o 二進制、八進制、十進制和十六進制等常用數制及其相互轉換
1.2數據的表示
o 數的機內表示(原碼、反碼、補碼、移碼,定點和浮點,精度和溢出)
o 字元、漢字、聲音、圖像的編碼方式
o 校驗方法和校驗碼(奇偶驗碼、海明校驗碼、循環校驗碼)
1.3算術和邏輯運算
o 計算機中的二進制數運算方法
o 邏輯代數的基本運算和邏輯表達式的化簡
1.4計算機系統結構和重要部件的基本工作原理
o CPU和存儲器的組成、性能、基本工作原理
o 常用I/O設備、通信設備的性能,以及基本工作原理
o I/O介面的功能、類型和特點
o 虛擬存儲存儲基本工作原理,多級存儲體系
1.5安全性、可靠性與系統性能評測基礎知識
o 診斷與容錯
o 系統可靠性分析評價
o 計算機系統性能評測方法
2.嵌入式系統硬體知識
2.1數字電路和邏輯電路基礎
2.1.1組合電路和時序電路
2.1.2匯流排電路與電平轉換電路
2.1.3可編程邏輯器件
2.2嵌入式微處理器基礎
2.2.1嵌入式微處理器體系結構
o 馮.諾伊曼結構與哈佛結構
o CISC與RISC
o 流水線技術
o 信息存儲的位元組順序(大端存儲法和小端存儲法)
2.2.2嵌入式系統處理器的結構和類型
o 常用8位處理器的體系結構和類型
o 常用16位處理器的體系結構特點
o 常用32位處理器的體系結構特點
o 常用DSP處理器的體系結構特點
o 多核處理器的體系結構特點
2.2.3異常
o 同步異常(陷阱、故障、終止)
o 非同步異常(中斷)
o 可屏蔽中斷、不可屏蔽中斷
o 中斷優先順序、中斷嵌套
2.3 嵌入式系統的存儲體系
2.3.1存儲器系統
o 存儲器系統的層次結構
o 高速緩存(Cache)
o 內存管理單元(MMU)
2.3.2 ROM的種類與選型
o 常見ROM的種類
o PROM、EPROM、E2PROM型ROM的典型特徵和不同點
2.3.3 Flash Memory的種類與選型
o Flash Memory的種類
o NOR和NAND型Flash Memory的典型特徵和不同點
2.3.4 RAM的種類與選型
o 常見RAM的種類
o SRAM、DRAM、DDRAM、NVRAM的典型特徵和不同點
2.3.5 外存
o 常見外存的種類
o 磁碟、光碟、CF、SD等的典型特徵和不同點
2.4 嵌入式系統I/O介面
2.4.1 定時器和計數器基本原理與結構
2.4.2 GPIO、PWM介面基本原理與結構
2.4.3 A/D、D/A介面基本原理與結構
2.4.4鍵盤、顯示、觸摸屏介面基本與結構
2.4.5嵌入式系統音頻介面
2.5嵌入系統通信及網路介面
o PCI、USB、串口、紅外、並口、SPI、IIC、PCMCIA的基本原理與結構
o 乙太網、CAN、WLAN、藍牙、1394的基本原理與結構
2.6嵌入式系統電源分類及電源原理
2.7電子電路設計
2.7.1電子電路設計基礎知識
o 電子電路設計原理
o 電子電路設計方法及步驟
o 電子電路設計中的可靠知識
2.7.2 PCB設計基礎知識
o PCB設計原理
o PCB設計方法及步驟
o 多層PCB設計的注意事項及布線原則
o PCB設計中的可靠性知識
2.7.3電子電路測試基礎知識
o 電子電路測試原理與方法
o 硬體抗干擾測試
3. 嵌入式系統軟體知識
3.1嵌入式軟體基礎知識
3.1.1嵌入式軟體的分類(系統軟體、支撐軟體、應用軟體)
3.1.2無操作系統支持的嵌入式軟體體系結構(輪詢、中斷、前後台)
3.1.3有操作系統支持的嵌入式軟體體系結構
3.1.4板極支持包基礎知識(系統初始化、設備驅動程序)
3.1.5嵌入式中間件(GUI、資料庫)
3.2 嵌入式操作系統基礎知識
3.2.1嵌入式操作系統體系結構
o 單體結構、分層結構和微內核結構
3.2.2任務管理
o 多道程序技術
o 進程、線程、任務的概念
o 任務的實現(任務的層次結構、任務控制塊、任務的狀態及狀態轉換、任務隊列)
o 任務調度(調度演算法的性能指標、可搶占調度、不可搶占調度、先來先服務、短作業優先演算法、時間片輪轉演算法、優先順序演算法)
o 實時系統及任務調度(RMS、EDF演算法)
o 任務間通信(共享內存、消息、管道、信號)
o 同步與互斥(競爭條件、臨界區、互斥、信號量、死鎖)
3.2.3存儲管理
o Flat存儲管理方式
o 分區存儲管理(固定分區、可變分區)
o 地址重定位(邏輯地址、物理地址、地址映射)
o 頁式存儲管理
o 虛擬存儲技術(程序局部性原理、虛擬頁式存儲管理、頁面置換演算法、工作集模型)
3.2.4設備管理
o 設備無關性、I/O地址、I/O控制、中斷處理、緩沖技術、假離線技術)
3.2.5文件系統基礎知識
o 文件和目錄
o 文件的結構和組織
o 存取方法、存取控制
o 常見嵌入式文件系統(FAT、JFFS、YAFFS)
3.2.6操作系統移植基礎知識
3.3 嵌入式系統程序設計
3.3.1嵌入式軟體開發基礎知識
3.3.2嵌入式程序設計語言
o 匯編、編譯、解釋系統的基礎知識和基本工作原理
o 匯編語言
o 基於過程的語言(過程/函數、參數傳遞、全局變數、遞歸、動態內存分配、數據類型)
o 面向對象的語言(對象、數據抽象、繼承、多態、自動內存管理)
o 各類程序設計語言的主要特點和適用情況
3.3.3嵌入式軟體開發環境
o 宿主機、目標機
o 編輯器、編譯器、鏈接器、調試器、模擬器
o 常用嵌入式開發工具(編程器、硬體模擬器、邏輯分析儀、示波器)
o 集成開發環境
o 開發輔助工具
3.3.4嵌入式軟體開發
o 軟體設計(模塊結構設計、數據結構設計、內存布局、面向對象的分析與設計)
o 嵌入式引導程序的設計、設備驅動程序設計、內核設計、網路程序設計、應用軟體設計)
o 編碼(編程規范、代碼審查)
o 測試(測試環境、測試用例、測試方法、測試工具)
o 下載和運行
3.3.5嵌入式應用軟體移植
4.嵌入式系統的開發與維護知識
4.1系統開發過程及其項目管理
o 系統開發生命周期各階段的目標和任務的劃分方法
o 系統開發項目掛你基礎知識及其常用管理工具使用方法
o 主要的系統開發方法
o 系統開發工具與環境知識
4.2 系統分析基礎知識
o 系統分析的目的和任務
o 系統分析方法
o 系統規格說明書的編寫方法
4.3 系統設計知識
o 傳統系統設計方法
o 軟硬體協同設計方法
4.4 系統實施知識
o 系統架構設計
o 系統詳細設計
o 系統調試技術
o 系統測試
4.5 系統維護知識
o 系統運行管理知識
o 系統維護知識
o 系統評價知識
5.安全性知識
o 安全性基本概念
o 加密與解密機制
6.標准化知識
o 標准化的概念
o 國際標准、國家標准、行業標准、企業標准基本知識
o 代碼標准、文件格式標准、安全標准、軟體開發規范和文檔標准知識
o 標准化機構
o 嵌入式系統相關標准
7.信息化基礎知識
o 信息化和信息系統基本概念
o 有關的法律、法規
8.嵌入式技術發展趨勢
9.計算機專業英語
o 正確閱讀和理解相關領域的英文資料
考試科目2:嵌入式系統設計應用技術
1.嵌入式系統開發過程
1.1系統需求分析方法與步驟
1.2系統設計
o 系統硬體配置
o 系統功能組成分配
o 軟硬體功能的分配
o 可行性驗證及設計審查
o 系統規格
o 周期,成本及工作量估計
o 開發計劃
1.3軟硬體協同設計
1.4硬體設計
1.5軟體設計
o 軟體結構
o 設計評審
o 軟體詳細設計
1.6系統測試
o 測試環境
o 測試計劃(內容、方法、標准、過程、檢驗)
o 硬體測試
o 軟體測試(單元測試、集成測試)
o 軟硬體聯合測試
o 實施測試
1.7系統評估
1.8 軟體維護
2.嵌入式系統硬體設計
2.1嵌入式系統硬體基本結構
2.1.1嵌入式微處理結構與應用
2.1.2 異常及中斷處理技術
2.1.3 DMA技術
2.1.4 多處理系統
o 多處理器系統特點
o 多處理器系統構建技術
2.1.5 匯流排架構
o 應用系統中的匯流排配置
2.1.6 內存種類及架構
o 存儲器系統介面設計
2.1.7數字電路和邏輯電路
o 專用集成電路
o 可編程邏輯控制器件
2.2輸入/輸出介面設計
2.2.1 輸入/輸出介面
o 介面信號電平轉換
o 介面驅動電路設計
2.2.2輸入/輸出介面應用技術
o 外圍設備
o 串口通信
o 並口通信
o 模擬介面
o 通信介面設備
o 通信標准和協議
o 數據傳輸方式
2.3外圍設備介面應用技術
2.3.1 外圍存儲設備
o 存儲卡,記憶棒,IC卡,MMC卡,SD卡
o DVD 、CD-R 、CD-RW
2.3.2外圍輸入/輸出設備
o 鍵盤,滑鼠,觸摸屏
o 液晶板、LED、7段數碼管、蜂鳴器
2.3.3電源設計技術
2.4可靠性與安全性設計技術
2.4.1 錯誤檢測與隔離技術
2.4.2 冗餘設計
2.4.3 系統恢復設計
2.4.4 診斷技術
2.4.5常用安全標准
2.4.6 抗干擾設計
2.4.7電磁兼容設計
2.4.8系統加密
3.嵌入式系統軟體設計
3.1嵌入式系統軟體結構設計
3.2嵌入式操作系統應用技術
3.2.1 時間管理
o 系統時間
o 時鍾中斷
3.2.2內存管理
o 靜態內存管理
o 動態內存管理
3.2.3任務管理和任務間的通信
o 任務間的通信機制
o 信號量
o 郵箱
o 消息隊列
3.2.4異常處理
o 異常處理方法
o 中斷優先順序處理方法
o 系統調用
3.2.5嵌入式文件系統應用技術
3.2.6嵌入式系統圖形用戶介面(GUI)應用技術
3.2.7嵌入式系統資料庫應用技術
3.3嵌入式軟體設計技術
3.3.1匯編語言設計
o 數據類型
o 匯編語言程序結構
o 匯編語言程序設計及優化
o 子程序調用
3.3.2嵌入式C語言設計
o ANSI-C的數據類型
o C程序結構
o C語言程序設計及優化
o 程序的編譯與鏈接
3.3.3面向對象程序設計與開發
o 面向對象的分析與設計方法UML
o 面向對象的編程語言
o 使用C++進行嵌入式系統開發
o 使用Java進行嵌入式系統開發
3.4 系統級軟體設計技術
o 嵌入式系統固件與系統初始化設計
o 設備驅動程序設計
o 硬體抽象層、板級支持包設計
o 嵌入式軟體的移植技術
4.嵌入式系統開發技術
4.1系統開發環境
4.1.1開發工具
o 文本編輯器
o 匯編、編譯和連接程序
o ICE和ICE監控器
o 配置管理工具
o 逆工程工具
4.1.2平台
o 操作系統
o 分布式開發環境
4.1.3開發環境創建方法及評估
o 開發工作分析
o 開發環境的建立
o 維護、管理、使用開發環境的方法
o 開發環境的評測
4.2實時系統的分析技術
4.2.1實時系統的分析技術
o 結構化分析方法
o 面向對象分析方法
4.2.2實時系統的設計技術
o 結構化分析方法
o 面向對象分析方法
4.3硬體設計環境
4.3.1硬體描述語言
o 硬體開發設計過程
o 硬體描述語言的種類與特點
4.3.2模擬技術
o 邏輯模擬方法
o 邏輯模擬工具
4.3.3大規模集成電路系統的開發方法
o ASIC開發方法
o FPGA設計方法
o IP(intellectual property)
4.4協同設計
o 軟硬體任務工和切調
o 設計評審
4.5嵌入式系統低功耗設計技術
o 低功耗系統工作機制
o 低功耗系統模型結構
o 低功耗的硬體設計技術
o 低功耗的軟體設計技術
4.6分布式嵌入系統設計
o 分布式系統設計原理
o 分布式系統的通信技術
o 分布式系統設計應用
5.嵌入式系統應用
5.1嵌入式系統在控制領域中的應用
5.2嵌入式系統在手持設備中的應用
5.3嵌入式系統在模式識別中的應用
三、題型舉例
1、選擇題
若嵌入式系統中採用I/O地址統一編址模式,訪問內存單元和I/O設備是通過 (1) 來區分的。
(1) A.數據匯流排上輸出的數據
B.不同的地址代碼
C.不同的地址總路線
D.不同的指令
2、問答題
在某個嵌入式操作系統中,任務的狀態轉換圖(不完整)如下,請閱讀該圖以及下列說明,回答問題1至問題4,將解答填入答題紙的對應欄內。
〔說明〕
任務總共有五個狀態:休眠狀態、就緒狀態、運行狀態、中斷服務狀態和等待狀態,在任何時候,一個任務只會處於其中的某一個狀態。
〔問題1〕(3分)
在單個CPU的系統中,處於運行狀態的任務最多有多少個?
〔問題2〕(3分)
對於運行狀態、就緒狀態和等待狀態這間的相互轉換,圖中並沒有畫出來,請補充。用文字處理的形式來進行描述,格式形如"運行狀態→中斷服務狀態"。
〔問題3〕6分)
從運行狀態可以直接變為等待狀態嗎?如果不能為什麼?如果能什麼時候會發生這種轉換?舉例說明。
J. 嵌入式linux應用程序通常用什麼編譯器編譯
Linux有一系列功能強大的編譯器:vi、emace是屏幕互動式編譯器,GNU CC是GNU項目中符合ANSI C標準的編譯系統。
vi命令是Linux下全屏幕文本編輯,雖然這個編譯器特簡陋,對於初學者來說不是很友好,但是在Linux中vi的作用非常大。
主要的三種模式:命令模式、輸入模式、末行模式。
掌握這三種模式十分重要:
命令模式:vi啟動後默認進入的是命令模式,從這個模式使用命令可以切換到另外兩種模式,同時無論在任何模式下只要按一下[Esc]鍵都可以返回命令模式。在命令模式中輸入字幕「i」就可以進入vi的輸入模式編輯文件。
輸入模式:在這個模式中我們可以編輯、修改、輸入等編輯工作,在編輯器最後一行顯示一個「--INSERT--」標志著vi進入了輸入模式。當我們完成修改輸入等操作的時候我們需要保存文件,這時我們需要先返回命令模式,在進入末行模式保存。
末行模式:在命令模式輸入「:」即可進入該模式,在末行模式中有好多好用的命令。
vim是vi編輯器的改進版本,在vi編譯的基礎上擴展了很多實用的功能。
至於vi/vim的命令就不給大家介紹了,我們在日常實際的使用之中隨著積累都會掌握。