当前位置:文档之家› 嵌入式系统开发流程

嵌入式系统开发流程


P-18/78 P-18/77
2.2 嵌入式系統軟體之開發流程
Linux其實是半路殺出的程咬金? Linux 作業系統的發展時間遠比 GNU 作業系統晚。然而, 這個娃娃作業系統以兩個禮拜出一次修正版的速度快速 地成長茁壯。 Linux 作業系統在短短的幾年內崛貣,也使用 GPL 的版權 聲明,儼然有取代GNU 作業系統晚之勢。 GNU 計畫後來也有發行以 Linux 為核心的 GNU 作業系統計 畫。這個計畫就是GNU計畫大力支持的 Debian Linux。 Debian Linux是一套具有商業水準的Linux作業系統 。
P-7/78 P-7/77
2.1 嵌入式系統軟體之開發環境
因此,這些系統單晶片都會 依 據 國 際 測 試 標 準 IEEE 1149.1的規範,在系統單晶 片 內 部 設 計 邊 界 掃 瞄 (Boundary Scan) 電 路 與 暫 存器,並保留四、五根接腳 做 為 測 試 存 取 埠 (Test Access Port) ,以便開發主 機透過內部電路仿真器 (ICE) 去控制與觀察晶片內的電路 節點與訊號。
P-19/78 P-19/77
2.2 嵌入式系統軟體之開發流程
何謂General Public License (GPL)?

GNU 計畫的精神是希望軟體的原始碼應該要自由流通,軟體公司不 應該把原始碼據為己有,賺取發行 binary code的金錢,而是收取整 合與服務的費用而已 GPL的規定是先依著作權法獲得軟體原始碼的智慧財產權,再透過 GPL的規定釋放此權力給大眾。只要程式設計師遵守GPL規定,不把 原始碼與修改過的原始碼據為己有,就可以享有GNU 計畫所提供的 免費軟體與原始程式碼。
P-21/78 P-21/77
2.2 嵌入式系統軟體之開發流程
硬體發展板(Development board)或軟體模擬器(Simulator),
主要是提供開發完成的嵌入式系統軟體執行檔進行測試與驗
證。軟體模擬器的測試與驗證工作只需要在開發主機上就可
以進行,不過軟體模擬器的測試與驗證功能有限,通常只能 模擬處理器核心的工作狀態與反應變化。如果要測試與驗證 完整的記憶體資料變化或周邊介面裝置,還是必須在硬體發 展板上進行測試與驗證。
P-3/78 P-3/77
Cross-Platform Development
The method of embedded system‟s software development calls

Cross-platform development Software for an embedded system is developed on one platform but runs on another

P-4/78 P-4/77
2.1 嵌入式系統軟體之開發環境
在一般電腦上進行嵌 入式系統軟體的開發 程序
在嵌入式系統平台上執行 由開發工具所建立出來的 嵌入式軟體
P-5/78 P-5/77
2.1 嵌入式系統軟體之開發環境
由於嵌入式系統的軟硬體資源相當有限,而且又沒有非常友 好的人機操作介面,因此所有嵌入式系統軟體的編輯、編譯、 及偵錯等工作,皆是由開發主機(通常就是效能比較優越的 個人電腦)來進行。 然後再透過開發主機,將編譯連結妥當的執行映像檔下載到 嵌入式系統平台上做執行與測試。這就是所謂的交叉開發 (Cross Development)的軟體開發環境。這也是嵌入式系統 的軟體開發環境與通用電腦系統的軟體開發環境,最大不同 之處。
P-9/78 P-9/77
課程綱要
2.1 2.2 2.3 2.4 2.5 嵌入式系統軟體之開發環境 嵌入式系統軟體之開發流程 嵌入式系統開機流程 嵌入式系統中層作業系統之開發重點 結論
P-10/78 P-10/77
2.2 嵌入式系統軟體之開發流程
P-11/78 P-11/77
2.2 嵌入式系統軟體之開發流程

P-20/78 P-20/77
2.2 嵌入式系統軟體之開發流程
作業系統(Operating System)相關套件,提供嵌入式系統軟 體目的檔 (Object file) 進行鏈結時所需的作業系統程式庫 (Library)。如果嵌入式目標平台有整合嵌入式作業系統程式 庫時,才會需要安裝此套件。

GCC (the GNU Compiler Collection)
P-17/78 P-17/77
2.2 嵌入式系統軟體之開發流程
gcc等工具鍊是GNU計畫最大的貢獻
gcc 是 FSF 最有名的程式之一,目前是 C,C++,Objective C 三合一的編譯器。 只 要 寫 好 一 個 新 的 程 式 語 言 的 frontend , 因 為 gcc backend 己經可以支援不少架構,此程式語言立刻就可以在 不同架構的處理器之上編譯與執行。 除了C程式語言之外,gcc編譯器還有支援 Fortran 90、ada9x、 Pascal等程式語言的編譯能力。
Definition in embedded system
Platform: combination of hardware, operation system, and software development tools Host system: the system on which the embedded software is developed Target system: the embedded system under development Cross compiler: a compiler runs on one type of processor architecture but produces object code for a different type of processor architecture
P-16/78 P-16/77
2.2 嵌入式系統軟體之開發流程
何謂GNU工具鍊?
GNU 是 GNU„s Not Unix 的縮寫, 在GNU貣草憲章中, GNU 計畫發貣人 Stallman 提到, UNIX 雖然不是最好的作業系統, 但是至少不會太差,而他自信有能力把 UNIX 不足的地方補全, 使它成為一個優良的作業系統, 就是名為 GNU 的作業系統。 GNU 當初的策略就是先發展 UNIX 現有的程式。因為確定 GNU 會是一個與 UNIX 相容的系統,而 UNIX 下的標準介面都已經 蠻完備了, 只要照著標準完成的程式,將來 GNU Kernel完成 後,立刻可以擁有所有 UNIX 的公用程式,因此會先有 emacs、 gcc 等 utility 產生出來。 其中 gcc 更是 GNU 計畫能夠自立更生的主力,不需要依靠 Non-Free Software 來產生 / 編譯自己的作業系統(Operating System)相關套件。
第二章 嵌入式系統開發流程
課程綱要
2.1 2.2 2.3 2.4 2.5 嵌入式系統軟體之開發環境 嵌入式系統軟體之開發流程 嵌入式系統開機流程 嵌入式系統中層作業系統之開發重點 結論

P-2/78 P-2/77
課程綱要
2.1 2.2 2.3 2.4 2.5 嵌入式系統軟體之開發環境 嵌入式系統軟體之開發流程 嵌入式系統開機流程 嵌入式系統中層作業系統之開發重點 結論
如同通用電腦系統的軟體開發流程,在嵌入式系統的軟體開 發流程中,主要還是以 C/C++ 程式設計語言為主,組合語言 為輔。 因為 C/C++ 程式設計語言是屬於一種中高階的程式語言,可 以提高嵌入式系統工程師的工作效率,充分發揮出嵌入式處 理器日益提昇的性能,並且縮短產品的上市時間 (Time to market)。 此外, C/C++程式設計語言便於移植與修改,使不同的嵌入 式系統產品的升級與繼承更迅速,並且讓嵌入式系統工程師 方便交流。
P-13/78 P-13/77
2.2 嵌入式系統軟體之開發流程
安裝軟體發展工具套件通常是嵌入式系統軟體開發流程中 的第一步驟。 需要安裝的嵌入式系統軟體發展工具套件,包括:
整合開發環境(Integrated Development Environment, IDE) 工具 編譯鏈結偵錯工具鍊(Toolchain) 作業系統(Operating System)相關套件 硬體發展板(Development board)或硬體模擬器(Simulator)
P-15/78 P-15/77
2.2 嵌入式系統軟體之開發流程
編 譯 鏈 結 偵 錯 工 具 鍊 (Toolchain) , 配 合 整 合 開 發 環 境 (Integrated Development Environment, IDE)工具,負責 執行嵌入式軟體的編輯、編譯、鏈結、偵錯、及下載等工 作。如果要在 Windows 開發平台上使用 GNU 工具鍊,必須 再安裝Cygwin模擬環境。
BGA Ball Grid Array。球閘陣列封裝。 為第三代面矩陣式(Area Array)IC封裝技術,係在晶粒底 部以陣列的方式佈置許多錫球,以錫球代替傳統以金屬導線架在周圍做引腳的方式。此種封裝技術的好 處在於同樣尺寸面積下,引腳數可以變多,其封裝面積及重量只達QFP的一半。目前資訊家電與3C產品 己多應用BGA封裝技術。 BGA封裝在電子產品中,主要應用於300接腳數以上高密度構裝的產品,如晶片組、CPU、Flash、部份通 訊用IC等;由於BGA封裝所具有的良好電氣、散熱性質,以及可有效縮小封裝體面積的特性,使其需求 成長率遠高於其他型態的封裝方式。

P-14/78 P-14/77
2.2 嵌入式系統軟體之開發流程
整合開發環境(Integrated Development Environment, IDE) 工具,主要是提供一個整合的圖形操作介面,以便軟體工程 師可以方便地進行嵌入式系統的整個軟體開發流程工作。包 括嵌入式軟體的編輯、編譯、鏈結、偵錯、及下載等步驟, 都可以在整合開發環境工具中進行。
相关主题