当前位置: 首页 > news >正文

[xboard] 23 kernel启动流程之汇编篇

文章目录

      • 1总的流程
      • 2 入口函数
          • 2.1 主函数
          • 2.2 __enable_mmu 与 __turn_mmu_on
          • 2.3 __mmap_switched
          • 2.4 __v7_setup

1总的流程

一般的armv7系列CPU,使用的内核镜像是zImage和uImage,所以都是压缩后的镜像,它们的启动流程一般会经历3个阶段

  • 初始化解压镜像
  • 初始化运行镜像,汇编阶段
  • 初始化运行镜像,C语言阶段

大体的流程如下所示

bootloader→ 压缩内核入口(start arch/arm/boot/compressed/head.S)→ decompress_kernel()→ __decompress() [具体算法实现]→ 解压数据到目标地址→ **跳转到解压后的内核(stext arch/arm/kernel/head.S)**→ start_kernel()

2 入口函数

2.1 主函数
arch/arm/kernel/head.S.arm							@指定以下代码为ARM指令集__HEAD						@__HEAD 是一个标记,表示代码的开始部分
ENTRY(stext)						@定义了内核入口点 stext(Start of TEXT)ARM_BE8(setend	be )			@ ensure we are in BE8 mode 强制BE8字节序(若编译为BE8)THUMB(	badr	r9, 1f		)	@ Kernel is a
http://www.dtcms.com/a/438428.html

相关文章:

  • 教育网站开发需求说明书同步朋友圈到wordpress
  • Lua上值与闭包
  • C语言指针全解析:从内存本质到高级应用的系统化探索
  • 博客网站开发背景及意义上传网站软件
  • 数据链路层协议——以太网,ARP协议
  • stub区域 概念及题目
  • 使用QT Designer建立QT视窗操作面简介
  • 好的外贸网站的特征商务网站建设方案ppt
  • Java代码审计-Servlet基础(1)
  • 微信建网站平台的宁河网站建设
  • 做教育网站有FTP免费网站
  • 【详细】idea设置格式化方式 google style
  • 关于智能体互联协议标准的130天
  • 君正T32开发笔记之IVSP版本环境搭建和编译
  • DDR Study - MR Registers during the Clock Switch
  • Claude Code 的魔力
  • Node.js 常用工具
  • Node.js 的替代品Bun
  • 网站平台建设所需开发工具广安做网站的公司
  • 阿里云做网站送服务器吗显示网站建设中
  • 【AGI使用教程】Meta 开源视觉基础模型 DINOv3(1)下载与使用
  • JAVA之拷贝数组
  • 开源 C# 快速开发(十七)进程--消息队列MSMQ
  • [UnrealEngine] 虚幻编辑器界面 | 虚幻界面详解 | UE5界面详解
  • 旅游网站开发周期成都古怪科技网站建设公司
  • JavaEE初阶——网络原理初探:从独立模式到TCP/IP五层模型
  • 代码随想录算法训练营第五十七天|53.寻宝
  • 构建模拟人类思维过程的高级智能体检索增强生成(Agentic RAG)流水线模糊性检查、多工具规划、自我修正、因果推理等功能
  • 去类似美团网站做软件开发摄影毕业设计选题作品
  • TeR-TSF 论文解读