【ARM 裸机】I.MX 启动方式之启动头文件 1

接上一节:【ARM 裸机】I.MX 启动方式之启动设备的选择;

2、启动头文件

当 BOOT_MODE1 为 1,BOOT_MODE0 为 0 的时候此内部 BOOT 模式,在此模式下,芯片会执
行内部的 BOOT ROM 代码,这段 BOOT ROM 代码会进行硬件初始化(一部分外设),然后从 BOOT 设备(就是存放代码的设备、比如 SD/EMMC、NAND)中将代码拷贝出来复制到指定的 RAM 中,一般是 DDR。

2.1、BOOT ROM 做什么

设置内核时钟频率为 396 MHz,使能 MMU 和 Cache,使能 MMU 和 L1 Cache 和 L2 Cache 是为了加速启动;另外还要从 BOOT_CFG 设置的存储中,读取 image,然后做相应的处理;
在这里插入图片描述
在这里插入图片描述

2.2、IVT 和 BOOT DATA

之前说,bin 文件前面会添加一个头部,我们烧写的 load.imx 文件在 SD卡上的起始地址 0x400,也就是 1024;
在这里插入图片描述
在这里插入图片描述
头部的大小是 3 KB,加上偏移的 1 KB,一共是 4 KByte,因此 bin 文件在 SD卡上的起始地址为 4096;IVT 的大小为 32 个字节,8 条;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/1124.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

tensor是pytorch的核心,那torch.tensor和torch.Tensor区别是?

本文重点 从本节课程开始我们将正式开启pytorch的学习了,在深度学习框架中有一个重要的概念叫做张量,它是pytorch的基本操作单位,要想创建tensor有很多的方式,但是有两个torch.tensor和torch.Tensor容易混淆,本节课程…

javase__进阶 day13stream流和方法引用

1.不可变集合 1.1 什么是不可变集合 ​ 是一个长度不可变,内容也无法修改的集合 1.2 使用场景 ​ 如果某个数据不能被修改,把它防御性地拷贝到不可变集合中是个很好的实践。 ​ 当集合对象被不可信的库调用时,不可变形式是安全的。 简单…

大厂面试精华面试刷题

1.自定义unshift实现相同效果 2.数组去重 用vs2019来写这种练习题可以更直观的查看代码执行的效果,最后的代码是控制控制台执行完毕后不自动关闭 use strict;let arr [1, 1, 2, 2, 3, 3, 4, 5, 6, 7, 8, 9, 10] //1.//查重最简单的方法for循环结合splice从数组中…

【C++】飞机大战项目记录

源代码与图片参考自《你好编程》的飞机大战项目,这里不进行展示。 本项目是仅供学习使用的项目 飞机大战项目记录 飞机大战设计报告1 项目框架分析1.1 敌机设计:1.2 玩家飞机控制:1.3 子弹发射:1.4 游戏界面与互动:1.5…

解决Linux根分区空间不足的方法:利用Home分区进行扩容

前言 在进行系统安装时,一个常见的困扰是默认分区设置可能导致home分区拥有过多的空间,而root分区却显得十分紧缺。这种情况下,用户往往会陷入无法继续安装软件或存储文件的困境。本文将向您展示如何通过合理的调整,将home分区中多…

【6】mysql查询性能优化-关联子查询

【README】 0. 先说结论:一般用inner join来改写in和exist,用left join来改写not in,not exist;(本文会比较内连接,包含in子句的子查询,exist的性能 ) 1. 本文总结自高性能mysql 6…

Python 面向对象——1.基本概念

本章学习链接如下: 基本概念与语法 类(Class):定义了一组对象共有的属性和方法的蓝图。类是创建对象的模板。 对象(Object):类的实例。对象包含实际的数据和操作数据的方法。 属性&#xff0…

NLP_知识图谱_三元组实战

文章目录 三元组含义如何构建知识图谱模型的整体结构基于transformers框架的三元组抽取baselinehow to use预训练模型下载地址训练数据下载地址 结构图代码及数据bertconfig.jsonvocab.txt datadev.jsonschemas.jsontrain.jsonvocab.json 与bert跟data同个目录model.pytrain.py…

原型和原型链--图解

https://juejin.cn/post/7255605810453217335 prototype是函数的属性(一个对象),不是对象的属性,普通函数和构造函数的prototype属性是空对象{}(其实有2个属性,一个是constructor&a…

Vue3: toRefs与toRef的基本使用

一、前言 本文主要介绍toRefs与toRef的基本使用。 二、内容 1、基本概念 作用: toRefs与toRef可以将一个响应式对象中的每一 个属性,转换为ref对象;不同 toRefs与toRef功能一致,但toRefs可以批量转换。 2、toRefs 如果把reactive定义的…

记录交叉编译环境配置--海思开发板的 嵌入式nginx和 php的移植

嵌入式 lnmp搭建的记录 一些交叉编译的配置环境思路分享:P:php编译PHP可能遇到的问题configure阶段:Makefile-make阶段:Makefile-make install阶段: N:Nginx 文章比较水,并没有没解决什么实际问…

二维码门楼牌管理应用平台建设:助力场所整改与消防安全

文章目录 前言一、二维码门楼牌管理应用平台的构建背景二、二维码门楼牌管理应用平台在场所整改中的作用三、二维码门楼牌管理应用平台的意义与价值四、二维码门楼牌管理应用平台的未来展望 前言 随着城市管理的日益精细化,二维码门楼牌管理应用平台的建设成为了提…

C++ - STL详解(七)— stack和queue的介绍及使用

目录 一. stack 1.1 stack的介绍 1.2 stack的定义 1.3 stack的使用 ​编辑 二. queue 2.1 queue的介绍 2.2 queue的定义 2.3 queue的使用 一. stack 1.1 stack的介绍 stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除…

如何通过Postgres的日志进行故障排查?

文章目录 一、配置日志记录二、查看和分析日志三、使用日志进行故障排查的示例四、总结 在进行数据库管理和维护时,日志分析是一项至关重要的技能。PostgreSQL的日志记录功能可以帮助我们追踪数据库的运行状态,定位问题,以及优化性能。下面&a…

【Java】如何获取客户端IP地址

在项目中往往涉及到“获取客户端IP地址”,常见到下面这样子的代码: package com.utils;import cn.hutool.core.util.StrUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.http.server.reactive.ServerHttpRequest; import java.net…

逻辑运算符

一 介绍 用于连接多个条件( 多个关系表达式) , 最终的结果也是一个 boolean 值。 &:逻辑与&&:短路与|:逻辑或||:短路或! 取反^:异或 二 逻辑运算规则 a&a…

K210基础实验——独立按键中断

前言 学习K210开发板的独立按键和中断功能 一、涉及到的外设资源是K210开发板上的BOOT按键和RGB灯 二、BOOT按键按下,MCU上连接BOOT的IO口变为低电平,松开后为高电平 三、引脚对应关系 BOOT : IO16 RGB灯: R:IO6 G:IO7 B:IO8 四、在…

【linux】多路径|Multipath I/O 技术

目录 简略 详细 什么是多路径? Multipath安装与使用 安装 使用 Linux下multipath软件介绍 附录 配置文件说明 其他解 简略 略 详细 什么是多路径? 普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系。 而到了分布式环境,主机和存储网络连…

UDP协议深度解析:从原理到应用全面剖析

⭐小白苦学IT的博客主页⭐ ⭐初学者必看:Linux操作系统入门⭐ ⭐代码仓库:Linux代码仓库⭐ ❤关注我一起讨论和学习Linux系统 前言 随着互联网的蓬勃发展,网络通信协议成为了支撑其稳定运行的关键。UDP协议作为网络通信协议中的重要一员&…

华为ensp中rip和ospf路由重分发 原理及配置命令

作者主页:点击! ENSP专栏:点击! 创作时间:2024年4月20日20点21分 路由重分发(Route Redistribution)是指路由器将从一种路由协议学习到的路由信息,通过另一种路由协议通告出去的功…