文档详情

在NANDFLASH 上建立完全独立于宿主机的 linux 系统 序言.pdf

发布:2017-08-18约4.91万字共37页下载文档
文本预览下载声明
在 NANDFLASH 上建立完全独立于宿主机的linux 系统 序言 本文的目的 总结个人在学习嵌入式 linux 的过程中获得的一些经验和教训,让爱好 ARM 和 linux 的人们在探索的路上少走一些弯路 。如果其中有写的不正确的地方,希望大家能雅正,让我们大家一起共同 学习,共同进步 。 第一章 概论 1.1 硬件环境 主机硬件环境:HP compaq nc6000 目标板硬件环境:友善之臂的SBC2410 CPU:S3C2410 SDRAM:HY57V561620 NAND FLASH:K9F1208U0B (64M) Ethernet Card:CS8900A 工具介绍:串口线,交叉网线,简易 JTAG 板 1.2 软件环境 主机软件环境:Ubuntu 6.06 arm-linux-gcc V 4.1.0( 自己参照 LFS 文档制作):编译内核 arm-linux-gcc V 2.95.3 网上下载,下载地址:编译 U-boot .uk/pub/armlinux/toolchain 目标板的运行环境: 启动程序:U-boot 1.1.4 内核:linux 3 应用程序:busybox- 1.3 移植内容 该文的目的 为了实现将嵌入式 linux 的所有运行都独立于宿主机,抛弃 NORFLASH 上的bootloader 的启动方式,实现对 NANDFLASH 上的bootloader 的支持,并支持从 NANDFLASH 上 自动的启动加载内核 。内 核加载的根文件系统为 YAFFS,可以实现对 NANDFLASH 的随意修改,所以,其实现的难点可以分为以下几个 方面 。 1.3.1 从 NANDFLASH 启动的Bootloader 的支持 我们知道,公版的U-boot 支持从 NorFlash 的启动,其源代码中也有 NANDFLASH 的部分,但 缺乏 最底层的针对相应的NANDFLASH 的驱动 。所以我们要完成这个部分的修改 。 1.3.2 U-boot 的使用 如何使用 U-boot 来实现 linux 的内核的下载与烧写到 NANDFLASH 中,以及实现上电的自动启动 。 1.3.3 支持从 NANDFLASH 启动内核的编译 由于我们在软件的调试阶段,我们使用的 nfs 协议来进行文件系统的加载,现在我们可能需要修 改内核的部分编译,以达到我们的目的。 1.3.4 yaffs 文件系统的制作 由于我们将 yaffs 作为系统的根文件系统,所以我们要在系统启动之前建立一个完整的yaffs 文件 系统 。 第二章 BootLoader 的NANDFLASH 支持 有疑问请联系 ty3247@163.com 欢迎大家一起讨论 、共同进步 ! bootloader 系统启动之后最先被运行的部分,完成的功能就 从指定的地点将将内核程序调入内 存中运行,这可以 通过 tftp 协议的,可以 通过 nfs 协议的,也可以 通过从 nandflash 中调入的。目 前被广泛使用的有两种bootloader,vivi 与 u-boot,其中vivi 由韩国三星公 开发的,大量的代码从 linux 的内核代码中迭代,只支持三星的SOC 芯片,u-boot 德国人开发的一个能够支持大部分硬件架构 ARM 、PPC 、MIPS 、X86 的bootloader 。由于其功能非常强大,所以在 linux 的启动中被广泛的使用,其支持 NORFLASH 的启动,但 由于 NORFLASH 的价格比较高,所以我们大部分的设计中没有采用,而NANDFLASH 由于其容量大,价格低,完善的文件系统支持,已经在产品中被广泛的使用,
显示全部
相似文档