嵌入式开发者社区

标题: 关于文件系统的烧写地址 [打印本页]

作者: hefeislb2000    时间: 2014-12-30 16:34
标题: 关于文件系统的烧写地址
在烧写文件系统到Nand Flash 上时,怎么确定要开始烧写的地址阿,只要在uImage后面就行了吗?  在uboot 环境变量里面是否需要设置文件系统的起始地址阿?: w5 \- ~2 y+ U

7 k- t0 G6 y8 M
作者: 2532609929    时间: 2014-12-30 17:41
通过UBOOT参数区读取nand flash分区,读到ddr2的0xc0700000 ,然后运行,具体UBOOT参数请看如下。* m" P* E8 o3 m& p
3 r# m  i+ S: w6 S* [2 [- O
如不希望使用 U-Boot 默认的启动顺序启动系统,可以根据实际需求设置特定方式启; X. E5 ^; }% h
动参数,以下为部分启动方式举例:
0 x3 M( R# W- p! x2 M4 z/ I6 u8 j3.1 SD 卡方式启动% h5 L0 v6 n7 E5 m. p8 \
U-Boot > setenv bootcmd 'mmc rescan 0;fatload mmc 0 0xc0700000 uImage; bootm
: m  l' V8 }( S2 N( E) W0 kc0700000'* K* ~+ G3 O4 N" \$ V+ h
U-Boot > setenv bootargs ${mem_args} eth=${ethaddr} 'console=ttyS2,115200n8
& E( T0 H- V8 X. u$ droot=/dev/mmcblk0p2 rw rootfstype=ext3'
3 a* k& t+ K7 ?" NU-Boot > saveenv
9 {. n1 B$ h/ ^3.2 NAND FLASH 方式启动4 X, x5 g. G8 @& I7 @/ Q
U-Boot > setenv bootcmd 'nboot.e 0xc0700000 0 0x120000; bootm'& j2 M7 s& z6 z" s# p! z
U-Boot > setenv bootargs ${mem_args} eth=${ethaddr} 'console=ttyS2,115200n8 ip=off
  D: J0 V" S4 N) Rubi.mtd=4,2048 root=ubi0_0 rootfstype=ubifs'# L* m4 ~' {3 J1 W" s. K) a
U-Boot > saveenv
. S, ?( e& F$ O- y+ b2 H"ip=off"表示不自动获取网路 IP,如需自动获取网络 IP,请将"ip=off"改为"ip=dhcp"。0 E: h$ @- ]! a. D7 O
但是,若设置了自动获取网络 IP,而此时实际并没有接入网络,系统会不断的检测网络
. ^0 J& l* y4 h2 O9 m4 S是否接入而导致系统启动时间将较长。
9 Q6 m. k4 n, s" g. M3.3 网络方式启动
5 Q& u4 a& M0 l% T( j  yU-Boot > setenv serverip 192.168.1.1 62 //请根据实际情况修改服务器 IP
9 e9 S$ k# V; n6 A' wU-Boot > setenv bootfile ${serverip}:uImage //请根据 tftp 实际情况修改内核镜像名字
/ ]3 r3 w" t3 IU-Boot > setenv nfsrootfs '/home/tl/omapl138/rootfs' //请根据实际情况修改 NFS 文件
" S- l( W, B+ t* i" u3 o系统路径
$ b! B/ [  |2 e3 D8 x0 {8 b; ZU-Boot > setenv bootcmd 'dhcp;bootm'
( e4 u# K& v$ D6 tU-Boot > setenv bootargs ${mem_args} eth=${ethaddr}$ U# f- \- c6 ~
nfsroot=${serverip}{nfsrootfs} ,nolock rw 'console=ttyS2,115200n8 ip=dhcp root=/dev/nfs'4 P3 S; p% V/ o7 }8 N
U-Boot > saveenv" W: j. i( P7 Z9 n+ t# i
销售邮箱: sales@tronlong.com 技术邮箱: support@tronlong.com DSP 论坛: www.51dsp.net/ S) W0 H* a9 y* O& j
公司总机: 020-8998-6280 公司官网: www.tronlong.com 9/14
( Y: i: t4 I6 g! ~DSP+ARM+FPGA$ A4 d5 D. }' z% s: R
三核主板方案领导者
) r9 f$ ]4 [# b; B虽然在以上方式中, uImage 和文件系统都是在保存同一种存储介质, 但从 U-Boot 的6 q8 n% b! ~/ u7 J/ T: Q3 Z& F7 L
启动参数可以看出, uImage 和文件系统的加载和启动是通过独立 U-Boot 命令设置的。也
5 R- G; v, M: ?: L0 ?" z- u3 a8 C就是说可通过不同 U-Boot 命令的搭配,实现加载和启动存放在不同存储介质中的 uImage4 u( c: j6 I, ^0 B% {) X4 B
和文件系统。 以 uImage 在 NAND FLASH、文件系统在 SD 卡为例, U-Boot 设置命令如; k) Q! w0 x/ ^4 E  z
下:2 P8 s: P+ y( @
U-Boot > setenv bootcmd 'nboot.e 0xc0700000 0 0x120000; bootm'
$ @7 K" \3 k) ^4 d6 M; W( UU-Boot > setenv bootargs ${mem_args} eth=${ethaddr} ' console=ttyS2,115200n80 O% K. R! W! h
root=/dev/mmcblk0p2 rw rootfstype=ext3'. O' ^0 X4 }' F' [0 u& B
U-Boot > saveenv5 S( n7 h, E7 |- I2 Q7 c

作者: hefeislb2000    时间: 2014-12-30 20:11
如果文件系统和内核都在Nand  Flash上呢, uboot命令是否也需要配置文件系统的地址阿?1 L; }- X8 Z+ ^. ]$ J2 t& s$ A
8 U: q9 l$ ?+ s; O3 g
; M% k5 n  y2 X$ ?2 r
7 V" ~+ r+ X9 O- ]: i

作者: hefeislb2000    时间: 2014-12-30 20:14
hefeislb2000 发表于 2014-12-30 20:11' b! H4 s* p/ w8 d# N
如果文件系统和内核都在Nand  Flash上呢, uboot命令是否也需要配置文件系统的地址阿?

7 f. y: l7 Y" d% g! ?如果我修改了文件系统的烧写地址,是否要修改uboot代码阿 ?
' h/ Y5 Q7 I( Y# d
作者: tenny    时间: 2014-12-31 10:36
U-Boot > setenv bootargs ${mem_args} eth=${ethaddr} ' console=ttyS2,115200n8; Q1 I/ j, S0 w+ D+ v+ W5 Z$ w5 U* J/ o) X: S  G
root=/dev/mmcblk0p2 rw rootfstype=ext3'9 j  w, z  K+ e& ^6 M7 |/ G& u
' D" m& ~- P9 y6 G  D+ V3 H
文件系统的能否正确挂载与文件系统的烧写地址无关,指定文件系统的所在的 mtd分区就可以了,mtd 分区在 nand flash 驱动里面进行配置6 l+ M5 w1 u: R" z7 K  z

作者: hefeislb2000    时间: 2014-12-31 14:41
mtd分区在nand Flash驱动里面配置,是指在内核中通过make menuconfig 配置吗?  C; K: H7 G& r

作者: 2532609929    时间: 2014-12-31 18:43
内核源码固定的了,不建议修改这个。- R7 {( E- S; O! l





欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4