❶ 如何規范寫嵌入式系統開發文檔
系統設計完應該僅僅些源代碼應該包括各種各發文檔自系統維護升級都參考作用系統發完究竟應該包含些文檔些文檔般完應該包含哪些內容系統發規范化問題系統發規范化僅利於自利於公司更利於新手規范化設計讓工程師工作更高效已經用爭論事實現型軟體工程發面已經做相單片機嵌入式系統發面規范化工作卻待我共同探討內些公司研發員種誤導--快寫代碼快讓我看見功能要做其完功能些都我設計導入種誤區:部間都寫代碼改代碼 嵌入式實系統復雜度提高設計工程師定義析系統初始要求必須認真考慮軟硬體協同關系通設計工程師必須權衡系統靈性、速度、本、計劃用工具間關系本文打算描述嵌入式系統實系統關鍵特性並探討選擇或發硬體軟體組件基礎發高效嵌入式系統解決案同詳細說明嵌入式系統實系統發所特關鍵工藝技術 我所知realtime-uml設計軟體: TNI公司ControlBuild Embedded , Rational :Rose RT iLogix :Rhapsody Artisansw :Artisan Studio Telelogic :Tau. TNI公司ControlBuild Embedded 全流程解決案涵蓋整嵌入式控制軟體設計全部程:用戶需求、規格說明、設計、代碼、模擬校驗直驗收 設計初階段使用執行(形式化)、視化規格說明書用戶進行溝通消除設計員用戶間歧義 利用模擬設計進行校驗測試並整設計程進行遞進式校驗設備安裝前發現能存量設計錯誤問題縮短現場調試間 支持功能性設計 圖形化IEC61131-3 語言符合EN50128 安全標准 重復使用設計 自設計文檔 容易使用快速建模 各種軟、硬體平台自C 代 ROSE進行析設計 RoseRTRational 收購objecttime推該工具主要基於叫做ROOM模式所執行<<active象都必須叫做capsule類其壞我受抬(ilogix道先ROOM太贊同) RoseRT界面覺比較復雜代碼效率評價 僅提供系統態靜態模型文檔 Rhapsody目前外公司都用 Rhapsody進行嵌入系統建模進行軟體設計 Rhapsody模型驅發環境UML2.0基礎使同項目都能夠通視化建模析、設計、實現測試自工作構建配置實嵌入式應用Rhapsody專嵌入式市場特殊需求設計優化包括實系統行語義實操作系統支持操作系統實應用支持遺產代碼逆向工程、設計級調試、高效代碼自(C、C++、Ada、Java)文檔自等 錯工具 UML圖直接轉換C++或C代碼系統引入程序框架用支持順序圖、狀態圖運行、調式模擬帶處顯易見同嵌入式應用形阻力例新增功能原已程式軟體包打補丁新框架原系統配合真消化吸收附加框架難度應該底於探索MFC結構於完全新項目Rhapsody錯於擴功能打補丁項目三思呀知道Rose Real-Time 面表顯何 Rhapsody diagrams, 設計員直接通畫圖,code generation 優質代碼,意思. Rhapsody 真發員與設計員區別,要求設計員完全按照軟體工程思想實施,項目疑維護N OS adapter , 便移植. 總說於發層應用項目說
❷ 軟體工程與嵌入式哪一個對編程的要求要高一些
軟體工程會要求超強的的編程能力,需要隨時吸收當前最先進的編程技術。
嵌入式只要熟知一些底層的,有限的C語言和匯編就行了。
但是,軟體工程吃力不討好,由於代碼語法是有限的,很多人都會寫談不上有個人創新,於是你有可能比不過其他專業的寫手,或者你辛辛苦苦寫的代碼一下子被別人山寨掉。
個人認為嵌入式是個好方向,軟體會被盜版,但嵌入式的東西就比較難山寨了。而且技術在進步,創新性強,
❸ 嵌入式需要好的編程技術么
至少會 C 吧?
除非你能保證你開發時所有的需要編程的地方,別人能給你干。
嵌入式開發應該是個綜合的課程,需要好幾門課程來支持他,你可以覺得這些課程沒用,但是你沒辦法繞過對他們的知識要求。
❹ 嵌入式要求
1、嵌入式硬體的設計
(包括原理圖和PCB) CPU、時鍾電路、電源電路、復位電路、SDRAM、FLASH、LCD、URAT、USB host、USB Device SPI、 CAN、 IrDA、 Zigbee、IIC等等
2、Bootloader的移植
(上電後運行的第一段程序,類似PC的BIOS和MBR)
可以分開理解為Boot和loader Boot即boot cpu
loader為把Flash上的鏡像文件loader進內存進行運行(Nor Flash運行速度慢,Nand Flash不支持XIP)
Bootloader兩種模式,載入模式和下載模式 載入模式用於產品發布、下載模式用於產品調試階段,主流的Bootloader有U-boot,支持多種體系結構。另外還有一個是韓國的vivi,不過目前已經不再進行更新維護,但可以作為學習使用
3、內核的裁剪與移植
(不同的CPU體系結構和不同的板級設備,所以內核需要裁剪與移植)
操作系統主要的功能包括:進程調度、進程通信、文件系統、內存管理、網路協議的實現
4、根文件系統的製作
內核啟動後會掛在根文件系統,根文件系統下會有 root、bin、devices、home、mnt、usr、proc、等文件夾,每個文件夾均有不同的作用。
busybox:是常用的根文件系統製作工具
5、驅動程序的開發
驅動程序主要包括:字元設備驅動、塊設備驅動和網路設備驅動,是整個開發流程中最難的一部分
6、應用程序開發
常用QT進行開發,這部分是和嵌入式關系最弱的一部分,把開發出來的程序通過TFTP或者NFS拷貝到開發板上進行運行
這是嵌入式產品開發的幾個部分:
如果說要掌握哪些知識:1、模數電(看懂原理圖,繪制原理圖的基礎)
2、高頻(掌握當然更好、不掌握影響也不大) 3、計算機組成 微機原理(弄清計算機整個執行過程) 4、編譯原理(一個源程序經過預處理、編譯、匯編、鏈接成一個可執行程序) 5、linux內核(知道進程調度、進程間通信、文件時間操作、網路編程等等) 6、QT進行GUI的開發
我也才學沒多久,不足之處,還請見諒
❺ 嵌入式C語言編程 對演算法的要求高嗎
我認為學習嵌入式對演算法的精通是很有必要的,數據結構和演算法的學習是幫助形成程序設計邏輯思維的很好訓練方式,對於程序員的長期專業素養的提高一定有好處,所以建議即使已經在嵌入式行業中工作之後也應該多補充一些相關的知識。許多在學校沒有學過數據結構的同學往往認為這部分非常枯燥、難學。而實際上如果你能明白研究計算機存儲和數據組織方式的意義,就一定能夠充分體會到數據結構的價值和魅力。一旦興趣有了,一切就會迎刃而解,呵呵!
更多嵌入式學習方面的相關信息,你可以到華清遠見的網站上了解一下。
❻ 嵌入式系統編程語言的衡量標準是什麼
多任務支持就是UnixC中的多線程多進程並發,程序控制結構就是C語言和shell腳本還有必要的數據結構。異常事件處理就是UNIX c中的信號和fcntl加鎖。
❼ 什麼叫嵌入式軟體開發可以說的詳細些嗎
一、考試說明
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分)
從運行狀態可以直接變為等待狀態嗎?如果不能為什麼?如果能什麼時候會發生這種轉換?舉例說明。
❽ 嵌入式C語言和標准C的區別
語法上沒什麼區別,就是普通的c編程是在OS之上,有很多的標准庫函數可以調用,分配的內存就是PC機的內存,處理器就是PC的CPU。 而嵌入式C編程的話會涉及到操作硬體,所以底層沒有庫函數調用,需要自己編寫操作硬體的函數,另外編譯的時候是用交叉編譯器,內存是晶元上的ram, 處理器就是晶元帶的處理器,例如ARM或者MIPS等等,而不是PC的x86 CPU, 還有就是在寫程序的時候更注重程序的優化和效率,因為嵌入式硬體資源相對PC有限,實時性較強等等。
❾ [嵌入式技術] 如何規范寫嵌入式系統開發文檔
一個系統設計完成以後,它不應該僅僅是一些源代碼,還應該包括各種各樣的開發文檔。這對以後自己對系統的維護和升級都有很好的參考作用。一個系統開發完成,它究竟應該包含那些文檔,這些文檔一般是怎麼完成的,應該包含哪些內容?這就是系統開發的規范化問題。系統開發的規范化不僅有利於自己,也有利於公司,更有利於新手。規范化的設計讓工程師工作更高效,這已經是不用爭論的事實。現在在大型軟體工程開發方面,這已經做得相當好。但在單片機和嵌入式系統的開發方面,規范化的工作卻有待我們共同探討。在國內,一些公司的研發人員也有一種誤導——快寫代碼,快讓我看見功能,不要你做其他的,完成功能就好。這些都把我們的設計導入一種誤區:大部分時間都在寫代碼,改代碼。 嵌入式實時系統復雜度的提高,設計工程師在定義和分析系統初始要求時必須認真考慮軟硬體的協同關系。通常設計工程師還必須權衡系統的靈活性、速度、成本、計劃和可用工具之間的關系。本文打算描述嵌入式系統和實時系統的關鍵特性,並探討在選擇或開發硬體和軟體組件的基礎上開發高效嵌入式系統的解決方案,同時詳細說明嵌入式系統和實時系統開發所特有的關鍵工藝技術。 我所知的realtime-uml的設計軟體: TNI公司的ControlBuild Embedded , Rational :Rose RT iLogix :Rhapsody Artisansw :Artisan Studio Telelogic :Tau. TNI公司的ControlBuild Embedded 全流程解決方案,涵蓋了整個嵌入式控制軟體設計的全部過程:從用戶需求、規格說明、設計、代碼生成、模擬校驗直到驗收。 在設計的最初階段使用可執行的(形式化的)、可視化的規格說明書和用戶進行溝通,消除設計人員和用戶之間的歧義。 利用模擬對設計進行校驗測試,並在整個設計過程中進行遞進式的校驗,在設備安裝之前發現可能存在的大量設計錯誤和問題,大大縮短現場調試的時間 支持功能性設計, 圖形化IEC61131-3 語言,符合EN50128 安全標准 重復使用設計 自動生成設計文檔 容易使用,快速建模 為各種軟、硬體平台自動生成C 代 ROSE進行分析設計 RoseRT是Rational 在收購objecttime以後的推出的,該工具主要是基於一個叫做ROOM的模式,所有可執行<<active的對象都必須是一個叫做capsule的子類。其好壞我也感受不抬出來。(ilogix的道先生對ROOM不太贊同) RoseRT的界面感覺比較復雜,代碼生成也可以,但效率無法評價。 僅提供了系統的動態和靜態模型文檔。 Rhapsody目前國外好多大公司都是用 Rhapsody進行嵌入系統的建模,進行軟體設計的。 Rhapsody是一個模型驅動的開發環境,它以UML2.0為基礎,使大小不同的項目都能夠通過可視化建模的方法分析、設計、實現和測試自己的工作,構建和配置實時嵌入式應用。Rhapsody專為嵌入式市場的特殊需求設計和優化,包括實時系統的行為語義,實時操作系統的支持,無操作系統的實時應用支持,遺產代碼的逆向工程、設計級的調試、高效的代碼自動生成(C、C++、Ada、Java)和文檔自動生成等。 很不錯的工具,可以把 UML圖直接轉換成C++或C代碼。但它也會在系統中引入它的一個程序框架,用以支持順序圖、狀態圖的運行、調式和模擬。它帶來的好處顯而易見,但同時,它對很多嵌入式應用又形成阻力。例如,如果你新增功能是在原來的已有的過程式軟體包上打個補丁,新的框架和原系統的怎麼配合?那麼你得真正消化和吸收這個附加的框架,這個難度應該不底於探索MFC結構。對於一個完全新的項目,Rhapsody很不錯。對於擴功能打補丁的項目,三思呀。不知道Rose Real-Time 在這方面的表顯如何? Rhapsody 有很多 diagrams, 設計人員直接通過畫圖,code generation 就生成優質代碼,很有意思. Rhapsody 真正把開發人員與設計人員區別開來,這就要求設計人員完全按照軟體工程思想來實施,這對項目無疑是個很好的維護可以有N多的 OS adapter , 方便移植. 總的來說對於開發上層應用的項目來說
❿ 嵌入式編程需要懂哪些
嵌入式編程需要懂C語言,Linux,還有ARM的知識。
關於如何學習嵌入式,我剛才看到一篇很不錯的文章,是一個專科生介紹自己如何自學嵌入式,並找到嵌入式的工作,裡面介紹了他的學習方法和學習過程,希望對你有幫助。
專科生學嵌入式到找到工作的前前後後--學習的榜樣
先做個自我介紹,我07年考上一所很爛專科民辦的學校,學的是生物專業,具體的學校名稱我就不說出來獻丑了。09年我就輟學了,我在那樣的學校,一年學費要1萬多,但是根本沒有人學習,我實在看不到希望,我就退學了。
退學後我也迷茫,大專都沒有畢業,我真的不知道我能幹什麼,我在糾結著我能做什麼。所以輟學後我一段時間,我想去找工作,因為我比較沉默寡言,不是很會說話,我不適合去應聘做業務。我想應聘做技術的,可是處處碰壁。
一次偶然的機會,我才聽到嵌入式這個行業。那天我去新華書店,在計算機分類那邊想找本書學習。後來有個女孩子走過來,問我是不是讀計算機的,有沒有興趣學習嵌入式,然後給我介紹了一下嵌入式現在的火熱情況,告訴我學嵌入式多麼的有前景,給我了一份傳單,嵌入式培訓的廣告。聽了她的介紹,我心裡癢癢的,確實我很想去學會一門自己的技術,靠自己的雙手吃飯。
回家後,我就上網查了下嵌入式,確實是當今比較熱門的行業,也是比較好找工作的,工資也是相對比較高。我就下決心想學嵌入式了。於是我去找嵌入式培訓的相關信息,說真的,我也很迷茫,我不知道培訓是否真的能像他們宣傳的那樣好,所以我就想了解一段時間再做打算。
後來,我在網路知道看到一篇讓我很鼓舞的文章《如何學習嵌入式》,是一個嵌入式高手介紹沒有基礎的朋友怎麼自學入門學嵌入式,文章寫的很好,包含了如何學習,該怎麼學習。他提到一個方法就是看視頻,因為看書實在太枯燥和費解的,很多我們也看不懂。這點我真的很認同,我自己看書往往看不了幾頁。
我在想,為什麼別人都能自學成才,我也可以的!我要相信自己,所以我就想自學,如果實在學不會我再去培訓。
主意一定,我就去搜索嵌入式的視頻,雖然零星找到一些嵌入式的視頻,但是都不系統,我是想找一個能夠告訴我該怎麼學的視頻,一套從入門到精通的視頻,一個比較完整的資料,最好能有老師教,不懂可以請教的。
後來我又找到一份很好的視頻,是在嵌入式學習網推出的一份視頻《嵌入式視頻教程--零基礎手把手教你學嵌入式》,裡面的教程還不錯,很完整,可以讓我從基礎的開始學起。視頻不便宜啊,但是我也忍了,畢竟買幾本書都要幾百了,何況他們還有半年的技術咨詢和服務,算值了。
======這里我就不給出他們的網址,如果你也想要嵌入式視頻的話,那就自己去網路搜索:零基礎手把手教你學嵌入式。
下面介紹下我的學習流程,希望對和我一樣完全沒有基礎的朋友有所幫助。
收到他們寄過來的光碟後,我就開始學習了,由於我沒有什麼基礎,我就從最簡單的C語言視頻教程學起,話說簡單,其實我還是很多不懂的,我只好請教他們,他們還是很熱心的,都幫我解決了。C語言我差不多學了一個禮拜,接下來我就學了linux的基本命令,我在他們提供linux虛擬機上都有做練習,敲linux的基本命令,寫簡單的C語言代碼,差不多也就三個禮拜。我每天都在不停的寫一些簡單的代碼,這樣一月後我基本掌握了C和linux的基本操作。
接下來我就去學習了人家的視頻的培訓教程,是整套的,和去參加培訓沒有多大的區別,這一看就是兩個月,學習了ARM的基本原理,學習嵌入式系統的概念,也掌握了嵌入式的環境的一些搭建,對linux也有更深層次的理解了,明白了嵌入式應用到底是怎麼做的,但是驅動我只是有一點點的了解,這個相對難一點,我想以後再慢慢啃。
這兩個月,除了吃飯睡覺,我幾乎都在學習。因為我知道幾乎沒有基礎,比別人差勁,我只能堅持努力著,我不能放棄,我必要要靠自己來養活自己,必須學好這門技術,同時我不懂的就問,這里真的很感謝他們的技術客服對我的任何問題都是耐心的解答,每天都我幾乎都有好幾個問題問他們,然後我就把不懂的問題總結記下來,這樣慢慢積累了一段時間,我發現自己真的有點入門了。
最後的一個月,我就去看關於實踐部分的內容,了解嵌入式項目具體的開發流程,需要什麼樣的知識,我就開始准備這方面的知識,也就是學習這方面的視頻,同時他們建議我去找了找一些嵌入式面試的題目,為自己以後找工作做准備。我就到網上找了很多嵌入式的題目,把他們理解的記下來,這樣差不多准備了20天左右
我覺得自己差不多入門了,會做一些簡單的東西了。我就想去找工作看看,於是我就到51job瘋狂的投簡歷,因為我學歷的問題,專科沒有畢業,說真的,大公司沒有人會要我,所以我投的都是民營的小公司,我希望自己的努力有所回報。沒有想過幾天過後,就有面試了,但是第一次面試我失敗了,雖然我自認為筆試很好,因為我之前做了准備,但是他們的要求比較嚴格,需要有一年的項目經驗,所以我沒有被選中。
後來陸續面試了幾家公司,終於功夫不負有心人。我終於面試上的,是在閔行的一家民營的企業,公司規模比較小,我的職務是嵌入式linux應用開發,做安防產品的應用的。我想我也比較幸運,經理很看重我的努力,就決定錄用我,開的工資是3500一個月,雖然我知道在上海3500隻能過溫飽的生活,但是我想我足夠了。我至少不用每天都要靠父母養,我自己也能養活自己的。我想只要我繼續努力,我工資一定會翻倍的。
把本文寫出來,希望能讓和我一樣的沒有基礎的朋友有信心,其實我們沒有必要自卑,我們不比別人笨,只要我們肯努力,我們一樣會成功。
最後祝願所有想學嵌入式的朋友更早的入門!
-----------------------------------------------------------
希望我的回答能幫到你吧