盈响嵌入式Linux驱动与Android底层开发-嵌入式系列
2023-05-21 20:09 作者:bili_73767213996 | 我要投稿
Linux嵌入式基础
1. 设备启动过程
1) 上电->POR
2) bootROM->SRAM=>uboot1
3) uboot1->uboot2
4) kernel->rootfs
5) init
2. uboot
>Makefile
>cpu/arm926ejs ->uboot1
u-boot.lds start.S
>board/smdk2440
/atmel/at91sam9261ek
>include/configs/at91sam9261ek.h
>lib_arm/board.c
start.S: start_armboot() -> uboot2
3. uboot汇编
1) linux手动切换模式到svc
2) linux/uboot仅用到ARM的svc和usr模式。
3) >异常向量表
>cpu_init_crit 关闭cache,mmu
>lowlevel_init 初始化晶振
>拷贝uboot2
4. kernel
>Makefile
>arch/arm/configs/at91sam9g10ek_defconfig
>arch/arm/mach-at91/board-sam9261ek.c
>make menuconfig