嵌入式系統的定義
以應用為中心,以計算機技術為基礎,且軟硬件可裁減,適應應用系統對功能、可靠性、成本、體積、功耗的嚴格要求的專用計算機系統。
嵌入式系統的特點:
系統內核小:嵌入式系統一般是應用于小型電子裝置的,系統資源相對有限,所以內核較之傳統的操作系統要小得多
專用性強:嵌入式系統的個性化很強,其中的軟件系統和硬件的結合非常緊密,一般要針對硬件進行系統的移植
系統精簡:嵌入式系統一般不要求其功能設計及實現上過于復雜,這樣一方面利于控制系統成本,同時也利于系統安全
實時性操作系統:這是嵌入式軟件的基本要求,而且軟件要求固化存儲,以提高速度,軟件代碼要求高質量和高可靠性、實時性
專用的開發工具和開發環境。
嵌入式系統的組成:
嵌入式操作系統:
嵌入式系統開發流程:
裸機開發:對于功能簡單僅包括應用程序的嵌入式系統一般不使用操作系統,僅有應用程序和設備驅動程序
帶操作系統的開發:當設計較復雜的程序時,可能就需要一個操作系統(OS)來管理控制內存、多任務、周邊資源等,現代高 性能嵌入式系統應用越來越廣泛,操作系統使用成為必然發展趨勢
硬件開發--->啟動加載程序--->操作系統內核--->根文件系統--->設備驅動--->應用程序
通常基于linux系統的嵌入式開發步驟:
開發目標硬件系統:如選擇微處理器、Flash及其它外設等
建立交叉開發環境:安裝交叉編譯工具鏈、安裝開發調試工具
開發Bootloader:移植uboot,vivi
移植linux內核:如linux2.6.31內核
開發根文件系統:CRAMFS,YAFFS
開發相關硬件的驅動程序:led,adc等驅動
開發上層的應用程