uboot的总结
free2011
这个作者很懒,什么都没留下…
展开
-
搭建一个代码的交叉编译和调试平台
写总结是一个很必要的事情,这从我弄uboot到现在快三个月的时间才弄明白的事。 要从事嵌入式偏软件的开发,平台的搭建是个很重要的事情,我自己摸索了好久,每个安装都费了很大的劲才安装成功。 我用的arm7tdmi的核 所以开发用的交叉编译调试工具是(arm-elf是基于arm7的核的,不支持MMU,使用uclib库) arm-elf-tools-2004。。.sh那原创 2010-02-01 17:07:00 · 474 阅读 · 0 评论 -
U-boot版本中支持的所有命令
<br />由于U-boot支持的命令实在太多,一个一个细讲不现实,也没有必要。所以下面我挑一些烧写和引导常用命令介绍一下,其他的命令大家就举一反三,或者 “help”吧!<br />(1)获取帮助<br />命令:help 或 ?<br />功能:查看当前U-boot版本中支持的所有命令。<br />[u-boot@MINI2440]#help<br />?- alias for'help'<br />askenv - get environment variables from stdin<br />b转载 2010-07-09 15:35:00 · 1314 阅读 · 0 评论 -
引导内核的CONFIG_SETUP_MEMERY_TAGS参数
<br />U-BOOT 在启动内核时,会向内核传递一些参数.而这些参数是通过 struct tag来传递的。U-boot 把要传递给 kernel 的东西保存在 struct tag 数据结构中,启动 kernel 时,把这个结构体的物理地址传给 kernel;Linux kernel 通过这个地址分析出u-boot传递的参数。 例如u-boot-1.3.4在arm平台下,该函数的实现位于:lib_arm/Bootm.c文件中. 在文件中有如下代码:(可以参照《完全手册》的244页) #if define原创 2010-07-09 14:45:00 · 620 阅读 · 0 评论 -
uboot中引导操作系统的tag list
<br />注意的一个很重要的文件是lib_arm/armlinux.c,它实现的功能包括设置内核启动参数,并负责将这些参数传递给内核,最后跳转到Linux内核入口函数,将控制权交给内核。<br />具体传递哪些参数,是通过在include/configs/lubbock.c中指定条件编译选项来控制的,对应于lib_arm/armlinux.c中的部分源代码形式如下: <br />#if defined (CONFIG_SETUP_MEMORY_TAGS) || /<br />defined (CONFIG转载 2010-07-09 14:38:00 · 861 阅读 · 0 评论 -
uboot的配置问题 对/include/configs/[boardname].h的修改
<br />原帖地址http://www.foxice.net/techinfo_ubootvxworks3.asp<br /> <br />现在得仔细看看/include/configs/目录下的user8240.h,它使用宏定义控制板上硬件的初始化,从某种意义上来说,是电路板硬件特性的代表文件。其他电路板也类似,控制文件为/include/configs/[boardname].h。你应该已经浏览过user8240.h 了,下面给出了它的内容和注释,为了简略起见,省去了源代码中除了版权声明的原有注释。针转载 2010-07-09 11:22:00 · 3749 阅读 · 0 评论 -
uboot在flash上运行
uboot的start.s文件作用很简单。就初始化和启动芯片等功能。在写start.S的时候,一定注意这个文件在uboot中是一个相对运行的文件,与文件所处的地址无关。而其他的文件都是地址相关的,只能在ram里面运行。(ram或者rom中要修改TEXT_BASE 但环境变量不能在flash中更改,所以还是只能运行在ram)要判断是否该段程序是否地址无关,最好把语句翻成最原始最原始的语句,这原创 2010-03-25 17:51:00 · 1348 阅读 · 0 评论 -
uboot怎样引导内核(总述篇)
1:UBOOT引导Linux内核及向内核传递参数的方式 一直以来没有想过有什么好的办法通过寄存器向内核传递参数,直到今天读UBOOT的实现方式。 在UBOOT中,引导内核最常用的方法是bootm命令,bootm命令可以引导“UBOOT格式”的内核。先花点时间了解一下什么是“UBOOT格式”的内核吧:用UBOOT自带的mkimage命令生成的内核称为"UBOOT"格式的内核。以下面这转载 2010-03-23 15:20:00 · 3084 阅读 · 0 评论 -
atmel的arm启动程序里长期迷惑我的问题已经解决------使用这样的方式使remap后程序得以继续执行
按照下图的说法,可以执行几行指令1. MRS R0,CPSR2. ORR R0,R0,#0x803. MSR CPSR_c,R0 本意就是对CPSR中的I位进行置位 但是执行第一行的话,那么第三行已经开始取指了,第二行已经开始译码了,那么现在R0的值应该还是执行第一行之前R0的值,这样不会产生错误吗? 问题补充:还有就是ARM指令中条件执行为什么能提原创 2010-03-25 01:25:00 · 704 阅读 · 0 评论 -
uboot中实现跳转到ram中的实现
阅读一下ld相关的资料就可以知道,通过培植lds连接脚本或者在连接时提供相应的参数,可以控制连接生成的代码的起始地址,这里的起始地址有2个: 1. VMA 2. LMA 其中,VMA可以认为是程序运行时,认为自己的起始地址,就是他的所有的symbol的地址的基址,即如果访问一个symbol,那么这个symbol的地址应该是VMA+symbol在代码内的偏移地址。 而LMA转载 2010-03-22 09:36:00 · 816 阅读 · 0 评论 -
uboot引导内核2
Uboot对非Linux kernel的引导2008-06-04 11:05 作者:sixth 来源:赛迪网 [摘要] 实现了uboot对非linux kernel的引导。虽然有一个IH_TYPE_STANDALONE,但是没有实现。nnd。只能自己想办法。实现详细见下面。<br />[关键字] Linuxkernel引导 实现了uboot对非linux kernel的引导。虽然有一个IH_TYPE_STANDALONE,但是没有实现。nnd。只能自己想办法。实现详细见下面。 <br /><br />转载 2010-08-11 17:09:00 · 552 阅读 · 0 评论