嵌入式Minis3c2440开发板详解之Bootloader下的U-boot移植,内核移植,文件系统移植

本文详细介绍了嵌入式Minis3c2440开发板的启动模式,特别是Nand Flash启动方式下,BootLoader的地址空间分配。重点讲解了BootLoader的概念、功能,以及u-boot在初始化硬件设备和准备操作系统运行环境中的作用。此外,还提及了内核和文件系统移植的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

嵌入式Minis3c2440开发板详解

Minis3c2440接口布局以及跳线说明

一、地址空间分配和片选信号的定义

   S3c2440支持两种启动模式:一种是从Nand Flash启动(MINI2440即是此种启动方式);一种是从Nor Flash启动。在此两种模式下,各个片选的存储空间分配时是不同的,如下图:

 

由上图可以很明显的看到Nand Flash和Nor Flash的启动方式不同,nGCS0片选空间映射的器件也是截然不同的:

1、在Nand Flash启动模式下,内部的4kb的BootsSram被映射的到nGCS0片选的空间上。

2、在Nor  Flash启动模式下,与nGCS0相连的外部存储器Nor Flash就被映射的到nGCS0片选的空间上。

实际产品大都使用的是Nand Flash及足够了。

二、BootLoader的概念与功能

1、嵌入式linux软件结构与分布

一般的计算机系统加电或者复位后的启动都需要一个文件的引导才能是内核和文件系统正常的运行起来,比如说cpu刚上电的时候,一般连内存控制器都没有初始化过,根本无法在主存中运行程序,更不可能处在linux内核启动环境中,为了初始化cpu以及其他外设,使得linux内核可以在系统主存中运行,并让系统符合linux内核启动的必要条件,必须有一个先于内核运行的程序文件,而这个第一条被执行的文件就叫做BootLoader,对于linux系统来说也不例外。相对于linux系统来说常见的Bootloader当属u-boot为主打,因为u-boot支持很多的外围硬件设置以及操作。

综上所述:Bootloader是操作系统内核启动之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备,从而将操作系统的硬件环境带到一个适合的状态,以便最终调用操作系统内核准备好正确的环境,最后从别处(Flash、以太网、UART)载入内核映像到内存并跳到入口地址去执行。

对于很多的系统而言它们的内核代码不一样,硬件(网卡,usb,显卡,flash等等)的型号不一样,所以它们的设置就会不一样。因此,在嵌入式的世界中建立一个通用的BootLoader几乎不可能,而可能的是让一个BootLoader代码支持多种不同的框架和操作系统,并让她有很好的移植性,这个时候u-boot就体现出了它的优势。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值