uboot

在uboot里面添加环境变量使用run来执行

主宰稳场 提交于 2019-12-01 07:44:10
在uboot里面添加环境变量使用run来执行 本文链接: https://blog.csdn.net/u010979030/article/details/41038259 Author :杨正 Date : 2014.11.11 Email : yz2012ww@gmail.com QQ:1209758756 在移植uboot的时候,可以在uboot里面添加定义一些自己的环境变量,这些环境变量可以大大提高以后的工作效率,比如我在uboot里面添加如下环境变量: bbl=sf probe 0;mw.b 82000000 ff 80000;loady0x82000000 uboot_logo.bin;sf erase 0 80000;sf write 82000000 0 80000 然后使用run命令来执行: hisilicon # run bbl 16384 KiB hi_sfc at 0:0 is now currentdevice ## Ready for binary (ymodem) download to0x82000000 at 115200 bps... C Starting ymodem transfer. Press Ctrl+C to cancel. 100% 222 KB 6 KB/s 00:00:36 1 Errors ## Total Size =

itop4412uboot中支持usbhub

北战南征 提交于 2019-11-30 17:01:47
hub采用3503a,3.3v regulator使用vbat供电,1.2的regulator使用1.8v供电,reset开始是拉高的,而3503的工作流程首先要reset,即引脚先拉低,再释放,造成一个低脉冲,进入初始化,因为iic没有连接,所以可以直接拉高connect引脚,进入通信阶段。在uboot输入命令usb start后只有root hub,只有在usb reset后可以正常识别到hub3503 和其上的dm9621 来源: https://www.cnblogs.com/-rzx-/p/11605529.html

u-boot makefile $$

落花浮王杯 提交于 2019-11-30 12:29:14
define filechk_uboot.release echo "$(UBOOTVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))" endef # Store (new) UBOOTRELEASE string in include/config/uboot.release include/config/uboot.release: include/config/auto.conf FORCE $(call filechk,uboot.release) 跟我一起学Makefile.pdf: 变量在声明时需要给予初值,而在使用时,需要给在变量名前加上“$”符号,但最好用小括号“()”或是大括号“{}”把变量给包括起来。如果你要使用真实的“$”字符,那么你需要用“$$”来表示。 $(UBOOTVERSION) 表示变量 UBOOTVERSION $$表示$ $$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree)) --> $($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree)) # SHELL used by kbuild CONFIG

第一章uboot理论详解

痞子三分冷 提交于 2019-11-30 12:08:24
一、什么是uboot PC机的启动流程 (1)PC上电后,自动启动部署在PC机主板上(ROM)的BIOS程序; (2)BIOS程序初始化内存和硬盘,从硬盘中将操作系统读到内存中; (3)CPU跳转到内存中执行操作系统程序直到启动; (4)当操作系统启动时,BIOS任务完成,二者在执行时间上无交集的; 嵌入式启动流程 (1)开发板启动方式与pc机方式相同,区别是设备不同,即BIOS替换为uboot,硬盘替换为flash;uboot存储在支持启动的flash中; (2)Android启动方式与开发板相同,区别是操作系统启动后加载根文件系统及以后的过程不一样; 总结 :uboot类似于PC机的BIOS,用来引导操作系统启动的一段裸机程序。 uboot需要的满足条件 (1)自身支持开机启动。uboot是开机后执行的第一个程序,因此对于不同的设备,必须对uboot源码进行移植和修改(start.S文件)以匹配当前设备的硬件; (2)支持整个系统在flash上的烧录下载。整个系统包括:uboot、kernel、rootfs等的镜像文件; (3)能够管理部分SoC级和板级的硬件。uboot引导操作系统时需要初始化flash和SDRAM以及其他的硬件操作,因此需要能够管理硬件。SoC级:内部外设,如串口等;板级:外部外设,如网卡灯; (4)uboot的作用就是启动内核,因此当操作系统启动时

《tiny4412启动》

让人想犯罪 __ 提交于 2019-11-30 02:38:43
1.编译uboot a) 安装好 toolchain (arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz)并设置好 环境变量 PATH,保证可以正常使用。  sudo tar -xvf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz –C /  sudo vim /etc/environment修改PATH为:  PATH= "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/FriendlyARM/toolschain/4.5.1/bin" 问题:   了解几种保存环境变量的方式有什么不同? b) 解压 uboot_tiny4412-20130729.tgz 并进入相应的目录 tar xzf uboot_tiny4412-20130729.tgz c) 配置 uboot 并编译 cd uboot_tiny4412 make tiny4412_config make d) 编译 用于生成 bl2 的工具 make -C sd_fuse 2.制作SD卡启动   假设sd卡在linux中被识别为/dev/sdb。  cd sd_fuse/tiny4412   ./sd_fusing.sh /dev/sdb 3

uboot移植spi驱动

六眼飞鱼酱① 提交于 2019-11-29 23:42:33
记录一下在uboot内移植spi驱动的过程 芯片:freescale Mpc8308 uboot版本:u-boot-2009.11-rc1.2 需求:我们需要在uboot下通过spi配置一个时钟芯片(dpll)用来给fpga提供时钟 要移植spi驱动,前提是要通过手册了解该cpu的spi的结构和寄存器描述,一般作为cpu的外围设备,spi是有一个spi控制器的 简单看一下8308的spi模块结构 spi的四根线,MOSI,MISO,CS,CLK CS以外的几根线是从Master上引出来的 而CS是由cpu的gpio来扮演的 驱动方面 uboot中产品的配置文件我的在include/configs/MPC8308EDD.h 这个是修改过的, 在u-boot-2009.11-rc1.2/driver/spi中找到mpc8xxx_spi.c文件,我们姑且认为这个就是最相近的驱动了(根据芯片名称与文件名称) 相关Makefile COBJS-$(CONFIG_MPC8XXX_SPI) += mpc8xxx_spi.o 在lib_ppc/board.c(不通uboot,目录不同)中有spi_init()的初始化调用,如下 #if defined(CONFIG_HARD_SPI) static int init_func_spi (void) { puts ("SPI: "); spi

uboot 配置 tftp的启动参数

情到浓时终转凉″ 提交于 2019-11-29 21:25:18
1、uboot 配置内核和dts、文件系统 首先 内核和dts 是通过tftpboot进行获取配置 文件系统是用 nfs 挂载实现 # setenv serverip 192.168.9.120 # setenv ipaddr 192.168.9.233 # setenv bootcmd tftp 41000000 uImage\;tftp 42000000 exynos4412-fs4412.dtb\;bootm 41000000 - 42000000、 #setenv bootargs root=/dev/nfs nfsroot=192.168.9.120:/source/rootfs rw console=ttySAC2,115200 init=/linuxrc ip=192.168.9.233 # saveenv    2、openwrt uboot https://oldwiki.archive.openwrt.org/doc/techref/bootloader/uboot.config 参考文档:《系统移植实验手册.doc》 来源: https://www.cnblogs.com/hzijone/p/11533228.html

uboot自定义添加命令

荒凉一梦 提交于 2019-11-29 20:59:31
1、添加命令   1.u-boot的命令格式:   U_BOOT_CMD(name,maxargs,repeatable,command,”usage”,"help")   name:命令的名字,不是一个字符串;   maxargs:最大的参数个数;   repeatable:命令是可重复的;   command:对应的函数指针   2.在uboot/common目录下,随便找一个cmd_xxx.c文件,将cmd_xxx.c文件拷贝一下,并重新命名为cmd_hello.c     cp cmd_xxx.c cmd_hello.c   3.进入到cmd_hello.c中,修改     a:修改宏U_BOOT_CMD     U_BOOT_CMD宏参数有6个:     第一个参数:添加的命令的名字     第二个参数:添加的命令最多有几个参数(注意,假如你设置的参数个数是3,而实际的参数个数是4,那么执行命令会输出帮助信息的)     第三个参数:是否重复(1重复,0不重复)(即按下Enter键的时候,自动执行上次的命令)     第四个参数:执行函数,即运行了命令具体做啥会在这个函数中体现出来     第五个参数:帮助信息(short)     第六个参数:帮助信息(long)     b:定义执行函数     执行函数格式:int do_hello(cmd_tbl_t *cmdtp

S3C6410 SD卡启动uboot分析(详细)

依然范特西╮ 提交于 2019-11-29 16:35:08
6410的手册上说,可以从nandflash、onenand、SD卡启动,没有专用的烧录工具的情况下,只有SD卡启动是可以考虑 的。手册上看到,SD卡启动,实际上是先执行片内IROM中的一段程序,该程序从SD卡中读取代码,写到stepping stone 中,stepping stone是位于0x0c000000、size为8K的片内内存,代码写入stepping stone后,跳到 0x0c000000处继续执行程序。那么,要实现从SD卡启动,就必须弄清楚: 1、8K的代码保存在SD卡的什么位置。 2、代码以什么格式存储。 把编译好的代码写入到最后芯片末尾偏移-9216字节处,插入SD卡座,把开关拨到SD0卡启动的位置,上电 这里使用的uboot并非uboot官方发布的uboot代码,而是为三星定制的一个uboot版本 s3c-u-boot-1.1.6,其代码作者就包括了三星的程序员与denx的员工。这个版本支持 SD启动,不过默认是nand启动,使它支持uboot需要做以下事情: 1、 虽然支持uboot启动,但是uboot代码里不叫SD启动方式,而是叫movinand启动 方式,在incluede/configs/smdk6410.h中就有这个选项,所以在这个文件里关闭nand 启动,打开movinand启动就可以了: //#define CONFIG_BOOT_NOR //

【uboot】uboot调试

爷,独闯天下 提交于 2019-11-29 04:18:09
Platform: S905D2_U200 g12a_u200_v1# version U-Boot 2015.01-g40abd73 (Sep 19 2018 - 03:00:24) aarch64-none-elf-gcc (crosstool-NG linaro-1.13.1-4.8-2013.11 - Linaro GCC 2013.10) 4.8.3 2) GNU ld (crosstool-NG linaro-1.13.1-4.8-2013.11 - Linaro GCC 2013.10) 2.23.2.20130610 Linar4 g12a_u200_v1# ? ? - alias for 'help' aml_sysrecovery- Burning with amlogic format package from partition sysrecovery amlmmc - AMLMMC sub system amlnf - aml mtd nand sub-system autoscr - run script from memory base - print or set address offset bcb - bcb bmp - manipulate BMP image data booti - boot arm64 Linux Image image