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