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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
PC主机:Ubuntu 10.4 和redhat 9.0/ ^9 h/ P, I5 K2 p4 q7 \; `
- q& `; t+ L; ?3 X# B0 a8 ^
目标板:TQ2440开发板,linux内核2.6.30
5 o! ~8 A* [6 j+ ~( W9 q. Q3 N0 ~- L9 _% Y( E; v5 ?+ r5 L$ X
$ d/ }& q; ^8 @8 e7 o+ N- Z
本文将简单记录烧写内核镜像和yaffs文件系统的步骤。
8 _# M. e. |+ V7 k& H9 C7 `. Y' r( a
* s3 C1 {3 w+ z. T本文假设你已经编译好内核,yaffs2已经制作好,同时Uboot中已经支持yaffs2。" q: Y) f) @! ^

2 I: B9 J6 O. d) Y在开始烧写之前,PC平台必须开启TFTP服务。0 \5 h/ g, z3 v1 b; E
: e; y* \# W2 D4 ]& S* N& h3 }9 K
1.  烧写内核  s2 }# t- V% g0 o
. L7 l4 B7 i4 l
首先来看下我的分区表:3 [8 N8 ~) j. j* s0 _+ k

1 g. e( N  m8 V) v/ [7 W/ {9 q0x000000000000-0x000000040000 : "Uboot"
! ^1 n5 O' R, ?& N' M. e7 l" x& E0x000000200000-0x000000500000 : "Kernel"+ S3 P2 w  p, ^. B( f
0x000000500000-0x000010000000 : "filesystem"" E! d# Q* m6 [5 g7 p: L, _  Z
% M& U5 J7 O* E6 h3 n. n0 a2 N
nand大小为256MB。
- Q9 N# l& k( t* h  ?: F" A
$ n; U+ B7 |( \其次我的SDRAM地址是:0x30000000-0x34000000(64M)
0 E: p( w. p1 W) _
# d# Y$ p: ^' Y! c: n1 f在Uboot中执行如下命令:8 {( {: |% o! t& _  T
3 }7 W2 h8 A3 {- Z
tftp 0x31000000 zImage30.bin        //通过tftp,将PC中的zImage30.bin下载到SDRAM的0x31000000处
1 j: m$ @) z# f; P3 @1 o/ ]6 Q( Q4 {/ I4 h
nand erase 0x200000 0x300000       //擦除nand,起始地址为0x200000,大小0x300000(3MB)
# X! W* \2 s# w; E: ^& I
2 f% y7 J9 ~9 q! G* @, Mnand write 0x310000000 0x200000 0x300000  //写入nand,将0X31000000开始的0X300000字节数据写入nand的0X200000处。8 p3 s# C- r3 c# t) G8 {
1 y/ l% A& v7 N1 S& [' b7 D
' X6 q9 j& f( {  j

7 ~# V% q* g5 r; H4 l% Y5 g2. 烧写yaffs2文件系统4 [. a5 ]8 m+ H1 _( d0 D3 C
9 c5 R- ]8 z6 ]9 ?( H, ]8 g. Q7 Y
tftp 0x31000000 yaffs2.bin
7 Z' m! b: T/ |/ Y% T8 @/ I
" u' a/ e1 N; M' Y会有如下输出:" H  ^2 {- y$ D6 O  s3 E2 C

0 P8 i# L4 k# |' o. q- V1 O6 A
+ T' {( b) N" k/ ~dm9000 i/o: 0x20000300, id: 0x90000a46
6 q! z& S  G7 h0 uMAC: 0a:1b:2c:3d:4e:5f6 x, f7 b' ^! L3 y% _7 t& N# ~
TFTP from server 192.168.1.103; our IP address is 192.168.1.6. H3 l! L" J0 B: u5 F3 H
Filename 'yaffs2.bin'.
4 b1 U1 |8 }0 M- E1 X9 A( L9 kLoad address: 0x31000000: _& J5 i. [, T- r( R
Loading: T #################################################################% R; ^" |! S1 S8 c& Z
         #################################################################: {/ u! }$ P4 A' ~7 x6 e
         #################################################################
9 o& j# ^, Z+ L# }         #################################################################2 |6 W2 E9 @- `% ]( X
         #################################################################- |+ c+ |. |% f& R
         #################################################################3 n* H; c% n3 l' g
         #################################################################
: k/ g7 P$ [' \: n1 I         #################################################################; H7 \- j- A  a2 }! U
         #################################################################
& n) d  F& Z! h' g0 V+ I  D6 W         #################################################################4 C5 w; l( `! O' D* L1 o) V
         #################################################################1 r/ {7 V$ o3 T6 C, Q# n: n4 c% a
         #################################################################+ q  ?- J( n3 R7 B* q3 P/ e. b
         #######################################, A! ]* \4 V. H* o3 ?5 M
done
1 @1 H$ |, q6 |1 o  ^Bytes transferred = 11956032 (b66f40 hex)1 |# D" n4 H7 j$ P. Z2 [! s5 I8 ]
3 M" d- H' f; y5 T
nand erase 0x500000 0x0FB00000   //擦除文件系统所在的整个分区,即filesystem分区
, L# D4 u* x$ S/ r; Vnand write.yaffs 0x31000000 0x500000  0xb66f40 //这里烧写的字节数,即b66f40,为上面提示的传输字节数
+ x' U0 a! J. a/ N1 q! H) w" N6 a& t3 {: ^9 d  M

0 E. g) ?& K! a$ x$ e! {: F1 z0 P

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-25 21:31 , Processed in 0.234375 second(s), 24 queries , Gzip On.

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

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

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