重定位(1)

一、重定位

1、对于有强大ROM的板子,他们会将上电后的程序放到指定RAM内存

2、无强大片内ROM的板子,自己编程序让他知道RAM内存指定位置
指定位置:就是链接地址,指定哪里,哪里就被编译好一块内存用来存放上电的程序

二、如何重定位

复制copy(源、目的、长度)

源:加载地址

目的:链接地址

三、什么时候需要重定位?

源(加载地址) != 目的(链接地址)

四、不重定位会咋样?

一堆乱码,相反如果串口发送数据等有一堆乱码,可能就是没重定位。

五、段的概念

1、段的概念是怎么引入的呢?

因为重定位不一定把所有数据都重定位吧,那样浪费,所以我们把ROM(无论是强大的ROM还是不强大的ROM)发给RAM(MPU是RAM,MCU太穷了,一会说给谁)程序分为三段,重定位只需要将其中代码段和数据段copy到链接地址处就行了

2、三段

代码段-----------可以重定位也可以不重定位

数据段(可读可写、只读)-------必须重定位

BSS/ZI段------------不需重定位

六、MCU和MPU区别

一、MCU

一个字穷,ROM给的哪些程序RAM装不下啊,所以将三段段放在FLASH,需要的时候数据段(可读可写、只读)-------那些全局变量和静态变量等等必须重定位的给RAM的链接地址。

二、MPU

一个字,够用,我的RAM大啊,直接接收了ROM的程序,如果需要重定位我直接干到链接地址就行了。

总结:

这次记录了重定位的原理、方法等,下一次记录一下具体怎么写这部分copy代码,实现重定位

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

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

相关文章

自由学习记录(41)

代理服务器的核心功能是在客户端(用户设备)和目标服务器(网站/资源服务器)之间充当“中介”,具体过程如下: 代理服务器的工作流程 当客户端希望访问某个网站(比如 example.com)时&…

Jadx Gui 的详细介绍、安装指南、使用方法及配置说明

Jadx Gui:安卓应用逆向分析神器 一、Jadx Gui 简介 Jadx 是一款开源的 Android 反编译工具,支持将 .apk、.aab、.dex 等文件反编译为可读的 Java/Kotlin 源代码和资源文件(如 XML、PNG)。其特点包括: 图形化界面&am…

Linux+apache之 浏览器访问云服务器磁盘的图片,通过tomcat

https://javab.blog.csdn.net/article/details/80580520 安装tomcact 修改添加 <Context docBase"/home/wyp/images" path"/img" debug"0" reloadable"true" />修改完成后保存重启tomcat服务。 测试访问方式&#xff1a;http…

软件工程与实践(第4版 新形态) 练习与实践1

软件工程与实践&#xff08;第4版 新形态&#xff09; 练习与实践1 1.填空题 (1)程序&#xff0c;文档 (2)系统软件&#xff0c;支撑软件&#xff0c;应用软件 (3)系统方法 (4)软件开发和维护 (5)工程的概念、原理、技术和方法 (6)实现软件的优质高产 (7)软件开发技术和…

基于遗传算法的无人机三维路径规划仿真步骤详解

基于遗传算法的无人机三维路径规划仿真步骤详解 一、问题定义 目标:在三维空间内,寻找从起点到终点的最优路径,需满足: 避障:避开所有障碍物。路径最短:总飞行距离尽可能短。平滑性:转折角度不宜过大,降低机动能耗。输入: 三维地图(含障碍物,如立方体、圆柱体)。起…

LIUNX学习-线程

线程概念 一个进程需要访的大部分资源&#xff0c;诸如自身的代码、数据、new\malloc的空间数据、命令行参数和环境变量、动态库、甚至是系统调用访问内核代码…都是通过虚拟地址空间来访问的。换而言之&#xff0c;进程地址空间是进程的资源窗口&#xff01;&#xff01;   …

1.Big-endian/ little endian大端对齐、小端对齐

一、大端模式、小端模式的介绍 Little endian&#xff1a;是低位字节排放在内存的低地址端、高位字节排放在内存的高地址端。 Big-endian&#xff1a;是高位字节排放在内存的低地址端、低位字节排放在内存的高地址端。 西门子是大端模式&#xff0c;因为比如 MW100 MB100(高位…

[mybatis]resultMap详解

resultMap Mybatis中提供了resultMap功能&#xff0c;可以将数据库查询结果映射到Java对象&#xff0c;用于解决 字段名与属性名不一致 或 复杂关系&#xff08;如一对多&#xff09;的映射问题。 比如一个User类&#xff0c;在它的属性里还有另一个子对象&#xff08;或者多…

SpringBoot Actuator

SpringBoot Actuator 一、简介二、入门1、依赖2、默认监控指标3、查询监控指标4、全量监控指标 三、Spring Boot Admin1、主要功能2、Admin3、Client4、应用墙5、其他 四、定制化1、定制Health端点2、定制Info端点3、定制Metrics端点4、定制Endpoint端点 一、简介 SpringBoot自…

python标识符

在 Python 中&#xff0c;标识符&#xff08;Identifier&#xff09;是指用来标识变量、函数、类、模块等的名称。标识符的命名规则如下&#xff1a; 1. 标识符的命名规则 字母、数字和下划线&#xff1a;标识符可以由字母&#xff08;a-z, A-Z&#xff09;、数字&#xff08;…

06 HarmonyOS Next性能优化之LazyForEach 列表渲染基础与实现详解 (一)

温馨提示&#xff1a;本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦&#xff01; 目录 一、代码结构概览二、详细代码解析1. 数据源管理实现2. 数据结构定义3. 优化的列表项组件4. 主列表组件实现 一、代码结构概览 本文将详细解…

vscode 查看3d

目录 1. vscode-3d-preview obj查看ok 2. vscode-obj-viewer 没找到这个插件&#xff1a; 3. 3D Viewer for Vscode 查看obj失败 1. vscode-3d-preview obj查看ok 可以查看obj 显示过程&#xff1a;开始是绿屏&#xff0c;过了1到2秒&#xff0c;后来就正常看了。 2. vsc…

excel 斜向拆分单元格

右键-合并单元格 右键-设置单元格格式-边框 在设置好分割线后&#xff0c;你可以开始输入文字。 需要注意的是&#xff0c;文字并不会自动分成上下两行。 为了达到你期望的效果&#xff0c;你可以通过 同过左对齐、上对齐 空格键或使用【AltEnter】组合键来调整单元格中内容的…

家政保洁维修行业有没有必要做小程序?

【家政创业必看】家政行业小程序值得做吗&#xff1f;4大核心优势告诉你&#xff01; 随时随地下单&#xff1a;客户手机一键预约&#xff0c;告别找电话/翻页面的麻烦 品牌专业升级&#xff1a;精美界面服务详情用户评价&#xff0c;打造可信赖形象 营销神器&#xff1…

利用Python爬虫按图搜索1688商品(拍立淘)

在电商领域&#xff0c;按图搜索商品&#xff08;拍立淘&#xff09;已成为一种重要的功能&#xff0c;尤其适合用户通过图片快速查找相似商品。1688开放平台提供了按图搜索商品的API接口&#xff0c;允许开发者通过图片获取相关的商品信息。本文将详细介绍如何使用Python爬虫技…

20250305随笔 HTML2Canvas 详解与使用指南

1. 简介 html2canvas 是一个用于将 HTML 页面或特定 DOM 元素转换为 Canvas 画布的 JavaScript 库。它通过解析 HTML 和 CSS&#xff0c;生成等效的 Canvas 图像&#xff0c;从而实现网页截图功能。 2. 安装 可以使用 npm 或 yarn 安装 html2canvas&#xff0c;也可以通过 C…

【初探数据结构】链表OJ算法——哨兵位(合并两个有序链表详解)

文章目录 哨兵位&#xff08;Sentinel Node&#xff09;的作用实战演练思路讲解详细步骤1. **处理特殊情况&#xff08;边界条件&#xff09;**2. **创建哨兵节点**3. **初始化两个指针&#xff0c;遍历两个链表**4. **合并两个链表**5. **处理剩余节点**6. **返回合并后的链表…

libcoap在Ubuntu下的编译(基于CMake)

引言 libcoap 是一个开源的轻量级 C 语言库&#xff0c;用于实现 CoAP&#xff08;Constrained Application Protocol&#xff0c;受限应用协议&#xff09;。CoAP 是一种专为资源受限设备设计的轻量级通信协议&#xff0c;适用于物联网&#xff08;IoT&#xff09;和嵌入式系…

命名管道实现传递数据到二进制文件

一 前言&#xff1a; 在做项目的过程中&#xff0c;一般来说我们的信息输入是有固定的端口/来源的&#xff0c;但是在当前的越来越快的开发节奏下&#xff0c;往往会出现输入源还未完全确定的情况下需要我们先实现功能逻辑&#xff0c;信号接受端后面再对接。或者数据接受端和功…

VSCode知名主题带毒 安装量900万次

目前微软已经从 Visual Studio Marketplace 中删除非常流行的主题扩展 Material Theme Free 和 Material Theme Icons&#xff0c;微软称这些主题扩展包含恶意代码。 统计显示这些扩展程序的安装总次数近 900 万次&#xff0c;在微软实施删除后现在已安装这些扩展的开发者也会…