uboot-嵌入式设备启动运行的原理

  • 嵌入式设备上电运行的内部启动机制
  • Centos主机连接嵌入式开发板串口的工具有:minicom、screen
  • minicom使用方法:1.#minicom -s 进去设置端口和波特率后,重新输入#minicom进去即可。
  • screen的使用方法:1.#screen /dev/ttyUSB0 115200

第一步:

  • 启动目标板。
  • 由U-BOOT启动加载引导程序,并加载各种硬件的初始化程序。

第二步:

  • U-BOOT加载内核启动。
  • tftp 600000 uImage # 使用TFTP协议加载镜像到内存地址为600000,NFS Server服务
  • tftp c00000 dtb # 使用TFTP协议下载二进制设备树dtb文件到c00000
  • bootm 600000 - c00000 # bootm命令的作用是从内存的镜像引导内核运行,并将设备树文件dtb传给内核
  • 此时的CPU控制权全在于内核程序
  • 设备树dtb文件包含设备相关信息,包括:内存、时钟、闪存、总线、设备

第三步:

  • 内核初始化。
  • 内核先初始化,再挂载根文件系统,然后执行init进程。
  • 内核在内核上下文环境中运行

第四步:

  • 内核执行init进程后,会进入用户空间运行,但是此时对设备资源的访问是受限的,需要通过内核系统调用访问设备资源system call
  • 内核为用户进程完成从虚拟空间到物理空间地址的映射。
  • 用户空间虚拟地址是由内核选取并管理。
posted @ 2023-06-28 16:24  steve的miao  阅读(65)  评论(0编辑  收藏  举报