在嵌入式系統上工作有兩種情況。 嵌入式系統的資源有限,例如帶有12 K閃存的ARM Cortex M0微控制器。引導加載程序和固件常見用法和固件升級
案例1: 常用功能/模塊使用的引導程序和固件: 引導程序和固件可能需要使用相同的模塊和功能,以防止代碼重複。否則,相同的代碼將包含固件和Bootloader兩次。 我們可以通過指定函數地址來防止這種情況,並通過調用地址函數來調用該函數。這是解決方案之一。
有沒有什麼聰明的方法來提供常見的功能用法?
案例2: 有時候,我們需要升級固件。引導程序的職責之一是固件升級。我們可以通過覆蓋舊版本來輕鬆升級固件。
正如我們所看到的,兩種情況可以分開實施。但是當我們合併它們時,會出現一些問題。
問題: 引導加載程序通常是靜態對象,但固件是可以修改的。因此,通用函數通常位於Bootloader中。但是當我們需要更新一個通用模塊/功能時,我們該怎麼做?
什麼是通用或智能方法哪個引導程序,固件結構化的嵌入式系統?另外,對於有限的資源。
對於離散的通用模塊/功能,可以有一個或多個附加區域解決此問題。 固件,引導加載程序和庫(新區域)?
我想學習一般方法。有沒有關於高級固件管理的文章,書籍和源文件?
感謝