如何使用KBOOT引導引導程式的CRC32校驗和

2021-08-18 01:42:43 字數 549 閱讀 3206

在「使用kinetis k22微控制器flash內建usb-hid引導程式的方法」文章中,我介紹了如何使用tinyk22(或frdm-k22f)的flash內建usb hid引導程式。為確保載入的應用程式不會以某種方式損壞,使用迴圈冗餘校驗和(crc)對其進行驗證非常重要。kboot bootloader可以驗證這種crc,但如何生成乙個crc以及如何使用它並不是很明顯,所以本文主要介紹了如何生成該crc。

本文介紹如何從二進位制檔案和s-record檔案中計算kboot的crc32,以及如何將值插入bca(引導引導程式配置區)。另外它提供了關於除錯引導載入應用程式的一些提示。

引導引導程式配置有bca(引導引導程式配置區)。它將配置rom引導引導程式。對於kl03z,rom引導程式沒有實現校驗功能:-(,所以我必須構建乙個flash內建的bootloader。

對於flash內建引導引導程式,bca也會載入部分應用程式,並且位於位於偏移量為0x0000的向量表之後的偏移量0x3c0處。

什麼是引導引導程式?

引導引導程式 boot loader 會引導作業系統。當機器引導它的作業系統時,bios 會讀取引導介質上最前面的 512 位元組 即人們所知的 主引導記錄 master boot record,mbr 在單一的 mbr 中只能儲存乙個作業系統的引導記錄,所以當需要多個作業系統時就會出現問題。所以需...

GRUB 引導引導程式 20210209

在系統啟動的第二步中,開始執行引導程式,那引導程式是 來的呢?引導程式是grub安裝到mbr中。grub,乙個引導引導程式,屬於gnu專案。它是 多引導規範 的 參考實現 可以使用者在安裝了多個作業系統的主機上選擇要啟動的系統,或者選擇特定的核心配置。作業系統的核心通常儲存在檔案系統中的,但是bio...

對Bootloader(引導引導程式)的幾點理解

1 在加電復位之後,大多數處理器都會從乙個預設的位址處獲取 比如mips結構的cpu會從0xbfc00000處取第一條指令,而arm結構的cpu則從位址0x00000000處取第一條指令。因此,在嵌入式開發板中,需要把儲存器件rom或flash等對映到這個預設的位址處,bootloader就存放在這...