Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 5053|回復: 9
打印 上一主題 下一主題

[問題求助] uboot 設定??

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-6-2 19:08:18 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
假設一個系統使用uboot
" L  l- n( H8 p7 Z, }7 }( P上頭已經有nor flash, nand flash, 也有網路3 c% p% K  a4 y# g
nor flash physical address = fe000000 有 32 MB
, b9 u+ g/ ~  b6 C0 Knand flash physical address = fc000000 有 32 MB9 ?# O5 }0 \' _* v% b4 u

/ E! I6 Y0 Y& t9 S; M4 U) p# J請問那麼要如何設定開機使用?/ }% D) n; o% S6 p: G. Y, n9 U
( b* w4 ~2 }& s! l
1) uImage+ramdisk 都在 nand flash 上. H3 z* N' P6 d. i1 L- M
2) uImage+ramdisk 都在 nor  flash 上
6 o- |3 ~& ]: ~3) uImage+ramdisk 都在 tftp server 上! l# n) Z7 s+ a% {' w& N
4) uImage在nand flash, ramdisk在nor flash
, \" N$ V+ P8 G5) uImage在 tftp server, ramdisk在 nand flash
  p$ z- |2 t  p- F4 ?% y8 w6) uImage在 nor flash, rootfs使用nfs
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
 樓主| 發表於 2009-6-24 11:00:08 | 只看該作者
uImage+ramdisk 都在 tftp server 上

3 o7 }  Z# a" E5 r/ N$ j假設記憶體有512 MBytes2 u/ f0 q6 W8 J7 ?" C

& K; d2 C  p- T" ba. set bootargs
1 Z  E4 r1 `# }/ ~7 Cset bootargs root=/dev/ram0 rw console=ttySAC0,115200 mem=512M ramdisk=32768 initrd=0x2800000,20M init=/linuxrc! s$ t1 Q& q8 y+ i

0 d* [4 ]4 s: ib. download uImage. J& x- Y9 d2 M& A6 p; t
tftpboot 0x2000000 uImage-test! ~  L* s- g  F, Y, \4 D- _
4 Q2 o) i" Y& v# g
c. download ramdisk6 _- ~, |# m5 M0 T! R4 E
tftpboot 0x2800000 ramdisk.img
1 ^2 B+ F. Z# a: e( u& U( q3 m2 a; d  T1 V3 ^$ i/ k( `% B' o* \' T
d. boot from memory
7 }0 h6 H7 Y9 K5 Z/ sbootm 2000000
3#
發表於 2009-10-13 20:06:00 | 只看該作者

回復 2# 的帖子

補充一下, # }% V) O* E) g0 I
gogojesse文中的 console=ttySAC0 是當target board的linux kernel為2.6.x版時,
7 n3 E) k3 k* G& A若為 2.4.x之前, 則要用 console=ttyS0
1 a; J* g$ l. U
" k5 U& p. f2 J+ z; d  M; ][ 本帖最後由 sieg70 於 2009-10-13 08:14 PM 編輯 ]
4#
發表於 2009-11-27 09:29:08 | 只看該作者
why my linux2.6 ttyS0 works ok?
# c2 H( a* C0 ?4 o2.6.15
5#
 樓主| 發表於 2009-11-28 01:03:30 | 只看該作者
沒仔細深入這個問題1 B. E+ }* q# b' i3 ?
不過印象中會用到哪個tty當作serial console可以分幾個步驟:
3 U# w; r9 v) @, L! t7 z+ k/ R5 b4 K7 W  g
第一是 serial console 的 driver 在被 load 的時候開機訊息有時候可以看到是『console [ttyS0] enabled』,其實這個時候還不知道root files system裡頭的device node是對應到哪一個,對driver來說,她會指定服務某個(major, minor)的device node3 S1 }: x% {9 _3 _
第二是 root file system有沒有對應這組(major, minor)的device node,萬一沒有的話,應該也會造成開起 serial console 失敗。
; e: x" f' A- |: O5 S第三是 進入到root file system之後,init script還是有權力更改各種console的生成像是tty0, tty1等等。以前有些控制可以載 /etc/inittab 做,現在有些distribution已經改用其他機制。
6#
 樓主| 發表於 2009-11-28 01:14:33 | 只看該作者
nor flash physical address = fe000000 有 32 MB: M- S( {; ~, E$ _7 f- z
6) uImage在 nor flash, rootfs使用nfs
: p. |' K) X& K+ @' W
4 H) @5 x, z3 d  T! h
a) 首先,必須將uImage拷貝到ram上某個位置5 O4 G) m$ Z5 B7 G! y" P7 X+ l
b) 因為要用nfsroot所以網路也要先設置好
' r7 u7 u( d) _; ]c) Jump to uImage
( Q9 w; `. `0 M- o" m6 c, ]/ x, g' \% D& e( i
# cp.b 0xfe000000 0x800000 300000   (從flash放到RAM 0x800000的地方去)
( U! @  B: L0 }# E# dhcp  (取得ip或是直接用setenv ipaddr xx.xx.xx.xx)" t; Q4 l' U5 D  `( V) N
# setenv serverip oo.oo.oo.oo  (設定nfsroot server ip)
4 A2 p1 O  H% I6 a/ p# setenv root=/dev/nfsroot rw nfsroot=oo.oo.oo.oo:/rootfs/
7#
 樓主| 發表於 2009-11-28 01:28:48 | 只看該作者
nand flash physical address = fc000000 有 32 MB
* a3 T0 D: [) s' O5 k6 ^6 \+ T, R3 F, C  J4 `  P% B. Q
1) uImage+ramdisk 都在 nand flash 上

+ z) @+ e" h: ?: @  g4 h6 ^) i
* \; B# {) i* g假設uImage放在nand上offset 0x0的地方(size = 0x300000),ramdisk放在offset 0x300000的地方, size = 32768
$ G1 g2 Y5 A5 ^  X& N/ t! `/ B% S# r: q: E* M
a) 先將uImage載入到 0x800000) n" Q& L, i/ z: a4 r
# nand read.jffs2 800000 0 300000, P: T7 d5 ^9 F. j/ m$ I* f

6 r, m3 x3 ^1 y$ ob) 將ramdisk載入到 0x2800000 的位置
, t" l- T+ I3 U9 b+ e% b# nand read.jffs2 2800000 0x300000 327685 p0 a) f# l3 C3 ?. l) H4 {
, i3 A2 c( y/ {" d/ g
c) 載入到memory,就如同load ramdisk的bootargs,可以參考之前
8 _" E% j1 R! ybootargs root=/dev/ram0 rw console=ttySAC0,115200 mem=512M ramdisk=32768 initrd=0x2800000,20M init=/linuxrc7 N0 r3 C: A8 Z# w

$ r7 {6 B# K; s0 P9 u6 Y9 q" H下去修改使用
8#
 樓主| 發表於 2009-11-28 01:33:02 | 只看該作者
本帖最後由 gogojesse 於 2009-11-28 01:34 AM 編輯
" o3 Y# s$ R8 ?
nor flash physical address = fe000000 有 32 MB% S6 P7 S- I) n
2) uImage+ramdisk 都在 nor  flash 上

9 y% g% X8 \5 l5 k, k# F$ s0 Y: g
a) 先將uImage載入到 0x800000
. Y( j+ k# j1 h% c. ], H# cp.b 0xfe000000 0x800000 300000   (從flash放到RAM 0x800000的地方去)" I$ o6 J: ?9 }* ]5 R
/ X: h1 D7 n8 o6 _
b) 將ramdisk載入到 0x2800000 的位置& E" B# ?( Q8 P0 }
# cp.b 0xfe300000 0x2800000 8000 (從flash放到RAM 0x2800000的地方去)
* \" S4 z; ]9 J9 g; q- E, L1 a! |8 u: M( A. D6 F6 O
c) 參考uImage & ramdisk都在memory中的後續動作。/ S5 n( u$ Q& ^# U, d0 @3 W

* Y: r4 U  D+ Y5 n& T2 L, Y: x: C4) & 5)應該就呼之欲出,不再累述。
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-5-17 07:25 AM , Processed in 0.106013 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表