自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(309)
  • 资源 (1)
  • 收藏
  • 关注

原创 ARM uboot源码分析3-启动第一阶段

一、start.S 解析7总结回顾:lowlevel_init.S 中总共做了哪些事情:检查复位状态、IO 恢复、关看门狗、开发板供电锁存、时钟初始化、DDR 初始化、串口初始化并打印 ‘O’、tzpc 初始化、打印 ‘K’。其中值得关注的:关看门狗、开发板供电锁存、时钟初始化、DDR初始化、打印"OK"。1、再次设置栈(DDR 中的栈)(1) 再次开发板供电锁存。第一,做 2 次供电锁存是不会错的;第二,做 2 次则第 2 次无意义;做代码移植时有一个古怪谨慎保守策略:就是尽量添加代码而不

2023-02-12 00:13:50 786

原创 ARM uboot源码分析2-启动第一阶段

一、start.S 解析5注释的中文含义:当我们已经在 RAM 中运行时,我们不需要重新定位 U-Boot。实际上,在 U-Boot 在 RAM 中运行之前,必须配置内存控制器。1、判断当前代码执行位置(1) lowlevel_init.S 的 110-115 行。(2) 这几行代码的作用,就是判定当前代码执行的位置在芯片内部 SRAM 中还是在 DDR 内存中。为什么要做这个判定?原因1:BL1(uboot 的前一部分)在 SRAM 中有一份,在 DDR 中也会有一份(从 SRAM 中c

2023-02-10 18:52:02 993

原创 ARM uboot源码分析1-启动第一阶段

00

2023-02-09 00:21:21 457

原创 USB 协议数据包的层次结构和组成

前言USB 的数据由 包(Packet) 组成 事务(Transaction) ,事务组成 传输(Transfer),不同传输类型每 帧(Frame) 占用带宽的特性不同。我们可以看到,一个传输(Transfer)是可以拆分成事务(Transaction)的,并且一个事务(Transaction)又可以拆分为包(Packet)。一、包(Packet)包的组成结构包由以下几部分组成:同步字段(SYNC)包标识符字段(PID)设备地址和端点地址(ADDR)帧号(Frame Numbe

2023-02-06 19:49:58 3716

原创 USB Bulk-Only Transport 批量传输协议规范

一、规格概述及范围1.1 Scope范围A familiarity with the USB 1.0 and 1.1 Specifications and the USB Mass Storage Class Specification Overview is assumed.假定熟悉 USB 1.0 和 1.1 规范和 USB 大容量存储类规范概述。This specification addresses Bulk-Only Transport, or in other words, tran

2023-02-06 11:28:27 2335

原创 quartus、modelsim SE仿真报错: Nativelink Error

前言报错提示:一、 quartus Ⅱ与 第三方 modelsim 仿真软件的关联选择我自己安装的 Modelsim 文件的 win64 目录。选择自己安装的 modelsim 路径后,选择 OK.二、开始 modelsim RTL 仿真报错情况截图。原因是,自己安装的 modelsim 软件需要取消管理员方式运行。取消管理员方式运行后,应用并取消。再次进行 RTL 仿真,正常运行。一切正常运行。

2023-02-05 17:59:58 2127 4

原创 ARM uboot主Makefile 分析、uboot配置过程详解、uboot链接脚本

一、uboot 主Makefile分析11、uboot version 确定(Makefile 的 24-29 行)(1) uboot 的版本号分 3 个级别:VERSION:主板本号PATCHLEVEL:次版本号SUBLEVEL:再次版本号EXTRAVERSION : 另外附加的版本信息这4个用 . 分隔开,共同构成了最终的版本号。(2) Makefile 中版本号最终生成了一个变量 U_BOOT_VERSION,这个变量记录了 Makefile 中配置的版本号。(3) incl

2023-01-30 00:03:02 978 2

原创 ARM uboot 的源码目录分析

一、uboot的源码目录分析11、九鼎官方 uboot 和三星原版 uboot 对比(1) 以九鼎官方的 uboot 为蓝本来学习的,以三星官方的这份为对照。(2) 不同版本的 uboot 或者同一版本不同人移植的 uboot,可能目录结构和文件内容都有所不同。将来大家懂了后也可以自己根据需要去添加/删除/更改目录结构。(3) 九鼎在以三星的 uboot 为原材料进行移植时,把三星版本的 uboot 中很多不必要的文件夹、文件给删除掉了。这个删除把很多完全用不到的文件清除出去,减少了整体的文件数量,

2023-01-28 09:07:42 466

原创 ARM X210 官方 uboot 配置编译实践

一、X210官方uboot配置编译实践11. 找到官方移植好的 uboot(BSP 概念)(1) 源头的源代码是 uboot 官网下载的。这个下载的源代码可能没有你当前使用的开发板的移植,甚至找不到当前开发板使用的 SoC 对应的移植版本。(2) SoC 厂商在推出一款 SoC 后,厂商的工程师会去 uboot 官网下载一个 uboot,根据自己的 SoC 进行第一步的移植,移植的目标是厂商推出的开发板。(譬如三星的 S5PV210 芯片厂商出的开发板就叫 SMDKV210 ).所以三星的工程师移植的

2023-01-27 02:58:13 735

原创 ARM Makefile 基础

一、Makefile 的作用和意义(1) 工程项目中 c 文件太多管理不方便,因此用 Makefile 来做项目管理,方便编译链接过程。(2) uboot 和 linux kernel本质上都是 C 语言的项目,都由很多个文件组成,因此都需要通过 Makefile 来管理。所以要分析 uboot 必须对 Makefile 有所了解。二、目标、依赖、命令(1) 目标就是我们要去 make xxx 的那个 xxx,就是我们最终要生成的东西。(2) 依赖是用来生成目录的原材料。(3) 命令就是加工方

2023-01-27 01:59:36 902

原创 ARM uboot的常用命令

一、uboot 的常用命令11、类似 linux 终端的行缓冲命令行(1) 行缓冲的意思就是:当我们向终端命令行输入命令的时候,这些命令没有立即被系统识别,而是被缓冲到一个缓存区(也就是系统认为我们还没有输入完),当我们按下回车键(换行)后系统就认为我们输入完了,然后将缓冲区中所有刚才输入的作为命令拿去分析处理。(2) linux 终端设计有 3 种缓冲机制:无缓冲、行缓冲、全缓冲。2、有些命令有简化的别名(1) 譬如 printenv 命令可以简化为 print,譬如 setenv 可以简化为

2023-01-25 23:01:50 845

原创 Ubuntu 14.04.1 配置联网、设置 tftp 服务器

配置联网的操作,请参考博文:https://blog.csdn.net/weixin_42109053/article/details/128758168一、设置 tftp 服务器第 1 步:安装 tftp安装 tftp 所需的软件。首先需要安装 tftp-hpa,tftpd-hpa,前者是客户端,后者是服务程序, 在终端下输入 sudo apt-get install tftp-hpa tftpd-hpa,安装 tftp-hpa 和 tftpd-hpa。sudo apt-get install t

2023-01-25 00:14:10 1149

转载 ubuntu 14.04 无法上网处理,虚拟网络编辑器工作原理详细介绍

1、桥接模式(Bridged)使用该模式的虚拟操作系统,是局域网中的一个独立主机, 具有独立访问网络中其他主机的功能。它的配置信息由 VMnet0 虚拟网络提供, 不支持 DHCP 服务。用户需要按照一定的规则配置相应的信息,IP 地址必须和宿主机在同一个网段,这样才能实现虚拟操作系统与宿主机之间的通信。 而如果需要让虚拟操作系统具备访问互联网的功能,则还需要手动配置 TCP/IP 信息,利用局域网或宿主机的网关和 DNS 实现此功能。 如果用户想让虚拟机中的操作系统为它所在的局域网提供网络服务,就可

2023-01-24 21:09:13 515

原创 ARM 为什么要有uboot

一、为什么要有uboot1、计算机系统的主要部件(1) 计算机系统就是有 CPU 来做核心进行运行的系统。典型的计算机系统有:PC 机(台式机+笔记本)、嵌入式设备(手机、平板电脑、游戏机)、单片机(家用电器像电饭锅、空调)。(2) 计算机系统的组成部件非常多,不同的计算机系统组成部件也不同。但是所有的计算机系统运行时需要的主要核心部件都是 3 个东西:CPU + 外部存储器(Flash / 硬盘) + 内部存储器(DDR SDRAM / SDRAM / SRAM)。2、PC 机的启动过程(1)

2023-01-22 18:11:27 1781

原创 ARM S5PV210的iNand

一、iNand介绍1、iNand/eMMC/SD Card/MMC Card 的关联(1) 最早出现的是 MMC 卡,卡片式结构,按照 MMC 协议设计。(相较于 NandFlash 芯片来说,MMC 卡有 2 个优势:第一是卡片化,便于拆装;第二是统一了协议接口,兼容性好。)(2) 后来出现 SD 卡,兼容 MMC 协议。SD 卡较 MMC 有一些改进,譬如写保护、速率、容量等。(3) SD 卡遵守 SD 协议,有多个版本。多个版本之间向前兼容。(4) iNand/eMMC 在 SD 卡的基础

2023-01-21 01:18:01 1381

原创 ARM NandFlash 介绍

一、NandFlash 的接口1、Nand 的型号与命名(1) Nand 的型号命名都有含义,就拿 K9F2G08 来示例分析一下:K9F 表示是三星公司的 NandFlash 系列。2G 表示 Nand 的大小是 2Gbit(256MB)。08 表示 Nand 是 8 位的( 8 位就是数据线有 8 根)。(2) Nand 命名中可以看出:厂家、系列型号、容量大小、数据位数。2、Nand 的数据位(1) Nand 有 8 位数据位的,有 16 位数据位的。做电路时/写软件时应该根据自己实际采购

2023-01-20 18:43:09 2209

原创 ARM X210开发板的软开关按键问题

一、X210 开发板的软启动电路详解《x210bv3.pdf》(1) 210 供电需要的电压比较稳定,而外部适配器的输出电压不一定那么稳定,因此板载了一个文稳压器件 MP1482. 这个稳压芯片的作用就是外部适配器电压在一定范围内变化时稳压芯片的输出电压都是 5V。(2) MP1482芯片有一个EN(Enable)引脚,这个引脚可以让稳压芯片输出或关闭输出。EN 为高电平时有输出电压,EN 引脚为低电平时稳压芯片无输出。(3) 两个因素可以影响 EN 引脚的电平:第一个是 POWER 按键(SW

2023-01-19 01:24:27 1494

原创 ARM S5PV210的SD卡启动实战

一、S5PV210的SD卡启动实战11、任务:大于16KB的bin文件使用 SD 卡启动(1) 总体思路:将我们的代码分为 2 部分:第一部分 BL1 ≤ 16KB,第二部分为任意大小。iROM 代码执行完成后,从 SD 卡启动会自动读取 BL1 到 SRAM 中执行;BL1 执行时负责初始化 DDR,然后手动将 BL2 从 SD 卡 copy 到 DDR 中正确位置,然后 BL1 远跳转到 BL2 中执行 BL2.(2) 细节1:程序怎么安排?程序整个分为 2 个文件夹 BL1 和 BL2,各自管

2023-01-19 00:55:05 1586

原创 ARM SD卡启动详解

一、主流的外存设备介绍内存和外存的区别:一般是把这种 RAM(random access memory,随机访问存储器,特点是任意字节读写,掉电丢失)叫内存,把 ROM(read only memory,只读存储器,类似于 Flash SD 卡之类的,用来存储东西,掉电不丢失,不能随机地址访问,只能以块为单位来访问)叫外存。1、软盘、硬盘、光盘、CD、磁带(1) 存储原理大部分为磁存储,缺点是读写速度、可靠性等。优点是技术成熟、价格便宜。广泛使用在桌面电脑中,在嵌入式设备中几乎无使用。(2) 现代

2023-01-17 20:19:22 896

原创 ARM 实时时钟 RTC

一、何为实时时钟(1) real time clock,真实时间,就是所谓的xx年x月x日x时x分x秒星期x.(2) RTC是 SoC 中一个内部外设,RTC 有自己独立的晶振提供 RTC 时钟源(32.768KHz),内部有一些寄存器用来记录时间(年月日时分秒星期)。一般情况下为了在系统关机时时间仍然在走,还会给 RTC 提供一个电池供电。二、S5PV210 实时时钟的结构框图(1) 时间寄存器7个(2) 闹钟发生器三、闹钟发生器(1) 可以定闹钟时间,到时间会产生 RTC

2023-01-16 15:27:29 976

原创 ARM 看门狗定时器

一、什么是看门狗、有什么用(1) 看门狗定时器和普通的定时器并无本质区别。定时器可以设定一个时间,在这个时间完成之前定时器不断计时,时间到的时候,定时器会复位 CPU(重启系统)。(2 )系统正常工作的时候当然不希望被重启,但是系统受到干扰、极端环境等可能会产生异常工作或者不工作,这种状态可能会造成不良影响(至少是不工作),此时解决方案就是重启系统。(3) 普通设备重启不是问题,但是有些设备人工重启存在困难。这时候我们希望系统能够自己检验自己是否已经跑飞,并且在意识到自己跑飞的时候,可以很快的(几个m

2023-01-16 11:17:55 2237

原创 ARM PWM 定时器与实战

一、什么是定时器(timer)1、定时器是 SoC 中常见外设(1) 定时器与计数器。计数器是用来计数的(每隔一个固定时间会计一个数);因为计数器的计数时间周期是固定的,因此到了一定时间只要用计数值×计数时间周期,就能得到一个时间段,这个时间段就是我们定的时间(这就是定时器了)。(2) 定时器/计数器作为 SoC 的外设,主要用来实现定时执行代码的功能。定时器相对于 SoC 来说,就好象闹钟相对于人来说意义一样。2、定时器有什么用(1) 定时器可以让 SoC 在执行主程序的同时,可以(通过定时器

2023-01-15 00:55:18 706

原创 Verilog HDL 基础语法

一、逻辑值0: 逻辑低电平,条件为假1: 逻辑高电平,条件为真z: 高阻态,无驱动x: 未知逻辑电平二、实际例子1. 模块名一般与文件名相同线网型变量会被映射成一条真实存在的物理连线。寄存器型变量会被映射成一个寄存器。2. 参数parameter 与 localparam 都可以作为参数的关键字,进行参数的定义。区别:如果参数关键字使用 parameter,我们可以在顶层文件通过实例化,来对此功能模块中的参数进行修改。如截图中的红框所示。localparam 只能在模块

2023-01-13 19:37:55 1914

原创 ARM .s 与 .S 文件的区别

.S和.s的区别.S 和.s 通常都是作为汇编文件的后缀,但是它们使用上存在区别。.S 和 .s 的主要区别在于:.S 是支持预处理的,即在 .S 文件中可以使用宏系统,可以使用 #if 等指令;但是在 .s 中不可以。一般来说,建议都使用 .S, 在 .S 文件中,支持 C 语言风格的注释如 //…、/*…*/ 等。

2023-01-06 19:20:39 429

原创 ARM S5PV210 中断体系与外部中断实战

一、中断体系介绍1、什么是中断中断的发明是用来解决宏观上的并行需要的。宏观就是从整体上来看,多件事情都完成了。微观上的并行,就是指的真正的并行,就是精确到每一秒甚至每一刻,多个事情都是在同时进行的。宏观上面的并行并不等于微观的并行,有时候宏观上是并行的,微观上是串行的。例子,一个人在看电影,快递来了暂停电影跑去收快递,收完快递继续回来看电影,这个例子就是宏观上的并行和微观上的串行。例子中一个人等同于 SoC 中 1 个 CPU(也就是单核 CPU),这个 CPU 看电影就不能收快递,收快递就不能看

2023-01-04 22:42:27 605

原创 ARM 按键轮询编程实战

一、什么是按键1、按键的物理特性平时没人按的时候,弹簧把按键按钮弹开。此时内部断开的。有人按下的时候,手的力量克服弹簧的弹力,将按钮按下,此时内部保持接通(闭合)状态;如果手拿开,则弹簧作用下按钮又弹开,同时内部又断开。一般的按键都有 4 个引脚,这 4 个引脚成 2 对:其中一对是常开触点(像上面描述的不按则断开,按下则闭合);一对是常闭触点(平时不按时是闭合的,按下后是断开的)。2、按键的电学原理(结合原理图分析)硬件接法: SW5:GPH0_2 SW6:GPH0_3 SW7/

2023-01-02 21:47:58 526

原创 ARM uart stdio 的移植

一、uart stdio的移植11. 什么是 stdio(1) #include <stdio.h>(2) stdio:standard input output,标准输入输出(3) 标准输入输出就是操作系统定义的默认的输入和输出通道。一般在 PC 机的情况下,标准输入指的是键盘,标准输出指的是屏幕。(4) printf 函数和 scanf 函数可以和底层输入/输出函数绑定,然后这两个函数就可以和 stdio 绑定起来。也就是说我们直接调用 printf 函数输出,内容就会被从标准输出

2022-12-25 17:52:00 811

原创 ARM S5PV210 串行通信编程实战

一、串行通信编程实战11、整个程序流程分析(1) 整个串口通信相关程序包含 2 部分:uart_init 负责初始化串口,uart_putc 负责发送一个字节。2、串口控制器初始化关键步骤(1) 初始化串口的 Tx 和 Rx 引脚所对应的GPIO(查原理图可知 Rx 和 Rx 分别对应GPA0_1和GPA0_0)可以看到,S5PV210 上面一共有 4 个 UART 外设。可以看到,UART0 外设的RXD/TXD 对应的引脚名称如下。因此,在我们的核心板原理图上可以找到,UART0

2022-12-24 22:25:01 1181

原创 ARM S5PV210 串行通信接口详解

一、串行通信接口详解 10. 串口的名称S5PV210 的数据手册中串口控制器在 section8.1串口的官方名称叫:universal asynchronous reciver and transmitter,通用异步收发器英文缩写是uart,中文简称串口。1. S5PV210 的串口控制器工作原理框图整个串口控制器包含 transmitter 和 receiver 两部分,两部分功能彼此独立,transmitter 负责210 向外部发送信息,receiver 负责从外部接收信

2022-12-22 01:03:12 520

原创 ARM 串口通信基本介绍

一、串口通信的基本概念1. 串口通信的特点:异步、电平信号、串行异步:串口通信的发送方和接收方之间是没有统一的时钟信号的。电平信号:串口通信出现的时间较早,速率较低,传输的距离较近,所以干扰还不太明显,因此当时使用了电平信号传输。后期出现的传输协议都改成差分信号传输了。串行通信:串口通信每次同时只能传输1个二进制位。电子通信概念:电平信号和差分信号(1)、电平信号和差分信号是用来描述通信线路传输方式的。也就是说如何在通信线路上表达1和0.(2)、电平信号的传输线中有一个参考电平线(一般是

2022-12-21 23:50:26 998

原创 pip安装包后Import的时候提示找不到的解决方案

1. 首先使用 pip install 重新安装一下2. 可以看到,第 1 步的打印输出确定已经安装好了.明显都是同一个路径。3. 把该路径复制,添加到系统环境变量当中.4. 重启 pycharm,即可成功解决.

2022-12-19 00:12:06 2210

原创 pip : 无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

前言笔者使用的是 pycharm。1. 打开你所在的任意工程2. 进入 File-> setting3. pip 这一栏进行双击4. 点击左下方的 install package,开始下载安装包.5. 借助 everything 工具,找到一个位于 C 盘的 pipxx.exe6. 将路径加入到环境变量中.7. 最后,关闭重启 pycharm,使用 pip 命令就不会报错了.

2022-12-18 23:28:22 2415

原创 ARM S5PV210 X210 刷机教程总结

前言S5PV210 X210 开发板外观介绍一、1. 什么是刷系统刷系统就是利用刷机工具,向开发板中烧录预先编译好的系统镜像,使之在开发板上运行起来。2. 串口输出的意义(做系统控制台)串口是一种硬件通信口,很多年前的时候串口是 CPU 之间进行通信的主要接口。但是现在因为串口通信的速度很低,所以现在串口主要是用来做程序输出监控、调试。桌面电脑可以打开一个虚拟控制台,嵌入式系统一般是用串口来做控制台的。一般是用一根串口线连接开发板的串口和我们笔记本电脑的串口,然后在电脑

2022-12-18 22:08:18 810

原创 ARM S5PV210 汇编实现时钟设置代码详解

一、时钟设置的步骤分析第1步:CLK_SRC寄存器的设置分析先选择不使用 PLL。让外部 24MHz 原始时钟直接过去,绕过 APLL 那条路。CLK_SRC 寄存器其实是用来设置 MUX 开关的。在这里先将该寄存器设置为全 0,主要是 bit0 和bit4 设置为 0,表示 APLL 和 MPLL 暂时都不启用。第2步:CLK_LOCK 寄存器的设置分析设置 PLL 锁定延时的。官方推荐值为 0xFFF,我们设置为 0xFFFF。设置锁定时间。默认值为0x0FFF,保险起见我们设置为0x

2022-12-17 02:13:54 689

原创 ARM S5PV210 时钟设置的关键性寄存器

一、xPLL_LOCKPLL CONTROL REGISTERS 3.7.2.1 PLL Control Registers (APLL_LOCK / MPLL_LOCK / EPLL_LOCK / VPLL_LOCK) • (APLL_LOCK, R/W, Address = 0xE010_0000) • (MPLL_LOCK, R/W, Address = 0xE010_0008) • (EPLL_LOCK, R/W, Address = 0xE010_0010) • (VPLL_LOCK,

2022-12-14 22:40:36 160

原创 ARM S5PV210 时钟系统与时钟体系框图

前言This chapter describes the clock management unit (CMU) supported by S5PV210. The system controller (SYSCON) manages CMU and power management unit (PMU) in S5PV210.本章介绍 S5PV210 支持的时钟管理单元(CMU)。系统控制器(SYSCON)管理 S5PV210 中的 CMU 和电源管理单元(PMU)。一、时钟域:MSYS、DSY

2022-12-14 00:23:42 826

原创 ARM SoC 时钟系统简介

一、什么是时钟?SoC 为什么需要时钟?时钟是同步工作系统的同步节拍。SoC 内部有很多器件,譬如 CPU、串口、DRAM 控制器、GPIO 等内部外设,这些东西要彼此协同工作,需要一个同步的时钟系统来指挥。这个就是我们 SoC 的时钟系统。二、时钟一般如何获得SoC 的时钟获得一般有:外部直接输入时钟信号,SoC 有个引脚用来输入外部时钟信号,用的很少。外部晶振 + 内部时钟发生器产生时钟,大部分低频单片机都是这么工作的。外部晶振 + 内部时钟发生器 + 内部PLL产生高频时钟

2022-12-11 15:07:10 751

原创 ARM 汇编初始化 SDRAM 详解

一、初始化代码框架介绍(函数调用和返回、步骤等)SDRAM 初始化使用一个函数 sdram_asm_init ,函数在 sdram_init.S 文件中实现,是一个汇编函数。强调:汇编实现的函数在返回时需要明确使用返回指令(mov pc, lr)$ ls -ltotal 59-rw-r--r-- 1 luokaijie 197121 365 Jul 8 2015 Makefile-rw-r--r-- 1 luokaijie 197121 1048 Jul 8 2015 led.c

2022-12-11 01:13:49 2109

原创 ARM SDRAM

前言涉及到的文档:S5PV210_UM_REV1.1 x210cv3.pdf K4T1G164QE.pdf 一、SDRAM 引入1、简介SDRAM:Syncronized Dynamic Ramdam Access Memory,同步动态随机存储器;DDR:DDR 就是 DDR SDRAM,是 SDRAM 的升级版。(DDR:double rate,双倍速度的SDRAM;DDR 有好多代:DDR1 DDR2 DDR3 DDR4 LPDDR;---------------------

2022-12-10 13:16:06 713

原创 ARM 代码重定位实战

前言任务在 SRAM 中将代码从 0xd0020010 重定位到 0xd0024000。任务解释:本来代码是运行在0xd0020010的,但是因为一些原因我们又希望代码实际是在0xd0024000位置运行的。这时候就需要重定位了。注解:本练习对代码本身运行无实际意义,我们做这个重定位纯粹是为了练习重定位技能。但是某些情况重定位就是必须的,譬如在 uboot 中。一、思路第一点:通过链接脚本将代码链接到 0xd0024000;第二点:dnw 下载时将 bin 文件下载到 0xd00200

2022-12-10 11:41:15 596

uboot start.S ENTRY(save-boot-params) 分析过程

uboot start.S ENTRY(save_boot_params) 分析过程

2022-11-13

devmem工具 —— 用于 Linux 开发进行寄存器调试的工具

devmem工具 —— 用于 Linux 开发进行寄存器调试的工具

2022-05-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除