【ARM系列】嵌入式系统和ARM启动流程概述

Date:2019-5-13


1、嵌入式系统概述

一个嵌入式Linux系统从软件角度来讲可以分成四个部分:引导加载程序(bootloader),Linux Kernel,文件系统和应用程序。
其中

  • bootloader是系统启动或复位后执行的第一段程序。它主要用来初始化处理器及外设,然后调用Linux内核。
  • Linux内核在完成系统的初始化之后需要挂载某个文件系统作为根文件系统。-
  • 根文件系统是 Linux系统的核心组成部分,它可以作为Linux系统中文件和数据的存储区域,通过它还包括系统配置文件和运行应用程序软件所需要的库。
  • 应用程序是嵌入式系统的“灵魂”,它所实现的功能通常就是设计该嵌入式系统所要达到的目标。如果没有应用程序的支持,任何硬件上设计精良的系统都没有实际意义。
2、ARM启动流程简述

ARM启动流程包括了Uboot执行流程和Linux Kernel执行流程。
Uboot:Universal Boot Loader,是用于多种嵌入式CPU的Bootloader程序。

2.1、Uboot执行流程:
  • start.s:初始化一些寄存器和内存
  • boot.c:初始化时钟、外设资源和环境变量等。
2.2、Kernel执行流程:
  • Linux内核入口
  • start_kernel函数:所有Linux平台进入系统内核初始化后的入口函数。
  • rest_init函数
    当所有初始化工作结束后,cpu_idle函数会被调用来使系统处于闲置状态并等待用户程序的执行。至此,整个Linux内核启动完毕。

THE END!

在这里插入图片描述

你可能感兴趣的:(【视音频技术之硬件编解码】)