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的补丁。
版权声明:本文标题:基于ARM920T的嵌入式Linux系统开发 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1717681808a710830.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
更多相关文章
解锁OpenWRT新功能:USB无线网卡的添加教程
说明要完成网线网卡的驱动需要在内核中添加驱动,同时还需要将固件放入rootfs中正确的位置,如果需要固件的话。 内核驱动添加 因为内核中对常规的USB网卡均支持,所以直接添加即可, 例如下面是
简单几步,教你如何利用USB网卡将树莓派3B变身为WiFi发射站
寒假放假回家,忘记带无线路由器了,家里只有一根网线没有wifi,幸亏带了树莓派还有一个usb无线网卡,于是考虑用树莓派来做无线热点,利用树莓派来共享无线网络。 个人原创,版权所有,转载请注明原文出处,并保留原文链接:
当你的双系统遭遇了删除的厄运,这里有绝地翻盘的大招!
引言 “手贱”是科技进步的第一动力——至少在我的电脑上是这样。 前几天,我决定给硬盘来一次“断舍离”。看着那块装着老Windows 10系统的F盘,心想既然主力系统已经是Windows 11了,留着它也是浪费空间。于是
好友一碰就消失?揭秘QQ自动退出的神秘原因
曾经遇到过该问题,以为是偶然或是RP问题,昨天有同事也出现了类似症状,觉得大概与RP无关啦,所以写下比较简单的但有效的解决方法。下面描述一下症状:针对某个QQ号码,选择某个特定的好友,准备输入消息的时候,该QQ号会自动关闭;同个
重新激活QQ浏览器自动更新功能,升级体验从这里开始!
QQ浏览器自动更新功能关闭后的开启方法详解 在日常使用QQ浏览器的过程中,部分用户可能会遇到自动更新功能被意外关闭的情况。当该功能处于禁用状态时,浏览器将无法自动检测并安装新版本,可能导致安全漏洞修复延迟、功能更新滞后等问题。
QQ浏览器自动更新不想受?三步操作,让升级由你掌握!
如何关闭QQ浏览器自动更新功能:详细步骤与常见问题解析在日常使用电脑的过程中,许多用户都曾遇到过软件自动更新的困扰。以QQ浏览器为例,其自动更新功能虽然旨在为用户提供最新版本的功能和安全补丁,但部分用户反馈新版本可能存在
Ubuntu Linux新手必学:解决QQ自动关闭的技巧
原文地址: 前几天每次开机启动电脑,Ubuntu 9.10 linux qq 老是自动退出,QQ登陆了还没几分钟呢,刚想聊几句天的,悄无声息的QQ自动关闭了。 然后今天也奇怪了,QQ登陆后不会自动退出了,而且可以同时登
QQ浏览器更新设置混乱?一键解决自动更新困扰!
如何关闭QQ浏览器自动更新功能:详细步骤与常见问题解析在日常使用电脑的过程中,许多用户都曾遇到过软件自动更新的困扰。以QQ浏览器为例,其自动更新功能虽然旨在为用户提供最新版本的功能和安全补丁,但部分用户反馈新版本可能存在
Ubuntu 下的QQ烦恼?一招搞定自动退出的小技巧
原文地址: 前几天每次开机启动电脑,Ubuntu 9.10 linux qq 老是自动退出,QQ登陆了还没几分钟呢,刚想聊几句天的,悄无声息的QQ自动关闭了。 然后今天也奇怪了,QQ登陆后不会自动退出了,而且可以同时登
192.168.0.1隐藏的路由器入口,教你快速进入并优化网络!
有不少的用户在反馈,说在的时候,登录入口打不开找不到,从而无法对进行设置,问我应该怎么办? 根据鸿哥的经验来看,出现无法打开的登录入口问题,绝大数情况下是用户自己操作有误引起的,极少数情况
192.168.0.1路由器设置疑难解答:让你的网络畅通无阻
摘 要 (导读:192.168.0.1路由器设置)1、路由器正确安装:2、IP地址设置3、登录路由器4、设置路由器目录本文将介绍192.168.0.1路由器设置的方法及教程;适用于小白新手换新路由器或者路" (导读
192.168.0.1与192.168.1.1:家庭网络地址的细微区别
哈哈,这个问题问得真好!让我来给你讲讲192.168.0.1和192.168.1.1这两个"网络小管家"的区别吧~ 其实啊,它们就像是两个不同性格的邻居,虽然住在一个大社区(192.168.0.0-192.168
192.168.1.1路由器管理页面轻松登陆教程,告别网络困扰
快速体验打开 输入框输入如下内容 帮我开发一个路由器登录页面模拟系统,用于展示常见路由器的管理界面登录流程。系统交互细节:1.输入正确IP地址跳转登录页 2.输入错误地址提示更正 3.忘记密码时显示重置指
Dism++上手指南:从新手到高手,轻松驾驭Windows优化
Dism++终极指南:免费高效的Windows系统优化解决方案 Dism++是一款功能强大的Windows系统优化工具,通过Dism-Multi-language项目提供全面的多语言支持,让全球用户都能以母语轻松使用其强大的系
让Dism++帮您驾驭Windows系统,轻松优化
简介:Dism++是一款先进的系统维护工具,专注于清理电脑垃圾、释放内存,提供全面的系统优化解决方案。最新版本Dism++10.1.1000.100_2d2bf466baca088c4b35248f5a7316f4e00cac0b特别
Dism命令新探索:深入理解与实践Windows映像文件维护
Dism是什么? dism 命令(Deployment Image Servicing and Management)是Windows操作系统中的一个命令行工具,用于管理和维护映像文件(如Windows安装映像或修复映像)。d
Dism日志入门:轻松掌握Windows系统维护技巧!
使用DISM命令修复系统注意:DISM命令只会修复系统自带的文件,第三方软件、驱动问题使用此命令修复是无效的,修复过程是比较漫长的,但是修复期间不会影响你系统正常使用、也不会卡什么的,占用资源比较低。 一、检查映像
Dism++:你的日常维护与系统优化好帮手
简介:Dism++是一款先进的系统维护工具,专注于清理电脑垃圾、释放内存,提供全面的系统优化解决方案。最新版本Dism++10.1.1000.100_2d2bf466baca088c4b35248f5a7316f4e00cac0b特别
Dism++优化秘籍:一步到位提升电脑运行速度
1.系统文件清理 虽然dism的文件清理比较弱,但相对于其他清理工具来说,清理系统垃圾文件功能比较丰富,选择软件的空间回收栏目,勾选所有的清理功能,点击扫描,稍等片刻,即可扫描出不需要的文件,点击清理即可。 其中需要注
SWF文件备份失败?这些步骤让你轻松搞定
数据备份与恢复、系统备份与恢复 一、数据备份与恢复 1、什么是备份 备份,即另外准备一 – 为应付文件、数据丢失或损坏等可能出现的意外情况,将电子计算机存储设备中的数据复制到大容量存储设备中 2
发表评论