注意:很多初學者總是將啟動代碼和Bootloader聯(lián)系在一起,這是錯誤的什么是啟動代碼?
啟動代碼是系統(tǒng)上電或者復位后運行的第一段代碼,是進入C 語言的main 函數(shù)之前需要執(zhí)行的那段匯編代碼。
啟動代碼有何用?
它的作用是在用戶程序運行之前對系統(tǒng)硬件及軟件環(huán)境進行必要的初始化并在最后使程序跳轉到用戶程序。它直接面對arm 處理器內核及硬件控制器進行編程,所執(zhí)行的操作與具體的目標系統(tǒng)緊密相關。
C語言程序的運行需要具備一定的條件,如分配好外部數(shù)據(jù)空間,堆??臻g和中斷入口等。另外,匯編代碼可以更直接地對硬件進行操作,效率更高,這對啟動中斷等對時間要求更高的情況是非常必要的什么是Bootloader?
Bootloader 不是一段代碼,它是一個具有引導裝載功能的完整的程序,如可以引導裝載linux的vivi,uboot,以及通常PC機上的BOIS程序等。
啟動代碼和Bootloader關系?
Bootloader 也包含了相應的啟動代碼,也就是說,啟動代碼是Bootloader的一部分,是所有相應應用程序的一部分。