bootloader和kernel的機器碼的關聯

2021-06-18 23:01:25 字數 934 閱讀 4035

首先必須明確bootloader的機器碼和kernel的機器碼要一致,kernel才能被引導。

1.位置

linux核心的機器碼在:arch\arm/tools/mach-types

u-boot的機器碼是在:include\asm-arm/mach-types.h

只要兩者保持一致便可,所以可以任意修改其中之一。

例如:

$vimarch/arm/mach-s3c2440/mach-smdk2440.c

178 machine_start(s3c2440 , "smdk2440")

179 

180 

.phys_io 

= s3c2410_pa_uart,

181 

.io_pg_offst 

= (((u32)s3c24xx_va_uart) >> 18) & 0xfffc,

182 

.boot_params 

= s3c2410_sdram_pa + 0x100,

183184 

.init_irq 

= s3c24xx_init_irq,

185 

.map_io 

= smdk2440_map_io,

186 

.init_machine 

= smdk2440_machine_init,

187 

.timer 

= &s3c24xx_timer,

188 machine_end

修改機器碼,使之與bootloader的機器碼相同

這裡使用的是u-boot

$vi include/asm-arm/mach-types.h

377 #define mach_type_s3c2440 

168

bootloader和bootstrap的區別

bootloader和bootstrap的區別 在 embedded linux primer 上看到的,其實還有一些分歧和不精確的地方,比如bootstrap 和bootstrap loader似乎在pc上還有區別,不過還是不影響理解了 又如redboot redhat embedded debu...

bootloader和bootstrap的區別

在 embedded linux primer 上看到的,其實還有一些分歧和不精確的地方,比如bootstrap 和bootstrap loader似乎在pc上還有區別,不過還是不影響理解了 又如redboot redhat embedded debug and bootstrap 本質是乙個boo...

關於BSP,BIOS,和bootloader區別

bsp是板級支援包,是介於主機板硬體和作業系統之間的一層,應該說是屬於作業系統的一部分,主要目的是為了支援作業系統,使之能夠更好的執行於硬體主機板。bsp是相對於作業系統而言的,不同的作業系統對應於不同定義形式的bsp,例如vxworks的bsp和linux的bsp相對於某一cpu來說儘管實現的功能...