首页 > 系统相关 >Linux-嵌入式设备启动运行的原理

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

时间:2023-06-28 16:36:12浏览次数:54  
标签:dtb minicom 嵌入式 内核 Linux 原理 加载 设备

  • 嵌入式设备上电运行的内部启动机制
  • 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
  • 内核为用户进程完成从虚拟空间到物理空间地址的映射。
  • 用户空间虚拟地址是由内核选取并管理。

标签:dtb,minicom,嵌入式,内核,Linux,原理,加载,设备
From: https://www.cnblogs.com/starcos/p/17511783.html

相关文章

  • Linux下常用scp,tail,grep命令详解[记录]
    scp命令用于在本地主机和远程主机之间复制文件或目录,支持加密传输。它可以通过ssh协议来进行数据传输,因此传输过程是安全的。注意:在使用scp命令时,如果出现权限验证失败的情况,可能需要检查本地主机和远程主机之间的ssh配置是否正确。scp[参数][原路径][目标路径][参......
  • 去掉一层目录linux
    可以使用mv命令的通配符来去掉一层目录。例如,假设有一个名为/home/user/dir1/dir2/file.txt的文件,要将它移动到/home/user/dir2/目录下并去掉dir1目录,可以使用以下命令:mv/home/user/dir1/dir2/file.txt/home/user/dir2/如果要批量移动多个文件并去掉一层目录,可以使用通配符来匹......
  • Linux - 操作mysql数据库
    运行环境Ubuntu20.04虚拟机Mysql8.0APIlibmysqlclient-devgcc9.4.0一、准备工作1、在Ubuntu上准备mysql开发环境更新软件源sudoaptupdate安装libmysqlclient-dev,这个lib库是Linux下C/C++连接mysql的客户端sudoaptinstalllibmysqlclient-dev2、创建测试数据库......
  • Java阻塞队列原理
    阻塞队列,关键字是阻塞,先理解阻塞的含义,在阻塞队列中,线程阻塞有这样的两种情况:1.当队列中没有数据的情况下,消费者端的所有线程都会被自动阻塞(挂起),直到有数据放入队列。2.当队列中填满数据的情况下,生产者端的所有线程都会自动阻塞(挂起),直到队列中有空的位置,线程被自动唤醒。阻塞队列的......
  • Linux curl命令详解
    命令:curl在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。语法:#curl[option][url]常见参数:-A/--user-agent<string>设置用户代理......
  • linux http嗅探工具 httpry
    httpry是http版的tcpdump,它提供了实时的数据抓取、展示,也可以写入到文件,以供后续分析,相比较tcpdump,它抓取展示http更加直观。通常我们会抓取请求并写入文件httpry-i网卡名字-mmethod-b输出文件名字使用ifconfig命令查看网卡名字,如果不指定,默认是第一个网卡。-m指定http请求......
  • jdk动态代理实现原理
    动态代理的作用  我们都知道,spring的面向切面编程默认由jdk动态代理和cglib动态代理实现,使用动态代理我们可以无侵入的实现切面编程,比如日志管理、权限管理、事务管理等。jdk动态代理是面向接口的,cglib是面向普通类。弄明白了这两种动态代理实现原理也就懂了spring的aop编程。j......
  • 在linux上启动arthas报“Can not find java process”
    发生背景完整报错信息:[***@localhost~]$java-jararthas-boot.jar[INFO]JAVA_HOME:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b03-1.el7.x86_64/jre[INFO]arthas-bootversion:3.6.9[INFO]Cannotfindjavaprocess.Trytorun`jps`commandliststheinstrume......
  • https 原理分析进阶-模拟https通信过程
    大家好,我是蓝胖子,之前出过一篇https的原理分析,完整的介绍了https概念以及通信过程,今天我们就来比较完整的模拟实现https通信的过程,通过这篇文章,你能了解到https核心的概念以及原理,https证书是如何申请的,以及如何用golang实现https通信,https双向认证。本章代码已经上传到github......
  • 1、Apache Kudu介绍及架构、工作原理、两种部署方式、使用限制详解
    ApacheKudu系列文章1、ApacheKudu介绍及架构、工作原理、两种部署方式、使用限制详解2、ApacheKudu-javaapi操作kudu详细示例以及kudu的三种实现示例3、ApacheKudu集成impala(shell和java操作)的详细操作(文章目录)本文简单的介绍了kudu的基本情况、架构、部署、原理......