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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
PC主机:Ubuntu 10.4 和redhat 9.0. |2 o4 |( h+ G* c: Q
/ R/ g. R! {$ x5 l; J
目标板:TQ2440开发板,linux内核2.6.30( A' p' n% X2 v
$ z" }" A! k7 }; {; y# @
% O* m+ k5 y9 n3 F' H
本文将简单记录烧写内核镜像和yaffs文件系统的步骤。* e. m' B* g6 i- j

  j( m0 D: c; [9 s本文假设你已经编译好内核,yaffs2已经制作好,同时Uboot中已经支持yaffs2。
/ }) M$ Z* ?, m& f( B9 g9 |8 V9 A/ G
在开始烧写之前,PC平台必须开启TFTP服务。! b( m4 k' _8 P' H
" }, q+ I. j3 h) k
1.  烧写内核' W5 P4 \; r% r! M$ t

! K  ^6 ~" B# ?9 O3 H- b9 M首先来看下我的分区表:  G9 e, ?  Z# Y; O+ r% N& O
0 Y8 G$ W  D& G
0x000000000000-0x000000040000 : "Uboot"
+ V2 M' _% w8 Z' U- B) V0x000000200000-0x000000500000 : "Kernel"
+ s' i* m; {8 c0x000000500000-0x000010000000 : "filesystem"1 K" L4 z9 V/ M" E
4 a/ [1 M# o3 U& D
nand大小为256MB。
3 r# u/ M  l/ Z! T% S! B+ @# `! `9 w( U- R: j
其次我的SDRAM地址是:0x30000000-0x34000000(64M)# P5 m2 O) a" X& y

+ D8 {' L$ W5 c  T, \在Uboot中执行如下命令:) P% h$ y$ \0 |! t( Y6 e% J, K- n
1 @/ e  g  s5 ~: G" U/ m4 M4 p
tftp 0x31000000 zImage30.bin        //通过tftp,将PC中的zImage30.bin下载到SDRAM的0x31000000处8 |1 _$ p6 M6 R4 O- B- g; H) W# q

! U* r$ G. h" ^- @' K$ Ynand erase 0x200000 0x300000       //擦除nand,起始地址为0x200000,大小0x300000(3MB)0 l- M5 f. q1 e+ `& d1 W/ Q7 n

+ c0 `0 i3 e: F& ]4 N" t7 S. f' M4 Tnand write 0x310000000 0x200000 0x300000  //写入nand,将0X31000000开始的0X300000字节数据写入nand的0X200000处。
9 `% U8 }+ t1 w. j
$ N1 x1 k9 P, m# X$ q% O: r
! ~! D/ v; k, \% y/ F% A4 w, ^: X+ k! }. Z
2. 烧写yaffs2文件系统. e" Q. ?+ z, R+ ~1 C
1 U8 k' e0 x4 g
tftp 0x31000000 yaffs2.bin
# H3 M+ Y! ^& T: E# L' Y; u& y9 x1 k  J) |2 q! O
会有如下输出:. [; J7 T# f" O& P9 S3 E
2 X. v( X4 h$ p& x* z( o# C

. ~* p2 F# ^  i( T  zdm9000 i/o: 0x20000300, id: 0x90000a46
# T7 O# [" ?- Q# ?MAC: 0a:1b:2c:3d:4e:5f/ A/ k! n8 |' w
TFTP from server 192.168.1.103; our IP address is 192.168.1.63 T& N' |1 M# e" i: W; O, j
Filename 'yaffs2.bin'.( R& v* S5 C+ g9 w
Load address: 0x31000000# j2 R" i$ R5 }3 P+ K
Loading: T #################################################################
7 e; Q5 \; d) W* O         #################################################################
. F( g9 o/ c% _+ E         #################################################################
0 h7 T0 |1 g, B" M; S         #################################################################
% V/ Q, U& h, e: J0 y) [7 W         #################################################################4 z7 D0 c$ C- l+ ?! M# T1 z7 F
         #################################################################
- s+ d0 P0 Q& G: h* _% h         #################################################################
" l; @* U  e( @0 Z) S3 B, M: m& i         #################################################################
# s, v: _! p) g6 y: T         #################################################################
$ c2 P' F: r( q! ?+ G0 k- o' p% ^+ a         #################################################################
9 E3 \4 Q3 B$ n         #################################################################
3 e& J) p0 _( a0 C( J         #################################################################  m4 K0 V* f* |8 X4 w
         #######################################  G3 Y6 f% [. y$ f
done
' S& w3 z9 L5 T8 s9 XBytes transferred = 11956032 (b66f40 hex)3 P9 O& |2 p- z

4 v2 ~) d+ u7 H$ K0 l) e; Ynand erase 0x500000 0x0FB00000   //擦除文件系统所在的整个分区,即filesystem分区1 d+ M8 `' U! U: ~
nand write.yaffs 0x31000000 0x500000  0xb66f40 //这里烧写的字节数,即b66f40,为上面提示的传输字节数5 D# {3 K1 b7 T* G% Z! H
, w9 t# l& F3 b2 x1 e0 q" @1 p8 K

8 Q7 z0 g  n6 L+ U' ]
0 P0 e% X" Y1 g+ t* e9 S

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-27 00:29 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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