uboot移植之环境变量在NandFlash】的更多相关文章

一.概述 u-boot环境变量可以设置在Norflash上,也可以在NandFlash上. 倘若环境变量在NorFlash上,再假设S3C2440从NorFlash启动,是能正确从NorFlash上读取环境变量.但是,倘若从NandFlash启动,由于Bank0被挂载成S3C2440的stepstone,就不能从NorFlash上读取环境变量. 倘若环境变量在NandFlash上,无论S3C2440以什么方式启动,由于NandFlash的逻辑空间与S3C2440的逻辑空间独立,NandFlash…
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…
转自:http://blog.csdn.net/yangzheng_yz/article/details/41038259 在移植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…
在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…
(内核make menuconfig之后,通过insmod安装的驱动都应该重新make,可能会出现一些莫名的问题) (nor flash/SDRAM/DM9000都受内存控制器控制,需要配置内存控制器对应的位宽,表示一次能取得多少字节数据:norflash在接开发板时,地址线错开一位的原因就是因为当读0地址时,nor返回一个2字节数据,当读0x02地址时,因为2440的地址1号线接nor的地址0号线,相当于0x02右移一位,nor返回一个2字节数据:对2440来说一个地址表示一个字节,nor一个…
(1)将/usr/local/tslib下的所有文件复制到移植系统文件中/usr/local(2)编辑移植系统中/etc/profile添加触摸屏支持内容:在/etc/profile文件中设置tslib环境变量:# 指定tslib主目录位置export TSLIB_ROOT=/home/system/tslib# 指定触摸屏设备export TSLIB_TSDEVICE=/dev/input/touchscreen0# 指定触摸屏校准文件pointercal存放位置export TSLIB_CA…
一.uboot指令 1.printenv(pri) - 打印环境变量 2.setenv - 设置环境变量,和saveenv 配合使用 3.saveenv - 保存环境变量 4.run - 执行设置好的脚本,比如将uboot的指令A和指令B集合成指令C,则执行C需要在前面加上run: 5.boot - 从uboot进入内核执行:boot命令默认执行的命令式bootcmd: 6.bootm - 只能用来引导经过mkimage构建了镜像头的内核镜像文件以及根文件镜像: 7.fsload 可以将内核和文…
转载地址:https://blog.csdn.net/fzs333/article/details/48518559 U-Boot中的环境命令可以使用$(filesize)来确定刚下载(传输)得到的文件大小.因为使用类似tftp命令传输文件后,会自动更新filesize环境变量.如:setenv updaterootfs nand write.yaffs 30000000 200000 $(filesize)这时如果printenv,会发现updaterootfs=nand write.yaff…
uboot下可以通过命令访问(printenv)和修改环境变量(setenv),但是如果需要在Linux系统下访问这些数据该怎么办呢?其实uboot早就帮我们想好了.  1.编译fw_printenv工具 source /opt/poky/environment... 创建交叉编译环境. 更改u-boot/tools/env/Make 添加CC CC=aarch64-poky-linux-gcc -march=armv8-a -mtune=cortex-a57.cortex-a53 --sysr…
在上一章,我们使用网卡传输文件,每次启机时,环境变量都要变为默认值,需要重新设置ip,MAC地址才行,由于没有配置mtdparts命令,启动内核也不成功 所以本章主要学习: 1)修改环境变量默认值 2)裁剪uboot 3)分区,设置mtdparts命令 1.修改之前,先来理解下uboot的环境参数 首先,uboot会去校验(CRC)存放环境变量的一段空间 ,若CRC有效则使用该空间里的环境变量,无效则用默认的环境变量. 而我们移植的uboot,由于一直没有使用save,所以没有读不出CRC校验,…
一. uboot运行时环境变量分布 1.1. 环境变量有2份,一份在Flash中,另一份在DDR中.uboot开机时一次性从Flash中读取全部环境变量到DDR中作为环境变量的初始化值,然后使用过程中都是用DDR中这一份,用户可以用saveenv指令将DDR中的环境变量重新写入Flash中去更新Flash中环境变量.下次开机时又会从Flash中再读一次. 二. ubooth环境变量分析 x210 # print baudrate= ethaddr=::5c::0a:5b gatewayip=19…
u-boot的环境变量用来存储一些经常使用的参数变量,uboot希望将环境变量存储在静态存储器中(如nand nor eeprom mmc). 其中有一些也是大家经常使用,有一些是使用人员自己定义的,更改这些名字会出现错误,下面的表中我们列出了一些常用的环境变量: bootdelay    执行自动启动的等候秒数     baudrate     串口控制台的波特率     netmask     以太网接口的掩码     ethaddr       以太网卡的网卡物理地址     bootfi…
在学习uboot的过程中会经常烧录程序,每次都要敲一些下载指令.这样是不是很麻烦,有什么办法能快速的烧写呢.很简单,将需要敲击的指令编译到uboot中,以环境变量的形式存在.但是环境变量很好加,如何运行环境变量呢.这就需要自己加入run指令了.本文旨在简化uboot.Linux内核及文件系统的烧录过程. 本文基于海思的Hi3531的uboot修改,首先在uboot目录下的include/configs/godnet.h中修改加入如下代码,增加烧写的环境变量. #define CONFIG_BOO…
https://www.cnblogs.com/biaohc/p/6398515.html uboot 环境变量实现原理: 首先我们先要搞清楚uboot中环境变量的作用,uboot中环境变量的作用就是在不改变源码.不用重新编译的情况下,可以使我们通过 设置环境变量的值来改变uboot的一些设置,如bootdelay时间.机器码的值等等. 具体看一下uboot中环境变量如何实现 1.首先看一下环境变量的初始化函数: env_init定义在commen/env_movi.c中 函数中实际执行的就是把…
学习目标: 1.分析u-boot-1.1.6环境变量,了解环境变量初始化.设置以及过程 2.为后面能够掌握u-boot-1.1.6如何启动内核过程打下基础 1.环境变量的概念 在分析uboot环境变量的源码实现之前,先介绍一下环境变量的概念.u-boot通过环境变量为用户提供一定程度的可配置性,在不改变源码.不重新编译的情况下,可以通过设置环境变量的值来改变uboot的一些设置,如bootdelay时间,内核启动命令参数等.可配置性意味着环境变量是可以添加.删除和修改的,也就是说环境变量的内容可…
1. 添加工作用户 [root@localhost ~]#useradd -G root -g root -d/home/uboot uboot 2. 建立工作目录 [uboot@localhost ~]$mkdir dev_home [uboot@localhost ~]$cd dev_home [uboot@localhost dev_home]$mkdir doc mybootloader uboot . |-- doc |-- mybootloader `-- uboot 3. 建立环境…
一.实验环境 实验板:TQ2440开发板 SDRAM:64M norflash:EN29LV160AB(2M) nandflash:(256M) 二.移植 本文不详谈从smdk2410移植到TQ2440的详细过程,只把涉及本文的norflash移植详细阐述. 1.norflash移植 /*----------------------------------------------------------------------- * FLASH and environment organizat…
一.内核裁剪 内核的裁剪首先就是修改我们的配置文件,即 include/configs/jz2440.h 文件,里面定义的很多宏,我们也许用不上的就要去掉. /* * (C) Copyright 2002 * Sysgo Real-Time Solutions, GmbH <www.elinos.com> * Marius Groeger <mgroeger@sysgo.de> * Gary Jennejohn <garyj@denx.de> * David Muell…
(环境如下:U-BOOT  S3C2440  LINUX) 记录自己的学习过程,如果分析有问题,请帮忙指正. 最近在研究U-BOOT的代码,其中的环境变量个人觉得用处非常大,所以重点学习和分析一下. U-BOOT的第一个执行的文件为start.S,可以从链接文件分析出来(u-boot.lds) 进入U-BOOT执行过程如下: 1.设置CPU进入SVC32模式(set the cpu to SVC32 mode) 2.关看门狗(turn off the watchdog ) 3.关中断(mask…
这是我uboot的环境变量设置,在该设置下可以运行initram内核(从内存下载到nandflash再运行),但是运行nfs根文件系统的时候一直出错,各种错误.查看了很多资料后猜想应该是uboot传递给linux内核的参数有问题,也就是bootargs的设置有问题. #printenv bootargs=noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,115200 rootfstype=yaffs2 rw mem=64M bo…
一.环境变量概述 1.环境变量的概念 可以理解为用户对软件的全局配置信息,这部分信息应该可以从永久性存储器上读取,能被查询,能被修改. 启动过程中,应该首先把环境变量读取到合适的内存区域,然后利用环境变量初始化硬件.启动操作系统等等. 2.启动过程中环境变量初始化过程涉及的问题 这里涉及到两个问题: 环境变量在哪个地方存着(从哪个地方取) 将环境变量存储到哪里(放到哪) (1)环境变量位于存储器(norflash.nandflash ) “CFG_ENV_IS_IN_XXX”(CFG_ENV_I…
转载:http://blog.chinaunix.net/uid-28236237-id-3867041.html U-boot中通过环境参数保存一些配置,这些配置可以通过修改环境参数.保存环境参数.读取环境参数等操作进行灵活的配置,便于调试开发.这篇文章主要来分析一下u-boot中环境参数的实现.文章主要分为四个部分,第一是环境参数的存储格式,第二部分是环境参数的初始化,第三部分是环境参数的读取,第四个部分是环境参数保存过程. 首先,我们来看一下环境参数的存储格式.一般嵌入式系统的第一个分区是…
Linux系统下访问U-BOOT环境变量 移植过U-BOOT的人,都知道:在U-BOOT中存有ENV.但U-BOOT在引导内核启动之后,U-BOOT的生命周期就结束了.那么启动LINUX内核之后,U-Boot的环境变量还在么?按照u-boot对Flash的规划:ENV存放在Flash的0x60000~0x80000. 那么我们如何在Linux下查看U-boot的环境变量呢?其实U-BOOT源码内已经提供了这么一种方式:在tools/env/目录下,有相应的源码,通过在u-boot根目录下执行:m…
u-boot 移植(一)编译环境搭建 soc:s3c2440 board:jz2440 uboot:u-boot-2016.11 toolchain:gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabi 文章目录 u-boot 移植(一)编译环境搭建 前言 依赖包安装 u-boot 源码 交叉编译环境搭建 前言 在学习了韦东山老师的JZ2400之前相关的教程,以及uboot移植的视频之后,打算自己尝试移植一下最新版本的uboot,但是发现,s3c24…
本文转载至:http://www.cnblogs.com/cornflower/archive/2010/03/27/1698279.html U-boot的环境变量值得注意的有两个: bootcmd 和bootargs u-boot启动存在两种模式,一种的调试模式,bootdelay之前按下任何键进入:另一种是启动模式,此时u-boot会自动读取参数bootcmd,加载内核并传递参数bootargs.所以这两个参数正确与否决定了系统是否能够自动. 一,参数bootcmd· u-boot内核启动…
1.环境变量如何参与程序运行(1)环境变量有2份,一份在Flash中,另一份在DDR中.uboot开机时一次性从Flash中读取全部环境变量到DDR中作为环境变量的初始化值,然后使用过程中都是用DDR中这一份,用户可以用saveenv指令将DDR中的环境变量重新写入Flash中去更新Flash中环境变量.下次开机时又会从Flash中再读一次.(2)环境变量在uboot中是用字符串表示的,也就是说uboot是按照字符匹配的方式来区分各个环境变量的.因此用的时候一定要注意不要打错字了. (3)如果环…
从bootm 命令讲起 1 找到linux的内核入口 Bootm命令通过读取uImage的头部0×40字节的信息,将uImage定位到正确的地址,同时找到linux的内核入口地址. 这个地方就涉及到uImage的头部0×40字节信息到底是什么的问题?uboot提供了mkimage命令去把0×40字节加在linux内核头部. mkimage -n “Kernel 2.4.18″ -A arm -O linux -T kernel -C none -a 30007fc0 -e 30008000 -d…
U-boot的环境变量: bootcmd 和bootargs   u-bootcmdbootcmd是uboot自动启动时默认执行的一些命令,因此你可以在当前环境中定义各种不同配置,不同环境的参数设置,然后设置bootcmd为你经常使用的那种参数.   现在我的bootcmd的参数设置为:bootcmd=nfs 0x30008000 192.168.1.149:/opt/FriendlyARM/uImage;bootm 表示uboot以nfs的方式加载位置在于192.168.1.149:/opt/…
转载:http://falloutmx.blog.163.com/blog/static/39236020201211145010154/ 可以通过mtd方式读取,也可以用ioremap方式.不过这些都比较麻烦,简单的方法有两种,一种是mtd_debug,另一种是fw_printenv.前者是一个软件包,需要单独下载安装.后一个就是我目前使用的方式,是Uboot带的一个工具,使用方法如下: 1.编译fw_printenv工具 在你uboot目录下用以下编译指令:make env 成功后在tool…
今天本来是烧写内核,结果一不小心把uboot也整不能用了,无奈之下只好重新烧个uboot,等都弄好以后,发现系统还是启动不了,原来是启动参数设置不对,于是找到了这篇文章,//是我添加的内容. 原文地址:http://blog.chinaunix.net/u3/94312/showart_1923637.html 原文: 看到这个标题,可能觉得这个并没有什么的,其实不然,编好了u-boot了,但是如何来使用确不是那么简单的,想当初我将uboot制作出来后以为全部都搞定了,屁颠屁颠的烧到板子上后可系…