天天看點

嵌入式基本開發流程梳理總結

嵌入式開發早在10年之前筆者就讀大學時,就炒得火熱的概念,當時說嵌入式開發将是得到大力發展的行業。一直到最近又有物聯網IoT,智能硬體的發展,嵌入式開發再次被推向風口浪尖。下面我們就簡單說一下究竟什麼是嵌入式開發。

嵌入式開發,一般是指針對某個特定嵌入式系統的開發,嵌入式系統廣義上可以認為是功能受限的計算機系統。由于是功能受限的計算機系統,是以一般都是專用的系統,而不像我們平時用的個人電腦(PC)那樣是通用計算機,而且由于功能的受限,嵌入式系統一般不支援線上編譯功能:即可以在自己平台上編譯、運作自己平台上的程式,換句話說有在該平台(HW --> OS --> Compiler)上可以運作的編譯器。嵌入式平台開發闆各種各樣,下圖是一個常見的例子。

嵌入式基本開發流程梳理總結

常見嵌入式開發闆

既然不能在嵌入式系統上實作線上編譯,那怎麼實作針對嵌入式系統功能的編譯與調試呢?答案就是在嵌入式開發領域家喻戶曉的交叉編譯。交叉編譯實際是指在一個計算機平台上(Host),編譯适用于另一個平台上(Target)運作的程式。Host主機一般就是我們常用的PC機,Target就是各種各樣的嵌入式系統,不同的嵌入式系統一般需要不同的交叉編譯器,像筆者目前常用的arm-none-eabi-gcc就是針對arm平台的交叉編譯器。交叉編譯的流程一般如下圖:

嵌入式基本開發流程梳理總結
嵌入式基本開發流程梳理總結

交叉編譯、調試、運作流程框圖

本文計劃是寫一系列的嵌入式開發文章,會從基礎的嵌入式概念到具體的嵌入式開發工具技術,最終并計劃将筆者之前私下開發的一款RTOS核心(目前僅為學習目的而編寫)分析給讀者,使讀者了解如何從零開發一個麻雀雖小五髒俱全的RTOS,感興趣的讀者可以關注一下。

繼續閱讀