Uboot 和 Linux启动流程

Cadence QSPI调试 Cadence OSPI Flash控制器 1.芯片简介 1.1 模块与接口 APB接口用于寄存器访问。 AHB接口用于数据传输。 SPI Flash接口对接QSPI/OSPI Flash芯片。 1.2 访问模式 对于Flash的寄存器访问,仅仅使用APB接口配置控制器寄存器,Flash的寄存器内容也通过控制器寄存器读取或写入; 对于数据访问,通过APB配置控制器寄存器,设置必要的总线访问属性,然后通过AHB访问获取或写入数据内容。 ... 阅读详情

Uboot启动流程

第一阶段:关闭看门狗,设置系统时钟,初始化RAM,复制第二阶段的代码到内存中,设置好栈,跳转到第二阶段的C语言入口点。

第二阶段:检测内存映射,将内核映像和要传给内核的参数从flash复制到内存中,,设置处理器为SVC模式,关闭MMU、缓存,调用theKernel函数,传入机器号和参数列表地址作为参数,跳转到内核在内存的地址,从而启动内核。


Linux内核启动

架构和开发板相关(汇编代码):

1.检测是否支持该架构,__lookup_processor_type,检测是否支持该机器。

2.建立一级页表,__creat_page_table

3.关闭Cache,使能Mmu。

4.复制数据段、清除BSS段、设置栈、保存机器ID到全局变量。

4.start_kernel

后续通用过程:

setup_arch,初始化CPU子系统,之后让内存和进程管理系统就位,解析uboot传给内核的参数,接下来启动外部总线和外部设备,最后一步是激活用户空间的Init进程,Init进程执行必要的服务和用户空间的脚本,根据配置文件,决定启动哪些程序,如shell、桌面。



Linux驱动开发:uboot启动流程详解_uboot是怎么启动的 reset 函数存在于 arch/arm/cpu/armv7/start.s 文件中,而 reset 函数跳转到 save_boot_params 函数,save_boot_params 函数又跳转到 save_boot_params_ret中,具体如下: 2.3 cpsr和cp15 STCLR reset 函数跳转到 save_boot_params_ret函数后,具体如下: 从上述代码能看出,代码包含5个部分:cpsr,cp15,cpu_init_cp15,cpu_init_crit和**_main** 阅读详情

相关推荐

uboot启动流程概述_Linux 的启动流程

本篇的重点是讲解设备和驱动的启动流程,设备和驱动的流程是整个内核启动的核心,也是工作中最常面对的问题。出于知识点的系统性考虑,在进入主题之前我们先看下整个 Linux 在 ARM 中的启动流程如何。Uboot 的启动流程ARM Linux 的启动流程大致为:Uboot → Kernel → Root filesystem。Uboot 在上电的时候就拿到 CPU 的控制权,实现了硬件的初始化。具体是...

weixin_42488179的博客 645

网络启动(ubuntu文件系统)

接下来将上面制作的根文件系统挂载到主机上,需要挂载proc、sys、dev、dev/pts等文件系统,最后使用chroot将主机的根文件系统切换到我们前面制作的根文件系统中。设置软件源,打开根文件系统中的etc/apt/sources.list文件,在此文件最后面添加软件源,比如国内常用的清华源、中科大源等等,这些软件源可以直接在网上查找。注意,需要使用ARM源,不要找成了X86源。将sudoers.d文件夹的权限设置成root用户和root组,root组只有执行的权限,只有root用户有写入的权限。

a17587060的专栏 4213

Linux驱动开发:uboot启动流程详解_uboot是怎么启动的(1)

(.dynstr) }(.dynamic) }.plt : {(.plt) }(.interp) }.gnu : {(.gnu) }) }) }SECTIONS) }#endif_start:#endifb reset//第一段:reset跳转到save_boot_paramsreset:*/

2401_84010414的博客 756

高通平台Linux kernel死机解题心得

1、前言 1.1 目的 能够借助相关调试工具,使用一般分析手段分析、定位解决项目过程中遇到的死机类系统稳定性问题,提升工作效率 持续积累,拓宽知识深度和广度 1.2 死机? 指系统发生致命性异常导致主动或者被动进入系统完全不可用的状态,导致系统死机的问题原因有很多,排除硬件问题,还有这些大模块:Android、Linux kenrel、modem、TZ 等等,各个子系统都

沉思 3万+

uboot stacktrace介绍

uboot 栈回溯介绍

steel0205的专栏 1784

DVWA靶场实战:手把手教你绕过文件上传限制,用蚁剑连接一句话木马

本文详细介绍了在DVWA靶场中如何绕过文件上传限制并利用蚁剑连接一句话木马的实战技巧。通过分析文件上传漏洞原理、创建一句话木马、使用Burp Suite拦截修改请求以及配置蚁剑连接WebShell的全过程,帮助安全研究人员深入理解Web安全防护与攻击技术。

weixin_30335575的博客 91

Starting kernel ...“Synchronous Abort“ handler, esr 0x02000000

uboot启动内核提示Synchronous Abort

yyymmmmyyy的博客 3004

【C++】小猫钓鱼纸牌游戏--C++实现

小猫钓鱼问题: 描述:初始,两个人各有n张牌(牌面0-10),顺序固定,只能按顺序出牌。然后,两个人轮流在桌面上以接龙的方式出牌,当某个人放置的牌在桌面上已经出现时,他收起相同牌面及其中间的牌作为自己的筹码,同时需要再放一张牌到桌面。某人手上的牌出完后,另一个人继续出,直到两人手上都没牌为止,输出结束时两个人手上的筹码数。 #include<iostream> using namespace std; struct queue { int head; //队列首 int tail; //

qq_41344430的博客 3202

Uboot 启动的流程/Linux启动流程

Uboot与Linux的启动流程是嵌入式系统从硬件上电到操作系统就绪的核心过程,二者紧密协作,共同完成硬件初始化、内核加载及系统启动。

m0_56508437的博客 1793

orangepi 5 plus ubuntu24.04上安装redroid

OrangePi 5 Plus运行reDroid云手机方案总结 在RK3588+Ubuntu 24.04上部署reDroid(Android容器化方案)的关键步骤: 内核要求:确保启用binderfs(无需ashmem,新版reDroid使用memfd替代); 安装流程: 安装Docker并配置代理加速镜像拉取; 拉取reDroid镜像(推荐Android 12/13 ARM64版本); 通过挂载binderfs启动容器,指定分辨率与DPI参数; 多实例管理: 脚本化创建多个容器(如8个实例),分配独立端口

babytiger的专栏 2294

学术规范与论文写作(雨课堂)研究生 全部答案

1:如何造就优秀的学术论文 论文语法判断题 :全部是错的 2:如何撰写学术论文 3: SCI论文写作经验分享 4:论文写作与投稿技巧 5:学术伦理道德 答案仅供参考,研究生生活不易,大家如果有时间的话,还是可以学习学习的,毕竟老师讲的不错。加油,希望读研的每一个人都能顺利毕业! ...

Always-Learning 13万+

Linux驱动开发:uboot启动流程详解

uboot启动流程的超级详解(uboot版本:2016.03,硬件平台:imx6ull)

black_sneak的博客 4910

VSCODE编辑+EIDE插件调试+STM8_Debug插件调试+IAR_STM8工具链编译开发项目

1. 安装 在VS CODE安装EIDE、STM8-Debug插件 2. 使用 EIDE 创建一个 8/16 Bit MCU 项目 新建虚拟文件夹,把工程外部的文件添加进虚拟文件夹,实现工程和源文件之间的关系,而不用实际把源文件复制到工程目录下。 EIDE工程和源文件实现分开放置,EIDE(EIDE工程)、EWSTM8(IAR STM8工程)、Project(ST Visual Develop工程) 选择工具链 烧录工具选择 头文件包含目录 添加宏定义 3. 编译 4. 使用STM8

TrueLink的博客 5500

Linux系统移植之Uboot启动流程

第一阶段初始化硬件,采用的汇编语言。 第二阶段更为复杂的初始化和内核加载,采用C语言。uboot启动,先找到入口(第一行程序),通过链接脚本u-boot.lds找到程序的入口地址,即文件中的_start,如下: 由于 Flash 等存储设备的读写速度较慢,为了提高程序的执行效率,通常会将 U-Boot 的第二阶段代码从 Flash 复制到 RAM 中执行。复制的起始地址和长度需要根据具体的硬件和 U-Boot 配置来确定。在完成硬件初始化和代码复制后,程序会跳转到 U-Boot 第二阶段的入口点,开始执行

xxxx123445的博客 1241

Containerd容器运行时的私有仓库镜像推送push和镜像拉取问题解决

向/etc/containerd/config.toml配置添加如下配置,然后重启containerd。向/etc/containerd/config.toml配置添加如下配置,然后重启containerd。通过crictl为k8s拉取镜像如下所示。可以通过ctr命令进行镜像推送。往私有仓库推送镜像如下。

Bulut0907 1万+

目前最强的价格行为技术分析AI!大A也能用!还免费!

有球友推荐了一个历史最强的价格行为技术分析AI工具,使用下来确实很惊艳,解决了 很多AI工具黑盒过程,难以回溯的问题,他的决策过程可解释,提供决策树、诊断结果、原始响应、调试信息和未来走势预期。用户能够看到模型为什么选择“做多、做空或不下单”。会检查置信度、入场条件、盈亏比、结构失效和冷却期。最大的优点不是“预测一定准确”,而是把主观的价格行为分析整理成了可重复、可解释、可校验、可持续跟踪的工程化流程。本文记录本项目在 Windows 上的实际部署与启动方法。

木头大左的博客 79

嵌入式Linux八股文1:仔细说说UBoot的启动流程

本文详细分析了U-Boot在嵌入式Linux系统中的两种启动流程:无设备树(ATAG)和有设备树(DTB)方式。核心流程包括:CPU上电初始化、SPL阶段准备、重定位前硬件初始化(board_init_f)、代码重定位与修正、完全初始化(board_init_r)。关键区别在于有设备树方式需要加载并调整DTB文件,通过fdt命令修改硬件信息,最终将DTB地址传递给内核。文章还对比了两种方式下内核参数传递机制,并梳理了Linux内核启动后的设备树解析流程。整个过程体现了从底层硬件初始化到高级功能准备的完整启动

charlie114514191的博客 1189

【YOLO11改进 - C3k2融合】C3k2融合AKConv(可改变核卷积)二次创新:任意数量的参数和任意采样形状的即插即用的卷积

【YOLO11改进 - C3k2融合】C3k2融合AKConv(可改变核卷积)二次创新:任意数量的参数和任意采样形状的即插即用的卷积

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 407

Linux系统移植4:uboot启动流程详解

Linux系统移植4:uboot启动流程详解

weixin_45783574的博客 816

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

[IMX][UBoot] 10.启动流程 (6) - bootz 命令启动 Linux

UBoot 启动流程 (6) - bootz 命令启动 Linux

毛线 1125

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Linux系统移植篇(三)uBoot 启动流程详解

Linux系统移植篇(三)uBoot 启动流程详解

你要拥有一个你喜欢并且热爱的人生 960

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

uboot启动流程图以及boot启动linux流程图

u-boot启动流程。

qq_42745986的博客 2411

uboot启动流程概述_Alibaba Cloud Linux 2 LTS OS 启动优化实践

Alibaba Cloud Linux 2 (原Aliyun Linux 2)是阿里云操作系统团队基于社区版 4.19 LTS 内核打造的一款针对云产品优化的下一代 Linux 操作系统发行版,不仅提供 Linux 社区的最新增强功能,也提供了云上最佳用户体验并针对阿里云基础设施做了深度的优化。今年 3 月 26 日Alibaba Cloud Linux 2 LTS 正式发布,这是...

weixin_29885875的博客 468

uboot和Linux启动流程分析

imx6ull给uboot头部加的3KB信息 地址信息,如镜像程序的入口地址 启动数据,包含镜像要拷贝到那个地址,拷贝大小 设备信息,如DDR初始化参数 用户可执行代码 uboot启动流程分析 将CPU切换为SVC模式,关闭IRQ、FIQ,关闭MMU 设置异常向量表的起始地址 关闭MMU,关闭数据CACHE,指令CACHE根据配置选择性关闭 初始化内存,将uboot拷贝到内存中,清空BSS段(有的芯片uboot分为两个阶段,第一阶段由上电时cpu自动拷贝4k数据,第二阶段由再将uboot拷贝到内存中,

非专业业余程序员 666
上一篇: 《Linux Device Drivers》第十三章 USB驱动程序——note
下一篇: 网络驱动程序概述
pingfengluo
博客等级 码龄14年 260粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值