单片机
返回首页

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函数


进入单片机查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

  • 直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  • 基于灵动MM32W0系列MCU的指夹血氧仪控制及OTA升级应用方案分享

精选电路图
  • 1瓦线性调频增强器

  • 家用电器遥控器

  • 12V 转 28V DC-DC 变换器(基于 LM2585)

  • 红外开关

  • DS1669数字电位器

  • HA1377 桥式放大器 BCL 电容 17W(汽车音频)

    相关电子头条文章