Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] uboot 設定??

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-6-2 19:08:18 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
假設一個系統使用uboot
# K3 k1 Y( z# `9 S* Y上頭已經有nor flash, nand flash, 也有網路: F( G! `' }: _* {$ {( {9 Q3 L
nor flash physical address = fe000000 有 32 MB4 s( V: c, G6 x8 E5 J
nand flash physical address = fc000000 有 32 MB0 l" ~8 X% T* A9 j6 i; R: {4 Q2 s
0 X- w! A, W4 K% E! }5 s7 x
請問那麼要如何設定開機使用?$ `# \$ S$ k& T

/ [: |( p8 z$ y: l1 o1) uImage+ramdisk 都在 nand flash 上. ^6 b! }" r" k, ?1 t
2) uImage+ramdisk 都在 nor  flash 上
4 _2 K7 c$ b' l  m/ a2 i* I3) uImage+ramdisk 都在 tftp server 上
3 h' v# e$ k# F- r4) uImage在nand flash, ramdisk在nor flash
3 O9 N6 J( |* q! v, r' U6 h+ M: S5) uImage在 tftp server, ramdisk在 nand flash
  A8 V8 Z: }& F# T2 s6) uImage在 nor flash, rootfs使用nfs
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
 樓主| 發表於 2009-6-24 11:00:08 | 只看該作者
uImage+ramdisk 都在 tftp server 上

$ o. J) u& E- B( W( r7 ?假設記憶體有512 MBytes6 b, l4 l/ C) B9 C/ n
" ^* O% L1 h  I% m3 Z
a. set bootargs, d1 L9 x7 u7 p6 v: M  h# b
set bootargs root=/dev/ram0 rw console=ttySAC0,115200 mem=512M ramdisk=32768 initrd=0x2800000,20M init=/linuxrc& J, p' }% e5 ]. D" S( B* a

7 k0 C( B9 B7 z2 }) c- Rb. download uImage+ y% V# I: c1 Z& |4 M( \
tftpboot 0x2000000 uImage-test
2 b1 x! U- K* a( y' v# b+ H5 b$ H% e! \# `
c. download ramdisk* a) _! {2 i: r4 }: M3 e  t
tftpboot 0x2800000 ramdisk.img" t; S% m( g( I/ G% Z" K% B: z' s; t# g. k

9 S+ k0 |0 F" E! e( Cd. boot from memory
8 Y: R/ t5 J7 M" v% |5 s8 ?3 P1 hbootm 2000000
3#
發表於 2009-10-13 20:06:00 | 只看該作者

回復 2# 的帖子

補充一下,
1 u% l7 M4 T" y5 d- Ygogojesse文中的 console=ttySAC0 是當target board的linux kernel為2.6.x版時,
- a1 ]8 ~  A2 y+ O2 Z/ ^若為 2.4.x之前, 則要用 console=ttyS0
" W/ ?: v. ~4 E, X2 l) k  ^4 j7 B! A2 p  `
[ 本帖最後由 sieg70 於 2009-10-13 08:14 PM 編輯 ]
4#
發表於 2009-11-27 09:29:08 | 只看該作者
why my linux2.6 ttyS0 works ok?' p8 j  }3 L3 y* p5 }
2.6.15
5#
 樓主| 發表於 2009-11-28 01:03:30 | 只看該作者
沒仔細深入這個問題
5 t- Q9 i# W# s4 `1 e$ r不過印象中會用到哪個tty當作serial console可以分幾個步驟:
. I( I* F- o( y' I  B0 I, _) E9 L1 ]4 v3 Y3 Q: }, N+ E$ t
第一是 serial console 的 driver 在被 load 的時候開機訊息有時候可以看到是『console [ttyS0] enabled』,其實這個時候還不知道root files system裡頭的device node是對應到哪一個,對driver來說,她會指定服務某個(major, minor)的device node( ?1 v' v, r. X, i# R
第二是 root file system有沒有對應這組(major, minor)的device node,萬一沒有的話,應該也會造成開起 serial console 失敗。
# }4 b) p) Z3 ~! r  b% [, m第三是 進入到root file system之後,init script還是有權力更改各種console的生成像是tty0, tty1等等。以前有些控制可以載 /etc/inittab 做,現在有些distribution已經改用其他機制。
6#
 樓主| 發表於 2009-11-28 01:14:33 | 只看該作者
nor flash physical address = fe000000 有 32 MB8 [1 Q. b" @& N
6) uImage在 nor flash, rootfs使用nfs

  R; w8 I  v& k( ]+ Z/ m0 D4 F) p  s/ g( |& h3 E$ o
a) 首先,必須將uImage拷貝到ram上某個位置
4 Y& m; D- w4 X+ |" O* @b) 因為要用nfsroot所以網路也要先設置好
, v" a4 W& k* r! x, y) Y/ `c) Jump to uImage) h) H9 A5 |+ S) @" |4 w9 z, ?

/ p, A9 w. a2 B5 q" F0 Q: S+ V# cp.b 0xfe000000 0x800000 300000   (從flash放到RAM 0x800000的地方去)9 G8 A* m  ?% n7 ^5 S6 v$ W
# dhcp  (取得ip或是直接用setenv ipaddr xx.xx.xx.xx)
! A, b; @, W# k8 _# setenv serverip oo.oo.oo.oo  (設定nfsroot server ip)
* Z5 v; a1 I* X+ z. d, p) p" N# 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
1 F) U) U2 I" F4 D) b: M. Y; k
& o0 x" r* ~  T( f9 x* e1) uImage+ramdisk 都在 nand flash 上
- I" D* g6 |( T6 n  r0 t
1 t4 v8 `) W4 y/ ?5 N+ Z" L5 t
假設uImage放在nand上offset 0x0的地方(size = 0x300000),ramdisk放在offset 0x300000的地方, size = 32768
6 W7 I6 z6 {7 f* A6 W' B' C9 {, B
" t0 \2 W. Y- }a) 先將uImage載入到 0x8000002 c4 j2 S3 k7 N0 t
# nand read.jffs2 800000 0 300000; `$ J- T5 v3 P5 D/ z3 g
$ h: B& _4 g) q* v" V
b) 將ramdisk載入到 0x2800000 的位置3 G, `% c, j6 _* V/ Y
# nand read.jffs2 2800000 0x300000 32768, z4 \! E7 M: ~/ B& g2 {& \

3 z: t8 G& K1 u5 wc) 載入到memory,就如同load ramdisk的bootargs,可以參考之前7 [4 k! `; ^* |* q- N% F
bootargs root=/dev/ram0 rw console=ttySAC0,115200 mem=512M ramdisk=32768 initrd=0x2800000,20M init=/linuxrc
3 z  j# Y; ^, W7 e( N7 y0 [% v4 M! v* C1 E) w# ]) I& ~9 U2 C
下去修改使用
8#
 樓主| 發表於 2009-11-28 01:33:02 | 只看該作者
本帖最後由 gogojesse 於 2009-11-28 01:34 AM 編輯
  S% K: d6 W, C" T! Y
nor flash physical address = fe000000 有 32 MB
% b9 Q1 r3 o0 R: O3 R( A2) uImage+ramdisk 都在 nor  flash 上
7 f6 q# a6 a' {. o0 T5 z! ]
. q, x; `$ R; Q
a) 先將uImage載入到 0x800000( n0 L. b6 Y, j9 }/ H
# cp.b 0xfe000000 0x800000 300000   (從flash放到RAM 0x800000的地方去)/ n& z/ @( e, [% z! O
: F  v) Z7 O1 ?& x
b) 將ramdisk載入到 0x2800000 的位置
* D- C, P" q* l7 R# cp.b 0xfe300000 0x2800000 8000 (從flash放到RAM 0x2800000的地方去); d& {2 b2 g- Y
/ E: R" h. ]7 m) p* I  I4 d
c) 參考uImage & ramdisk都在memory中的後續動作。
# B3 P% }9 E9 k) O' p' S6 E( f% M, V5 R7 \) Y, h6 M
4) & 5)應該就呼之欲出,不再累述。
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-1-27 09:49 AM , Processed in 0.171601 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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