Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] uboot 設定??

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-6-2 19:08:18 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
假設一個系統使用uboot
! z( k4 e* v( c* X上頭已經有nor flash, nand flash, 也有網路) [6 Y. p, i% B4 y" X
nor flash physical address = fe000000 有 32 MB
2 q# S. f  S+ C+ |. z7 l$ R+ Bnand flash physical address = fc000000 有 32 MB$ T; T4 G+ p6 _: n6 C$ o2 J
" ~' V% Q( v+ W0 i7 n
請問那麼要如何設定開機使用?1 v0 `4 v4 O1 H; H9 c6 P/ Z! b
$ B3 ^+ _" ]3 n0 p0 x9 c
1) uImage+ramdisk 都在 nand flash 上8 h, a" o6 X$ H9 }
2) uImage+ramdisk 都在 nor  flash 上
) ^  g+ l5 r4 E$ z6 S5 d5 F$ \; ?3) uImage+ramdisk 都在 tftp server 上
3 z$ P' n" ~8 |* W4) uImage在nand flash, ramdisk在nor flash2 a4 f8 w/ Z" K% T- S( U& s
5) uImage在 tftp server, ramdisk在 nand flash- {$ [  I. Z; z& k6 _
6) uImage在 nor flash, rootfs使用nfs
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
 樓主| 發表於 2009-6-24 11:00:08 | 只看該作者
uImage+ramdisk 都在 tftp server 上

& j$ E+ a- w9 F1 H9 R2 N假設記憶體有512 MBytes4 y. l3 ]. t4 l  w7 n' V

# k' r5 [" F) B/ Y( u" U6 ^8 xa. set bootargs- B" R( B8 L/ Y% N& a. B
set bootargs root=/dev/ram0 rw console=ttySAC0,115200 mem=512M ramdisk=32768 initrd=0x2800000,20M init=/linuxrc
) [* p/ x# d% ~1 M2 h# u7 C! |. m, a2 A! s) q
b. download uImage7 E6 A  i& B% `
tftpboot 0x2000000 uImage-test
5 q% b! n1 \, v- a
8 ?2 t: Y' K" ^7 {+ p* Pc. download ramdisk
8 p+ S7 V2 ^- W2 J$ v; m$ _tftpboot 0x2800000 ramdisk.img1 c* U2 Q; ^- \5 H, J; H

: g6 H4 J3 r3 f) ~# l  C  Zd. boot from memory4 e, J( `' b# X/ D$ O" b
bootm 2000000
3#
發表於 2009-10-13 20:06:00 | 只看該作者

回復 2# 的帖子

補充一下, 0 k8 F* j4 Y2 X5 Z
gogojesse文中的 console=ttySAC0 是當target board的linux kernel為2.6.x版時,0 ]: I6 y- R! o3 n
若為 2.4.x之前, 則要用 console=ttyS0# u! r: y$ c( y' r  r* a
' b& h3 N# N" m% g  |( \
[ 本帖最後由 sieg70 於 2009-10-13 08:14 PM 編輯 ]
4#
發表於 2009-11-27 09:29:08 | 只看該作者
why my linux2.6 ttyS0 works ok?& }7 |' O( ?; j$ N
2.6.15
5#
 樓主| 發表於 2009-11-28 01:03:30 | 只看該作者
沒仔細深入這個問題
/ [, Y" M) M9 I不過印象中會用到哪個tty當作serial console可以分幾個步驟:
2 f" [3 O# z6 O, P% }8 _, |& U( L
( y' A1 P  n2 l! i第一是 serial console 的 driver 在被 load 的時候開機訊息有時候可以看到是『console [ttyS0] enabled』,其實這個時候還不知道root files system裡頭的device node是對應到哪一個,對driver來說,她會指定服務某個(major, minor)的device node* I1 M9 Y; Y' e) B; N& D, g
第二是 root file system有沒有對應這組(major, minor)的device node,萬一沒有的話,應該也會造成開起 serial console 失敗。
6 l2 Z2 V4 U+ e8 H% F第三是 進入到root file system之後,init script還是有權力更改各種console的生成像是tty0, tty1等等。以前有些控制可以載 /etc/inittab 做,現在有些distribution已經改用其他機制。
6#
 樓主| 發表於 2009-11-28 01:14:33 | 只看該作者
nor flash physical address = fe000000 有 32 MB6 e( C" q6 P5 S  u. K9 d! X
6) uImage在 nor flash, rootfs使用nfs
# g& b; @) {& {
. \( B) G3 I8 ]  J; M$ q% {; ~
a) 首先,必須將uImage拷貝到ram上某個位置0 [% Q* Z* A  s8 Y+ f
b) 因為要用nfsroot所以網路也要先設置好
6 ]0 H9 u" e6 }4 W( R$ Q5 Nc) Jump to uImage
3 R9 h7 }9 n& `* M4 b
) l. n2 v5 ~& e. h& R& \/ I# cp.b 0xfe000000 0x800000 300000   (從flash放到RAM 0x800000的地方去)7 X" `' X6 W9 M9 }1 n! v1 m* Q
# dhcp  (取得ip或是直接用setenv ipaddr xx.xx.xx.xx)% y, Z* }2 O. I. ~! F
# setenv serverip oo.oo.oo.oo  (設定nfsroot server ip)# N: X4 x) p7 Z. J
# 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
, b/ f; y% \: k+ o1 f1 G0 \: Q6 I' K( m9 p8 f
1) uImage+ramdisk 都在 nand flash 上

, z+ J$ M* d( v% _. b8 Y- o# f# h/ _3 M2 ]7 m7 |
假設uImage放在nand上offset 0x0的地方(size = 0x300000),ramdisk放在offset 0x300000的地方, size = 32768
0 ^3 f* Y' R/ F; j0 Z. l, ~$ x5 g/ X( ~5 f4 E
a) 先將uImage載入到 0x800000
# B! r) P/ o- ]/ O* w0 }) ?* F9 W# nand read.jffs2 800000 0 300000
0 U; E: I1 T  J1 \1 K! T7 _; s% f9 G9 L6 L
b) 將ramdisk載入到 0x2800000 的位置
( {* N4 C/ ?& E9 I! L7 C# nand read.jffs2 2800000 0x300000 32768
, D# ?! [% {, O; q4 [+ \1 M' x1 H" l: \! v
c) 載入到memory,就如同load ramdisk的bootargs,可以參考之前
% B1 q3 X+ g' Mbootargs root=/dev/ram0 rw console=ttySAC0,115200 mem=512M ramdisk=32768 initrd=0x2800000,20M init=/linuxrc
: [3 N! v0 W, d  b* i+ H# x/ a5 Q. m/ P* j2 E# o6 d  h
下去修改使用
8#
 樓主| 發表於 2009-11-28 01:33:02 | 只看該作者
本帖最後由 gogojesse 於 2009-11-28 01:34 AM 編輯 . S( x6 U7 x) H" r' |+ A
nor flash physical address = fe000000 有 32 MB
* s# V2 X. P7 z2) uImage+ramdisk 都在 nor  flash 上
3 C5 O8 w) s- T  a! k( ]

0 S! o$ a8 M: Z8 P$ {a) 先將uImage載入到 0x800000
" H. C& _8 |9 ^$ B, Y  Z# cp.b 0xfe000000 0x800000 300000   (從flash放到RAM 0x800000的地方去)
* w+ t9 |0 q, ~3 _& j- U. k1 @" m0 O7 x( F/ Z
b) 將ramdisk載入到 0x2800000 的位置
6 m5 s4 J4 J" P& f' j$ G# cp.b 0xfe300000 0x2800000 8000 (從flash放到RAM 0x2800000的地方去)8 G7 E7 w' W: D1 @
0 }9 [) I6 J9 d
c) 參考uImage & ramdisk都在memory中的後續動作。
/ Z8 }' m) {0 c0 t0 I; a' B8 Z7 {' s4 ~+ q) _: a- Q, {
4) & 5)應該就呼之欲出,不再累述。
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-1 06:12 PM , Processed in 0.120515 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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