本篇文章主要讨论u-boot,Linux内核以及文件系统在Flash以及SDRAM中的布局,我用的板子是华恒的爱好者学习板,基于S3C2410,所参考的也是华恒所给的文档。
通过u-boot命令flinfo,可以看出,所用的flash是intel TE28F640J3C120,flash一共有64个块,每个块有128K大小,其中u-boot就放在最前面的块中,下面是其中的分配布局,第二个是对应的当把内核以及文件系统搬到内存中时内存的布局。
Flash:
============================<-----0x0000_0000
| U-BOOT
============================
|
============================<-----0x0004_0000
| Linux(zImage)
============================
|
============================<-----0x0014_0000
| 文件系统 ramdisk.image.gz
============================
|
============================<-----0x0054_0000
| 文件系统 cramfs
============================
|
============================<-----0x0074_0000
| 文件系统 JFFS2
============================<-----0x0080_0000
SDRAM:
============================<-----0x3000_0000
|
============================<-----0x3000_8000
| Linux(zImage)
============================
|
============================<-----0x3080_0000
| 文件系统 ramdisk
============================<-----0x3200_0000
现在是不是对我们将要做的工作很清楚了?
其实就是先把u-boot移植好,然后就用供应商提供的烧写工具把u-boot烧写到flash的前面,然后就由u-boot来接管一切,通过网络来下载内核和文件系统(TFTP),或者把主机上的目录挂在到目标板上(NFS),这样开发和调试将非常的方便,我以前用的板子是通过JTAG下载下去的,有时候很不稳定,一个不是技术上的错误都可能导致出错,郁闷至极。
好了,言归正传,下一篇文章将介绍u-boot的整体结构,以及启动代码(start.S中)
Boot系列之二: Flash和SDRAM中的布局
内容版权声明:除非注明,否则皆为本站原创文章。