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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
PC主机:Ubuntu 10.4 和redhat 9.0
! _0 `" Y: N4 ^) W: N
# C3 c4 ~0 N; i) M' F% Z* J目标板:TQ2440开发板,linux内核2.6.30
( k! V1 M' D0 c+ P* K# W  h. c* M1 K9 L( C

; w' {' S- v$ A9 ^! N本文将简单记录烧写内核镜像和yaffs文件系统的步骤。
8 e7 D6 \* g9 Q" z# E7 A7 @" ?
本文假设你已经编译好内核,yaffs2已经制作好,同时Uboot中已经支持yaffs2。, |0 g7 b: p  j: ?5 J6 t! ]* o3 k
( \% g, N! F" d" w$ f1 j- F2 d
在开始烧写之前,PC平台必须开启TFTP服务。; _8 s+ ]+ R: ?( A. ^2 L
- Z1 I" p, w+ k- }$ G7 [# k8 S1 g
1.  烧写内核
6 F2 R) c  c. I( v* A0 l
! h0 Y% t. x+ h5 R3 }2 i首先来看下我的分区表:
( F- [& d5 ^# P3 A7 c
; F9 d6 O* |1 ?8 K0x000000000000-0x000000040000 : "Uboot"  Q  O4 G' c& e8 @" S
0x000000200000-0x000000500000 : "Kernel"
- L  F4 U9 p3 Z6 z, Y, j0x000000500000-0x000010000000 : "filesystem"
2 r- k2 r/ B3 f  P- n+ [2 J  X
8 Q& t* C4 C) H( F0 H) |nand大小为256MB。
8 V5 H5 P7 G9 b$ |$ {+ u
- Q" i. z( g. e/ j$ B$ Z其次我的SDRAM地址是:0x30000000-0x34000000(64M)- ~3 [. e/ V7 B
9 u5 }, ?- }* [5 y) t( j
在Uboot中执行如下命令:' W/ L# U* z& @  O- w

( Y2 P8 h' S4 ]/ v8 M! ptftp 0x31000000 zImage30.bin        //通过tftp,将PC中的zImage30.bin下载到SDRAM的0x31000000处
# u2 K: }6 x1 m) r: d1 J: x
/ `, v, b; H! ]nand erase 0x200000 0x300000       //擦除nand,起始地址为0x200000,大小0x300000(3MB)/ F, ]5 S( B" F  q5 u
9 N- Y& Q* h9 }- Q( ]2 q) ?  y5 l
nand write 0x310000000 0x200000 0x300000  //写入nand,将0X31000000开始的0X300000字节数据写入nand的0X200000处。8 Z; {  b3 V8 B+ m3 M2 y
" l3 m& t( X+ p5 n7 G
+ O' f8 o9 D7 a) o1 T& Z
1 h: R, B1 V% v, Z
2. 烧写yaffs2文件系统
/ `8 k6 `5 ^; V# s: M3 Q- P& P  u% L% v1 c- H
tftp 0x31000000 yaffs2.bin: H2 v( B$ `$ [# m4 Q: N- L& Q
7 i  \" V# y# G( f; E
会有如下输出:/ F! J+ B$ t1 k) g7 e* @/ v
* ?, e) ?0 p. ~- h) o

1 S- ^5 ?& c; P* k$ Fdm9000 i/o: 0x20000300, id: 0x90000a46
1 Z4 M5 O7 R4 ]1 `4 AMAC: 0a:1b:2c:3d:4e:5f
, m8 |8 Q* u# G9 K+ F  ]! d# GTFTP from server 192.168.1.103; our IP address is 192.168.1.6
- p7 {2 w+ ~: ^: C2 HFilename 'yaffs2.bin'.) V  K8 g& T. |, Z. B
Load address: 0x31000000
; k; M& r( z1 m8 jLoading: T #################################################################
- C9 u; u( L# @. E+ G         #################################################################
. \# ]& y8 U4 X) t0 j7 R         #################################################################
  a3 S( n: z$ `: ?         #################################################################: c7 h% ?# i& R$ n& f
         #################################################################
& K( ?8 e  c- |1 @- r: d: G         #################################################################
" n5 }" x9 ?, ~- u+ \         #################################################################  B2 v2 U4 \% Y
         #################################################################; ?, c4 w) j% H  u; [
         #################################################################5 }( w6 h8 L: u' `6 _+ c
         #################################################################1 ]$ K) J# ~! O
         #################################################################: b. F6 S! S8 I& y
         #################################################################
' d7 k# P8 y2 b! l3 s$ `& `8 t         #######################################1 ~# T0 [1 s" x) p( E8 w
done* z6 ]* X' b0 {$ P! W. c3 @
Bytes transferred = 11956032 (b66f40 hex)
! \, A: n. G2 X) \/ o: G" ]8 _7 E2 ~1 b: q7 A
nand erase 0x500000 0x0FB00000   //擦除文件系统所在的整个分区,即filesystem分区, X! f' F% e0 Z! P$ N
nand write.yaffs 0x31000000 0x500000  0xb66f40 //这里烧写的字节数,即b66f40,为上面提示的传输字节数7 p& s/ d8 O9 w& v1 y, x" N

$ j# W5 r2 ]! J- M$ I) e
  j' s9 h) B. k- v) V% H" |: ~8 y' F/ o

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-26 16:54 , Processed in 0.187500 second(s), 23 queries , Gzip On.

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

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

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