请问u-boot中 TEXT_BASE 的地址是如何计算出来的 [问题点数:40分]

Bbs1
本版专家分:0
结帖率 50%
Bbs6
本版专家分:5055
Blank
红花 2018年3月 Linux/Unix社区大版内专家分月排行榜第一
2017年9月 Linux/Unix社区大版内专家分月排行榜第一
2017年8月 Linux/Unix社区大版内专家分月排行榜第一
2017年7月 Linux/Unix社区大版内专家分月排行榜第一
Bbs1
本版专家分:0
Bbs6
本版专家分:5055
Blank
红花 2018年3月 Linux/Unix社区大版内专家分月排行榜第一
2017年9月 Linux/Unix社区大版内专家分月排行榜第一
2017年8月 Linux/Unix社区大版内专家分月排行榜第一
2017年7月 Linux/Unix社区大版内专家分月排行榜第一
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs1
本版专家分:10
uboot顶层目录(根目录)下的config.mk解析
该文件在主Makefile中的第185行被包含,如下: # load other configuration include $(TOPDIR)/config.mk 1. 编译工具定义(94 ~ 107行) # # Include the make variables (CC, etc...) # AS = $(CROSS_COMPILE)as LD = $(CROSS_COMPILE)...
[IMX6Q]TEXT_BASE和_start的区别
<em>u-boot</em>版本: v2009.08 看到很多文章都把两者描述为<em>u-boot</em>的入口<em>地址</em>,概念有点模糊。 其实可以这么理解: _start是可以动态变化,而TEXT_BASE是链接时就确定的<em>地址</em>。 _start是实际运行的<em>地址</em>,而TEXT_BASE是要copy到sdram中运行的<em>地址</em>, 当然也是最终<em>u-boot</em>实际运行的<em>地址</em>。 <em>u-boot</em>的start.S中在启动第一阶段会比较
【Uboot学习随笔-基于tiny6410和uboot-2010.09】之-----TEXT_BASE
随笔中记录的都是笔者学习Uboot过程中遇到的一些问题和解决方法,主要是将解决问题的过程和一些小经验、小技巧记录了下来。现在把一些感觉有点价值的内容搬到博客中供读者参考。   -----------------12.23----------------- 19:55 追踪UBoot中 TEXT_BASE 的定义: 1.Makefile的 smdk6400_config 目标下有一句:
基于IMX6Q的u-boot-2017.11的移植(3)->Ethernet MAC (ENET)移植
观察上次移植的uboot的串口输出: U-Boot 2017.11 (Jan 07 2018 - 11:50:48 +0800) CPU: Freescale i.
uboot源码——汇编阶段的start.S文件
以下内容源于朱友鹏老师《物联网大讲堂》视频的学习整理。如有侵权,请告知删除。
u-boot分析 四 (程序入口start.S)
<em>u-boot</em>分析 四 (程序入口start.S)注:部分内容摘抄自网络,如有问题,请联络博主。本文内容:了解以stars.S为开始的ARM汇编程序部分。回顾前几篇博文,咱们见识过了<em>u-boot</em>的目录结构,另外简要分析了<em>u-boot</em>.lds脚本文件的link原理。而今天我们要来听听嵌入式程序君告诉咱们的第一句“话”。正式开始之前,我们需要准备三样东西: <em>u-boot</em> source code 常用ARM
一篇鸡肋似得,关于u-boot中 _start 和 _armboot_start关系的帖子
以下内容来自笔者在中国Linux论坛Linux嵌 入技术讨论区的张贴: aaronwong: <em>u-boot</em>中代码的疑问(_armboot_start与_start)?  --------------------------- 我 使用的是<em>u-boot</em>-1.3.0-rc2。在cpu/pxa/start.S中,有如下的标号定义:  _TEXT_BASE:  .word TEXT_
S5PV210的内存分配研究分析
S5PV210内存一般会使用SDRAM和DDR2 (DDR SDRAM),SDRAM的uboot启动网络已经有很多资料的,对于DDR2还有有很多疑惑,如果有错误的地方,请大家一定指出,醍醐灌顶,不胜感激。 1、S5PV210的memory map(物理<em>地址</em>) 如下图:左图是整个芯片的内存空间(物理<em>地址</em>),右图是iROM部分的内存空间(BL0的<em>地址</em>貌似不是物理<em>地址</em>==)     
u-boot SPL的理解
uboot分为uboot-spl和uboot两个组成部分。SPL是Secondary Program Loader的简称,第二阶段程序加载器,这里所谓的第二阶段是相对于SOC中的BROM来说的,之前的文章已经有所介绍,SOC启动最先执行的是BROM中的固化程序。BROM会通过检测启动方式来加载第二阶段bootloader。uboot已经是一个bootloader了,那么为什么还多一个uboot sp
U-Boot: 如何确定TEXT_BASE值
1、TEXT_BASE = 0x33F80000  TEXT_BASE是代码执行的起始<em>地址</em>.编译产生的二进制文件必需下载到该<em>地址</em>,因为所有的函数,全局变量等等定位都是以这个<em>地址</em>为参照的. 如果uboot中是TEXT_BASE就是设的0x33F80000, 那么必需download到这个<em>地址</em>的ram中才能正常运行. 那么这个<em>地址</em><em>如何</em>确定的呢? 是这样的如果你的板子上RAM<em>地址</em>从0x3000_0
u-boot.lds与-Ttext $(TEXT_BASE)
在看本博文之前,先看下华嵌的一篇文章,写的十分简单明了(里面的VMA.LMA可能写混了) http://www.embedu.org/Column/Column345.htm 看完之后,我们就明白了ldr r2, _armboot_start当中到底存放的是什么值了. 不过到底其中一个大概的处理过程是怎么样的呢?? 我们来做一个实验. 先在U-BOOT.LDS当中再增加几个变量来显示(l
2014.4新版uboot启动流程分析
2014.4最新版本uboot启动过程详解 在网上搜索讲uboot启动过程的文章,大多都是比较老的版本,于是决定将新版uboot启动过程记录下来,以备后用。 2014.4版本uboot启动至命令行几个重要函数为:_start,_main,board_init_f,relocate_code,board_init_r。
uboot2013-10移植(四)--修改配置文件
简单得修改了下/src/include/configs/smdkc100.h,这个文件,有些参数现在还不清楚怎么改,跟踪源码以后再一步步得完善~ /* * (C) Copyright 2009 Samsung Electronics * Minkyu Kang * HeungJun Kim * Inki Dae * * Configuation settings for the
关于u-boot中TEXT_BASE的疑问
1.config.mk中有如下定义:rnrnTEXT_BASE = 0x33D00000rnrnrn2. 链接选项中有如下一项:rnrn-Ttext $(TEXT_BASE)rnrnrn3. start.S中有如下定义:rnrn_TEXT_BASE:rn .word TEXT_BASErnrn我的疑问是,start.S中的TEXT_BASE是宏,还是全局变量,还是编译器内嵌的什么东西?rn
UBOOT源码详细分析之主Makefile
注:本文是由疯仔整理的笔记,基于uboot-1.3.4和s5pc11x分析。 话不多说直接上代码 (1)uboot的版本号分3个级别: VERSION:主板本号 PATCHLEVEL:次版本号 SUBLEVEL:再次版本号 EXTRAVERSION:另外附加的版本信息 这4个用.分隔开共同构成了最终的版本号。 (2)Makefile中版本号最终生成了一个变量U_BOOT
uboot之 relocate功能代码分析
uboot的relocate功能代码是分析uboot的必经之路,非常巧妙,也非常经典,当然理解起来也有些麻烦:.globl _start _start: b reset ...... ...... ...... ...... ...... _TEXT_BASE: .word TEXT_BASE .globl _armboot_start _armboot_start: ...
u-boot中链接地址和加载地址的相关知识
以zc702开发板的<em>u-boot</em>为例 链接<em>地址</em>(运行<em>地址</em>):链接<em>地址</em>是在程序编译链接阶段就确定好的<em>地址</em>。     <em>u-boot</em>的链接脚本由CONFIG_SYS_LDSCRIPT宏定义来指定,如在zynq_common.h当中有如下代码: #define CONFIG_SYS_LDSCRIPT "arch/arm/cpu/armv7/zynq/<em>u-boot</em>.lds"在该链接脚本中指定了u-b
U-boot链接地址的详解
1、运行<em>地址</em>链接<em>地址</em>:他们两个是等价的,只是两种不同的说法。 2、加载<em>地址</em>存储<em>地址</em>:他们两个是等价的,也是两种不同的说法。 运行<em>地址</em>:程序在SRAM、SDRAM中执行时的<em>地址</em>。就是执行这条指令时,PC应该等于这个<em>地址</em>,换句话说,PC等于这个<em>地址</em>时,这条指令应该保存在这个<em>地址</em>内。 加载<em>地址</em>:程序保存在Nand flash中的<em>地址</em>。 位置无关码:B、BL、M
u-boot移植问题
大家好,小弟新接触嵌入式开发,目前正在学习<em>u-boot</em>的移植。我的开发板是ok6410板子,但是最新的<em>u-boot</em>2012.10上面没有针对该核心的CPU,有smdk6400的,于是我从网上搜索了一下
u-boot移植笔记
 <em>u-boot</em>版本:    <em>u-boot</em>-2012.04.01 pc机系统:ubuntu 12.04.5 开发板:TQ2440 1.新建一个单板目录 进入board/samsung/目录,执行 cp -rf smdk2410 smdk2440 进入include/configs目录,执行 cp smdk2410.h smdk2440.h 修改boards.cfg文件,添加2440的单板信息 ...
Linux学习日志(14)- uboot根目录下的config.mk文件学习
本篇要学习的config.mk文件,位于uboot源码的根目录下, 其包含了子目录下许多同名的config.mk。所以千万注意这些同名文件的主次区别  该文件内容主要结构为:        1. 设置各种路径         2. 设置主机环境的编译选项         3. 确定各交叉编译工具        4. 确定各种级别的编译选项        5. 指定链接脚本
U-Boot-2010.12移植到2440
http://www.linuxidc.com/Linux/2011-02/32772.htm 【内容导航】 第1页:编译 第2页:移植在RAM中运行 第3页:DM9000网卡驱动移植 第4页:支持nand flash启动 第5页:yaffs2文件系统移植 第6页:支持内核引导 第1页:编译 20
请问在AUTOCAD环境中如何判断按键是“ESC
<em>请问</em>在AUTOCAD环境中<em>如何</em>判断按键是“ESC”.txt <em>请问</em>在AUTOCAD环境中<em>如何</em>判断按键是“ESC”.txt
U-boot的启动和flash中的位置
2.BootingUp MIPS项目中,必须先启动uboot,在启动Linux系统。以目前手上的案子为例,系统主板上包含一64Mbit或者1Gbit的flash,其内部存有bootloader的二进制文件用于启动系统。 另外包含一些测试、应用软件。一般情况下,Linux系统也会并存于flash上,或者放在CF卡、SATA HD之中均可。   2.1Flash Layout 下图可以直观的了
u-boot 添加设置网卡地址的命令
在common 目录下 Cmd_net.c 中加入  #if defined(CONFIG_CMD_PING) static int do_ping(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { if (argc  return -1; NetPingIP = string_to_ip(argv[1]);
(二)u-boot启动流程分析(汇编部分)
下面的代码基于amlogic的SDK的code示例。 start.S为整个<em>u-boot</em>的入口 start.S (arch\arm\cpu\armv8\start.S) #include #include #include #include #include #include /***************************************************
u-boot如何启动内核
内核启动的三个步骤注:本次分析的<em>u-boot</em>是九鼎官方的<em>u-boot</em>代码 下载<em>地址</em>:链接:http://pan.baidu.com/s/1gfpDZqj 密码:7cqe一 将内核搬移到DDR中 一个完整的软件+硬件的嵌入式系统,静止时(未上电时)bootloader、kernel、rootfs等必须的软件都以镜像的形式存储在启动介质中(X210中是iNand/SD卡);运行时都是在DDR内存中
U-boot引导内核流程分析
当U-boot完成重定位和初始化外设后,它将正式进入工作状态,可以加载内核镜像到DDR的链接<em>地址</em>中了
U-BOOT中SDRAM的初始化分析
转帖: ------------------------------------------------------------最近一直在研究嵌入式的东西,如果我对某项东西或是技术着迷,我会想方设法搞明白我感兴趣的部分,我对我的自学能力越来越有信心了,唉,有点儿自恋了。关于内存时序初始化的部分,我看了很长时间,这处卡着我的学习可能有一个多星期了,很郁闷。现在回想起来,自己卡在这块,主要的原因还是对S3C2440的手册研究得不够透彻,没有仔细看手册,导致好些个关键的地方都忽略过去了。现在进入正题首先说一说时钟
U-Boot 修改MAC地址
1. MAC <em>地址</em>修改>> printenv eth2addr=00:50:43:59:0d:c5 >> setenv eth2addr 00:50:43:89:7d:c6 >> saveenv >> printenv >>> reset# ip add eth1: link/ether 00:50:43:89:7d:c6
u-boot的内存分布和全局数据结构
U-boot,除非在RAM中调试,一般情况下都是从flash中执行一段代码,然后将flash中储存的代码和数据搬移到ram中,然后跳转到ram中执行。当然这应该也是一般的bootloader的执行方式,大家都差不多,但是各个bootloader的内存规划(栈,堆之类的)也 不太一样,而且<em>u-boot</em>还在内存空间中规划了一些用于存放环境变量和一些数据结构的空间,所以如果不了解一下的话,直接看代码的话
u-boot在nandflash中的启动原理
从Nand Flash启动U-BOOT的基本原理 前4K的问题  如果S3C2410被配置成从Nand Flash启动(配置由硬件工程师在电路板设置), S3C2410的Nand Flash控制器有一个特殊的功能,在S3C2410上电后,Nand Flash控制器会自动的把Nand Flash上的前4K数据搬移到4K内部RAM中,并把0x00000000设置内部RAM的起始<em>地址</em>
java中hashcode是怎么算出来的?
java的Object类中有一方法hashcode返回整形:
U-Boot中MAC地址设置及往内核中传递
一、内核参数的传递 U-Boot向Linux驱动传递参数的方式有两种,一为在系统启动的时候由bootloader传入,还有一种是将驱动编译成模块,将参数作为模块加载的参数传入。内核通过setup接口接受Bootloader传入的参数。方式如下:static int __init param_mac_setup(char *str) {……}__setup("mac=", param_mac_set
ARM Uboot经历——Uboot代码重定位
Uboot重定位是uboot启动后的一个重要功能,重定位的目的是为了让uboot运行在速度性能更好的RAM上,一般是从外部RAM搬移到内部RAM。重定位这块说简单也简单,说复杂也复杂,主要涉及到编译和链接等相关原理才能很好的理解整个过程。另外,理解了ARM的重定位,对于Kernel启动过程的重定位也就理解了。 编译器惹的祸 uboot重定位不是简单的copy,归根结底在于gcc的编译和链接过程
系统启动过程(基于三星s5p6818 uboot)
    总结下手中开发板的启动过程,uboot版本为2014.07,参考S5P6818 Application Processor User's Manual。    首先,我们应该知道为什么需要uboot,而不是只知其然,不知其所以然。一言以概之:在我们能够在操作系统下运行程序之前,所有的努力都是为了能够让系统能够被搬运到内存中运行。有了这样的目的性,我们分析理解起来就简单多了。    其实,高...
用uboot烧写内核到smart210
1,写uboot到sd卡,因为smart210可以从sd
移植u-boot学习笔记2-----分析启动过程之内存分布
1、重定位的需求及原理 新的<em>u-boot</em>是nor flash启动,程序的链接<em>地址</em>是0<em>地址</em>,一开始在nor flash的0<em>地址</em>执行,假若某个全局变量也在nor flash的某个<em>地址</em>上,nor flash可以像内存一样读,但不能像内存一样写,程序执行中读取nor flash上存储的某个变量没有问题,但写某个变量不会成功,程序会出现问题,因而需要重定位。程序运行时也要把nor flash上的程序复制到
ARM Uboot经历——Uboot地址问题
讲一个<em>地址</em>问题,主要围绕三个<em>地址</em>来介绍:编译<em>地址</em>,加载<em>地址</em>,运行<em>地址</em>。 其实不光是Uboot,Linux也有这三个<em>地址</em>;这三个<em>地址</em>是存在联系的,用户需要明确的知道这三个<em>地址</em>各代表什么意思,<em>如何</em>去设置和运用。 事先说明的是,这里的三个<em>地址</em>都是首<em>地址</em>,也就是起始<em>地址</em>。 概念 编译<em>地址</em>:在编译Image的时候输入给编译器的<em>地址</em>,编译器在链接的时候会按照指定的<em>地址</em>分配代码和数据; 加载<em>地址</em>:Im
U-boot各种配置 和U-boot源码最为详细的讲解
U-boot原厂版本移植 网址:http://blog.csdn.net/qq_28992301/article/details/51912763 今天开始移植三星原厂的U-boot,做一下笔记,以备日后所需  移植的时候有一点感想,就是最好别注释掉不对的源码,定义的地方千万别动,尽量修改调用的地方,这样可以极大的避免出错;此外加上自己代码的时候应该后面用特殊
u-boot与linux下网卡MAC地址的更改
前言 ①假设有许多开发板,连接到了同一个路由器中,而路由器的dhcpd是根据MAC<em>地址</em>来分配一个固定的IP<em>地址</em>,那么就需要为每一个开发板设定一个不同的MAC<em>地址</em>从而获取不同的IP<em>地址</em>。 ②MAC<em>地址</em>是需要购买的(参考点1),在产品出厂之前,都需要给板子一个MAC<em>地址</em>(如果有对应的设备,例如网卡,Wifi)。且这个MAC<em>地址</em>在出厂后,我们并不期望被更改。 下面简述了嵌入式产品中<em>如何</em>
u-boot 环境变量参数设置
今天本来是烧写内核,结果一不小心把uboot也整不能用了,无奈之下只好重新烧个uboot,等都弄好以后,发现系统还是启动不了,原来是启动参数设置不对,于是找到了这篇文章,//是我添加的内容。 原文<em>地址</em>:http://blog.chinaunix.net/u3/94312/showart_1923637.html 原文:      看到这个标题,可能觉得这个并没有什么的
u-boot 详细介绍 .
Bootloader 对于计算机系统来说,从开机上电到操作系统启动需要一个引导过程。嵌入式Linux系统同样离不开引导程序,这个引导程序就叫作Bootloader。 6.1.1  Bootloader介绍 Bootloader是在操作系统运行之前执行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射表,从而建立适当的系统软硬件环境,为最终调用操作系统内核做好准备。 对
新路程------在uboot中配置ip地址
在/rtc/rc.d/rc.local中加入这么一句话即可 ifconfig eth0 192.168.21.250 &
uboot启动过程(一)
uboot运行有两个阶段,一个阶段是运行在SRAM中的汇编阶段,另一个是运行在DDR中的C语言阶段。我们先进行第一阶段的分析。 start.S文件 start.S文件组成了uboot的第一阶段运行内容,在链接脚本中的代码段中第一句链接的start.o就说明了这一点,我们知道C语言中main函数就是整个程序的入口,在uboot汇编阶段中,程序的入口取决链接脚本中ENTRY声明的部分,我们知道ub
U-boot 之TFTP服务器配置
一.PC端配置 1.关闭防火墙   [root@gliethttp root]# /etc/init.d/iptables stop 2.使用setup启动tftp   [root@gliethttp root]# setup ->System services->选中tftp 3.如果setup中找不到tftp选项,那么你需要rpm包来安装   在redhat9的CD3里可以找到tf
S3C2440与SDRAM与NAND与NOR的地址连线分析
Cecce S3C2440与SDRAM与NAND与NOR的<em>地址</em>连线分析      S3C2440有27根<em>地址</em>线ADDR[26:0],8根片选信号nGCS0-nGCS7,对应bank0-bank7,当访问bankx的<em>地址</em>空间,nGCSx引脚为低电平,选中外设。 2^27=2^7 * 2^10 * 2^10 = 128Mbyte 8*128Mbyte = 1Gbyte 所以S3C2440总的
U-Boot移植--环境变量保存位置
下载Tekkaman移植的U-Boot源码,打开include/configs/mini2440.h头文件,将260行的0X60000改为0X40000: //#define CONFIG_ENV_OFFSET 0X60000 #define CONFIG_ENV_OFFSET 0X40000
u-boot下用dhcp查看目标板的ip
动态主机设置协议(Dynamic Host Configuration Protocol, DHCP)是一个局域网的网络协议,主要的用途是给内部网络自动分配IP<em>地址</em>,局域网中的DHCP服务器就是路由器。 <em>u-boot</em>下的命令:dhcp    - boot image via network using DHCP/TFTP protocol 举例如下:[<em>u-boot</em>@MINI2440]# dhcp...
U-boot如何引导Linux内核启动?
U-BOOT全线移植分析系列之四 ――U-boot<em>如何</em>引导Linux内核启动?   Sailor_forever  sailing_9806@163.com 转载请注明 http://blog.csdn.net/sailor_8318/archive/2008/08/05/2773412.aspx   【摘要】本节介绍了U-boot使用Go或bootm启动linux内核的方法。首先介绍
Exynos4412 Uboot 移植(二)—— Uboot 启动流程分析
U-Boot 属于两阶段的Bootloader,第一阶段的文件为arch/arm/cpu/armv7 /start.S 和 board//lowlevel_init.S,前者是平台相关的,后者是开发板相关的。 uboot启动流程分析如下: 第一阶段: a -- 设置cpu工作模式为SVC模式 b -- 关闭中断,mmu,cache v -- 关看门狗 d -- 初始化内存,串口 e
u-boot.lds链接文件详解
GNU编译器生成的目标文件缺省为elf格式,elf文件由若干段(section)组成,如不特殊指明,由C源程序生成的目标代码中包含如下段: .text(正文段)包含程序的指令代码; .data(数据段)包含固定的数据,如常量、字符串; .bss(未初始化数据段)包含未初始化的变量、数组等。 C++源程序生成的目标代码中还包括 .fini(析构函数代码) .init(
u-boot go命令分析
在<em>u-boot</em>中提供了一个go命令,是可以跳到指定<em>地址</em>执行代码的命令,这实际上是执行了下面的函数:             int do_go(cmd_tbl_t * cmdtp,int flag,int argc,char *argv[]) {        ulong addr, rc;        int rcode = 0;        if (argc
uboot中的虚拟地址映射
1、虚拟<em>地址</em>映射关系 把虚拟<em>地址</em>的以c0000000开头的256MB,映射到DMC0的以30000000开头的256MB物理内存,其他的虚拟<em>地址</em>空间原样映射。 2、DRAM有效范围 DMC0:0x30000000-0x3FFFFFFF DMC1:0x40000000-0x4FFFFFFF 3、链接<em>地址</em>c3e00000,会被映射到33e00000这个物理<em>地址</em>
详解U-Boot中printf函数的实现
详解U-Boot中printf函数的实现一、printf函数调用关系1.1fputc和srial_putc的关系/* * Output a single byte to the serial port. */ void serial_putc (const char c)//发送数据 { S3C24X0_UART * const uart = S3C24X0_GetBase_UART(UAR
u-boot编译与烧录
手上屯了好久的友善tiny210开发板和迅为4412开发板,一直没怎么用,因为课题需要用到嵌入式,需要自己编写一些简单的驱动和应用,于是又拿起了这两块板子。 从最基础的<em>u-boot</em>开始吧,首先就是uboot的烧录,看了两个板子的手册都是不一样的。4412的板子通过超级终端进入uboot模式,首先格式化nand flash,然后用windows上的fastboot.exe将要烧录的镜像文件通过OT
嵌入式u-boot浅析
<em>u-boot</em>主要目的是为操作系统的运行提供准备工作,根据其运行流程简单的分为四部分:_start、board_init_f、relocate_code和board_init_r。其中_start和relocate_code是运行在flash上,而board_init_f和board_init_r是运行于DRAM上的。 下面对其四个部分进行简单的介绍分析: 1、_start 这是<em>u-boot</em>的
U-Boot 中 PING 命令处理流程
U-Boot 中 PING 命令处理流程 这里打算从 U-Boot 的 ping 命令说起。ping 命令是用于测试网络是否和目标网络畅通简单工 具,在 U-Boot 中 ping 命令的使用方法是: ping 比如 ping 192.168.1.100,如果调试的板子和目标 IP 之间的通信畅通的话,将输出如下信 息: host 192.168.1.100 is alive 否则
【ARM-Linux开发】U-Boot启动过程--详细版的完全分析
-------------------------------------------------------------------------------------------------------------------------------------------  我们知道,bootloader是系统上电后最初加载运行的代码。它提供了处理器上电复位后最开始需要执行的初始化代码。
判断uboot启动方式:norflash还是nandflash
在XC2440开发板上做uboot从nandflash启动时,需要检测硬件启动方式,启动方式是由硬件OM管脚决定的,软件无法检测硬件电平状态,但可以根据CPU的启动特性来检测。 通过深入研究2440的启动方式,总结了几点: 如果将S3C2440配置成从NANDFLASH启动(将开发板的启动开关拔到nand端,此时OM0管脚拉低)S3C2440的Nand控制器会自动把Nand
自己写bootloader笔记5---设置u-boot传给内核的参数分析
1、分析 (1)<em>u-boot</em>要启动内核,把内核从flash读到SDRAM ,要调到SDRAM执行,<em>u-boot</em>执行时内核还没执行,内核执行时,<em>u-boot</em>已完结。<em>u-boot</em>传参数给内核(双方约定一个位置),<em>u-boot</em>在那位置存数据,数据格式也要 双方约定好 (2)0x30000000是内存的起始<em>地址</em>,0x30008000<em>地址</em>开始用于存放内核,参数存储双方约定的<em>地址</em>是0x30000100,
u-boot引导zImage内核
<em>u-boot</em>-1.1.6 因为/common/cmd_bootm.c支持的是启动uZimage,而我使用的是zImage,所以决定该写一个可以支持zImage的命令。 <em>u-boot</em>启动过程三步: 1.拷贝内核到SDRAM指定<em>地址</em>(0x30008000) 2.设置传递给linux的参数(0x30000100) 3.跳转到linux内核首<em>地址</em>
u-boot烧写emmc,并从emmc读数据到内存启动内核
使用的是petalinux-v2015.4-final版本编译出来的U-BOOT及image.ub。板子内核芯片为ZYNQ-7021。 mmc info 显示存储设备的信息,在切换到emmc设备下(执行mmc dev 0),执行mmcinfo可看到存储设备各属性信息: 1.使用mmc erase addr blk# cnt    命令把emmc中的部分存储空间清空。mmc erase 0 ...
uboot根目录下的config.mk的分析
在uboot主Makefile中有一段是调用根目录下的config.mk的,本文就对config.mk进行简要的分析。
u-boot详细解析
对于Uboot移植工作,有一些技术细节可能不需要我们搞特别清楚,但是通过分析Uboot源码,可以让我们对uboot整个架构有一个清晰的认识,在进行uboot移植的过程中可以有一个清晰的思路。 <em>u-boot</em> 源码目录 平台相关 Arch Board Include 平台无关 Api Common Disk Doc Driv
OK6410-A开发板学习-④uboot移植(2)
根据上一篇的移植,我们可以尝试load进ram试试能不能起来 将生成的<em>u-boot</em>.bin放到tftpserver,在小板串口上配置好ip然后下载文件,但go之后并没有起来 SMDK6410 # tftp 50000000 <em>u-boot</em>.bin Found DM9000 ID:90000a46 at address 18000300 ! DM9000 work in 16 bus widt
Uboot之u-boot.lds的链接脚本
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") OUTPUT_ARCH(arm) ENTRY(_start) SECTIONS { . = 0x00000000; . = ALIGN(4); .text : { cpu/arm920t/start.o
u-boot编译学习--uboot编译链接过程
参考博客:http://blog.chinaunix.net/uid-18921523-id-165078.html 基于这篇文章设计的产品可参见杭州扩维科技有限公司的网站www.kuoweitech.com U-BOOT是一个LINUX下的工程,在编译之前必须已经安装对应体系结构的交叉编译环境, 这里只针对ARM,编译器系列软件为arm-linux-*。   U-BOOT的下载<em>地址</em>: ...
U-BOOT文件包含关系小解(小白篇)
这一段时间,在看U-BOOT的
《转》u-boot移植烧写步骤、u-boot命令和kernel烧写步骤
转自:《http://blog.sina.com.cn/s/blog_726c4bd20100unjn.html》 移植烧写步骤   1. 解压<em>u-boot</em>源文件 2. 从<em>u-boot</em>/include/configs里找相近的配置,复制成自已的名字 3. 改makefile文件增加目标,比如 mini2440_config: arm   核心s3c24x0
u-boot 分析之 默认环境变量配置
通过上节内容,我们大概了解了Uboot中DDR的配置相关知识,这节我们学习一下默认环境变量配置。在zynq开发的时候,在<em>u-boot</em>阶段,有的环境变量需要在烧录后再设置,在烧录之后都会有一些默认的环境变量比如bootarg等,如果在编译<em>u-boot</em>之前就把自己需要的变量设置好,烧录的时候直接就得到自己想要的变量,这在量产中是很方便的。 在哪里配置呢?经过研习,终于找到了,在这里inclu
U-Boot添加命令的方法及U-Boot命令执行过程
(一)U-Boot启动过程--详细版的完全分析   分类: U_boot知识和移植 2011-10-29 09:42 664人阅读 评论(0) 收藏 举报      ------------------------------------------------------------------------------------------------------------------
u-boot2013.01 使用设备树,设备树获得bootargs过程分析
从linux3.0内核开始,armlinux 使用设备树来组织设备。 在2.6内核使用tags list向内核传递参数的方式。转变为dtb设备树来传递。 本文通过分析<em>u-boot</em>2013.01 源码,弄清楚了以设备树形式传递参数时是<em>如何</em>获得bootargs的。已经最终kernel(0,machid,r2) 中。r2的值是什么。
u-boot移植5:添加自动补全和默认分区表
jz2440的uboot中添加命令行自动补全和默认的分区表
请问带宽是怎么计算出来的?
无内容!
(一) u-boot 基本介绍
U-Boot,全称 Universal Boot Loader,是遵循GPL条款的开放源码项目。U-Boot的作用是系统引导。 U-Boot从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是根据相应的Linux内核源程序进行简化而形成的,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。一、u
2440超详细uboot移植笔记(十三)------设置环境变量保存地址
你好!这里是风筝的博客, 欢迎和我一起交流。 a.在uboot启动信息上,我们课看到: Warning:bad CRC 这是因为我们的环境变量参数没有存到Flash上,现在我们来解决这个问题   b.在开发板的uboot界面上输入: ? Save 可以看到提示给我们的是saveenv这个函数, 我们可以在env_nand.c(路径:common\env_nand.c)这个文件上看...
调试u-boot的方法
 在刚刚开始学习<em>u-boot</em>的移植的时候,自然是从网上下载源代码,然后从网上找一些别人移植的经验,然后根据别人的方法一步一步地去改,当然我也是这样做的。但是这样做就有个问题,当你按照别人的办法修改好了<em>u-boot</em>,好不容易把编译时的错误都排除掉,编译链接通过,然后通过并口download到nandflash上,一上电,如果串口有输出,那么恭喜你,你很幸运,但这种情况的概率很少,绝大多数情况下串口都
u-boot下的内存操作命令mw与md
mw [内存<em>地址</em>] [值] [长度] 例如: mw 0x02000000 0 128 表示修改<em>地址</em>为0x02000000~0x02000000+128的内存值为0.   //----------------------------------------------------------------------- 显示:   md [内存<em>地址</em>] [长度] 例如: md 0x0
u-boot移植总结(二)LED点灯调试 和 u-boot加载地址
FL2440电路LED有三个寄存器控制,GB
新解U-Boot下的TFTP传输文件
环境信息: 笔记本操作系统:Win 7 Vmware:VMware-workstation-full-10.0.1-1379776.exe Linux:rhel-server-6.3-i386 Board:GT2440 网线:自制交叉网线          U-Boot移植好后,第一次用TFTP协议往ARM上烧写文件总会出现这样那样的问题,但所谓“好事多磨”,解决问题的过程就是进步的过程。不要
UBOOT移植详细 很全面
一.预备知识: 1.       首先,U-Boot1.3.4还没有支持s3c2440,移植仍是用2410的文件稍作修改而成的。 2.       2440和2410的区别: 2440和2410的区别主要是2440的主频更高,增加了摄像头接口和AC‘97音频接口;寄存器方面,除了新增模 块的寄存器外,移植所要注意的是NAND FlASH控制器的寄存器有较大的变化、芯片的时钟频
实验十四——————IP地址划分和静态路由
实验内容1、使用可变长子网掩码(VLSM)划分子网:2、利用静态路由实现各个网络的连通,并利用默认路由优化路由表实验目的熟练掌握IP<em>地址</em>的划分掌握静态路由和默认路由的基本配置,实现不同网络的互联互通实验步骤1、求下列<em>地址</em>的网络变化和广播<em>地址</em>172.16.10.255   /16192.168.1.47    /27<em>地址</em>网络编号广播<em>地址</em>172.168.10.255/16172.16.0.0/1617...
u-boot-2016.05移植:(5)、支持DM9000网卡
1、在<em>u-boot</em>-2016.05\include\configs\smdk2440.h中修改/* * Hardware drivers */ #define CONFIG_CS8900 /* we have a CS8900 on-board */ #define CONFIG_CS8900_BASE 0x19000300 #define CONFIG_CS8900_BUS16
使用u-boot_2016_01启动mini2440(二)uboot内存分布
启动内存的分布主要是在board_init_f内划分的
通过git获取u-boot
可以查找<em>u-boot</em>官网,通过命令行使用git clone git://git.denx.de/<em>u-boot</em>.git <em>u-boot</em>远程克隆一个版本库,然后使用使用git tag查看release tag版本信息再使用git checkout “tag"获取需要的版本
u-boot移植第五弹——2013.10u-boot通过tftp下载到内存中运行
本次修改是很重要的,实现的功能是不必通过SD卡启动<em>u-boot</em>,使用tftp功能下载<em>u-boot</em>到内存然后使用go命令直接跳转到对应的内存<em>地址</em>即可。 为什么说本次移植很重要呢,原因是为了调试方便。可以试想,如果每次修改都需要用SD卡,可以想象工作量有多大,很没效率,而使用tftp方式就方便快捷多了,几条命令就行了。好了开始介绍怎么修改。 首先添加宏定义#define CONFIG_SK
IP地址、网络号、主机号
192.168.1.120 /255.255.255.0 <em>如何</em>算出它的网络号.主机号 这个从二进制角度说比较方便。 首先把<em>地址</em>和掩码转换为二进制(熟了就不用了) IP<em>地址</em>:11000000.10101000.00000001.01111000 掩码:11111111.11111111.11111111.00000000 (掩码24个1,就是说这个<em>地址</em>是24位掩码的) 掩码为1的
uboot的relocation原理详细分析
所谓的relocation,就是重定位,uboot运行后会将自身代码拷贝到sdram的另一个位置继续运行,这个在uboot启动流程分析中说过。 但基于以前的理解,一个完整可运行的bin文件,link时指定的链接<em>地址</em>,load时的加载<em>地址</em>,运行时的运行<em>地址</em>,这3个<em>地址</em>应该是一致的, relocation后运行<em>地址</em>不同于加载<em>地址</em> 特别是链接<em>地址</em>,ARM的寻址会不会出现问题?
uboot编译地址与运行地址
转载<em>地址</em>:http://blog.csdn.net/silent123go/article/details/53140200 (1)什么是编译<em>地址</em>    32位的处理器,它的每一条指令是4个字节,以4个字节存储顺序,进行顺序执行,CPU是顺序执行的,只要没发生什么跳转,它会顺序进行执行行, 编译器会对每一条指令分配一个编译<em>地址</em>,这是编译器分配的,在编译过程中分配的<em>地址</em>,我们称之为编译<em>地址</em>。
uboot下phy的工作
UBOOT的PHYCHIP配置 PHYCHIP的配置位于 include/configs/XXX_config.h中 #define CONFIG_YYY_ETH #define CONFIG_YYY_ETH_SPI_BUS 0 #define CONFIG_YYY_ETH_SPI_CS 0 代码流程 Uboot下PHYCHIP的驱动代码由一些函数构成,这些函数包含在文件PHYCHIP
U-BOOT启动linux的过程
原文链接:http://www.cnblogs.com/amanlikethis/p/3614594.html uboot启动linux的过程  一、概述   linux内核镜像常见到的有两种形式,zImage和uImage。这两种文件的格式稍有差别,所以启动这两种格式的内核镜像也会有所不同。目前,uboot只支持启动uImage类型的镜像,对zImage还不支持(但是可以移
文章热词 计算机导论培训 设计制作学习 统计学稳健估计opencv函数 交互设计视频教程 决策树算法评价标准熵
相关热词 ios获取idfa server的安全控制模型是什么 sql android title搜索 ios 动态修改约束 未来的云计算 如何学习云计算的专业
我们是很有底线的