Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] uboot 設定??

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-6-2 19:08:18 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
假設一個系統使用uboot/ p3 V$ F/ ?$ \4 }) e
上頭已經有nor flash, nand flash, 也有網路* `0 @3 V- w$ _! D
nor flash physical address = fe000000 有 32 MB4 B- m2 R+ a$ Q* C2 t+ L0 c. Q* K! z
nand flash physical address = fc000000 有 32 MB
5 f$ h/ `: `0 n( t. a. [* d; x+ R) N/ D% a5 {& n9 |0 a
請問那麼要如何設定開機使用?/ x( ~0 u. M6 g, w* B% N

$ N. W8 B; ]+ @: a% {* Y3 o& E  E' |, h1) uImage+ramdisk 都在 nand flash 上5 k+ G! }6 ~2 G0 o+ O& f
2) uImage+ramdisk 都在 nor  flash 上
2 |6 i( ]- D! a8 |# O" z. Y/ U3) uImage+ramdisk 都在 tftp server 上8 p4 M3 m5 J; @3 b2 t9 |! |
4) uImage在nand flash, ramdisk在nor flash" ]+ r" w" b4 F4 W' X  k4 @
5) uImage在 tftp server, ramdisk在 nand flash
# e% f' {( [, b$ g. p- t6) uImage在 nor flash, rootfs使用nfs
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
 樓主| 發表於 2009-6-24 11:00:08 | 只看該作者
uImage+ramdisk 都在 tftp server 上

$ \) T% C, s3 U假設記憶體有512 MBytes
# v& y' R/ z, v: c
4 R! s' D' J. s) Q. l' Ja. set bootargs( F% F: ?0 ]$ s$ e( i' ~
set bootargs root=/dev/ram0 rw console=ttySAC0,115200 mem=512M ramdisk=32768 initrd=0x2800000,20M init=/linuxrc
7 S9 q4 P3 m( ?9 n2 ^8 d! b' u! E: }- B3 G) y
b. download uImage0 F8 x! t1 D5 C' n. e
tftpboot 0x2000000 uImage-test1 k% z% @% n1 _: K2 U
$ |5 ?. p; [% @) D* _7 l. Q* t
c. download ramdisk2 r5 M7 ]. O& Y) B: \. W
tftpboot 0x2800000 ramdisk.img: ]+ X# S% e% d; v% r2 S1 r

. _+ k3 {5 n1 Ed. boot from memory
9 c4 }$ z% V8 r5 V6 vbootm 2000000
3#
發表於 2009-10-13 20:06:00 | 只看該作者

回復 2# 的帖子

補充一下, 3 {* S" d7 p: m) t
gogojesse文中的 console=ttySAC0 是當target board的linux kernel為2.6.x版時,
$ s! T& M5 m0 L4 S2 _9 A# H" i若為 2.4.x之前, 則要用 console=ttyS0
3 {& s9 C2 L9 U+ e
# H. _1 i: Y9 b[ 本帖最後由 sieg70 於 2009-10-13 08:14 PM 編輯 ]
4#
發表於 2009-11-27 09:29:08 | 只看該作者
why my linux2.6 ttyS0 works ok?8 k, f3 J% U; `' g) H
2.6.15
5#
 樓主| 發表於 2009-11-28 01:03:30 | 只看該作者
沒仔細深入這個問題
8 W) `% Q5 S* e/ l) o不過印象中會用到哪個tty當作serial console可以分幾個步驟:; p  I; Y( C1 T& S1 o. L

7 }  g% }& m9 e, I. f第一是 serial console 的 driver 在被 load 的時候開機訊息有時候可以看到是『console [ttyS0] enabled』,其實這個時候還不知道root files system裡頭的device node是對應到哪一個,對driver來說,她會指定服務某個(major, minor)的device node' S# J; m7 b- s- S* ^
第二是 root file system有沒有對應這組(major, minor)的device node,萬一沒有的話,應該也會造成開起 serial console 失敗。
- _; ~; \6 f" \3 t第三是 進入到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$ T: x: c+ D$ e+ p* U
6) uImage在 nor flash, rootfs使用nfs
; w+ u& }. R9 z3 ~6 F/ x: [# U1 w
8 ?6 ]/ O4 C$ \4 [0 j( i) b2 E! H2 u
a) 首先,必須將uImage拷貝到ram上某個位置
5 ?, w/ j) H' ?; d, X2 C, Kb) 因為要用nfsroot所以網路也要先設置好& ^& O+ x+ M, ~2 V; @6 G5 _
c) Jump to uImage
0 I7 e1 P7 |, K3 K2 [# D7 y8 k: X
# cp.b 0xfe000000 0x800000 300000   (從flash放到RAM 0x800000的地方去)4 N8 Q+ |( l$ v" R) A# k
# dhcp  (取得ip或是直接用setenv ipaddr xx.xx.xx.xx)+ w% s2 v( o9 D6 y
# setenv serverip oo.oo.oo.oo  (設定nfsroot server ip)
7 b. \7 C# l: Y# 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
2 W4 i; V/ C# Q* c! T$ X
( x0 \; V8 g6 r" ?3 v: ^* _1) uImage+ramdisk 都在 nand flash 上
. f$ a+ h% V" p0 P3 t/ A$ [6 y7 O
# Z9 n0 r: C& y2 e
假設uImage放在nand上offset 0x0的地方(size = 0x300000),ramdisk放在offset 0x300000的地方, size = 32768
2 x; L8 r2 r1 ~% i6 t( c( v8 P8 }5 C6 f  u- g  ]$ J. z% q+ d7 B
a) 先將uImage載入到 0x800000
1 s; V7 {. M) e6 x% u4 P5 Y& m# nand read.jffs2 800000 0 300000: g" W. j% T( D7 F
1 i) r; c/ z2 x$ f. c
b) 將ramdisk載入到 0x2800000 的位置9 h" J" u/ m3 S8 h+ L
# nand read.jffs2 2800000 0x300000 32768
% l! ?. o* m, k3 j; s: X5 I$ t5 ^' F% n( q
c) 載入到memory,就如同load ramdisk的bootargs,可以參考之前# u- }) N0 _" ], M7 [+ _- ]
bootargs root=/dev/ram0 rw console=ttySAC0,115200 mem=512M ramdisk=32768 initrd=0x2800000,20M init=/linuxrc
! k; H1 Q$ N* P- [" B1 A/ \; t% _& X. M6 X- o& w
下去修改使用
8#
 樓主| 發表於 2009-11-28 01:33:02 | 只看該作者
本帖最後由 gogojesse 於 2009-11-28 01:34 AM 編輯 % X8 X+ V: r5 p5 T3 A5 V
nor flash physical address = fe000000 有 32 MB( ^. N0 E$ c' B' O( d
2) uImage+ramdisk 都在 nor  flash 上

) J; c8 a2 k0 y( X, b) ~# @' ?! @" {: l9 X/ K1 ?. v" e
a) 先將uImage載入到 0x800000
1 E+ j2 }3 ]4 b- F7 m# cp.b 0xfe000000 0x800000 300000   (從flash放到RAM 0x800000的地方去)7 F- n- Z9 O8 X" L
$ e; Q' v/ X: @- [! h+ D
b) 將ramdisk載入到 0x2800000 的位置( R+ T3 J0 J/ m1 m; K! f5 s9 l
# cp.b 0xfe300000 0x2800000 8000 (從flash放到RAM 0x2800000的地方去)! r# p6 b4 l; f9 W, ]
% E& V) j$ x% q0 F* b/ m6 `. F
c) 參考uImage & ramdisk都在memory中的後續動作。
3 l2 s9 w* h+ s# s7 R# l9 }$ c
) z$ K, Q  Y/ J' \; j# k! o: c4) & 5)應該就呼之欲出,不再累述。
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-19 12:09 PM , Processed in 0.106514 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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