启动代码和Bootloader的区别和关系介绍
生活随笔
收集整理的這篇文章主要介紹了
启动代码和Bootloader的区别和关系介绍
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
注意:很多初學(xué)者總是將啟動代碼和Bootloader聯(lián)系在一起,這是錯誤的
什么是啟動代碼?
??? 啟動代碼是系統(tǒng)上電或者復(fù)位后運行的第一段代碼,是進入C 語言的main 函數(shù)之前需要執(zhí)行的那段匯編代碼。
啟動代碼有何用?
??? 它的作用是在用戶程序運行之前對系統(tǒng)硬件及軟件環(huán)境進行必要的初始化并在最后使程序跳轉(zhuǎn)到用戶程序。它直接面對ARM 處理器內(nèi)核及硬件控制器進行編程,所執(zhí)行的操作與具體的目標系統(tǒng)緊密相關(guān)。
??? C語言程序的運行需要具備一定的條件,如分配好外部數(shù)據(jù)空間,堆棧空間和中斷入口等。另外,匯編代碼可以更直接地對硬件進行操作,效率更高,這對啟動中斷等對時間要求更高的情況是非常必要的
什么是Bootloader?
??? Bootloader 不是一段代碼,它是一個具有引導(dǎo)裝載功能的完整的程序,如可以引導(dǎo)裝載linux的vivi,uboot,以及通常PC機上的BOIS程序等。
啟動代碼和Bootloader關(guān)系?
??? Bootloader 也包含了相應(yīng)的啟動代碼,也就是說,啟動代碼是Bootloader的一部分,是所有相應(yīng)應(yīng)用程序的一部分。
總結(jié)
以上是生活随笔為你收集整理的启动代码和Bootloader的区别和关系介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ARM指令中STM和LDM的理解误区
- 下一篇: ARM中LDR伪指令与LDR加载指令