Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] uboot 設定??

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-6-2 19:08:18 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
假設一個系統使用uboot& c7 ]: y# _2 v4 l9 \1 v
上頭已經有nor flash, nand flash, 也有網路* Z  w: v( [1 C
nor flash physical address = fe000000 有 32 MB  C7 a& Z! Q  X2 w4 M, v
nand flash physical address = fc000000 有 32 MB) p& j- Y' d" p) x& N& l( W7 }
0 u8 m% O+ r2 U6 S0 W% a! Q& F
請問那麼要如何設定開機使用?; W) U3 f, ?$ o  B6 g7 V1 v3 T
% D2 E" q2 p0 H# N+ \: _! B
1) uImage+ramdisk 都在 nand flash 上
1 _! F/ {5 a. j  M6 D" _2) uImage+ramdisk 都在 nor  flash 上
6 |/ _- i6 S, C3 f% Y; p  u# ~3) uImage+ramdisk 都在 tftp server 上
- X/ E  D+ `/ ]4) uImage在nand flash, ramdisk在nor flash
1 ]" w$ K6 x5 ^( _7 Q5) uImage在 tftp server, ramdisk在 nand flash
. ]# F7 s" Z, \) f6) uImage在 nor flash, rootfs使用nfs
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
 樓主| 發表於 2009-6-24 11:00:08 | 只看該作者
uImage+ramdisk 都在 tftp server 上

' S( k( i, G& d, g6 t( a* @假設記憶體有512 MBytes
# T+ }$ K8 k2 ]7 R0 s/ g5 R- ^
  ~, S# |/ U7 N$ Ga. set bootargs
. ]) t. ^' f$ ^& W  i+ H* Uset bootargs root=/dev/ram0 rw console=ttySAC0,115200 mem=512M ramdisk=32768 initrd=0x2800000,20M init=/linuxrc7 C4 a& c4 h4 B+ m" z

: X: r4 M% U# @$ u1 Ab. download uImage
7 e5 t6 U/ u) U! E0 Etftpboot 0x2000000 uImage-test# v- j/ R: i# o! a8 |; x

& f; k/ K% o' Q( v6 ~c. download ramdisk2 h# m3 R2 U/ F( C2 _
tftpboot 0x2800000 ramdisk.img
- o0 E- v- N6 V3 g( _4 Z( J+ P& q) U$ P! A( T8 W( d* ^3 Z& r
d. boot from memory
0 \: M  }+ `" Q0 Ubootm 2000000
3#
發表於 2009-10-13 20:06:00 | 只看該作者

回復 2# 的帖子

補充一下, 0 p$ R  T, p0 s
gogojesse文中的 console=ttySAC0 是當target board的linux kernel為2.6.x版時,3 \: X6 ]- f, A+ h6 T7 k
若為 2.4.x之前, 則要用 console=ttyS0) A2 x3 l: n: ^

/ h/ V7 V3 d7 S& E& }2 M! e% }[ 本帖最後由 sieg70 於 2009-10-13 08:14 PM 編輯 ]
4#
發表於 2009-11-27 09:29:08 | 只看該作者
why my linux2.6 ttyS0 works ok?& U, N) v3 i- P% p9 V# k
2.6.15
5#
 樓主| 發表於 2009-11-28 01:03:30 | 只看該作者
沒仔細深入這個問題( x. K: _; [; T7 Y
不過印象中會用到哪個tty當作serial console可以分幾個步驟:
. a& o1 \1 E- W+ h  z! x6 l+ f! F6 K& U6 g+ m
第一是 serial console 的 driver 在被 load 的時候開機訊息有時候可以看到是『console [ttyS0] enabled』,其實這個時候還不知道root files system裡頭的device node是對應到哪一個,對driver來說,她會指定服務某個(major, minor)的device node
1 B) B: {. V/ e: B: I6 T! M& {第二是 root file system有沒有對應這組(major, minor)的device node,萬一沒有的話,應該也會造成開起 serial console 失敗。
) i. j2 {  |2 M第三是 進入到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
1 }! I3 k7 y& ]6 _: c& w4 g6 U, g6) uImage在 nor flash, rootfs使用nfs
' e- Q( T$ ~# ?, u9 R
- c- ~1 M- c! U" j6 x
a) 首先,必須將uImage拷貝到ram上某個位置
4 r$ {$ e7 J- F- ?6 K! ?b) 因為要用nfsroot所以網路也要先設置好
0 a* U& J# {; q! Nc) Jump to uImage
5 y- g1 i- U% |
' r* ?' s2 O' i2 r6 C. I4 k# cp.b 0xfe000000 0x800000 300000   (從flash放到RAM 0x800000的地方去)
+ z" R, X; @# L6 Z$ L  T# dhcp  (取得ip或是直接用setenv ipaddr xx.xx.xx.xx)+ ~# I* A' ^) ?0 d: ^) W
# setenv serverip oo.oo.oo.oo  (設定nfsroot server ip)
: z- Y/ P0 I3 P! U$ M# 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
/ n& E. ], |8 J5 C- M/ Z. [3 z; b5 G7 @5 Y
1) uImage+ramdisk 都在 nand flash 上
7 H* E" z4 k& C, P7 B5 b0 H# w, B
) g* h* A" t6 D  u- w+ f
假設uImage放在nand上offset 0x0的地方(size = 0x300000),ramdisk放在offset 0x300000的地方, size = 32768
" {+ y0 a) ^  k3 Y0 K9 n  x1 E4 q' R1 |. @+ x" f
a) 先將uImage載入到 0x800000; `. V' _" O+ X& h0 s
# nand read.jffs2 800000 0 300000
7 f8 q& o, X3 e4 m5 F
0 M! X% Q+ N6 w8 qb) 將ramdisk載入到 0x2800000 的位置$ u8 D, Z9 i5 ^: \! P4 \5 L; q6 K, Z
# nand read.jffs2 2800000 0x300000 327683 H- o% L( A- s0 R7 N
4 P/ o; L' {/ T0 H" h  `
c) 載入到memory,就如同load ramdisk的bootargs,可以參考之前
, B8 e8 k7 Y& I- J; @bootargs root=/dev/ram0 rw console=ttySAC0,115200 mem=512M ramdisk=32768 initrd=0x2800000,20M init=/linuxrc
% I+ o, A: m7 `* C1 q* `- O6 F' ~" G
下去修改使用
8#
 樓主| 發表於 2009-11-28 01:33:02 | 只看該作者
本帖最後由 gogojesse 於 2009-11-28 01:34 AM 編輯 2 o! s3 |0 l  X9 E" X# k4 `
nor flash physical address = fe000000 有 32 MB4 w9 [8 a' Z1 j
2) uImage+ramdisk 都在 nor  flash 上
1 J* N: }- I+ i
/ @* v8 m7 x; P- a# f
a) 先將uImage載入到 0x800000
2 }* V7 Z: S8 r  }9 Z# cp.b 0xfe000000 0x800000 300000   (從flash放到RAM 0x800000的地方去)
! s  t; k7 Z  ]) F. y3 d. }, `5 c) T* w2 K) w0 w
b) 將ramdisk載入到 0x2800000 的位置( b, c/ g0 w" w5 w: K5 Q9 Y
# cp.b 0xfe300000 0x2800000 8000 (從flash放到RAM 0x2800000的地方去)
7 }4 E( M+ L, o5 N! _7 A8 m- j4 o: o+ X
c) 參考uImage & ramdisk都在memory中的後續動作。
4 z3 o9 b( X/ j4 _
' g9 {) W" g( ]( A4) & 5)應該就呼之欲出,不再累述。
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-6 03:30 PM , Processed in 0.108006 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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