uboot启动第一阶段
2025-02-14 来源:cnblogs
s5pv210的irom代码读取sd(mmc通道3)中的16kB(uboot第一阶段代码)到iram的0xd0020010中校验通过后开始执行
第一条指令位于cpu/s5pc11x/start.S
1 _start: b reset(第57行)
2 第149行设置CPU位svc模式禁止irq和fiq
3 200~204设置cache
4 209~211设置TLB和icache
5 216~221设置cp15的c1禁止mmu和cache
6 225~227读启动信息(CORTEXA8将启动信息保留在0xE0000004中)
7 243~278将我们设置的启动标志保存在寄存器中
8 284~286设置栈
9 288 bl lowlevel_init (位于board/samsung/x210)
10 46~52(lowlevel_init) 根据复位状态跳转,冷启动则顺序执行
11 61~64(lowlevel_init)关看门狗
12 100~104(lowlevel_init)锁存上电信号
13 110~115(lowlevel_init)判断当前uboot在sram还是DDR中
14 118 bl system_clock_init初始化时钟系统
15 121 bl mem_ctrl_asm_init 初始化内存
16 125 bl uart_asm_init 初始化串口打印‘O’
17 151~156 打印‘K’ 返回start.s中
18 292~294 锁存上电信号和第12步一样
19 297~299 设置栈0x33e00000
20 313~318 如果 BL1复制于 SD/MMC CH2则跳转mmcsd_boot,我们这里是
21 349 bl movi_bl2_copy 将uboot复制到内存0x33e00000
22 361~371设置域访问和TTB(页表基地址)
该一级页表为兆式映射有效映射为c0000000-d0000000 30000000-40000000 256MB 3G-3.25G
23 374~381 开mmu
24 387~396 再次设置栈
25 400~411 清bss 长跳转到start_armboot函数
- imx6ull uboot启动流程
- uboot启动第二阶段
- uboot总结:uboot配置和启动过程1(主Makefile分析)
- uboot总结:uboot配置和启动过程2(mkconfig分析)
- uboot总结:uboot配置和启动过程3(config.mk分析)
- [uboot] (第五章)uboot流程——uboot启动流程
- tiny210V2 Uboot kernel filesystem 烧写和启动
- 使用uboot启动低版本内核卡死在Starting kernel...
- 九鼎S5PV210开发板的SD卡启动、uboot tftp升级内核镜像
- 工信部:我国 6G 第一阶段技术试验形成超 300 项关键技术储备
- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 有源晶振与无源晶振的六大区别详解
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 蓝牙信道探测技术原理与开发套件实践
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析




