2012年(42)
分类: LINUX
2012-04-26 09:35:23
Uboot启动流程:
cpu/start.s----àlib_arm/bord.c中的start_armboot()函数-----àcomman/min.c中的main_loop()函数。
**********************************************************************************
烧uboot.bin文件:
连接j-link线后进入j-link ARM中查看j-link是否连好---------》打开j-flash ARM -------》进入options-------》project settings中设置cpu及flash-------》把uboot.bin文件拖进j-flash中--------》Target(点Auto)或直接按F7烧uboot.bin到norflash中-----------》断开j-link------------》打开超级终端------------》设置好com口-----------》在开发板中按复位键----------》就可以看到打印信息了(注意3秒内要按Eter键,否则会因为找不到内核死掉)
***************************************************************************************
擦除nandflash:
nand erase 0 8000000
从tftp上下载uImage:
1、打开tfpt服务器
2、tftp 32000000 uImage-------》配置ip地址
****************************************************************************************
从usb中运行uimage命令 : usb start
***************************************************************************************
@$(MKCONFIG) $(@:_config=) arm arm920t xyd2440 NULL s3c24x0 arm指定了平台及lib_arm库、arm920t指定了cpu的型号、xyd2440指的是board中的xyd2440文件夹以及include文件夹中的xyd2440.h文件
***************************************************************************************
从tftp上下载了内核(uImage)之后把内核烧入nandflash中(在烧写之前必须要先擦除nandflash):
nand write.jffs2 32000000 100000 0x350000
烧入之后从内存中读取内核:
nand read.jffs2 32000000 10000 0x350000
启动内核:
bootm 32000000
****************************************************************************************
从u盘启动内核:(修改include中的xyd2440_config中的CONFIG_BOOTCOMMAND)
usb start;fatload usb 0 32000000 uImage; bootm 0x320000000
*****************************************************************************************
作业:
1、怎样通过U盘启动内核?
2、把内核的编译文件uImage放在U盘中,怎样实现:1.按着一个按键,打开电源实现从U盘启动内核 2.不按按键则正常实现u-boot的打印信息,但不启动内核?