Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] uboot 設定??

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-6-2 19:08:18 | 顯示全部樓層 回帖獎勵 |倒序瀏覽 |閱讀模式
假設一個系統使用uboot
6 {( T" I+ x* j" e上頭已經有nor flash, nand flash, 也有網路) N  B" J3 V8 F2 V) C- T
nor flash physical address = fe000000 有 32 MB% s$ Y, I/ \( a" \$ ^
nand flash physical address = fc000000 有 32 MB
( f( B5 d% R5 e& ]7 W7 C  G5 s7 t# G. j! a1 \- f. h) X0 s
請問那麼要如何設定開機使用?, q" N, s1 Z& d/ D
3 Q1 @6 |" r0 c$ d, ~
1) uImage+ramdisk 都在 nand flash 上! t. [  Y& i+ U2 i* j0 q, l2 x0 ~
2) uImage+ramdisk 都在 nor  flash 上
  x; `! Z5 ~) O* A6 |0 Q3) uImage+ramdisk 都在 tftp server 上) S8 K/ C5 D0 _0 j+ a! M) J
4) uImage在nand flash, ramdisk在nor flash
( q: J- K/ Z9 p/ Y' M- T5) uImage在 tftp server, ramdisk在 nand flash' u& A* S& ?2 w8 F% W
6) uImage在 nor flash, rootfs使用nfs
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
 樓主| 發表於 2009-6-24 11:00:08 | 顯示全部樓層
uImage+ramdisk 都在 tftp server 上
+ d% z6 P. |/ }" o' D
假設記憶體有512 MBytes! m5 S0 o" t( v" x  A. q

5 t9 c. H1 w/ Z, t* [) f# Ca. set bootargs
; t6 |3 P1 j4 u! e( Uset bootargs root=/dev/ram0 rw console=ttySAC0,115200 mem=512M ramdisk=32768 initrd=0x2800000,20M init=/linuxrc
9 Z2 {/ t3 Z, v" j: Q+ i
1 f; P. j& v, V' pb. download uImage
4 ]8 \4 n# n- Rtftpboot 0x2000000 uImage-test
; k/ I* F6 p+ M4 X: V' T2 R9 ~. o  g1 K  _' S9 S
c. download ramdisk
. q& q+ ]/ b$ ?: w/ G% Ztftpboot 0x2800000 ramdisk.img" b' g# [4 A* P# Z" B
2 F4 w) F# M8 e+ a3 D. ?
d. boot from memory, U% c: k$ P6 h9 [/ ]% O
bootm 2000000
3#
 樓主| 發表於 2009-11-28 01:03:30 | 顯示全部樓層
沒仔細深入這個問題% [/ ]6 W( e8 z: v
不過印象中會用到哪個tty當作serial console可以分幾個步驟:) ^7 W, K! `; `+ }0 I9 F
" N& t) I' z6 N! r5 H+ j. `2 f9 y
第一是 serial console 的 driver 在被 load 的時候開機訊息有時候可以看到是『console [ttyS0] enabled』,其實這個時候還不知道root files system裡頭的device node是對應到哪一個,對driver來說,她會指定服務某個(major, minor)的device node6 G7 M, }6 P, A; \, }
第二是 root file system有沒有對應這組(major, minor)的device node,萬一沒有的話,應該也會造成開起 serial console 失敗。
: P; L8 o9 ^  y9 w+ H$ t第三是 進入到root file system之後,init script還是有權力更改各種console的生成像是tty0, tty1等等。以前有些控制可以載 /etc/inittab 做,現在有些distribution已經改用其他機制。
4#
 樓主| 發表於 2009-11-28 01:14:33 | 顯示全部樓層
nor flash physical address = fe000000 有 32 MB6 I: J; ~" S: i
6) uImage在 nor flash, rootfs使用nfs
7 g  F! J7 m& ]

3 t- k( u  \! L1 u; w. k: |a) 首先,必須將uImage拷貝到ram上某個位置
' k* R9 q+ E5 a: Lb) 因為要用nfsroot所以網路也要先設置好
$ S. q& Z1 [$ ]1 X4 ?% O1 P+ g; ic) Jump to uImage% i- f# y4 l. y$ K# F
8 J! ^3 V& o: [
# cp.b 0xfe000000 0x800000 300000   (從flash放到RAM 0x800000的地方去)
" |7 C) H& l5 g/ y; X0 n1 r# dhcp  (取得ip或是直接用setenv ipaddr xx.xx.xx.xx), }# i, ~6 ^; C: E2 D2 m
# setenv serverip oo.oo.oo.oo  (設定nfsroot server ip)
6 ]8 K/ A* s. [" ^8 U# setenv root=/dev/nfsroot rw nfsroot=oo.oo.oo.oo:/rootfs/
5#
 樓主| 發表於 2009-11-28 01:28:48 | 顯示全部樓層
nand flash physical address = fc000000 有 32 MB9 w/ Y5 f( `9 B) z# o  m* m) v. ~

% H; `1 }3 g- b' o1) uImage+ramdisk 都在 nand flash 上
2 ?# N+ |- a) }# v% B

8 U/ U# l' f5 Z2 h8 A" u4 k假設uImage放在nand上offset 0x0的地方(size = 0x300000),ramdisk放在offset 0x300000的地方, size = 32768( B6 M- z3 {+ r

# ^2 [0 D% M& }: C. x. t4 _" N3 g, na) 先將uImage載入到 0x8000007 v$ T/ K" E- q$ E+ P/ N5 u7 Q, E
# nand read.jffs2 800000 0 3000004 A- P; Z+ H5 U) U5 C
9 [& t; s  \7 H- t% L! v
b) 將ramdisk載入到 0x2800000 的位置/ V! [2 q6 ^# E; a3 N& _) @
# nand read.jffs2 2800000 0x300000 32768
* q# @1 i. ]7 O. ]5 V8 P
6 c5 z$ Y% ^+ f- D: j" a; x) dc) 載入到memory,就如同load ramdisk的bootargs,可以參考之前
# ?; C8 k0 P7 ], h; t$ V1 dbootargs root=/dev/ram0 rw console=ttySAC0,115200 mem=512M ramdisk=32768 initrd=0x2800000,20M init=/linuxrc$ X* k/ f" B; G" G
5 Q% P# [7 U4 ~* x8 V; h
下去修改使用
6#
 樓主| 發表於 2009-11-28 01:33:02 | 顯示全部樓層
本帖最後由 gogojesse 於 2009-11-28 01:34 AM 編輯
# x; t9 d) `. s
nor flash physical address = fe000000 有 32 MB
# i% Z3 k8 ]: [$ B- m4 u2) uImage+ramdisk 都在 nor  flash 上

) F0 r- h  g& L2 s- o8 }7 r& Y3 O6 O0 f; g. O4 q2 J0 V& G
a) 先將uImage載入到 0x800000
4 Q$ z2 k7 p2 U0 ~5 H' C# cp.b 0xfe000000 0x800000 300000   (從flash放到RAM 0x800000的地方去)
9 P* W4 M$ k) I. r2 T8 [5 K: N4 C$ W# T8 N. G
b) 將ramdisk載入到 0x2800000 的位置
# K0 m3 X* A- ^. M/ l# cp.b 0xfe300000 0x2800000 8000 (從flash放到RAM 0x2800000的地方去)" k: B- O+ F/ L( ?
) ^6 c) l2 k! E. e
c) 參考uImage & ramdisk都在memory中的後續動作。
5 i* `8 K; l( J* V( x; v$ r3 g4 V
* o' P: X9 i4 x  j" @% M% e, i4) & 5)應該就呼之欲出,不再累述。
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-6 09:11 PM , Processed in 0.124016 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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