当前位置: 技术问答>linux和unix
S3C2416从NAND Flash启动系统思路
来源: 互联网 发布时间:2016-11-30
本文导语: 本帖最后由 heshanxingzhe 于 2011-04-16 15:12:33 编辑 目前系统的启动情况是:uboot在NOR flash中,上电从nor flash启动,到uboot命令行时,手动加载服务器上的uImage到内存中,然后从内存启动。 #tftp 0x30007fc0 uImage #bootm 顺利进...
#tftp 0x30007fc0 uImage
#bootm
顺利进入系统(参考附件)。
想改为:不要手动加载服务器上的uImage,改成从nand flash加载,即从本地启动。
我目前的思路是:把rootfs放到nand中,然后挂接nand中的文件系统,实现开发板的本地启动,当然当前的uboot也是要修改的。
但我不知道这样行不行,且以前没有弄这方面的东西,不知道具体流程是怎么样,应该弄些什么,请哪位大侠了解或做过的指点一下,多谢了!
附1:目前的启动过程:
U-Boot 2010.06 (Dec 23 2010 - 20:00:58) for SMDK2416
CPU: S3C2416@400MHz
Fclk = 800MHz, Hclk = 133MHz, Pclk = 66MHz
Board: SMDK2416 DDR2
DRAM: 64 MiB
Flash: 0 Bytes
NAND: 128 MiB
In: serial
Out: serial
Err: serial
Net: dm9000
Hit any key to stop autoboot: 0
J2534# tftp 0x30007fc0 uImage
dm9000 i/o: 0x28000300, id: 0x90000a46
DM9000: running in 16 bit mode
MAC: 00:40:5c:26:0a:5b
could not establish link
Using dm9000 device
TFTP from server 192.168.0.201; our IP address is 192.168.0.200
Filename 'uImage'.
Load address: 0x30007fc0
Loading: T T #################################################################
#################################################################
##############################################################
done
Bytes transferred = 2800036 (2ab9a4 hex)
J2534# bootm
## Booting kernel from Legacy Image at 30007fc0 ...
Image Name: Linux-2.6.36
Created: 2011-01-21 2:28:54 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2799972 Bytes = 2.7 MiB
Load Address: 30008000
Entry Point: 30008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 2.6.36 (root@virtual-linux) (gcc version 4.4.5 (crosstool-NG-1.9.0) ) #468 Fri Jan 21 10:14:13 CST 2011
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] Machine: SMDK2416
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] CPU S3C2416/S3C2450 (id 0x32450003)
………………………………………………
………………………………………………
………………………………………………
[ 1.645000] eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
[ 2.410000] IP-Config: Complete:
[ 2.410000] device=eth0, addr=192.168.0.200, mask=255.255.255.0, gw=192.168.0.1,
[ 2.415000] host=192.168.0.200, domain=, nis-domain=(none),
[ 2.420000] bootserver=192.168.0.201, rootserver=192.168.0.201, rootpath=
[ 2.430000] Looking up port of RPC 100003/2 on 192.168.0.201
[ 2.480000] Looking up port of RPC 100005/1 on 192.168.0.201
[ 2.630000] VFS: Mounted root (nfs filesystem) on device 0:14.
[ 2.645000] devtmpfs: mounted
[ 2.645000] Freeing init memory: 152K
[ 5.625000] yaffs: dev is 32505858 name is "mtdblock2" rw
[ 5.625000] yaffs: passed flags ""
[ 5.655000] yaffs: dev is 32505859 name is "mtdblock3" rw
[ 5.655000] yaffs: passed flags ""
Dec 27 00:11:37 J2534 syslog.info syslogd started: BusyBox v1.17.3
[ 8.805000] led name:led0 gpio:45
Starting Wrieless networking...
*************************************
Welcome to J2534 FileSystem!
Please press Enter to activate this console.
Dec 27 00:11:55 J2534 daemon.info init: starting pid 67, tty '': '-/bin/sh'
BusyBox v1.17.3 (2010-12-10 20:18:06 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.
root@J2534:/#
附2:硬件环境
ARM:S3C2416
NOR FLASH: SST39VF6401B(64 Mbit (x16))
NAND FLASH: HY27UF081G2A(128M X 8b)
|
如果你的uboot中有对应的nandflash的驱动,同时也有nandflash的cmd,那就可以直接可以采用类似这样的命令来启动nand read 0xc0008000 0x80000 0x880000;bootm 0xc0008000来启动。不过不仅仅是rootfs还要有image如果你想把nor flash都省了的话,你可以把u-boot.bin image rootfs都烧写在nandflash中。然后在u-boot中的start.S来修改uboot从哪儿读数据。
|
搞个busybox来弄吧
|
这个问题是因为内核没有找到文件系统。
看看你的文件系统放的位置对否?UBOOT传给内核的参数对否?
看看你的文件系统放的位置对否?UBOOT传给内核的参数对否?
|
用uboot 命令 nand write 相应地址
|
nandflash分好区对应依次是 u-boot 、 kernel 、root、 user ,u-boot已经烧好,用nand write 写zImage rootfs.cramfs user.jffs2 到相应地址
|
赞成!
|
内核有问题吧
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。