精华内容
下载资源
问答
  • Linux uboot 自引导内核

    2009-10-08 08:38:21
    Linux uboot 自引导内核 Linux uboot 自引导内核 Linux uboot 自引导内核
  • linux uboot 详细分析过程 uboot 分析详解
  • Linux Uboot》学习导图 比较随意的笔记式记录: 《Bootloader 启动流程和概念介绍》 《Linux Uboot usb命令》 《Linux Uboot 添加自动补齐与历史命令》 《Linux Uboot 命令U_BOOT_CMD分析》 《Linux ...
    展开全文
  • uboot是一个引导系统,主要是初始化一些硬件上的配置,芯片原厂会提供他们自己的demo板子的uboot配置吗,最...如果没有安装交叉编译工具先安装交叉编译工具,sudo apt-get install gcc-arm-linux-gnueabihf make ARCH=

    uboot是一个引导系统,主要是初始化一些硬件上的配置,芯片原厂会提供他们自己的demo板子的uboot配置吗,最简单的也是直接从芯片原厂的uboot修改出自己的uboot,以imx6ull为例

    1、下载uboot
    git clone http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git

    2、配置
    如果没有安装交叉编译工具先安装交叉编译工具,sudo apt-get install gcc-arm-linux-gnueabihf
    make ARCH=arm mx6ull_14x14_evk_emmc_defconfig
    其他配置文件在uboot/configs/目录下

    3、修改
    1)修改开机log
    uboot /tools/ Makefile写了,如果uboot /tools/logos/存在供应商名字命名的图片就用这个作为开机log,否则用denx.bmp,将自己的开机log放在uboot /tools/logos/目录下就行了,必须是bmp格式

    2)修改lcd尺寸
    lcd源码uboot /board/esd/common/lcd.c
    配置文件/uboot/board/freescale/mx6ullevk/ mx6ullevk.c
    displays数组就是屏幕相关信息

    4、编译
    make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
    编译完成后会在当前目录生成u-bootxxx.imx

    5、烧写
    u-bootxxx.imx替换烧录工具里面的uboot烧录就可以了

    展开全文
  • Linux Uboot支持访问JFFS2文件系统 最近要做一小任务:uboot中添加对jffs2文件系统访问。 本人参考了网上好些博文和帖子,上面基本上就是添加几个宏定义就可以了,例如: 又例如: 按照网上在自己板级配置文件...

    Linux Uboot支持访问JFFS2文件系统

    最近要做一小任务:uboot中添加对jffs2文件系统访问。
    本人参考了网上好些博文和帖子,上面基本上就是添加几个宏定义就可以了,例如:
    网上博客部分截图
    又例如:
    网上博客部分截图

    按照网上在自己板级配置文件中添加上述几个宏定义,发现uboot起不来,总是卡在下图中的位置:
    uboot启动截图
    然后我就蒙逼了,不知道卡在了什么地方,连续2天没头绪,后来觉得不行,自己又看了uboot中关于jffs2的cmd命令部分(common/cmd_jffs2.c)以及jffs2文件系统代码(fs/jffs2/jffs2_1pass.c),经过一番思考,添加了了一些代码修改,终于,完成了uboot对于jffs2文件系统的访问。

    添加的板级配置宏定义命令如下(我的板子上面是norflash,所以为nor0,CONFIG_JFFS2_PART_OFFSET这个是jffs2文件系统在flash中的偏移位置,CONFIG_JFFS2_PART_SIZE这个是jffs2文件系统大小,其他宏定义均为自己根据本平台进行添加的):
    宏定义配置截图
    另外common目录下修改了原来的cmd_jffs2.c中fsload命令,ls命令,fsinfo命令相关函数(每次使用这三个命令开始处都会把flash中jffs2文件系统map到内存中),增加了一个命令fsdump(uboot中打印jffs2文件系统中的文件内容),最关键的还是添加了把flash中jffs2文件系统map到内存中,没有这个还是不行的,总之别人写得再好那也是别人的,自己还是要根据自己实际uboot代码来修改呀。。。

    最终效果如下:
    (1)ls
    ls命令uboot打印截图

    (2)fsinfo
    fsinfo命令uboot打印截图
    (3)fsload
    fsload命令uboot打印截图

    (4)fsdump
    fsdump命令uboot打印截图
    要想上电就从jffs2文件系统中读取uImage并启动,直接修改环境变量即可,本版中,直接修改:
    bootcmd=sf probe;sf read 0x80600000 0x40000 0x280000; bootm 0x80600000 (原来从flash启动)
    bootcmd=fsload 0x80600000 uImage;bootm 0x80600000 (现在从jffs2文件系统读取image启动,可以节省一个image分区)

    任务完成,gg(思考第一,观察第二)

    下面是我的个人公众号,喜欢linux c,c++,嵌入式的欢迎加入:
    在这里插入图片描述

    展开全文
  • 一、uboot作用 (1)uboot主要作用是用来启动操作系统内核; (2)uboot还要负责部署整个计算机系统; (3)uboot中还有操作flash等板子上硬盘的驱动; (4)uboot还得提供一个命令行界面供人操作。   二、...

    uboot的就是universal bootloader(通用的启动代码)。

    一、uboot的作用

    (1)uboot主要作用是用来启动操作系统内核;

    (2)uboot还要负责部署整个计算机系统;

    (3)uboot中还有操作flash等板子上硬盘的驱动;

    (4)uboot还得提供一个命令行界面供人操作。

     

    二、uboot必须解决的问题

    (1)自身可开机直接启动

    (2)能够引导操作系统内核启动并给内核传参

    (3)能够提供系统部署功能

    (4)能进行soc级和班级硬件管理

     

    三、uboot的工作方式

    (1)uboot是一个开源项目,由若干个.c文件和.h文件组成,配置编译之后会生成一个uboot.bin,这就是uboot这个裸机程序的镜像文件。然后这个镜像文件被合理的烧录到启动介质中拿给soc去启动。也就是说uboot在没有运行时变现为uboot.bin,一般躺在启动介质中。

    (2)uboot运行时会被加载到内存中然后一条指令一条指令的拿给CPU去运行。

     

    四、uboot的命令式shell界面

    (1)普通程序的裸机程序运行起来就直接执行了,执行效果和代码有关。

    (2)有些程序需要和人进行交互,于是乎程序中就实现了一个shellshell就是提供人机交互的一个界面),uboot就实现了一个shell

    (3)uboot中的shell工作方式和Linux中的终端shell非常像,只是命令集不一样。

     

    五、uboot的常用命令

    (1)有些命令有简化的别名,譬如printenv命令可以简化为print,譬如setenv可以简化为set

    (2)命令中的特殊符号(如单引号),uboot的有些命令带的参数非常长,为了告诉uboot这个非常长而且中间有很多空格的字符串是给他的一整个参数,所以用单引号将这个很长且中间有空格隔开的参数引起来。

    (3)命令printenv/print

    print命令不用带参数,作用是打印出系统中所有的环境变量。环境变量被存储在Flash的一块专门区域(Flash上有一个环境变量分区),一旦在程序中保存了该环境变量,那么下次开机时该环境变量的值将维持上一次更改保存后的值。

    (4)设置(添加/更改)环境变量:setenv/set

    用法:set name value

    (5)保存环境变量的更改:saveenv/save

    save命令不带参数,直接诶执行,作用是将内存中的环境变量的值同步保存到Flash中环境变量的分区。注意:环境变量的保存是整体的覆盖保存,也就是说内存中所有的环境变量都会整体的将Flash中环境变量分区中原来的内容整体覆盖。

    彻底更改环境变量的值:第一步用set命令来更改内存中的环境变量,第二步用save命令将其同步到Flash中环境变量的分区。

     

    六、网络测试指令:ping

    (1)命令用法:ping ip地址

    ping是测试开发板和主机之间的网络连接,步骤如下:

    1)插上网线

    2)设备主机的本地连接IPv4地址为192.168.1.10

    3)确认开发板中uboot里几个网络相关的环境变量的值对不对。最重要的ipaddr(这个环境变量表示当前开发板的IP地址),这个地址必须和主机的IP地址在同一个网段。

     

    网段的概念:一个IP地址分为两部分,一部分是网段地址,另一部分是主机地址(由子网掩码来区分哪一部分是网段,哪一部分是IP地址)。在子网掩码225.255.255.0的情况下,192.168.1.10这个IP地址的前三部分(192.168.1.)属于网段地址,第4部分(10)属于主机地址。

     

    七、uboot常用命令tftp

    (1)uboot本身主要目标是启动内核,为了完成启动内核必须要能够部署内核,uboot为了部署内核就需要将内核镜像从主机中下载过来然后烧录到本地flash中。uboot如何从主机下载镜像到开发板上?有很多中方式,主流方式是:fastboottftp

    (2)fastboot的方式是通过USB线进行数据传输。

    (3)tftp方式:

    1)ubuntu搭建tftp服务器

    2)设置开发板uboot的环境变量,注意serverip必须设置为虚拟机ubuntuip地址。(serverip这个环境变量的意义就是主机tftp服务器的ip地址)

    3)pingubuntu,然后开始下载:tftp 0x30000000 zImage-qt(意思就是将服务器上名为zImage-qt的文件下载到开发板内存的0x30000000地址处)

    4)镜像下载到开发板的DDRuboot就可以用movi指令进行镜像的烧写了。

     

    展开全文
  • i.Mx6烧录方法,串口xmodem使用方法,烧录内核,少些内核,xmodem烧录内核,xomdem烧写zImage烧录zImage,dd命令用法,dd命令烧录uboot,dd命令烧写uboot;紧紧作为工作记录;映像烧写1 映像上传采用串口xmodem协议...
  • [uboot] uboot启动kernel篇(二)——bootm跳转到kernel的流程 https://blog.csdn.net/ooonebook/article/details/53495021 从0移植uboot (二) _uboot启动流程分析 ... 简析PPC的Device Tr...
  • linux uboot 启动顺序

    千次阅读 2013-03-31 20:31:52
    linux ,这条指令是否能运行? */  return rcode; }   go命令调用do_go()函数,跳转到某个地址执行的。如果在这个地址准备好了自引导的内核映像,就可以启动了。尽管go命令可以带变参,实际使用时不...
  • Linux uboot传输文件使用loadb,loads,loady命令,下面是转载的一个loadb命令使用方式: 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...
  • 最近碰到需要直接修改uboot的环境变量,修改配置时候发现输入的命令太长,因为uboot不能够换行,所以问题来了。 解决: 使用环境变量 步骤如下: 1.新建环境变量: a=needshuru 2.配置需要修改的环境变量 setenv ...
  • uboot中的ubi 内核启动参数分析 Bootargs=console=ttyS0,115200n8 ubi.mtd=4 root=ubi0:rtfs rootfstype=ubifs rw mtdparts=café_nand:200M(part1),300M(part2),400M(part3),500M(part4),-(part5) 其中console...
  • 关于linux uboot下的MMU 了解

    千次阅读 2013-03-25 11:02:43
    在平台头文件通常有 #ifdef CONFIG_ENABLE_MMU #define virt_to_phys(x) virt_to_phy_smdkc110(x) #else #define virt_to_phys(x) (x) ...这里居然是虚拟地址转换成物理地址,没有物理地址转换成虚拟地址的东西...
  • Linux Uboot 命令U_BOOT_CMD分析》

    千次阅读 2018-08-17 11:40:41
    从main_loop中我们知道,如果bootdelay时间内未按下按键则启动Linux内核,按下按键则进入uboot命令行等待用户输入命令。 用户输入命令则调取run_command函数,在该函数中有下面几个比较重要的点: 1. 从注释...
  • Linux-uboot-学习笔记(9):uboot硬件驱动 一、ubootlinux驱动 1、驱动是什么? 驱动的狭义概念:操作系统中用来具体操控硬件的那部分代码。裸机程序中是直接操控硬件的,而操作系统中必须通过驱动来操控硬件。 ...
  • linux-uboot和套结字多线程linux-uboot和套结字多线程linux-uboot和套结字多线程linux-uboot和套结字多线程
  • 今天突然找到一种下载NXP原厂修改的高版本Linuxuboot源码的地方,特地记录一下。 uboot 先从uboot下载开始说起,首先是uboot下载地址,可以点击此处访问uboot。当进入网站以后会看到如下图片: 首先下载uboot整个...
  • driver/net/phy/phy.c:phy_init()里通过宏CONFIG_PHY_MARVELL来初始化具体phy芯片,宏的定义在xxx_config.h中; driver/net/phy/marvell.c:phy_marvell_init()中phy_register(&M88E... phy_register()的定义在phy.c,
  • 嵌入式linuxUboot

    千次阅读 2018-02-06 16:46:11
    Uboot是德国DENX小组开发的用于多种嵌入式CPU( MIPS、x86、ARM、XScale等)的bootloader程序,UBoot不仅支持嵌入式Linux系统的引导,还支持VxWorks, QNX等多种嵌入式操作系统。 源码:ftp://ftp.denx.de/pub/u-...
  • uboot基于九鼎公司的S5PV210进行分析 1、各个文件的介绍 (1).gitignore 这是一个git工具的文件,和git有关,跟uboot无关。 (2)arm_config.mk 这是一个Makefile文件,将来在主Makefile中会调用此Makefile文件。 ...
  • Linux-uboot-学习笔记(5):uboot的配置和编译过程代码分析 在Linux-基础入门-学习笔记(3):uboot常用命令与环境变量一文中,已经对uboot的基本认识有了一个简单的介绍,也知道了uboot是引到操作系统启动和部署...
  • Linux-uboot-学习笔记(8):uboot启动内核 uboot启动的第二阶段主要是执行第一阶段跳转到的start_armboot函数,该BL2阶段在DDR中初始化第一阶段未完成的任务和SoC各种外设。 start_armboot函数分析 start_armboot...
  • Linux-uboot-学习笔记(10):移植三星官方uboot 前言:当我们在使用某个板卡之前,首先要找到与它对应匹配的uboot,将uboot移植到板卡上,从而实现板卡的一系列启动。这里我们将三星官方开发板的SMDKV210的uboot源...
  • define filechk_uboot.release echo "$(UBOOTVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))" endef # Store (new) UBOOTRELEASE string in include/config/uboot.release ...
  • LinuxUboot详解

    千次阅读 2016-03-30 15:40:55
    在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次: 1. 引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两...
  • Linux-uboot-学习笔记(7):uboot启动第二阶段源码分析 uboot启动的第二阶段主要是执行第一阶段跳转到的start_armboot函数,该BL2阶段在DDR中初始化第一阶段未完成的任务和SoC各种外设。 start_armboot函数分析 ...
  • 带你全面分析嵌入式linux系统启动过程中uboot作用 2017-08-24 18:19操作系统 1.为什么要有uboot 1.1、计算机系统的主要部件 (1)计算机系统就是以CPU为核心来运行的系统。典型的计算机系统有:PC机(台式机...
  • NXP官方原版UbootLinux源码
  • uboot引导linux内核

    2016-03-10 22:14:27
    1.统一ubootlinux的机器码 u-boot和linux对应每一个开发板都有一个机器码(即:MACH_TYPE),只有ubootlinux的MACH_TYPE一样才能成功引导内核。否则引导的时候就会提示MACH_TYPE不匹配! 如下图。 在上面的打印...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,989
精华内容 12,395
关键字:

linuxuboot作用

linux 订阅