Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] uboot 設定??

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-6-2 19:08:18 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
假設一個系統使用uboot- t, F7 P6 E1 y. w' a
上頭已經有nor flash, nand flash, 也有網路4 S7 Q2 _7 r. s0 S- u
nor flash physical address = fe000000 有 32 MB
: c1 O  y/ V  hnand flash physical address = fc000000 有 32 MB
& M6 r) e: K) _) L1 P2 h; i% W
7 l7 i8 C& I% x* Y請問那麼要如何設定開機使用?
3 B; o' w' w; V3 b3 [, [8 c4 r2 z7 E/ b! G" s9 p5 d- u& S: z7 d
1) uImage+ramdisk 都在 nand flash 上
) r5 D' n8 J. a2) uImage+ramdisk 都在 nor  flash 上! J& ~: P7 y/ |: F4 t
3) uImage+ramdisk 都在 tftp server 上
1 p# R4 ^7 L8 Y/ K! e; D4) uImage在nand flash, ramdisk在nor flash8 _3 L# l4 f0 {6 w4 R# {
5) uImage在 tftp server, ramdisk在 nand flash6 n' ^0 \; K; L: @  e7 w5 v2 g
6) uImage在 nor flash, rootfs使用nfs
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
 樓主| 發表於 2009-6-24 11:00:08 | 只看該作者
uImage+ramdisk 都在 tftp server 上
6 I  t9 l* D5 T
假設記憶體有512 MBytes
: ]/ C5 ?6 I! c8 P3 b$ ?6 v7 \8 A4 F+ w8 q, p& z
a. set bootargs
* t% X/ P# ~5 X* V) t6 Jset bootargs root=/dev/ram0 rw console=ttySAC0,115200 mem=512M ramdisk=32768 initrd=0x2800000,20M init=/linuxrc
1 q4 T; b% _2 \6 P0 `6 {% @" |1 N( o, `* E( x1 X. z
b. download uImage
: G' l! j: r9 V5 F: \tftpboot 0x2000000 uImage-test; q# W8 B9 m+ ?* O

! S: ^4 ]5 S8 a8 tc. download ramdisk
9 p# R) W1 y3 [) a; {tftpboot 0x2800000 ramdisk.img
8 G- z; O8 G3 F" J) D0 d! ^3 [9 f% f! D8 Y) R
d. boot from memory
0 p6 N. C9 u6 ]4 |4 [3 {& bbootm 2000000
3#
發表於 2009-10-13 20:06:00 | 只看該作者

回復 2# 的帖子

補充一下,
2 n5 P4 Z7 g+ E+ c" Y5 [gogojesse文中的 console=ttySAC0 是當target board的linux kernel為2.6.x版時,
% F: A5 _0 O" `9 c* z. H2 U若為 2.4.x之前, 則要用 console=ttyS0
3 L- `7 c& N, i: e$ S
7 w4 ~; p7 ^9 n/ I[ 本帖最後由 sieg70 於 2009-10-13 08:14 PM 編輯 ]
4#
發表於 2009-11-27 09:29:08 | 只看該作者
why my linux2.6 ttyS0 works ok?
( V  `# A( n5 r+ g! {3 Y2.6.15
5#
 樓主| 發表於 2009-11-28 01:03:30 | 只看該作者
沒仔細深入這個問題
) k) g3 g% _' P: ]' _8 Y+ g不過印象中會用到哪個tty當作serial console可以分幾個步驟:+ n7 L( @% ~) B2 w
2 S; r9 E5 l) v& C; x1 _
第一是 serial console 的 driver 在被 load 的時候開機訊息有時候可以看到是『console [ttyS0] enabled』,其實這個時候還不知道root files system裡頭的device node是對應到哪一個,對driver來說,她會指定服務某個(major, minor)的device node4 ^8 S! O: T/ P& j
第二是 root file system有沒有對應這組(major, minor)的device node,萬一沒有的話,應該也會造成開起 serial console 失敗。2 S# ^5 k9 i# m+ |3 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 MB
( \! b2 y5 ^3 j+ u6) uImage在 nor flash, rootfs使用nfs

, g2 e/ _0 n$ v9 t7 n
" c* ^( r0 _3 [& \, n9 i+ j# da) 首先,必須將uImage拷貝到ram上某個位置
2 d: ]. s' x; l8 Wb) 因為要用nfsroot所以網路也要先設置好
% g& \/ e# {/ uc) Jump to uImage5 @8 z1 `! ?3 a+ @1 g+ s. P
5 f0 k. v9 o( q7 [& [3 O- G7 o. L) [
# cp.b 0xfe000000 0x800000 300000   (從flash放到RAM 0x800000的地方去)
* m6 s) c2 |. T6 y$ c, \# dhcp  (取得ip或是直接用setenv ipaddr xx.xx.xx.xx)& d( Z+ X5 W, R% e' S, ?
# setenv serverip oo.oo.oo.oo  (設定nfsroot server ip)
) w$ K1 i' _$ L+ l9 _+ D# 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 G, j" n: V7 X* B) c+ O) T2 A% G8 Y, w: d/ a2 K6 N/ |
1) uImage+ramdisk 都在 nand flash 上

" K' ]1 H* ]( t1 R, v' A$ i/ G
% e9 S; t# W% R. I假設uImage放在nand上offset 0x0的地方(size = 0x300000),ramdisk放在offset 0x300000的地方, size = 32768, b. D6 B. s+ n$ k( B0 }

, u$ A) k! N5 e% ia) 先將uImage載入到 0x800000+ Z9 o! W0 S4 \, g
# nand read.jffs2 800000 0 300000
) Q4 N1 W% a/ w: |+ L
4 a: v. C' r0 m8 ^( \b) 將ramdisk載入到 0x2800000 的位置/ v' @, ^6 Y' O  s, t
# nand read.jffs2 2800000 0x300000 327682 j" Z& B8 |5 ^- i! V) W4 H
' X/ X1 E9 w) Z; q- v" b! x
c) 載入到memory,就如同load ramdisk的bootargs,可以參考之前
6 U( {0 ?6 y0 N% J; f  pbootargs root=/dev/ram0 rw console=ttySAC0,115200 mem=512M ramdisk=32768 initrd=0x2800000,20M init=/linuxrc# q' i" _8 W' G9 T

2 ^) J; k6 `5 M% t1 m( e4 O# \1 X0 D下去修改使用
8#
 樓主| 發表於 2009-11-28 01:33:02 | 只看該作者
本帖最後由 gogojesse 於 2009-11-28 01:34 AM 編輯
: X+ T) Q: T" |9 N% s4 h
nor flash physical address = fe000000 有 32 MB$ X9 p# d- ?2 V  _
2) uImage+ramdisk 都在 nor  flash 上

2 R  q5 j- M* X
# `. e( W7 q+ Ua) 先將uImage載入到 0x8000007 F$ [4 l7 l# f+ t
# cp.b 0xfe000000 0x800000 300000   (從flash放到RAM 0x800000的地方去)
' _) X, A: ]! c4 F. }% w8 R7 ^$ `  j+ [: @3 q
b) 將ramdisk載入到 0x2800000 的位置
# M" S' @4 X7 z/ r# cp.b 0xfe300000 0x2800000 8000 (從flash放到RAM 0x2800000的地方去)
* E( X' P' a) Z  \& P6 z+ `/ t' {, v( `$ \
c) 參考uImage & ramdisk都在memory中的後續動作。
, l0 I1 I$ B/ J* x- s
: q4 f+ A5 R1 y, h! U$ p; @# I! K4) & 5)應該就呼之欲出,不再累述。
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-1-16 05:47 AM , Processed in 0.156000 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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