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