Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] uboot 設定??

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-6-2 19:08:18 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
假設一個系統使用uboot2 \/ o- l1 f8 Y4 H) q
上頭已經有nor flash, nand flash, 也有網路" w* p' e! L' Z  |* Q3 H
nor flash physical address = fe000000 有 32 MB; ^; c' M6 g* ~# _
nand flash physical address = fc000000 有 32 MB
+ d' `$ q2 {; G8 B/ U6 c$ Y( h2 x( V# P, y
請問那麼要如何設定開機使用?
- O( G8 C( s$ M% H& z
7 j- s: h+ }) C! @3 ]& N8 l1) uImage+ramdisk 都在 nand flash 上
4 H" G9 e$ L! M6 T" i, \- Q' N2) uImage+ramdisk 都在 nor  flash 上( T, Y6 G" q# r$ X) S! t4 s' T# u
3) uImage+ramdisk 都在 tftp server 上
: t! s: p8 h. f4) uImage在nand flash, ramdisk在nor flash8 h0 V5 @2 M' i. h. W( Q" ~0 x
5) uImage在 tftp server, ramdisk在 nand flash" E4 s* `* v) \! _+ c: k
6) uImage在 nor flash, rootfs使用nfs
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
 樓主| 發表於 2009-6-24 11:00:08 | 只看該作者
uImage+ramdisk 都在 tftp server 上
" |) t7 ]+ f& }/ p% a$ O( t: e
假設記憶體有512 MBytes1 x, o7 X% z5 k! u) a8 v8 U. y

4 l/ w$ M/ I$ \1 E) [a. set bootargs6 m1 p8 @: n( F  p0 M8 B
set bootargs root=/dev/ram0 rw console=ttySAC0,115200 mem=512M ramdisk=32768 initrd=0x2800000,20M init=/linuxrc
( o1 E7 C% c$ k. \+ i3 P' C; b: z+ J* Q/ K
b. download uImage0 L: G* _# j. P' Q
tftpboot 0x2000000 uImage-test6 i& z3 i5 G$ `, T

0 L9 v* b, [: I' A' Q' V4 {c. download ramdisk
- {- u' v, \2 Z# s+ T; htftpboot 0x2800000 ramdisk.img* v# R) x5 a2 q: O

! r+ X. @9 f  E* Q3 w% T8 s* Pd. boot from memory
0 K2 b; l% e$ e/ O+ z2 w( cbootm 2000000
3#
發表於 2009-10-13 20:06:00 | 只看該作者

回復 2# 的帖子

補充一下,
4 H2 P* D$ F' [0 n8 ?gogojesse文中的 console=ttySAC0 是當target board的linux kernel為2.6.x版時,; q( R  X2 ]5 d! O
若為 2.4.x之前, 則要用 console=ttyS0/ x+ i: T9 r6 e2 i% n/ F! o5 i6 I1 F
& e3 Q; Q" J- Z4 x* N
[ 本帖最後由 sieg70 於 2009-10-13 08:14 PM 編輯 ]
4#
發表於 2009-11-27 09:29:08 | 只看該作者
why my linux2.6 ttyS0 works ok?
* z2 Y9 ^( a0 W$ o+ i$ z7 |, |, i2.6.15
5#
 樓主| 發表於 2009-11-28 01:03:30 | 只看該作者
沒仔細深入這個問題& Q' M8 g( s8 F, n3 U" _/ @9 J
不過印象中會用到哪個tty當作serial console可以分幾個步驟:
  [! C) N6 V2 [- J& _. t  O9 M* x/ y) r8 W( u- E9 h
第一是 serial console 的 driver 在被 load 的時候開機訊息有時候可以看到是『console [ttyS0] enabled』,其實這個時候還不知道root files system裡頭的device node是對應到哪一個,對driver來說,她會指定服務某個(major, minor)的device node
0 b# C( e- ]* U( A第二是 root file system有沒有對應這組(major, minor)的device node,萬一沒有的話,應該也會造成開起 serial console 失敗。( N/ Q+ \$ ^( K1 D8 @) l% z/ l( I* n
第三是 進入到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
& r1 X" k# ^, z# P: s' I6) uImage在 nor flash, rootfs使用nfs

& ]' o8 h1 V7 o  {7 W" T4 v+ ]' S. |; [% y& a- C3 K3 n6 ~6 G
a) 首先,必須將uImage拷貝到ram上某個位置
7 b* o! p. ]0 J* J0 r( m/ b4 O) Kb) 因為要用nfsroot所以網路也要先設置好
% m4 R" r% m* v( g- ?/ wc) Jump to uImage! W" v0 P3 U/ Q

/ n# e* q. T, M$ B8 _1 j6 N# cp.b 0xfe000000 0x800000 300000   (從flash放到RAM 0x800000的地方去), A1 S) E0 q  R0 ~
# dhcp  (取得ip或是直接用setenv ipaddr xx.xx.xx.xx)
: [0 C3 H/ r. m8 \/ b+ X# setenv serverip oo.oo.oo.oo  (設定nfsroot server ip)# d9 L/ W# z0 n; u! Q+ \
# 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( A0 i+ |5 y' L! f

. v) _6 A5 F0 w2 v) I2 }1) uImage+ramdisk 都在 nand flash 上

. K/ i8 y* B! e% O7 Z; t9 S) L0 D" g% t5 ]
假設uImage放在nand上offset 0x0的地方(size = 0x300000),ramdisk放在offset 0x300000的地方, size = 32768
; [& i/ E: S" A! e& _' o
/ j2 n/ M8 r! F2 Ja) 先將uImage載入到 0x800000/ J" v. e; N) N( F9 u
# nand read.jffs2 800000 0 300000
. a' b' n7 A5 c# q( N) L6 V4 d8 B# D4 `) g/ }
b) 將ramdisk載入到 0x2800000 的位置
1 O  n* y+ a1 j$ _+ l! `# nand read.jffs2 2800000 0x300000 327684 ~' b" S$ G. |; I  d" o
2 |* U3 A1 ~1 i
c) 載入到memory,就如同load ramdisk的bootargs,可以參考之前+ f/ P% O3 W/ c) v
bootargs root=/dev/ram0 rw console=ttySAC0,115200 mem=512M ramdisk=32768 initrd=0x2800000,20M init=/linuxrc; M# f& G* q) S2 _9 a: `& ]

* k$ W, y1 `' ~( B9 X下去修改使用
8#
 樓主| 發表於 2009-11-28 01:33:02 | 只看該作者
本帖最後由 gogojesse 於 2009-11-28 01:34 AM 編輯
* K8 H) w+ M- P3 q
nor flash physical address = fe000000 有 32 MB
/ {: {) w2 p+ W1 k2 A3 m0 f2) uImage+ramdisk 都在 nor  flash 上
7 Z+ m! `# i! v
  M0 W1 N0 Y7 `8 Q
a) 先將uImage載入到 0x800000
3 q5 ~& m$ v! b% w/ W" j# cp.b 0xfe000000 0x800000 300000   (從flash放到RAM 0x800000的地方去)3 h! O2 ^  J; k! j) M
3 B; Q5 A+ Z* d- d9 D+ |
b) 將ramdisk載入到 0x2800000 的位置. Q, O1 I$ F/ B- i, a; f0 [3 \
# cp.b 0xfe300000 0x2800000 8000 (從flash放到RAM 0x2800000的地方去)
' N; S2 v& H# n2 x& h2 e
. m; h: G" w% S. {5 i9 X4 e+ Tc) 參考uImage & ramdisk都在memory中的後續動作。; X* C3 |( r5 |. Z9 g: N" l; o

6 X  m# y( q% F/ j5 z( X7 \4) & 5)應該就呼之欲出,不再累述。
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-14 12:44 PM , Processed in 0.113514 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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