找回密码
 注册
关于网站域名变更的通知
查看: 255|回复: 1
打印 上一主题 下一主题

Uboot烧写内核镜像和yaffs2文件系统

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-6-17 17:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
PC主机:Ubuntu 10.4 和redhat 9.0
7 J7 Q( U, e: e; M5 e" T3 u: H1 m  t, Z
目标板:TQ2440开发板,linux内核2.6.30
- I; o! d! C) P+ B8 q, i% p; F& X+ j4 G

0 o6 A. Q. r8 w% m  n: I本文将简单记录烧写内核镜像和yaffs文件系统的步骤。2 `! r) J' J" {0 V6 V$ Z5 r

8 Z  a, y' ?: j4 F" b! G* L本文假设你已经编译好内核,yaffs2已经制作好,同时Uboot中已经支持yaffs2。4 j" _, U6 o7 O% k5 Y
. W3 t; f" ^; l( [
在开始烧写之前,PC平台必须开启TFTP服务。! P& `- ^; i. G9 x9 {( D
* Y; P% U0 M3 u4 `) _# \3 S! j: d9 f
1.  烧写内核
& g5 |) y4 V1 K. [4 A3 i: U$ L, o! F5 q" K; |) k
首先来看下我的分区表:; T3 c; p- ?8 k: N0 T' \
* S2 f: c/ O- z2 i  h/ y
0x000000000000-0x000000040000 : "Uboot"# [2 W" R4 n* a- N: F% l
0x000000200000-0x000000500000 : "Kernel"9 s; [: a; B+ ^8 t
0x000000500000-0x000010000000 : "filesystem"
& H+ O' i, B/ p# X' s: r! q2 [
5 `) h: Z5 P0 Lnand大小为256MB。
% [- Q8 J0 [  }4 K$ \5 v9 S2 v9 K1 ?; Y2 _, U
其次我的SDRAM地址是:0x30000000-0x34000000(64M)( A4 B' Q1 }- R/ O' W0 O; x' E

" D* v3 \* |7 F1 t* b+ i& H: n在Uboot中执行如下命令:3 U# {( {6 U: a$ e3 p
; ]  g! x0 c$ z: d1 N
tftp 0x31000000 zImage30.bin        //通过tftp,将PC中的zImage30.bin下载到SDRAM的0x31000000处
& G- S6 r# _* K: Y- c0 O: J% c6 V5 J% E/ n+ x
nand erase 0x200000 0x300000       //擦除nand,起始地址为0x200000,大小0x300000(3MB); ~$ N$ D0 A0 R3 ~$ O

. t) ~! c8 A0 Z/ dnand write 0x310000000 0x200000 0x300000  //写入nand,将0X31000000开始的0X300000字节数据写入nand的0X200000处。4 y+ i$ e6 a+ N0 z- Z

" M2 W% s- z- w- W4 ]" ^% n  y! l: a( D4 J2 @! F3 M
8 b0 G3 R! d6 e0 o
2. 烧写yaffs2文件系统
- g1 N/ G- I0 o5 o+ k8 y! @
" H0 {0 D" @% Ltftp 0x31000000 yaffs2.bin
1 B# o2 `, ~: K$ D8 c" x" `& {) R  r) G- G  D/ U1 x
会有如下输出:6 S* r) a5 z* G' M$ g
) A: a2 x5 n* Y$ Y$ E  p; _! s

1 Q1 }4 p- V" r; U: s1 O. ~dm9000 i/o: 0x20000300, id: 0x90000a46% S  `1 [6 ^2 |$ G
MAC: 0a:1b:2c:3d:4e:5f0 V  X8 U) d+ e4 X9 [. w
TFTP from server 192.168.1.103; our IP address is 192.168.1.6
! Q% T* W, b$ iFilename 'yaffs2.bin'.
" V6 I) I- l2 kLoad address: 0x31000000
# G9 m. d: u' {7 B& ]Loading: T #################################################################6 X4 C, F$ F+ J  S) z
         #################################################################$ y1 D/ D  ~: Q" S! ?* E, l. n! q: r! }- b
         #################################################################
# E2 z) r3 O+ D1 D( n8 Z         #################################################################
( ?, G4 x) M0 H8 `3 [         #################################################################" E: @1 E+ F. c" [& n9 X2 u- ?6 a3 \
         #################################################################& B2 q7 i2 Q. @  p6 t
         #################################################################
: o7 g6 p  u0 Q0 w- t         #################################################################
) y' |" s5 r! j9 Y& P0 B         #################################################################
: ~  ]4 T- t0 `" S/ v$ Q7 I. w; J' B         #################################################################
" Q% N  k. _8 }         #################################################################
# `- M! i, Y- X+ l* \( e         #################################################################
# }3 {8 x# F! \1 C; u         #######################################) G+ H' N' _/ s5 Q4 o- t
done
# V$ l, u% L" S" r  @; _# |. p2 kBytes transferred = 11956032 (b66f40 hex)
1 o7 k& `9 J8 r6 p! F% m7 Z9 y' p' d) k
nand erase 0x500000 0x0FB00000   //擦除文件系统所在的整个分区,即filesystem分区- B  g+ o3 B2 c* W
nand write.yaffs 0x31000000 0x500000  0xb66f40 //这里烧写的字节数,即b66f40,为上面提示的传输字节数
* b* n5 I8 |) R3 e% q' k; ^8 L" i) a4 }4 R7 U' h! T
; n' M0 k0 A4 ?  J  _" w2 t
; T5 z4 |# G) S3 o/ Q5 d! ?; Z

该用户从未签到

2#
发表于 2020-6-17 18:46 | 只看该作者
Uboot烧写内核镜像和yaffs2文件系统
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 17:37 , Processed in 0.171875 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表