WinCE的Boot Loader是如何工作的

2021-04-18 22:22:10 字數 853 閱讀 4751

wince的boot loader是如何工作的

前提:此boot loader是位於nor flash的零位址的,cpu配置成復位後在此執行。 1.

前期cpu初始化: l

進入超級使用者模式(supervisor mode)。顯式通過軟體指令初始化進入。 l

清除指令和資料cache。 l

清除tlbs(translation look-aside buffers)。 l

drain the write and fill buffers。

l配置並使能ram控制器。 l

確保中斷使能位已清除、中斷遮蔽位被設定。 l

初始化使用到的plls(phase-locked loops)。 l

初始化必需的定時器,如rtc、系統滴答(tick counter)。

2.[可選項]將自身的執行時映像重定位到ram內執行。

3.[可選項]使能mmu和cache。 4.

拷貝copy-section data到目標位置/記憶體。如初始化全域性變數。 5.

建立並佈署一塊與os共享的保留記憶體區,用來傳遞部分啟動變數或資訊到os。 6.

前期板級初始化: l

初始化除錯用串列埠。 l

[可選項]提供乙個配置啟動選項的使用者選單。 l

初始乙太網控制器。

7.[可選項]從dhcp伺服器獲得乙個ip位址。或分配乙個靜態ip位址。 8.

9.接收.bin檔案的分包記錄、校驗並儲存到正確的位址。如果.bin檔案已儲存在flash中則載入之。

10.

獲取使用者通過pb設定的引數。如boot clean和是否建立kitl連線,ip及埠設定。

11.

Arduino開發板刷Bootloader01

其接線方式就是 programmer 工具開發板 being programmed 目標開發板 vcc vcc gnd gnd pin 10 pin 1 reset pin 11 pin 11 mosi pin 12 pin 12 miso pin 13 pin 13 sck 接好線之後將作為pro...

STM8如何使用自帶的bootloader

1,首先確認你使用的stm8有沒有自帶的bootloader。參考下表 2,stm8空器件可以直接使用自帶的bootloader。3,stm8在使用swim燒錄後,要想繼續使用自帶的bootloader,必須設定可選位元組為0x55aa。如下圖 設定這兩個位元組的方法,可以使用st visual p...

stm32最簡單的實現BootLoader

bootloader大家應該都知道是幹什麼的,簡單的來說就是程式開始執行前的一段程式。網上有非常多的檔案有介紹過stm32 bootloader的實現。但是講的可能比較深入難以理解,實現更是無從下手。今天這裡注意介紹最簡單實現的方式,關鍵 只有幾行,每錯,真的就只有 幾行。主要實現晶元是stm32f...