uboot

2024/4/12 4:30:54

uboot中Makefile普遍的执行步骤

(1)设置版本号 (2)判断CPU和导出环境变量 (3)是否设置静默编译 (4)编译过后的文件输出目录(注意看uboot是单独文件夹编译还是本地编译) (5&am…

以三星uboot进行uboot移植5(inand移植)

(1)移植前 (2)修改Mmc.c (android_uboot_smdkv210\u-boot-samsung-dev\drivers\mmc) 修改uboot中判断SD卡的版本号(inand接在SD卡零中) (3)移植结果 (4)移植步骤 4.1搜索关键字…

uboot实现命令管理的方法

(1)将命令填充成一个结构体,每一个结构体是一个命令 (2)将命令放在段属性中 (3)当用户重定位时会将该段整体加载到DDR中。 (4)段名,段的起始地址和结束地址…

zImage启动分析

#ifdef CONFIG_ZIMAGE_BOOT #LINUX_ZIMAGE_MAGIC是一个一zImage对应的魔数&#xff0c;也就是zImage效验的编号 #define LINUX_ZIMAGE_MAGIC 0x016f2818 /* find out kernel image address */ #启动命令是bootm 0x30008000或者是bootm if (argc < 2) {#如果是bootm&#xff…

uboot操作环境变量的方法

新建环境变量和更改环境变量 set name value删除环境变量 set name

以三星uboot进行uboot移植4(DDR配置移植)

&#xff08;1&#xff09;修改文件smdkv210single.h (2)修改board/samsung/smdkc110/smdkc110.c文件 (3)修改board/samsung/smdkc110/lowlevel_init.S文件 &#xff08;4&#xff09;移植结果 原来结果&#xff1a;

以三星uboot进行uboot移植3(DDR移植)

&#xff08;1&#xff09;原来DDR大小 &#xff08;2&#xff09;查看DRAM信息命令和测试DRAM命令 2.1 查看DRAM信息命令&#xff1a;bdinfo -> start 0x20000000 //起始地址 -> size 0x20000000 //内存大小 2.2 测试DRAM命令&#xff1a; 2.3 写内存命令&#xf…

uboot添加自定义命令

目录 版本添加命令修改添加执行参考 版本 v2024.01-rc2 添加命令 在 uboot 中添加一个命令控制 led 的输出&#xff0c;led 通过 HC595 控制。 总共需要修改3个文件&#xff0c;可参考 cmd/gpio.c 文件 主要是下面四个函数&#xff1a; gpio_request(gpio, "cmd_gpi…

config.mk分析

#用来判断是本地编译还是单独文件夹编译 ifneq ((OBJTREE),(OBJTREE),(OBJTREE),(SRCTREE)) ifeq ((CURDIR),(CURDIR),(CURDIR),(SRCTREE)) dir : else dir : $(subst (SRCTREE)/,,(SRCTREE)/,,(SRCTREE)/,,(CURDIR)) endif obj : $(if (dir),(dir),(dir),(OBJTREE)/(dir)/,(d…

以官方uboot移植uboot(时钟显示移植)

&#xff08;1&#xff09;lowlevel_init.S修改 bl system_clock_init//时钟初始化移植 system_clock_init:ldr r0, ELFIN_CLOCK_POWER_BASE 0xe0100000/* Set Mux to FIN */ ldr r1, 0x0 str r1, [r0, #CLK_SRC0_OFFSET]ldr r1, APLL_LOCKTIME_VAL str r1, [r0, #APLL_LOCK_O…

mkconfig分析1

&#xff08;1&#xff09;判断传参是否大于零&#xff0c;大于零后进入while循环&#xff0c;看第一个参数和那个定义&#xff08;我们传的参数是x210_sd&#xff0c;arm&#xff0c; s5pc11x&#xff0c; x210&#xff0c; samsung &#xff0c;s5pc110&#xff09; while […

start_armboot函数分析1

&#xff08;1&#xff09;局部变量定义 #定义一个二重函数指针&#xff08;typedef int (init_fnc_t) (void);&#xff09; init_fnc_t **init_fnc_ptr; char *s; int mmc_exist 0; #if !defined(CFG_NO_FLASH) || defined (CONFIG_VFD) || defined(CONFIG_LCD) ulong size;…

start_armboot函数分析3

init_sequence[]函数分析 &#xff08;1&#xff09;cpu_init cpu的初始化&#xff0c;函数里面是空(2) board_init #开发板相关的初始化 #dm9000网卡的初始化 dm9000_pre_init(); #uboot的机器码&#xff0c;当uboot的机器码和内核的机器码一样的时候才能成功启动&#xff…

start_armboot函数分析2

&#xff08;1&#xff09;uboot内存排布 uboot区 CFG_UBOOT_BASE_xx(uboot的实际长度) 堆区 CFG_MALLOC_LEN&#xff08;堆区的长度是912k&#xff09; 栈区 CFG_STACK_SIZE&#xff08;栈区的长度是512k&#xff09; gd sizeof(gd_t)(gd的长度是36个字节) bd s…

start_armboot函数分析5

(1)dram_init #DDR初始化 #里面配置的是有几片DDR和DDR的内存起始地址 int dram_init(void) { #如果要用到gd就要声明这个宏 DECLARE_GLOBAL_DATA_PTR; #第一片DDR的起始地址 gd->bd->bi_dram[0].start PHYS_SDRAM_1; #第一片DDR的内存大小 gd->bd->bi_dram[0].s…

start_armboot函数分析7

(1)gd->bd->bi_ip_addr getenv_IPaddr (“ipaddr”); #获取IP地址IPaddr_t getenv_IPaddr (char *var) { #获取IP地址再转成点分十进制&#xff0c;getenv(var)获取IP地址&#xff0c;string_to_ip将IP地址转成点分十进制 return (string_to_ip(getenv(var))); }&#…

以三星uboot进行uboot移植7(网卡移植)

&#xff08;1&#xff09;三星网卡用的是BANK5,我用的是BANK1 BANK的地址 &#xff08;2&#xff09;Smdkc110.c (android_uboot_smdkv210\u-boot-samsung-dev\board\samsung\smdkc110) static void dm9000_pre_init(void) {unsigned int tmp; #如果定义DM9000_16BIT_DATA…

make:uboot错误139

&#xff08;1&#xff09;问题&#xff1a;我这里修改了Makefile中的文件&#xff0c;让文件只编译不链接&#xff0c;但是我忘了在链接脚本u-boot.lds中添加链接所以错误。 &#xff08;2&#xff09;解决方法&#xff1a;在链接脚本中添加链接u-boot.lds

[Uboot] 添加自己配置文件defconfig以及头文件

一:添加配置文件 1.拷贝 /uboot/configs下自己单板的配置文件 拷贝并且重命名 cp mx6ull_14x14_evk_emmc_defconfig my_imx_defconfig 2.配置configs,很多情况下我们都是默认写法,然后是为了单纯有自己的配置文件,但是这里不同启动介质,以及修改配置头文件 CONFIG_SYS_EXTRA_OP…

uboot常用命令的操作方法

ping ping 主机的IP地址要使用ping命令先要ping通主机才行。 &#xff08;https://editor.csdn.net/md/?articleId107992534&#xff09;ping通之后设置IP地址 &#xff08;注意&#xff1a;uboot的IP地址要和主机的IP地址在一个局域网内&#xff09; 有 is alive说明pin…

uboot配置传参分析

&#xff08;1&#xff09;传参代码 x210_sd_config : unconfig $(MKCONFIG) $(:_config) arm s5pc11x x210 samsung s5pc110 echo “TEXT_BASE 0xc3e00000” > $(obj)board/samsung/x210/config.mk &#xff08;2&#xff09;第一个参数$(:_config) 含义&#xff1a;是…

九鼎210开发板uboot配置编译

&#xff08;1&#xff09;将uboot的板级支持包复制到共享文件夹中 &#xff08;2&#xff09;将uboot的板级支持包从共享文件夹中复制到虚拟机中 cp -rf /mnt/hgfs/无痕共享文件夹/qt_x210v3s_160307.tar.bz2 .&#xff08;3&#xff09;解压qt_x210v3s_160307.tar.bz2压缩包 …

九鼎uboot源码目录介绍

&#xff08;1&#xff09;文件介绍 gitignore&#xff1a;git工具的文件&#xff0c;git是一个版本管理工具&#xff08;类似的还有个svn&#xff09;&#xff0c;这个文件和git有关&#xff0c;和uboot本身无关的&#xff0c;不用去管。 arm_config.mk&#xff1a;后缀是.mk…

以三星uboot进行uboot移植6(修改串口输出信息)

&#xff08;1&#xff09;修改include/configs/smdkv210single.h &#xff08;2&#xff09;修改之后信息会在串口0输出 &#xff08;3&#xff09;我们修改配置文件的目的是修改串口的基地址&#xff0c;因为每个串口对应着一个基地址&#xff0c;我们设置那个串口的基地址&a…

Linux驱动学习:从Linux主机nfs共享文件到uboot

第一步&#xff1a;在Linux主机上开启NFS服务&#xff0c;使用如下命令安装NFS服务&#xff1a; sudo apt-get install nfs-kernel-server rpcbind 第二步&#xff1a;创建一个文件夹用于共享&#xff0c;直接以nfs命名就行&#xff1a; 第三步&#xff1a;打开nfs服务配置文…

S3C2440移植uboot之裁剪和修改默认参数

上一节S3C2440移植uboot之支持DM9000移植uboot支持了网卡驱动&#xff0c;这节裁剪和修改uboot默认参数 文章目录uboot的环境参数修改uboot的默认环境变量查看 default_environment[]裁剪uboot解决rtc_xxx&#xff0c;cmd_date.c 错误设置分区设置save相关宏设置mtdparts命令测…

S3C2440移植uboot之编译烧写uboot

文章目录移植环境获取uboot更新交叉编译工具配置环境变量移植Uboot其他文章链接&#xff1a; S3C2440移植uboot之新建单板_时钟_SDRAM_串口 S3C2440移植uboot之启动过程概述 S3C2440移植uboot之支持NAND启动 S3C2440移植uboot之支持NORFLASH S3C2440移植uboot之支持NANDFL…

【精读Uboot】Uboot跳转内核

在进入ATF后&#xff0c;ATF与OP-TEE共同协作&#xff0c;转而跳转到处于非安全上下文的U-Boot中&#xff08;ATF->Uboot&#xff09;。在Uboot阶段会重新从汇编开始执行&#xff0c;不一样的是里面的board_init_f函数不再是SPL阶段使用的&#xff0c;而是common/board_f.c中…

CCS3.3下载UBOOT到NANDFLASH

CCS3.3下载UBOOT到NANDFLASH 文档下载地址&#xff1a;http://download.csdn.net/detail/zhangjikuan/6424595 本文使用是CCS3.3软件升级包升级为CCS3.3.82版本&#xff0c;仿真器使用的是SEED-XDS560PLUS&#xff0c;给TI的DM365板子烧写UBOOT 所需文件下载地址链接http://…

06.内核启动流程分析之内核启动

内核最终目的&#xff1a;运行根文件系统的应用程序 内核做的事情&#xff1a; 处理uboot传入的参数 arch\arm\kernel/*启动内核&#xff1a;bi_arch_number机器ID。参数存放的地址 bd->bi_boot_params*/ theKernel (0, bd->bi_arch_number, bd->bi_boot_params);判…

arm学习笔记007之uboot的配置和烧写nandflash的步骤

1. 先将移植好的uboot烧到norflash中&#xff08;此步省略不讲&#xff09; 2. 要烧写的程序必须放在虚拟机的/tftpboot目录下&#xff08;没有这个目录的话可以自己创建&#xff09; 3.设置ip、网关等等 setenv serverip202.38.214.161;setenv ipaddr 202.38.214.163;set…

uboot学习及内核更换_incomplete

官方文档 在前面 文章目录 uboot常见命令学习环境变量网络控制台uboot标准启动其他 升级uboot或内核bin和uimg以及booti和bootm的区别制作uImage更换内核更换uboot后续计划 uboot常见命令学习 环境变量 Environment Variables环境变量 autostart 如果值为yes&#xff0c;则会…

uboot - 驱动开发 - dw watchdog

说明 公司SOC使用的watchdog模块是新思&#xff08;Synopsys&#xff09;的IP。 需求 用户有时会在uboot/kernel中做些开发&#xff0c;新增一些功能&#xff08;OTA升级等&#xff09;&#xff0c;可能会出现uboot/kernel启动崩溃甚至设备死机等问题&#xff0c;需要在uboo…

Linux第42步_移植ST公司uboot的第3步_uboot命令测试,搭建nfs服务器和tftp服务器

测试uboot命令&#xff0c;搭建nfs服务器和tftp服务器&#xff0c;是测试uboot非常关键的一步。跳过这一节&#xff0c;后面可能要踩坑。 一、输入“help回车”&#xff0c;查询uboot所支持的命令 二、输入“? bootz回车”&#xff0c;查询“bootz”怎么用 注意&#xff1a;和…

超详细分析Bootloader(Uboot)到内核的启动流程(万字长文!)

工科生一枚&#xff0c;热衷于底层技术开发&#xff0c;有强烈的好奇心&#xff0c;感兴趣内容包括单片机&#xff0c;嵌入式Linux&#xff0c;Uboot等&#xff0c;欢迎学习交流&#xff01; 爱好跑步&#xff0c;打篮球&#xff0c;睡觉。 欢迎加我QQ1500836631&#xff08;备…

四、第二阶段

全局数据 声明 # < lib_arm\board.c > DECLARE_GLOBAL_DATA_PTR; 定义 # < include\asm\global_data.h > typedef struct global_data { bd_t *bd; unsigned long flags; unsigned long baudrate; unsigned long have_console; /* serial_init() was calle…

RK356x U-Boot研究所(开发篇)5.2 A/B系统配置、数据结构与启动模式

平台U-Boot 版本Linux SDK 版本RK356x2017.09v1.2.3文章目录 一、配置项二、分区表三、A/B 系统3.1 A/B 数据结构3.2 A/B 启动模式3.2.1 successful-boot3.2.2 reset-retry3.2.3 模式对比四、SPL 支持 A/B 系统A/B System 把系统固件分为两份,分别称为 slot-a , slot-b 。系统…

关于TQ2440通过Jlink下载Uboot到开发板的方法(不能识别自己板子的norflash型号,且不能安装USB)

这里对个人使用的环境及软件做一个说明&#xff1a; 平台&#xff1a;笔记本、win10专业版、64位&#xff1b; J-link驱动软件版本&#xff1a;JLinkARM_V408i&#xff1b; J-link硬件版本为V8&#xff1b; 硬件开发板&#xff1a;TQ2440。 问题描述&#xff1a; 1、电脑…

uboot中为什么设置CPU为SVC模式????????

在看Uboot的start.S文件时候&#xff0c;发现其最开始初始化系统&#xff0c;是将CPU设置为SVC模式&#xff0c;但是S3C2440的CPU的core是ARM920T&#xff0c;其有7种模式&#xff0c;为何非要设置为SVC模式&#xff0c;而不是设置为其他模式呢&#xff1f; 首先&#xff0c;先…

u-boot启动流程简要分析

0、说明 本文基于U-Boot 2022.01-v2.07版本进行分析。本文不涉及spl部分。 1、u-boot编译流程简要分析 2、u-boot的启动流程简要分析 2.1、从链接脚本确定程序入口 u-boot的链接脚本u-boot.lds会在编译时在顶层目录生成。每一个架构链接脚本是不同的&#xff0c;对于arm架构…

【系统移植】 移植主线U-Boot(v2024.01-rc3)到RK3399

一、编译环境 PC 机用的是 Ubuntu 18.04,执行以下命令安装必要工具: sudo apt-get install repo git ssh make gcc libssl-dev liblz4-tool \ expect g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support \ qemu-user-static live-build bison flex fakero…

RISC-V体系结构的U-Boot引导过程 第一阶段

RISC-V体系结构的U-Boot引导过程 第一阶段 flyfish .globl _start _start:.globl使符号对链接器可见相当于C语言中的Extern&#xff0c;声明此变量&#xff0c;并且告诉链接器此变量是全局变量&#xff0c;外部可以访问.u-boot.lds里的ENTRY(_start)也是这里的_start。 即指定…

u-boot增加自定义命令

0、说明 本文基于U-Boot 2022.01-v2.07版本进行分析。 1、u-boot编译流程简要分析 2、u-boot启动流程简要分析 3、u-boot增加自定义命令 3.1、u-boot命令行实现简要分析 1&#xff09;cli_init命令行初始化 cli_init定义在common\cli.c中&#xff1a;void cli_init(void) {…

【树莓派4b的uboot编译移植】

树莓派4b的uboot编译移植 引言 0.1、什么是uboot OS跑起来前&#xff0c;需要的一段引导程序负责部署整个计算机系统&#xff0c;引导操作系统内核启动并给内核传参提供一个命令行界面供人操作是一个开源项目&#xff0c;uboot就是universal bootloader&#xff08;通用的启…

03_uboot的源码目录分析

一、文件夹 &#xff08;1&#xff09;api。硬件无关的功能函数的API。 这些函数是uboot本身使用的&#xff0c;uboot移植时基本不用管。 &#xff08;2&#xff09;api_examples。API相关的测试事例代码。 &#xff08;3&#xff09;board。board是板的意思&#xff0c;就是…

Bootloader和BIOS、uboot和grub和bootmgr的区别

版权声明&#xff1a;*本文章参考了《Bootloader和BIOS、Grub、uboot概念》。未经作者允许&#xff0c;严禁用于商业出版**&#xff0c;否则追究法律责任。网络转载请注明出处&#xff0c;这是对原创者的起码的尊重&#xff01;&#xff01;&#xff01;* 1 Bootloader和BIOS …

Centos 配置eth0 提示Device does not seem to be present

一.故障现象&#xff1a;[rootc1node01 ~]# service network restartShutting down loopback insterface: [ OK ]Bringing up loopback insterface: [ …

【精读Uboot】反汇编分析SPL的_main函数

1、简介 典型的Uboot启动分为两个阶段&#xff0c;bootrom->SPL&#xff08;Secondary Program Loader&#xff09;->ATF->OPTEE(可选)->Uboot。其中SPL为BL2&#xff0c;ATF为BL31&#xff0c;OPTEE为BL32&#xff0c;Uboot为BL33。其中bootrom是固化在芯片内部的…

Linux第43步_移植ST公司uboot的第4步_uboot测试

uboot移植结束后&#xff0c;需要进行测试。 1、烧录程序 1)、将STM32MP157开发板的网络接口与路由器的网络接口通过网线连接起来。 2)、将开发板的串口和电脑通过USB线连接起来。 3)、将开发板的USB OTG接口和电脑通过USB线连接起来。 4)、将开发板上拨码开关拨到“000”…

Linux第39步_创建正点原子的uboot工作区和使用脚本编译

先看答案&#xff0c;再做题&#xff0c;为移植uboot做好充足的准备。这里需要修改两个“Makefile”文件&#xff0c;路数变了。 一、uboot移植前需要了解的相关知识 1、正点原子的uboot设备树文件。 路径如下&#xff1a; “uboot/alientek_uboot/arch/arm/dts/” 文件如…

【uboot】Uboot的启动流程

引言 在驱动岗位上&#xff0c;每一位新员工刚入职期间都需要理解和掌握uboot&#xff0c;但深入的理解代码往往需要耗费大量的时间去反复阅读。本文希望对uboot进行尽可能详细的解析&#xff0c;帮助其他人更快的掌握和理解uboot源码。 准备工作 uboot源码 本文是基于Hi35…

uboot - 驱动开发 - 驱动模型

说明 类似于linux&#xff0c;为了规范、统一驱动适配和驱动接口调用&#xff0c;uboot定义了一套驱动模型(Driver Model)&#xff0c;简称DM。本文基于&#xff1a;u-boot-2021.10。 优点 为同一类ip的驱动定义了统一的操作接口&#xff0c;DM在软件层面做了一定的抽象。分…

正点原子MP157系统移植和根文件系统构建视频教程之uboot命令学习笔记

本篇内容主要来自正点原子手册《【正点原子】STM32MP1嵌入式Linux驱动开发指南V2.0.pdf》10.3 U-Boot 命令使用&#xff0c;视频是第6.1讲到第6.6讲。 目录 1、下载第三方库 2、基础命令 2.1 修改环境命令 2.2 md 命令 2.3 nm命令 2.4 MM 命令 2.5 mw 命令 2.6 CP 命令…

[RK-Linux] RK3399使用RK开源SPL,修改U-Boot为FIT打包方式,裁剪trust分区

文章目录 一、启动方式二、FIT打包三、RK3568相关配置参考四、RK3399支持与调试一、启动方式 RK3399平台根据前级Loader代码是否开源,目前有两套启动方式: // 前级loader闭源 BOOTROM => ddr bin => Miniloader => TRUST => U-BOOT => KERNEL // 前级loader…

RK356x U-Boot研究所(命令篇)3.12 mtd命令的用法

平台U-Boot 版本Linux SDK 版本RK356x2017.09v1.2.3文章目录 一、命令配置二、命令定义三、命令用法3.1 mtd list3.2 mtd write/read3.3 mtd erase3.4 mtd dump3.5 mtd bad一、命令配置 .config 配置文件需要有以下配置: CONFIG_CMD_MTD=y

编译u-boot-mini2440

0 主机环境 Linux version 4.10.0-42-generic (builddlgw01-amd64-051) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5) ) #46~16.04.1-Ubuntu SMP Mon Dec 4 15:57:59 UTC 20171 交叉编译工具 安装&#xff1a; sudo apt-get install gcc-arm-linux-gnueabi…

一、源码详解(第一阶段)

入口 # < cpu\arm920t\start.S > .globl _start _start: b start_code ldr pc, _undefined_instruction ldr pc, _software_interrupt ldr pc, _prefetch_abort ldr pc, _data_abort ldr pc, _not_used ldr pc, _irq ldr pc, _fiq _undefined_instruction: .wor…

LINUX-I.MX6U从零开始之2.0--移植Linux操作系统

目录一&#xff0c;概述二&#xff0c;uboot制作2.1 uboot下载2.2 uboot测试2.2.1 安装 ncurses 库2.2.2 改顶层Makefile&#xff08;和2.2.3二选一即可&#xff09;2.2.3 创建shell 脚本&#xff08;和2.2.2二选一即可&#xff09;2.3 uboot中添加自己的开发板2.3.1 configs 目…

RK356x U-Boot研究所(开发篇)5.1 启动SATA硬盘中的固件

平台U-Boot 版本Linux SDK 版本RK356x2017.09v1.2.3RK356x支持从SATA硬盘中启动固件,只要板卡中有预留这个接口即可。值得注意的是,这个固件不能从maskrom阶段就直接进行加载,需要从别的媒介启动(Flash、eMMC或者TF卡)后跑到U-Boot阶段,在这个U-Boot阶段再去加载SATA硬盘…

RK356x U-Boot研究所(命令篇)3.10 bidram与sysmem相关命令的作用

平台U-Boot 版本Linux SDK 版本RK356x2017.09v1.2.3U-Boot可以使用系统的所有内存,且从高地址往低地址预留系统所需的内存,预留完后通常还剩余较大 的内存空间。U-Boot没有机制去管理这块空间,因此RK平台引入bidram、sysmem内存块机制对这块内存 进行管理。 由此,加上U-Boo…

10_Uboot启动流程_2

目录 _main函数详解 board_init_f函数详解 relocate_code函数详解 relocate_vectors函数详解 board_init_r 函数详解 _main函数详解 在上一章得知会执行_main函数_main函数定义在文件arch/arm/lib/crt0.S 中,函数内容如下: 第76行,设置sp指针为CONFIG_SYS_INIT_SP_ADDR,也…

uboot-DM驱动模型

代码&#xff1a;u-boot-xlnx-xilinx 文章目录DM模型DM模型 先看一下uboot的驱动模型Driver Mode。 DM 是 U-Boot 中的驱动框架&#xff0c;全称 Driver Mode。 udevice 描述具体的某一个硬件设备。 driver 是与这个设备匹配的驱动。 uclass 是同一类设备的抽象&#xff0c;提…

五、基础初始化(init_sequence)

初始化序列数组 # < lib_arm\board.c > init_fnc_t *init_sequence[] { board_init, /* basic board dependent setup */ timer_init, /* initialize timer */ env_init, /* initialize environment */ init_baudrate, /* initialze baudrate settings */ serial_…

安卓bootloader:三分钟让你彻底理解uboot的启动与功能

1. Bootloader简介 系统上电后&#xff0c;需要一段程序来进行初始化&#xff1a;关闭看门狗&#xff0c;改变系统时钟&#xff0c;初始化存储控制器&#xff0c;将更多的代码复制到内存中等。它就是bootloader。 bootloader的实现非常依赖具体硬件&#xff0c;在嵌入式系统中…

bootargs和bootcmd含义

bootargsconsolettySAC2,115200 root/dev/mmcblk0p2 rw init/linuxrc rootfstypeext3 consolettySAC2 控制台是串口2 115200 波特率是115200 root/dev/mmcblk0p2 根文件系统在SD卡端口0设备第二分区 rw 根文件系统为可读可写 init/linuxrc linux进程1&…

8、移植UBOOT之裁剪与修改默认参数

文章目录1、修改uboot的环境变量2、查看default_environment3、裁剪uboot4、处理cmd_date.c中的错误5、设置分区6、设置save命令相关的宏7、设置mtdparts命令8、测试mtdparts分区上一节&#xff1a;7、移植UBOOT之支持DM9000网卡 下一节&#xff1a;9、移植UBOOT之支持烧写yaf…

lowlevel_init.S文件分析1

&#xff08;1&#xff09;检测复位状态 #因为复位的情况有多种&#xff0c;比如冷上电&#xff0c;热启动&#xff0c;睡眠唤醒等&#xff0c;所以我们需要判断是那种启动。 ldr r0, (ELFIN_CLOCK_POWER_BASERST_STAT_OFFSET) ldr r1, [r0] bic r1, r1, #0xfff6ffff cmp r1,…

start_armboot函数分析4

&#xff08;1&#xff09;init_baudrate #波特率初始化 static int init_baudrate (void) { #定义缓存空间 char tmp[64]; /* long enough for environment variables */ #将波特率放到缓存空间中&#xff0c;如果成功函数getenv_r返回1 int i getenv_r ("baudrate&quo…

以三星uboo进行uboot移植1

&#xff08;1&#xff09;将三星的uboot复制到虚拟机中解压。 &#xff08;2&#xff09;选择一个配置项配置和编译&#xff08;可以在Makefile最后有配置的选择&#xff09; &#xff08;3&#xff09;随便选一个配置&#xff0c;编译&#xff0c;烧录 &#xff08;4&#…

以三星uboot进行uboot移植2(修改打印信息的名字)

&#xff08;1&#xff09;开始的名字 &#xff08;2&#xff09;在Board.c (android_uboot_smdkv210\u-boot-samsung-dev\lib_arm) 中修改名字 &#xff08;打印开发板的名字代码&#xff0c;version_string是个宏&#xff0c;我们要跳转到宏定义中修改&#xff09; &#xf…

以官方uboot移植uboot(重定位)

&#xff08;1&#xff09;start.S的修改 //重定位移植 .globl _TEXT_BASE _TEXT_BASE:.word CONFIG_SYS_TEXT_BASE//重定位移植 .globl _bss_start _bss_start:.word __bss_start .globl _bss_end _bss_end:.word _end//重定位移植 ldr r1, 0x41414141 ldr r2, 0XE2900820 st…

以官方uboot移植uboot(start.S移植)

(1)添加供电锁存 //添加供电锁存 ldr r0, 0xE010E81C ldr r1, 0x301 str r1, [r0]&#xff08;文件路径board/samsung/goni/lowlevel_init.S &#xff09; (2)添加串口打印O //添加串口打印O ldr r1, 0x4f4f4f4f ldr r2, 0XE2900820 str r1, [r2] O mov pc, lr&#xff08;…

官方uboot的mkconfig分析

&#xff08;1&#xff09;Makefile配置所传的参数 $1-A $2s5p_goni(mkconfig会通过这个参数在boards.cfg中找到与参数相对应的一行) %_config:: unconfig $(MKCONFIG) -A $(:_config) &#xff08;2&#xff09;解析boards.cfg &#xff08;1&#xff09;#通过正则表达式在…

以官方uboot移植uboot(DDR移植)

(1)添加DDR初始化代码文件和头文件 DDR初始化文件&#xff1a;cpu_init.S (android_uboot_smdkv210\u-boot-samsung-dev\cpu\s5pc11x\s5pc110) DDR初始化相关的头文件&#xff1a;S5pc110.h (android_uboot_smdkv210\u-boot-samsung-dev\include) (2)修改DDR初始化文件 将c…

以官方uboot移植uboot(DDR配置显示移植)

(1)修改Goni.c (2)修改cache.c (3)修改s5p_goni.h

斐讯E1拆机焊接TTL救砖

从老家的柜子里翻出来一台斐讯E1&#xff0c;老家在用的是斐讯K2P&#xff0c;300M宽带&#xff0c;房间和大部分位置wifi5足够跑满了&#xff0c;一直懒得升级&#xff0c;也足够用了。 不过发现部分位置信号比较弱&#xff0c;都不到50M&#xff0c;考虑插上E1做个AP中继&…

02_uboot的工作方式_常用命令_常用环境变量

一、uboot的工作方式 1.uboot的本质 uboot的本质是一个裸机程序&#xff0c;由若干的.c文件和.h文件组成&#xff0c;配置编译后生成uboot.bin&#xff0c;把这个镜像文件烧录至启动介质中给soc启动。一般的uboot大小在180k-400k之间&#xff0c;我你自己写的裸机程序小于16k…

以官方uboot移植uboot(SD卡驱动移植)

&#xff08;1&#xff09;添加三星的mmc驱动 在三星中复制的文件 #mmc.c drivers/mmc/mmc.c #s3c_hsmmc.c drivers/mmc/s3c_hsmmc.c #mmc.h include/mmc.h ./include/ #cmd_mmc.c common/cmd_mmc.c #s3c_hsmmc.h include/s3c_hsmmc.h &#xff08;2&#xff09;修改mmc目…

DM365 linux内核文件系统的烧写步骤及其uboot参数配置

DM365 linux内核&文件系统的烧写步骤及其uboot参数配置 目录 源文档下载&#xff1a;http://download.csdn.net/detail/zhangjikuan/6443961 第一节&#xff1a;uboot下载 第二节&#xff1a;启动uboot 第三节&#xff1a;修改uboot参数 第四节&#xff1a;ping通 第…

uboot中的mmc命令

一&#xff1a;mmc的命令如下&#xff1a; 1&#xff1a;对mmc读操作 mmc read addr blk# cnt 2&#xff1a;对mmc写操作 mmc write addr blk# cnt 3&#xff1a;对mmc擦除操作 mmc erase blk# cnt 4&#xff1a;重新搜索mmc设备 mmc rescan 5&#xff1a;…

移植u-boot-2019.10到jz2440——修改程序以支持Nand启动

目录前言1 创建nand_boot.c和nand_boot.h2 自己来做重定位3 u-boot中其它一些需要修改的地方4 编译并烧写测试4.1 解决编译时出现的错误4.2 烧写测试4.2.1 先烧写到NorFlash测试4.2.2 再烧写到NandFlash测试参考文献前言 本文主要记录如何修改u-boot-2019.10源码从而能够支持S…

移植u-boot-2019.10到jz2440

目录前言1 u-boot简介2 第一步——根据自己的硬件初步修改u-boot2.1 移植的不同硬件层次2.2 选择合适的坯子2.3 将旧版本中支持SMDK2410的文件拷贝到新版u-boot2.3.1 拷贝s3c24x0目录2.3.2 拷贝smdk2410目录2.3.3 拷贝arch-s3c24x0目录2.3.4 拷贝零散分布的驱动源程序2.3.5 拷贝…

kobs-ng 烧写nand中的uboot

如何获取kobs-ng 我是使用buildroot自动编译的imx-kobs&#xff0c;生成了kobs-ng可执行文件。 使用 kobs-ng 烧写 u-boot 1. flash_erase /dev/mtd0 0 0 //擦除uboot所在分区 2. 挂载 debugfs mount -t debugfs debugfs /sys/kernel/debug 如果不挂载为报以下错误&#x…

IMX6ULL---从零开始移植uboot-imx

目录 1、NXP官方原版UBOOT编译 2、自己的单板UBOOT建立并编译 3、官方EVK开发板无用配置移除

【精读Uboot】异常向量的设置

1、异常基础知识 对于ARM64而言&#xff0c;exception是指cpu的某些异常状态或者一些系统的事件&#xff08;可能来自外部&#xff0c;也可能来自内部&#xff09;&#xff0c;这些状态或者事件可以导致cpu去执行一些预先设定的&#xff0c;具有更高执行权利&#xff08;EL3&a…

RK356x U-Boot研究所(命令篇)3.7 pci与nvme命令的用法

平台U-Boot 版本Linux SDK 版本RK356x2017.09v1.2.3文章目录 一、设备树与config配置二、pci命令的定义三、nvme命令的定义四、pci与nvme命令的用法3.1 pci总线扫描3.2 nvme设备信息3.3 nvme设备读写一、设备树与config配置 RK3568支持PCIe接口,例如ROC-RK3568-PC: 原理图如…

lv12 linux 内核移植 10

目录 1 内核概述 1.1 内核与操作系统 1.2 Linux层次结构 1.3 Linux内核特点 2 Linux内核源码结构 2.1 Linux内核源码获取 2.2 源码结构 3 Linux内核移植 3.1 在 Linux 官网下载 Linux 内核源码&#xff08;这里我们下载 linux-3.14.tar.xz&#xff09; 3.2 拷贝内核源…

Median-求中位数,文件中数字升序排列

Median-求中位数&#xff0c;文件中数字升序排列&#xff1a;//Median-求中位数&#xff0c;文件中数字升序排列 #include<iostream> #include<fstream> #include<cstdlib>int main() {using namespace std;ifstream fin;ofstream fout;double median,tem1,t…

【U-Boot 之七】fastboot原理分析及uboot fastboot功能实践

本文首先介绍了fastboot的基本原理&#xff0c;然后分析了uboot中fastboot的实现&#xff0c;最后&#xff0c;从实践的角度测试了fastboot协议及各种fastboot命令的使用方式等 。本文的仅按照我本人的实际测试过程进行了简单的描述。若有不当之处&#xff0c;欢迎各位大神不吝…

3、移植UBOOT之新建单板-时钟-SDRAM-串口

文章目录1、新建一个单板将2410的单板文件夹拷贝成2440将2410的头文件拷贝成24402、修改boards.cfg使uboot支持2440单板3、修改uboot系统时钟4、烧写SDRAM寄存器5、设置UART解决乱码arch\arm\cpu\arm920t\s3c24x0\speed.c下的get_HCLK ()函数编译测试去掉s3c2410_nand.c文件,不…

【IMX6ULL驱动开发学习】10.设置uboot使用网络加载zImage和dtb

1. 在uboot中设置网络 首先启动自己的板子&#xff0c;使用 ifconfig 命令或者 ifconfig -a 命令查看自己网卡的地址 ifconfig ifconfig -a我的网卡地址是这个 52:15:66:2E:16:71接着设置自己的ip setenv ipaddr 192.168.1.100设置服务器ip setenv serverip 192.168.1.200保…

Standalone---基础认知

参考&#xff1a;doc/README.standalone The functions are exported by U-Boot via a jump table. 跳转表的初始函数jumptable_init()在common/exports.c文件中实现跳转表结构体在include/exports.h文件中定义 // u-boot/include/asm-generic/global_data.h typedef struct gl…

u-boot命令之EMMC和SD卡操作命令详解

嗨喽&#xff0c;大家好&#xff0c;我是程序猿老王&#xff0c;程序猿老王就是我。 今天给大家详细的介绍一下u-boot命令之EMMC和SD卡操作的mmc命令使用。希望这篇文章对大家有所帮助。 uboot 支持 EMMC 和 SD 卡&#xff0c;因此也要提供 EMMC 和 SD 卡的操作命令。一般认为 …

u-boot移植:详细讲解移植u-boot.2022.10版本到imx6ull开发板

目录 一、u-boot编译环境准备 1.安装交叉编译工具链 2.u-boot源码包下载 3.编译 4.安装依赖库 二、U-Boot中添加自己的开发板 1、添加开发板默认配置文件 2、添加开发板对应的头文件 3、添加开发板对应的板级文件夹 4、修改 arch/arm/mach-imx/mx6/Kconfig 5、其他需…

飞腾uboot命令简单介绍

飞腾uboot和开源uboot并无大差异,故飞腾uboot固件命令可以直接从网上搜索开源uboot相关命令。 这里为了便于大家调试,将一些可能用到的命令说明一下。 在 Uboot 命令行下,输入 help 将打印所有的可用命令,复杂命令操作,通过命令 help 的方式获取具体说明。 1.help命令 …

CONFIG_BOOTDELAY

U-Boot的启动等待时间通常由 CONFIG_BOOTDELAY 宏定义来控制&#xff0c;这个宏定义在U-Boot的配置文件中。具体位置可能会根据U-Boot版本和设备类型有所不同&#xff0c;但这个配置通常放在"include/configs"目录下相应的头文件里。你可以在U-Boot的源代码目录下使用…

[RK-Linux] 移植Linux-5.10到RK3399(一)| 搭建系统并让系统跑起来

这个专题主要记录把 RK Linux-5.10 移植到 ROC-RK3399-PC Pro 的过程。 文章目录 一、u-boot 移植二、内核移植三、文件系统移植四、固件编译与打包五、移植问题处理一、u-boot 移植 首先进入 rk3399 板级配置文件目录 device/rockchip/rk3399,可以看到有一个 BoardConfig-rk…

安卓11 uefi启动 lcd通过gpio读取lcm_id 兼容

安卓11 uefi启动 lcd通过gpio读取lcm_id 进行兼容 本地代码兼容文件路径如下 AMSS / BOOT.XF.4.1/boot_images/QcomPkg/SocPkg/KamortaPkg/Library/MDPPlatformLib/MDPPlatformLib.c 正常屏幕点亮不说了&#xff0c;主要写一下如何进行兼容&#xff0c;主要通过读取id脚高低来…

【Linux内幕】U-BOOT快速入门

前言 Das U-Boot 是一个主要用于嵌入式系统的引导加载程序&#xff0c;可以支持多种不同的计算机系统结构&#xff0c;包括PPC、ARM、AVR32、MIPS、x86、68k、Nios与MicroBlaze。这也是一套在GNU通用公共许可证之下发布的自由软件。 一言以蔽之&#xff0c;uboot的功能就是用户…

s5pv210-Uboot启动流程

一、启动流程 1.s5pv210的启动过程 根据三星公司的《S5PV210_UM_REV1.1》手册可知,S5PV210 启动过程主要可 分为 3 个阶段 S5PV210 上电复位后将从 IROM 处执行已固化的启动代码 -------BL0 在 BL0 里初始化过程中对启动设备进行判断,并从启动设备拷贝 BL1(最大16KB ) 到 IR…

黑猫带你学eMMC协议第30篇:eMMC的boot mode和boot operation详解

本文依据eMMC JEDEC5.1及个人工作经验整理而成,如有错误请留言。 文章为个人辛苦整理,付费内容,已加入原创侵权保护,禁止私自转载。 文章所在专栏:《黑猫带你学:eMMC协议详解》 1 boot partiton 介绍 boot分区在emmc被生产出来就存在的。其目的就是为了host能在上电后…

Linux第45步_通过搭建“DNS服务器”学习图形化配置工具

学习的意义&#xff1a;通过搭建“DNS服务器”&#xff0c;来学习“图形化配置工具”。“DNS服务器”&#xff0c;我们用不到&#xff0c;但为后期移植linux系统服务&#xff0c;因为在移植系统时&#xff0c;需要用到这个“图形化配置工具”。 1、“menuconfig图形化配置工具…

uboot命令解析流程

uboot命令解析: (1)bootdelay没有打断,跑的是autoboot_command abortboot —>run_command_list (bootcmd) (2)否则走的cli_loop cli_loop –>cli_simple_loop ----> cli_readline —>run_command_repeatable -----> &#xff08;解析命令 匹配命令 运行命令 ) …

15_Linux工程目录与顶层Makefile

目录 Linux 工程目录分析 顶层Makefile详解 make xxx_defconfig过程 Makefile.build脚本分析 make过程 built-in.o文件编译生成过程 make zImage过程 Linux 工程目录分析 将正点原子提供的Linux源码进行解压,解压完成以后的目录如图所示: 图就是正点原子提供的未编译的…

海思ubootsd卡协议

在start_armboot()函数中调用mmc_initialize(0)初始化mmc;最终调用到int hi_mci_initialize(unsigned int dev_num)函数;内容如下:static int hi_mci_initialize(unsigned int dev_num) {struct mmc *mmc NULL;static struct himci_host *host;unsigned int regval;unsigned l…

rk3588 之启动

目录 uboot版本配置修改编译 linux版本配置修改编译 启动sd卡启动制作spi 烧录 参考 uboot 版本 v2024.01-rc2 https://github.com/u-boot/u-boot https://github.com/rockchip-linux/rkbin 配置修改 使用这两个配置即可&#xff1a; orangepi-5-plus-rk3588_defconfig r…

uboot常用命令详解

U-boot发展到现在&#xff0c;他的命令行模式已经非常接近Linux下的shell了&#xff0c;在我编译的U-boot-2009.11中的命令行模式模式下支持“Tab”键的命令补全和命令的历史记录功能。而且如果你输入的命令的前几个字符和别的命令不重复&#xff0c;那么你就只需要打这几个字符…

二、总线频率设置

总线频率设置源码 # < board\vbird\mini2440\lowlevel_init.S > #define BWSCON 0x48000000 /* BWSCON */ #define DW8 (0x0) #define DW16 (0x1) #define DW32 (0x2) #define WAIT (0x1<<2) #define UBLB (0x1<<3) #define B1_BWSCON (DW32) #define…

Rockchip(瑞芯微) 烧写报“校验芯片失败”问题解决

Rockchip 烧写报“校验芯片失败”问题解决 1. 固件烧写报此问题2. 分区烧写报此问题1. 固件烧写报此问题 量产工具在下载固件时提示校验芯片失败,这种问题一般都是固件选择错了,固件和芯片不匹配。在开发阶段,可能会是打包固件时参数配置错了。 开发工具不会校验芯片信息,…

u-boot 中 tftp、sf命令使用详解

一. tftp命令使用详解 准备工作 电脑端环境&#xff1a;tftpd32 软件 目标板环境&#xff1a;uboot 注&#xff1a; a.将目标板与电脑用网线设置好&#xff0c;并且将电脑的防火墙关闭&#xff1b; b.将电脑与目标板的ip地址设置成同一个网段。例&#xff1a;电脑IP192.168.1.…

[全志Tina/Linux]全志在线生成bootlogo工具

一、需求 由于全志的bootlogo文件要求使用bmp格式的32位RGBA图像&#xff0c;经测试在使用不同版本的ps软件修图时&#xff0c;导出的bootlogo.bmp经常无法被全志uboot识别&#xff0c;因此使用在线工具转换。 二、操作 1、登录工具网站 https://online-converting.com/ima…

Marvell 98DX3236系列交换机Uboot及内核文件烧写

1. 开发环境 开发板硬件相关 (1)交换机开发板型号:RD-XC3-24G4XG-B (2)交换机CPU型号:98DX3236 (3)交换机PHY芯片型号:88E1680 开发板软件相关 (1)CPLD(LC4032V)程序:ac3_24p.jed (2)I2C存储芯片(AT24C128B)程序:EEPROM-Demo.bin (3)SPIflash芯片(MX25…

bootloader介绍

1.含义和功能&#xff1a; Bootloader&#xff0c;称为引导加载程序&#xff0c;是嵌入式系统加电后运行的第一段代码&#xff0c;相当于PC机的BIOS。 Bootloader通常固化在硬件上某个固态存储设备上&#xff0c;加电后自启动。 bootloader要实现的功能就是&#xff1a;在系…

Linux第38步_编译“正点原子移植好的uboot”

uboot的全称是Universal Boot Loader&#xff0c;uboot是一个遵循GPL协议的开源软件&#xff0c;uboot是一个裸机代码&#xff0c;可以看作是一个裸机综合例程。现在的 uboot 已经支持液晶屏、网络、USB等高级功能。 uboot官方的uboot源码是给所有的半导体厂商准备的。ST公司会…

修改UBOOT和LINUX调试串口(TI达芬奇芯片--DM6467)

1.1 概述 TI针对DM6467提供的UBOOT和内核默认都是串口0作为调试串口输出的&#xff0c;但现在我需要使用DM6467的UART0的modem功能&#xff0c;所以修改代码&#xff0c;改变调试串口为串口2。 需要修改的主要有几部分内容&#xff1a; 1. UBL 代码(这部分代码在刚上电的时候&a…

RK356x U-Boot研究所(开发篇)5.3 Kernel-DTB的使用

平台U-Boot 版本Linux SDK 版本RK356x2017.09v1.2.3文章目录 一、背景二、Live device tree三、机制实现四、DTB 文件五、定制 DTB 文件六、加载distro dtb方式一、背景 U-Boot 的原生架构要求一块板子必须对应一份 U-Boot dts,并且U-Boot dts生成的dtb是打包到U-Boot自己的镜…

【精读Uboot】SPL阶段的board_init_r详细分析

对于i.MX平台上的SPL来说&#xff0c;其不会直接跳转到Uboot&#xff0c;而是在SPL阶段借助BOOTROM跳转到ATF&#xff0c;然后再通过ATF跳转到Uboot。 board_init_f会初始化设备相关的硬件&#xff0c;最后进入board_init_r为镜像跳转做准备。下面是board_init_r调用的核心函数…

linker list

linker list是利用lds 描述符实现同类型数据连续排布的一种机制。 下面是uboot里面的应用说明 lds文件里面需要增加section描述&#xff1a; . ALIGN(4);.u_boot_list : {KEEP(*(SORT(.u_boot_list*)));}linker_list.h: /* SPDX-License-Identifier: GPL-2.0 */ /** include…

菜鸟学Linux------代码编译问题

问题&#xff1a; 因为电脑不给力&#xff0c;所以想把代码在windows下编写&#xff0c;使用SecureCRT访问虚拟机的linux(这样就可以让linux在后台运行&#xff0c;减少虚拟机的消耗)&#xff0c;SecureCRT登录linux直接访问windows下的代码文件夹进行编译。 实验&#xff1a;…

使用QEMU模拟启动uboot

uboot的相关知识&#xff0c;可以参考&#xff1a;uboot基本概念。 一、环境配置 WSL: ubutu20.04 模拟开发板&#xff1a;vexpress-a9 uboot版本&#xff1a;u-boot-2023.10 二、安装QEMU 2.1、安装sudo apt install qemu2.2、查看支持哪些开发板qemu-system-arm -M help结…

uboot 源码官方下载地址

U-Boot&#xff0c;全称 Universal Boot Loader&#xff0c;是遵循GPL条款的开放源码项目。从FADSROM、8xxROM、PPCBOOT逐步发展演化而来 所有版本的u-boot源代码压缩包都可以在ftp://ftp.denx.de/pub/u-boot/下载。 关于u-boot源代码的信息&#xff0c;看http://www.denx.de/…

02.uboot分析之源码第一阶段

之前写的硬件相关的裸机源码的流程和uboot差不多。之前的实验主要完成以下操作&#xff1a;   (1)初始化&#xff1a;关看门狗&#xff0c;初始化时钟&#xff0c;初始化sdram。   (2)程序很大时&#xff0c;把程序从nandflash拷贝到sdaram。   (3)调用C函数必须设置栈sp…

03.uboot分析之源码第二阶段

首先要明确&#xff1a;uboot目标是从flash读出内核&#xff08;nand read.jffs2 0x30007FC0 kernel;&#xff09;&#xff0c;启动它&#xff08;bootm 0x30007FC0&#xff09;。 一、分析uboot源码 /*初始化nor flash*/ #ifndef CFG_NO_FLASH/* configure available FLASH …

百睿联uboot课堂笔记

如何编译u-boot 1.make mx28_evk_config 配置平台 2.输入make 进行编译 得到如下结果 3.将elftosb_32bit文件 复制到/usr/bin/elftosb文件夹下 改变/usr/bin/elftosb 权限 4在imx-bootlets-src-10.12.01中存在u-boot 不需要复制 5运行 ./build 得到如下结果 6.查询编译是否…

超实用的桌面收纳盒!

大家好&#xff0c;我是懂王。 之前给大家分享过很多桌面工具&#xff0c;包括手机端的 windows 10 系统桌面&#xff0c;黑客风格命令行唤醒桌面&#xff0c;虽然都比较炫酷&#xff0c;然而却都是手机上的 app&#xff0c;实际上相对于手机来说&#xff0c;电脑桌面的使用频…