我們在先前文章中介紹system software的組成與功能,我們知道system software是讓系統能正常運作的必要軟體。
接下來我們要介紹開發一套system software的流程中,需要使用的三大重要元素: build
, hardware platform
, verifications
。
system software build flow
。System software source code經過build flow轉換成CPU可以執行的executable file之後,需要有hardware platform才可以運行,而hardware platform可分為模擬器(simulator/emulator)與實際硬體(real target)。因為real target需要製造的流程,所以system software可以使用模擬器(simulator/emulator)作為前期開發的hardware platform,而real target可以提供更完整的功能、更快的執行速度、執行功能更豐富更複雜的software,所以可以使用real target做後期開發。
Hardware Platform
Compiler toolchain是build verification的必要工具,所以我們會先驗證compiler toolchain correctness,因為verification需要運行在kernel之上,所以需要驗證kernel booting flow。當kernel booting完成後,會對hardware做DVT、對device driver做device driver test、對kernel做kernel test,最後則是敘述方便進行驗證的test framework。
我們今天簡單認識了開發一套system software的流程,接下來我們會先從build flow開始介紹。