uboot

Linux shell中if [ $? -eq 0 ] 语句作用:判断命令是否执行成功

生来就可爱ヽ(ⅴ<●) 提交于 2020-01-22 17:35:42
shell脚本中$?是指上一次命令执行的成功或者失败的状态。如果成功就是0,失败为1.。语句if [ $? -eq 0 ] 是判断if语句的上一个命令执行如果失败就执行if中的语句,否则就执行else中的内容。 note:使用时要注意,if后面的中括号[ $? -eq 0 ],括号的两边需要有一个空格。 cd u-boot && ./make.sh $RK_UBOOT_DEFCONFIG && cd - if [ $? -eq 0 ]; then echo "====Build uboot ok!====" else echo "====Build uboot failed!====" exit 1 fi 来源: CSDN 作者: 小叔叔乎 链接: https://blog.csdn.net/w892824196/article/details/103985328

imx6ull开发板启动uboot信息

偶尔善良 提交于 2020-01-20 20:52:03
U-Boot 2016.03-gd9420c3 (Nov 01 2019 - 12:03:59 +0800) CPU: Freescale i.MX6ULL rev1.1 69 MHz (running at 396 MHz) CPU: Industrial temperature grade (-40C to 105C) at 55C Reset cause: POR Board: MX6ULL 14x14 EVK I2C: ready DRAM: 512 MiB MMC: FSL_SDHC: 0, FSL_SDHC: 1 Display: ATK-LCD-4.3-800x480 (800x480) Video: 800x480x24 reading alientek.bmp ** Unable to read file alientek.bmp ** Error: no valid bmp image at 88000000 In: serial Out: serial Err: serial switch to partitions #0, OK mmc1(part 0) is current device Net: FEC1 Error: FEC1 address not set. Normal Boot Hit any key to stop autoboot: 0 =>

uboot分析:uboot启动内核

元气小坏坏 提交于 2020-01-18 01:14:25
(注:本文参考资料:朱有鹏嵌入式课程。本文为个人学习记录,如有错误,欢迎指正。) U-Boot启动内核概述 U-Boot启动完成后,最终进入到main_loop()循环中。若在bootdelay倒计时为0之前,U-Boot控制台有输入,则进入命令解析-执行的循环;若控制台无输入,U-Boot将启动内核。 U-Boot启动内核可归结为以下四个步骤: 1)将内核搬移至DDR中; 2)校验内核格式、CRC; 3)准备传参; 4)跳转执行内核。 U-Boot启动内核过程分析 2.1 将内核搬移至DDR中 在/uboot/lib_arm/board.c->start_armboot()函数调用/uboot/common/main.c->main_loop()函数,main_loop()函数中包含了内核的启动代码。 复制代码 s = getenv (“bootcmd”); //获取bootcmd环境变量的值 debug ("### main_loop: bootcmd="%s"\n", s ? s : “”); if (bootdelay >= 0 && s && !abortboot (bootdelay)) { … #ifndef CFG_HUSH_PARSER run_command (s, 0); //执行bootcmd环境变量中的命令 … } 复制代码

嵌入式到底该怎么学

孤街醉人 提交于 2020-01-18 00:27:43
前言  其实一直有人问我嵌入式怎么学,今天跟大家讲讲我的理解。因为嵌入式是一个泛的概念,可能很多人认为嵌入式就是嵌入式Linux。但是其实并不仅仅只有Linux, 像STM32,51单片机也属于这个范畴之内的,它们有的也可以跑协议栈,跑ucos等系统。所以其实嵌入式是有很多方向的,选择一个方向,做好,做精,都是有前途的。接下来,跟大家探讨一下嵌入式的一些方向,和如何去学习。我以前也是摸索着过来的,没人告诉我如何学习,也没有学习线路,所以走了很多弯路。所以希望这篇文章可以帮助到一些正在学习的人,当然这些内容可能有主观的东西,欢迎大家一起探讨吧。如下仅讨论软件方面 _ 。 以下内容对牛人不适用。 嵌入式方向 - 单片机开发  单片机开发在这个市场上的需求还是很大,因为制造业公司还是很多,单片机更多用在工业控制,机械控制等上面,当然也会涉及物联网。单片机有8位,16位,32位的,一般8位用得比较多的就是51单片机和STM8,32位用得比较多的就是STM32,还有NXP的芯片,比如K60,K22等。一般学完51和STM32之后,找个单片机的工作应该是没什么问题了。单片机的门槛其实并不高,但是做好也不容易就是了,可能因为门槛问题,导致薪资上面并不会特别高(能力牛逼者例外)。 - Linux应用开发  以前很多人问我“ Linux应用到底在做什么? ”。其实应用就是在做功能,在操作系统中

linux ——Uboot模式下读取NORflash芯片数据

戏子无情 提交于 2020-01-13 04:43:35
命令: md指令 uboot下输入指令md,会提示md的用法,memory display,即内存显示。 md [.b, .w, .l] address [# of objects] - memory display b:8位 w:16位 l:32位(默认值) 例: mw指令 uboot下输入指令mw,会提示md的用法,memory write,即向内存中写入数据。 U-Boot-PetaLinux> mw mw - memory write (fill) Usage: mw [.b, .w, .l] address value [count] b:8位 w:16位 l:32位(默认值), address是要写入内存的地址, value是要写入的值, count是从address开始要写入多少个数,这些都是16进制数。 操作流程: Uboot模式下读取NORflash芯片数据 注意:b8000000 为Norflash基地址,需要根据电路板自行得出。 mw.w b8000aaa aa //往地址AAAH写入AAH(解锁) mw.w b8000554 55 //往地址554H写入55H(解锁) mw.w b8000aaa 90 //往地址AAAH写入90H(命令) md.w b8000000 1 // 读0地址得到厂家ID(C2H) md.w b8000002 1 //

ARM嵌入式开发——基础概念

自作多情 提交于 2020-01-11 01:19:54
文章目录 嵌入式Linux系统组成 嵌入式Linux系统的启动流程 uboot制作 uboot特点 uboot三大功能 硬件初始化功能 引导加载内核 为内核传递启动参数 uboot源码操作 嵌入式Linux系统组成 嵌入式Linux系统软件由三部分组成: BootLoader(uboot)裸板软件,初始化硬件+从闪存加载内核到内存并且启动内核+给内核传递启动参数,告诉内核根文件系统rootfs在什么地方。(上电运行,内核启动后结束) Linux内核(kernel):Linux系统7大功能,管理进程、管理内存、文件系统、设备控制、网络管理。掉电结束。 根文件系统(rootfs): bin:各种命令。 sbin:各种超级用户的命令。 lib:标准系统库。 etc:各种服务的配置(tftpd-hpa,nfs) dev:存放设备文件 sys:存放虚拟文件系统sysfs相关内容 proc:存放虚拟文件系统procfs相关内容 usr:存放其他命令 嵌入式Linux系统的启动流程 上电CPU运行uboot uboot根据bootcmd加载启动内核并且通过bootargs给系统传递参数。 内核启动,完成7大功能。 内核最后根据uboot传递的bootargs到某个地方找到根文件系统rootfs 一旦找到根文件系统rootfs,控制权交给根文件系统。 内核会运行第一号进程/sbin/init

uboot启动Linux配置及方式

只谈情不闲聊 提交于 2020-01-11 00:16:09
一、 从 EMMC 启动 Linux 系统 1、将 zImage 文件和设备树文件烧录到EMMC中 2、使用以下检查一下 EMMC 的分区 1 中有没有 zImage 文件和设备树文件。 ls mmc 1:1 3、设置环境变量 环境变量bootcmd: 1、bootcmd 保存着 uboot 默认命令, uboot 倒计时结束以后就会执行 bootcmd 中的命令。 2、板子第一次运行 uboot 的时候都会使用默认值来设置 bootcmd 环境变量。环境变量默认值在文件 include/env_default.h 中。 比如 bootcmd 的 默 认 值 就 是 CONFIG_BOOTCOMMAND , bootargs 的 默 认 值 就 是 CONFIG_BOOTARGS 。 我们可以在 mx6ull_alientek_emmc.h 文件中通过设置宏 CONFIG_BOOTCOMMAND 来 设 置 bootcmd 的默认值。 环境变量 bootargs : 1、 bootargs 保存着 uboot 传递给 Linux 内核的参数。 设置环境变量 bootargs setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw' console=ttymxc0,115200:设置ttymxc0

玩转ebit EBAZ4205 zynq矿机控制卡

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-10 23:31:01
参考 基于Z7010的EBAZ4205矿板改造 zynq[1] 矿板helloworld 介绍 Column 1 Column 2 主控 XC7Z010CLG400-1 内存 256MB DDR3 EM6GD16EWKG/MT41K128M16 nand 128MB SLC Winbond W29N01HV 以太网 百兆网Phy芯片IP101GA 供电 12V,主板电源,兼容5V 其他 1路串口PS UART1,2路PWM,14针标准jtag支持Xilinx下载器,3个20pin IO口 部署 更改zynq配置管脚至SD卡启动,设置环境变量,加载bitstream,使用EMIO百兆网, zynq-uboot > setenv Gem.e000b000_phyaddr 0 zynq-uboot > setenv serverip 192.168.6.6 zynq-uboot > setenv fpga_img ebit_wrapper.bit zynq-uboot > env save zynq-uboot > reset zynq-uboot > mmc info && fatload mmc 0 $netstart /ebit_wrapper.bit && fpga loadb 0 ${netstart} ${fpgasize} 更新boot固件,使用SD卡下载boot固件

IMX6Q官方板子uboot参数SD卡启动设置

白昼怎懂夜的黑 提交于 2020-01-07 21:47:13
setenv bootargs 'noinitrd console=ttymxc0,115200 root=/dev/mmcblk2p1 rw init=/linuxrc' setenv bootcmd 'mmc dev 0; mmc read 0x11ffffc0 0x800 0x5000; mmc read 0x18000000 0x5000 0x800; bootm 0x11ffffc0 - 0x18000000' saveenv printenv 来源: CSDN 作者: felix_fang_xin 链接: https://blog.csdn.net/u011625775/article/details/103881844

openwrt 修改mac地址

孤街醉人 提交于 2020-01-07 19:15:07
出现这类错误: Could not open mtd device: u-boot Can't open device for writing! 原因:官网openwrt firmware对uboot分区进行了保护。 解决:刷入一个解锁了uboot分区的openwrt固件后,再进行下面uboot写入命令。 mtd -r write /tmp/uboot.bin u-boot 修改dts文件,支持可写 参考文章: http://www.openwrt.pro/post-300.html 来源: https://www.cnblogs.com/hzijone/p/12163167.html