啟動(dòng)代碼和Bootloader區(qū)別
啟動(dòng)代碼和Bootloader有點(diǎn)類(lèi)似于類(lèi)和結(jié)構(gòu)體的關(guān)系,也就是說(shuō)結(jié)構(gòu)體只是一種很特殊很特殊的類(lèi),但不能說(shuō)類(lèi)是一種結(jié)構(gòu)體。
本文引用地址:http://www.ex-cimer.com/article/201611/320150.htm也就是說(shuō)可以說(shuō)啟動(dòng)代碼是Bootloader,但是不能說(shuō)Bootloader是啟動(dòng)代碼。但是這也不是絕對(duì)的,只在某些情況下可以這么說(shuō)。
通常,啟動(dòng)代碼僅僅是指CPU復(fù)位后到main函數(shù)之前需要執(zhí)行的匯編代碼。需要這段代碼是為了給C語(yǔ)言程序準(zhǔn)備好堆??臻g,中斷入口和外部數(shù)據(jù)等。而且這段匯編代碼可以直接對(duì)硬件進(jìn)行操作,效率很高。
Bootloader不是代碼,而是程序,完整的程序,比如引導(dǎo)轉(zhuǎn)載Linux和WinCE,以及BIOS程序。有些Bootloader將啟動(dòng)代碼也包含在內(nèi)。也就是說(shuō)啟動(dòng)代碼相當(dāng)于Bootloader的第一階段,但是第一階段的內(nèi)容并不是絕對(duì)的,有些可以拿到第二階段去實(shí)現(xiàn),只不過(guò)犧牲了效率。
評(píng)論