admin 管理员组

文章数量: 1184232


2024年6月6日发(作者:uuidgen命令)

嵌入式技术张 静等:基于ARM920T的嵌入式Linux系统开发         

基于

ARM

920

T

的嵌入式

Linux

系统开发

张 静,叶 梧,冯穗力

(华南理工大学电子信息学院 广东广州 510640)

摘 要:通过在

ARM

920

T

的开发板上实现嵌入式

Linux

系统的实例,介绍了该系统各个部分的设计和实现方法:包

括引导加载程序、内核、文件系统和用户程序开发。

关键词:嵌入式

Linux

;引导加载;

YAFFS

;网络文件系统

中图分类号:

TP

316     文献标识码:

B

     文章编号:1004373

X

(2

DevelopmentoftheEmbeddedLinuxSystemBasedonARM

920

T

ZHANGJing,YEWu,FENGSuili

(

CollegeofElectronic&Information

,

SouthChinaUniversityofTechnology

,

Guangzhou

,510640,

China

)

Abstract:ThispaperintroducesthedesignandimplementationoftheembeddedLinuxincludingbootloader,kernel,filesystems

andapplicationsthroughanexampleofrealizingtheembeddedLinuxSystembaseontheARM920Tdevelopingboard.

Keywords:embeddedLinux;bootloader;YAFFS;networkfilesystem

  随着信息数字化时代的到来,嵌入式系统进入了一个

快速发展的时期。他最早应用在工控、仿真、数据采集等

领域;现在更是为信息家电、

WAP

手机、无线

PDA

、掌

上电脑等带来了日新月异的发展。展望未来,嵌入式系统

与Internet技术的结合将推动嵌入式技术新的飞跃。本文

研究的系统将运用于多媒体网络终端设备,他的实现为进

一步的开发搭建了软硬件平台。

1.2 嵌入式Linux软件系统

Linux

用于嵌入式系统的优势和发展潜力是不容置

疑的,嵌入式Linux的软件系统包括了以下4个部分:引

导加载程序、Linux内核、文件系统以及用户程序。他们

的可执行映像依次存放在系统的存储设备上,本系统采用

的存储设备是64

M

NANDFLASH

,布局如表1所示。

表1 64M的NANDFLASH布局

分区内容

引导程序映像

启动参数

内核映像

根文件系统映像

用户程序

偏移量

0x00000000

0

x

00020000

0x00030000

0x00200000

0x00a00000

大小

0x00020000

0

x

00010000

0x001d0000

0x00800000

0x03600000

1 开发环境介绍

1.1 基于ARM920T的硬件平台

嵌入式系统硬件平台的选择主要是嵌入式处理器的

选择。在一个系统中使用什么样的嵌入式处理器主要取决

于应用的领域、用户的需求、成本问题、开发的难易程度

等因素。针对开发多媒体网络终端的需要,并考虑系统外

围设备的需求情况,本系统采用了内嵌ARM920T内核的

三星

S

3

C

2410处理器。

[1]

与通常的嵌入式系统内存布局不同,本系统在引导加

载程序和内核映像之间还增加了一个启动参数区,在这个

区里存放着系统启动参数。引导加载程序通过调用这些参

数来决定启动模式、启动等待时间等,这些启动参数的增

加加强了系统的灵活性。简而言之,整个嵌入式

Linux

统的执行过程为:系统上电复位后,

CPU

FLASH

的零

地址读入指令并运行引导加载程序,依次将内核和文件系

统解压到RAM中,并将控制权传给内核。

ARM920T是高性能、低功耗特性方面最佳的通用系统

封装微处理器。他采用5级流水线,具有指令和数据Cache,

支持协处理器、片上调试和

MMU

等技术

[2]

。已经被广泛应

用于手持计算装置、数据通信和消费电子多媒体产品中。

嵌入式系统的硬件核心部件是嵌入式处理器,此外,

还包括一些嵌入式外围设备。在本系统中,包括了外围存

储设备(NANDFLASH和RAM)、外围接口设备(串口、

网口和

USB

接口)、外围显示设备(

LCD

和触摸屏)。

S3C2410处理器和外围设备共同构成了基于ARM920T

的开发板。

收稿日期:20041111

2 嵌入式

Linux

系统设计与实现

2.1 引导加载程序

2.1.1 Bootloader的基本功能

引导加载程序又称为Bootloader,他是CPU加电以后

运行的第一段程序。因此,Bootloader的设计是嵌入式Linux

开发的基础,其基本功能是初始化硬件设备、建立内存空间的

映射图,从而为调用嵌入式

Linux

内核准备好硬件环境。

一般而言,

Bootloader

程序由两个部分组成:第一部

分是依赖于CPU体系结构的代码,通常用汇编语言实现;

基金项目:广东省工业攻关资助项目(2002A1030405)

22

《现代电子技术》2005年第4期总第195期

第二部分则通常用

C

语言实现,这样可以实现较复杂的功

能,而且代码具有更好的可读性和可移植性。从他们在

FLASH中的位置来考虑,第一部分代码的可执行映像从

零地址开始,接下来才存放第二部分的可执行映像;从系

统加电后的执行顺序考虑,也是先执行汇编程序后执行C

程序。两部分代码分别实现不同的功能:汇编程序部分完

成硬件初始化的功能,如屏蔽所有的中断、设置

CPU

的时

钟和速度以及初始化RAM等;同时他还为第二部分代码

的执行做好准备,如准备好

RAM

空间,并将第二部分代

码拷贝到RAM空间。

Bootloader中C语言部分完成内存空间的映射,并将

Linux

内存映像和根文件系统映像从

FLASH

上读到

RAM空间中,设置好启动参数,最后调用内核。

站上

S

3

C

2410的补丁。

 

本文标签: 系统 内核 开发 命令 模式

更多相关文章

解锁OpenWRT新功能:USB无线网卡的添加教程

8天前

说明要完成网线网卡的驱动需要在内核中添加驱动,同时还需要将固件放入rootfs中正确的位置,如果需要固件的话。 内核驱动添加 因为内核中对常规的USB网卡均支持,所以直接添加即可, 例如下面是

简单几步,教你如何利用USB网卡将树莓派3B变身为WiFi发射站

8天前

寒假放假回家,忘记带无线路由器了,家里只有一根网线没有wifi,幸亏带了树莓派还有一个usb无线网卡,于是考虑用树莓派来做无线热点,利用树莓派来共享无线网络。 个人原创,版权所有,转载请注明原文出处,并保留原文链接:

当你的双系统遭遇了删除的厄运,这里有绝地翻盘的大招!

8天前

引言 “手贱”是科技进步的第一动力——至少在我的电脑上是这样。 前几天,我决定给硬盘来一次“断舍离”。看着那块装着老Windows 10系统的F盘,心想既然主力系统已经是Windows 11了,留着它也是浪费空间。于是

好友一碰就消失?揭秘QQ自动退出的神秘原因

8天前

曾经遇到过该问题,以为是偶然或是RP问题,昨天有同事也出现了类似症状,觉得大概与RP无关啦,所以写下比较简单的但有效的解决方法。下面描述一下症状:针对某个QQ号码,选择某个特定的好友,准备输入消息的时候,该QQ号会自动关闭;同个

重新激活QQ浏览器自动更新功能,升级体验从这里开始!

8天前

QQ浏览器自动更新功能关闭后的开启方法详解 在日常使用QQ浏览器的过程中,部分用户可能会遇到自动更新功能被意外关闭的情况。当该功能处于禁用状态时,浏览器将无法自动检测并安装新版本,可能导致安全漏洞修复延迟、功能更新滞后等问题。

QQ浏览器自动更新不想受?三步操作,让升级由你掌握!

8天前

如何关闭QQ浏览器自动更新功能:详细步骤与常见问题解析在日常使用电脑的过程中,许多用户都曾遇到过软件自动更新的困扰。以QQ浏览器为例,其自动更新功能虽然旨在为用户提供最新版本的功能和安全补丁,但部分用户反馈新版本可能存在

Ubuntu Linux新手必学:解决QQ自动关闭的技巧

8天前

原文地址: 前几天每次开机启动电脑,Ubuntu 9.10 linux qq 老是自动退出,QQ登陆了还没几分钟呢,刚想聊几句天的,悄无声息的QQ自动关闭了。 然后今天也奇怪了,QQ登陆后不会自动退出了,而且可以同时登

QQ浏览器更新设置混乱?一键解决自动更新困扰!

8天前

如何关闭QQ浏览器自动更新功能:详细步骤与常见问题解析在日常使用电脑的过程中,许多用户都曾遇到过软件自动更新的困扰。以QQ浏览器为例,其自动更新功能虽然旨在为用户提供最新版本的功能和安全补丁,但部分用户反馈新版本可能存在

Ubuntu 下的QQ烦恼?一招搞定自动退出的小技巧

8天前

原文地址: 前几天每次开机启动电脑,Ubuntu 9.10 linux qq 老是自动退出,QQ登陆了还没几分钟呢,刚想聊几句天的,悄无声息的QQ自动关闭了。 然后今天也奇怪了,QQ登陆后不会自动退出了,而且可以同时登

192.168.0.1隐藏的路由器入口,教你快速进入并优化网络!

8天前

有不少的用户在反馈,说在的时候,登录入口打不开找不到,从而无法对进行设置,问我应该怎么办? 根据鸿哥的经验来看,出现无法打开的登录入口问题,绝大数情况下是用户自己操作有误引起的,极少数情况

192.168.0.1路由器设置疑难解答:让你的网络畅通无阻

8天前

摘 要 (导读:192.168.0.1路由器设置)1、路由器正确安装:2、IP地址设置3、登录路由器4、设置路由器目录本文将介绍192.168.0.1路由器设置的方法及教程;适用于小白新手换新路由器或者路" (导读

192.168.0.1与192.168.1.1:家庭网络地址的细微区别

8天前

哈哈,这个问题问得真好!让我来给你讲讲192.168.0.1和192.168.1.1这两个"网络小管家"的区别吧~ 其实啊,它们就像是两个不同性格的邻居,虽然住在一个大社区(192.168.0.0-192.168

192.168.1.1路由器管理页面轻松登陆教程,告别网络困扰

8天前

快速体验打开 输入框输入如下内容 帮我开发一个路由器登录页面模拟系统,用于展示常见路由器的管理界面登录流程。系统交互细节:1.输入正确IP地址跳转登录页 2.输入错误地址提示更正 3.忘记密码时显示重置指

Dism++上手指南:从新手到高手,轻松驾驭Windows优化

8天前

Dism++终极指南:免费高效的Windows系统优化解决方案 Dism++是一款功能强大的Windows系统优化工具,通过Dism-Multi-language项目提供全面的多语言支持,让全球用户都能以母语轻松使用其强大的系

让Dism++帮您驾驭Windows系统,轻松优化

8天前

简介:Dism++是一款先进的系统维护工具,专注于清理电脑垃圾、释放内存,提供全面的系统优化解决方案。最新版本Dism++10.1.1000.100_2d2bf466baca088c4b35248f5a7316f4e00cac0b特别

Dism命令新探索:深入理解与实践Windows映像文件维护

8天前

Dism是什么? dism 命令(Deployment Image Servicing and Management)是Windows操作系统中的一个命令行工具,用于管理和维护映像文件(如Windows安装映像或修复映像)。d

Dism日志入门:轻松掌握Windows系统维护技巧!

8天前

使用DISM命令修复系统注意:DISM命令只会修复系统自带的文件,第三方软件、驱动问题使用此命令修复是无效的,修复过程是比较漫长的,但是修复期间不会影响你系统正常使用、也不会卡什么的,占用资源比较低。 一、检查映像

Dism++:你的日常维护与系统优化好帮手

8天前

简介:Dism++是一款先进的系统维护工具,专注于清理电脑垃圾、释放内存,提供全面的系统优化解决方案。最新版本Dism++10.1.1000.100_2d2bf466baca088c4b35248f5a7316f4e00cac0b特别

Dism++优化秘籍:一步到位提升电脑运行速度

8天前

1.系统文件清理 虽然dism的文件清理比较弱,但相对于其他清理工具来说,清理系统垃圾文件功能比较丰富,选择软件的空间回收栏目,勾选所有的清理功能,点击扫描,稍等片刻,即可扫描出不需要的文件,点击清理即可。 其中需要注

SWF文件备份失败?这些步骤让你轻松搞定

8天前

数据备份与恢复、系统备份与恢复 一、数据备份与恢复 1、什么是备份 备份,即另外准备一 – 为应付文件、数据丢失或损坏等可能出现的意外情况,将电子计算机存储设备中的数据复制到大容量存储设备中 2

发表评论

全部评论 0
暂无评论