Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] uboot 設定??

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-6-2 19:08:18 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
假設一個系統使用uboot9 ?7 [" L. }& J) C3 e' d# t# x  a
上頭已經有nor flash, nand flash, 也有網路
) o% D2 z; d& P: b% Wnor flash physical address = fe000000 有 32 MB
# e2 z! Y. r6 b: Anand flash physical address = fc000000 有 32 MB
$ O3 e+ {8 i+ ~8 L* G
; T* M7 k; Y7 c0 Y請問那麼要如何設定開機使用?: p, z# _4 j  |6 m! }

" i8 j6 ?7 e' }: x  l% n  X0 H7 W( H1) uImage+ramdisk 都在 nand flash 上" V8 v- N0 D0 p+ \0 ^% D  o
2) uImage+ramdisk 都在 nor  flash 上
9 E- Z" D9 x; H) t. r$ N) A3) uImage+ramdisk 都在 tftp server 上. b0 T. L* {& J* N
4) uImage在nand flash, ramdisk在nor flash
0 V) U' A. C; d6 z& T, O% s% n; A3 C0 T5) uImage在 tftp server, ramdisk在 nand flash
& l1 ~; a, Q: H' h6) uImage在 nor flash, rootfs使用nfs
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
 樓主| 發表於 2009-6-24 11:00:08 | 只看該作者
uImage+ramdisk 都在 tftp server 上

$ a+ p6 {( G& H3 A9 r1 p' K# a! `假設記憶體有512 MBytes
- ]) g, u( x- f" Q6 i+ p0 a% Q+ B6 A2 E" j
a. set bootargs( L, Q( [1 A" \+ y7 L
set bootargs root=/dev/ram0 rw console=ttySAC0,115200 mem=512M ramdisk=32768 initrd=0x2800000,20M init=/linuxrc- y  x/ ]" C( f5 J: X+ j

# q. h! P( A8 W, W& Fb. download uImage6 T( u/ Q9 R- H, k
tftpboot 0x2000000 uImage-test" \) x: f1 S4 o5 A  X( y2 {

; ]# C/ G' T  [: g* E1 Yc. download ramdisk
; A) z7 C- m5 Ttftpboot 0x2800000 ramdisk.img
- X- M  J4 L, F6 ]: Y2 f) l5 q2 b% i* w* q. K" D$ W6 ~# K* Q/ |
d. boot from memory
$ ^: j, H, Z/ `" x! jbootm 2000000
3#
發表於 2009-10-13 20:06:00 | 只看該作者

回復 2# 的帖子

補充一下, $ g% C# B) w8 ~4 p, ]
gogojesse文中的 console=ttySAC0 是當target board的linux kernel為2.6.x版時,- G& W3 d) o( w& e
若為 2.4.x之前, 則要用 console=ttyS03 P% M& T+ o8 `  V9 A0 C
8 [6 K$ Q8 w& c0 B$ |
[ 本帖最後由 sieg70 於 2009-10-13 08:14 PM 編輯 ]
4#
發表於 2009-11-27 09:29:08 | 只看該作者
why my linux2.6 ttyS0 works ok?
$ U5 M' j+ r" m2 Y2.6.15
5#
 樓主| 發表於 2009-11-28 01:03:30 | 只看該作者
沒仔細深入這個問題
( C4 O! _$ t) ?& M- g不過印象中會用到哪個tty當作serial console可以分幾個步驟:  C/ G3 h5 S5 P! g
7 o: [& S. j2 |/ v- f  p& j+ ^
第一是 serial console 的 driver 在被 load 的時候開機訊息有時候可以看到是『console [ttyS0] enabled』,其實這個時候還不知道root files system裡頭的device node是對應到哪一個,對driver來說,她會指定服務某個(major, minor)的device node
% S( L! {% B" R+ Q& l% s9 ?第二是 root file system有沒有對應這組(major, minor)的device node,萬一沒有的話,應該也會造成開起 serial console 失敗。
% P8 @6 \% Q, P' `/ \第三是 進入到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: \  i3 V- @# O! k5 w
6) uImage在 nor flash, rootfs使用nfs
0 C% j7 w' S9 y7 E

7 Z: w; N; I* N- t# Z( xa) 首先,必須將uImage拷貝到ram上某個位置3 G" c" k: v9 a# a/ t3 |; {- J
b) 因為要用nfsroot所以網路也要先設置好
3 a9 D( M1 w% p! v) kc) Jump to uImage7 G+ o$ j! j4 o' x3 Z5 \
7 e; t, a0 l" w# q+ x$ E
# cp.b 0xfe000000 0x800000 300000   (從flash放到RAM 0x800000的地方去)
+ M% l8 q) o  h$ R7 G4 `# dhcp  (取得ip或是直接用setenv ipaddr xx.xx.xx.xx)# g3 A8 n. `2 z
# setenv serverip oo.oo.oo.oo  (設定nfsroot server ip)
5 g( w% \! C* w9 I$ B# 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
! a# D2 p5 f7 l# i* Y7 J9 S
4 g. k  p  G$ |1) uImage+ramdisk 都在 nand flash 上

6 D& Q7 X2 b" m$ o* m, U$ ]
* I. H( ^% H3 y; f. X假設uImage放在nand上offset 0x0的地方(size = 0x300000),ramdisk放在offset 0x300000的地方, size = 32768) t+ A% W! w( s% j1 O: u

, H; V7 M6 j9 ^: D+ da) 先將uImage載入到 0x800000
$ r  A; {7 V, v* [- P# nand read.jffs2 800000 0 300000
7 [' M  f- p/ I7 u, i# D3 m% x; |8 A" v$ u9 o% v6 E
b) 將ramdisk載入到 0x2800000 的位置
+ n/ l6 q, Y2 \# n# nand read.jffs2 2800000 0x300000 32768
6 E, b( y( x& e. p* t( j3 S0 r4 V( L- x: U) H/ l+ \# }
c) 載入到memory,就如同load ramdisk的bootargs,可以參考之前; @1 X; [2 _8 m1 I; z
bootargs root=/dev/ram0 rw console=ttySAC0,115200 mem=512M ramdisk=32768 initrd=0x2800000,20M init=/linuxrc
* v$ p' y9 G! f$ _. j
: ^* Q4 V2 X$ g  o2 j下去修改使用
8#
 樓主| 發表於 2009-11-28 01:33:02 | 只看該作者
本帖最後由 gogojesse 於 2009-11-28 01:34 AM 編輯
7 A2 X( a, L8 I7 _
nor flash physical address = fe000000 有 32 MB3 T& e1 l2 U' g# _
2) uImage+ramdisk 都在 nor  flash 上
1 v% W! ^6 T8 y9 T

6 S+ B1 v: Q; Wa) 先將uImage載入到 0x800000
/ G) v7 y7 z9 ^6 s  O7 t# }# cp.b 0xfe000000 0x800000 300000   (從flash放到RAM 0x800000的地方去)
& l2 h' ?% K! M% b: W( L6 D" l- M! M- V
b) 將ramdisk載入到 0x2800000 的位置  K- K2 H. t, N4 }" A8 t/ h7 V6 H
# cp.b 0xfe300000 0x2800000 8000 (從flash放到RAM 0x2800000的地方去)* W7 W9 d1 t( V7 |' p

% s) y! ^" [5 ~$ v5 zc) 參考uImage & ramdisk都在memory中的後續動作。% b7 F: S7 [. v. M, G
" `. ]- h( l2 ]
4) & 5)應該就呼之欲出,不再累述。
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-15 01:09 AM , Processed in 0.118015 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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