Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] uboot 設定??

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-6-2 19:08:18 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
假設一個系統使用uboot( l* `$ |0 M+ J2 E# h" g# C
上頭已經有nor flash, nand flash, 也有網路/ _/ Z9 H3 r- m' J& K5 X* Z( }, g( q
nor flash physical address = fe000000 有 32 MB" K4 p2 z! ]6 L' e7 k( m, M
nand flash physical address = fc000000 有 32 MB9 I; k. \2 ?$ Q" b% T# i

. T* D' A* N3 \4 p, ^5 O請問那麼要如何設定開機使用?' c/ s7 [, J1 e, B

' [- _( [( u1 r) u* S1) uImage+ramdisk 都在 nand flash 上
' R2 f* H$ P0 |3 Q) R( h0 P2) uImage+ramdisk 都在 nor  flash 上8 W0 h% J! k7 Q9 ^. U
3) uImage+ramdisk 都在 tftp server 上# p/ `2 N! @0 g1 B: o& y
4) uImage在nand flash, ramdisk在nor flash
5 {  }# M0 |; u& r* T) M% Q5 ]+ V5) uImage在 tftp server, ramdisk在 nand flash& ?0 I1 _# N6 _+ ?
6) uImage在 nor flash, rootfs使用nfs
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
 樓主| 發表於 2009-6-24 11:00:08 | 只看該作者
uImage+ramdisk 都在 tftp server 上

, |2 i9 _) ?# j) g9 X0 U& n1 v假設記憶體有512 MBytes
) V; N" [# r9 b8 a1 O! J3 Q7 N4 @) ~2 k& x) R1 W  d; F
a. set bootargs
/ z9 }: r2 G3 T& ~% hset bootargs root=/dev/ram0 rw console=ttySAC0,115200 mem=512M ramdisk=32768 initrd=0x2800000,20M init=/linuxrc
, Q9 ]; {! W* B% H3 u& N( N5 d. ]. Y4 X+ w3 t
b. download uImage
4 f" @- u5 e$ y3 k, I$ btftpboot 0x2000000 uImage-test3 t: w1 k, T3 y7 m" u9 D
/ o  r  _8 k. q: ?% A0 W
c. download ramdisk
( E$ q& s/ U* y, S) y4 |! l7 {tftpboot 0x2800000 ramdisk.img& x) c1 h2 M6 d# r
. L6 x' A! f/ J8 S" x0 m
d. boot from memory3 P0 ?, I* s0 }9 A6 ^7 N! Z2 ?
bootm 2000000
3#
發表於 2009-10-13 20:06:00 | 只看該作者

回復 2# 的帖子

補充一下, : @2 e+ j+ N- ~( X$ r
gogojesse文中的 console=ttySAC0 是當target board的linux kernel為2.6.x版時,+ ^* Y! M" G( `5 Q! r
若為 2.4.x之前, 則要用 console=ttyS0
, u" ]! c7 z' n6 ?/ ^
, @# C$ Q6 S; b% x; y) h[ 本帖最後由 sieg70 於 2009-10-13 08:14 PM 編輯 ]
4#
發表於 2009-11-27 09:29:08 | 只看該作者
why my linux2.6 ttyS0 works ok?2 x; ?. d7 x. x3 ]3 c2 H0 j) K
2.6.15
5#
 樓主| 發表於 2009-11-28 01:03:30 | 只看該作者
沒仔細深入這個問題5 f8 r# x2 e* T% Y& C! `  J( d
不過印象中會用到哪個tty當作serial console可以分幾個步驟:7 j! i" K/ _; a+ `/ f. V% ~% b
+ Z9 e& P7 u5 z7 o
第一是 serial console 的 driver 在被 load 的時候開機訊息有時候可以看到是『console [ttyS0] enabled』,其實這個時候還不知道root files system裡頭的device node是對應到哪一個,對driver來說,她會指定服務某個(major, minor)的device node) s% k, x; ~5 s; n7 y
第二是 root file system有沒有對應這組(major, minor)的device node,萬一沒有的話,應該也會造成開起 serial console 失敗。
& |7 x6 q$ S* \0 K5 i/ a' X, V: W第三是 進入到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
- ^7 N8 f/ _2 t: q5 Z: G2 _6) uImage在 nor flash, rootfs使用nfs
# E  ~' i" d# k0 ]
- _  o' X( b( |
a) 首先,必須將uImage拷貝到ram上某個位置3 {; ]& c' x2 q2 p
b) 因為要用nfsroot所以網路也要先設置好& `5 B  Z5 |% i! M* d4 j3 m/ M. |
c) Jump to uImage
9 @% x) d0 f  M- s9 s) g- G: t% B- |' M
# cp.b 0xfe000000 0x800000 300000   (從flash放到RAM 0x800000的地方去)
0 Z0 y/ h( Q5 Z0 X# dhcp  (取得ip或是直接用setenv ipaddr xx.xx.xx.xx)2 a. x0 p1 v  a5 B. t- N; Y" U/ f
# setenv serverip oo.oo.oo.oo  (設定nfsroot server ip)$ d) p% S) y% z, Y0 P) H
# 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( P  `( U! ^! J7 |6 g% u) ]$ H
1) uImage+ramdisk 都在 nand flash 上
8 B+ m" i& o, w, B+ q; d1 R1 h- }$ t

+ j& X4 D, [- G假設uImage放在nand上offset 0x0的地方(size = 0x300000),ramdisk放在offset 0x300000的地方, size = 32768
1 C9 L/ i( h& M* k: R/ u8 f# [" h) T& P; E( L, n
a) 先將uImage載入到 0x8000000 i2 [  B2 p( |8 R9 i
# nand read.jffs2 800000 0 3000009 n( W& z6 K! e8 E7 \
% b7 k4 z8 b3 ?
b) 將ramdisk載入到 0x2800000 的位置
# J  G/ S" }# t/ `# nand read.jffs2 2800000 0x300000 32768
- w% Z+ d" L& s2 h8 `6 e; v6 E# R" e4 S6 ^7 @4 r- y
c) 載入到memory,就如同load ramdisk的bootargs,可以參考之前1 |2 V5 }+ i- j9 q6 Q  c) [
bootargs root=/dev/ram0 rw console=ttySAC0,115200 mem=512M ramdisk=32768 initrd=0x2800000,20M init=/linuxrc; ]8 u3 b, Z. v4 Y- P  Z8 N
+ n( x2 A/ a7 b. B% f, b5 x
下去修改使用
8#
 樓主| 發表於 2009-11-28 01:33:02 | 只看該作者
本帖最後由 gogojesse 於 2009-11-28 01:34 AM 編輯
' x% i& `: U/ ^. s9 ~% K2 j
nor flash physical address = fe000000 有 32 MB
7 \8 Q2 T! ~6 i/ i" E; l2) uImage+ramdisk 都在 nor  flash 上

  d- P) \$ x3 ]! T, ?/ g
4 A0 I+ |# X: Y) h$ ba) 先將uImage載入到 0x800000" X) O. G0 _- r' w
# cp.b 0xfe000000 0x800000 300000   (從flash放到RAM 0x800000的地方去)
0 h9 H$ Y+ ?* z' r7 E8 `4 S3 B8 Y2 ?
& `+ V9 Y  K4 q( F$ V0 Zb) 將ramdisk載入到 0x2800000 的位置- {( S+ c* q' B' K- J7 J
# cp.b 0xfe300000 0x2800000 8000 (從flash放到RAM 0x2800000的地方去)
. S# y* S9 s7 `* k* p0 b1 ~7 X; X
5 b+ g% _. k$ J7 a" Ac) 參考uImage & ramdisk都在memory中的後續動作。5 D7 T. Z8 w+ I

4 r) C1 O4 g1 [+ l4) & 5)應該就呼之欲出,不再累述。
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-1 09:37 PM , Processed in 0.136517 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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