以smdk2410为例,在lib_arm/board.c中的start_armboot函数中, 1,有这样一行代码:gd->bd->bi_ip_addr = getenv_IPaddr ("ipaddr"),我认为这是获取配置文件include/configs/smdk2410.h中设置的IP地址,把这个IP地址保存到gd->bd->bi_ip_addr 中。可见这一行并没有把IP地址写进cs8900中。 2,然后在下面有这样一行代码:cs8900_get_enetaddr (gd->bd->bi_enetaddr),我认为这是读取“cs8900外接eeprom中的MAC地址”,并把获取的MA...
head.S初始化过程 首先根据PowerPC ABI规范,保存r3,r4,r5,r6,r7。然后调用early_init。由于此时内存还没有完全初始化,因此在early_init中首先要调用 reloc_offset来计算当前代码实际运行的位置和链接地址之间的偏移,以保证后继代码能够正确运行。 relocl_offset在arch/ppc/kernel/misc.S中 _GLOBAL(reloc_offset) mflr r0 /* 保存返回地址在r0中*/ bl 1f /* 跳转到1标号的所在的地址,这是当前代码所在的物理地址,这样 ...
首先,porting linux的时候要规划内存影像,如小弟的系统有64m SDRAM, 地址从0x 0800 0000 -0x0bff ffff,32m flash,地址从0x0c00 0000-0x0dff ffff. 规划如下:bootloader, linux kernel, rootdisk放在flash里。 具体从 0x0c00 0000开始的第一个1M放bootloader, 0x0c10 0000开始的2m放linux kernel,从 0x0c30 0000开始都给rootdisk。 启动: 首先,启动后arm920T将地址0x0c00 0000映射到0(可通过跳线设置), 实际上从0x...
首先,porting linux的时候要规划内存影像,如小弟的系统有64m SDRAM, 地址从0x 0800 0000 -0x0bff ffff,32m flash,地址从0x0c00 0000-0x0dff ffff. 规划如下:bootloader, linux kernel, rootdisk放在flash里。 具体从 0x0c00 0000开始的第一个1M放bootloader, 0x0c10 0000开始的2m放linux kernel,从 0x0c30 0000开始都给rootdisk。 启动: 首先,启动后arm920T将地址0x0c00 0000映射到0(可通过跳线设置), 实际上从0x0...
我用的ARM系列的PNX8400处理器,原来用的是Spi Flash作为启动设备;那我现在想改成NAND Flash启动。我改了硬件片选 CS0到NAND Flash;然后在uboot中将NAND Flash的基地址改为原来SFC的基地址,并重新写了环境变量。 结果是,当通过串口下载了uldr和uboot后可以引导NANDFlash中的内核启动,但是断电重启时,却无法自启动uboot; 请问:如何可以在NAND Flash中启动uboot? 多谢,不胜感激额。
s3c2410+HY57V561620FTP-H+K9F1208UOB+AM29LV160DB 我已经把u-boot-2008.10编译出来,然后用hjtag下载进了nand flash,我用minicom识别不了com1,即/dev/ttyS0。 接下来我应该啷个搞呢? 求救。
在lowlevel_init中,为什么要执行下面这个代码? ldr r0, =SMRDATA ldr r1, _TEXT_BASE sub r0, r0, r1 执行lowlevel不是由bl cpu_init_crit ->bl lowlevel_init进入的吗?这个时候程序应该还不是在SDRAM中的吧,应该还存在与bank0的映射了的吧?那sub r0,r0,r1这条语句不就错了吗?不能理解!!
按照安装说明,将uboot启动所需的文件均拷贝到SD卡中启动系统,可是启动起不来,显示加载失败, Read file u-boot00.bin error[0]. 请问是可能是说明原因? 之前都启动正常 刚刚我加了个对以太网的支持,居然启动不起来了,去掉刚才做的修改,还是启动不起来,不知道是什么原因。 [ 本帖最后由 angelawushuang 于 2010-1-15 16:27 编辑 ]
请问一下~~~ uboot启动的时候会等待输入信息, 现在我想串口接收到特定的字符后,才进入下载模式。而不是any key。 我找到common/main.c中 tstc()这个函数是用来接收内容的,但他是用来返回0 1的。。。我现在找不到这函数的函数体。。。希望指点一下~