自制动画嵌入式Linux软件开发
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
车间运行的装置”,是指以应用为中心、以计算机技术
为基础、软硬件可裁减、适应应用系统对功能、可靠性、 成本、体积、功耗严格要求的专用计算机系统。
1.嵌入式系统的组成
嵌入式处理器、嵌入式外围设备、嵌入式操作系统 和嵌入式应用软件,其中嵌入式处理器和嵌入式外围设 备都是嵌入式硬件平台的主要组成部分。嵌入式系统的
内核启动设置
在完成Linux启动的NAND Flash设置之后,还必须完 成内核启动需要的一些基本设置,如文件系统支持,完成
内核启动设置和配置驱动支持等。
1.设备文件系统devfs启动支持
devfs,即设备文件系统 (Device Filesystem),其主
要作用是提供一个新的(更理性的)方式管理通常位于/dev
交叉编译是嵌入式开发过程中的一项重要技术,它的
主要特征是某机器中执行的程序代码不是在本机编译生成
,而是由另一台机器编译生成,一般把前者称为目标机, 后者称为宿主机。嵌入式软件开发中必须采用交叉编译的 主要原因在于,多数嵌入式目标系统不能提供足够的资源 供编译过程使用,因而只好将编译工程转移到高性能的主
嵌入式Linux软件开发综述
《ARM原理及应用2-1》
目录
1
嵌入式系统基础知识
2
硬件平台分析和Bootloader移植
Linux操作系统的移植
3
1
嵌入式系统 基础知识
1
嵌入式系统的组 成
2
嵌入式系统的 特点
4
嵌入式系统的 发展趋势
3
嵌入式系统的 应用领域
嵌入式系统概述
嵌入式系统是“控制、监视或者辅助设备、机器和
硬件平台的主要包括以下几种外围模块:
1、最小系统模块;电源系统、晶振、复位电路和存储模
块; 2、人机交互模块;液晶显示模块、触摸屏和音频模块; 3、对外通信模块;包括JTAG、串行接口、USB模块和 以太网模块;
2.微处理器S3C2410的特点
S3C2410是一款16/32位ARM920T内核的微处理 器,0.1um工艺的CMOS标准宏单元和存储编译器。它
Flash MTD设各驱动的过程。MTD(memory
technology device内存技术设备)是用于访问memory 设备(ROM、flash)的Linux的子系统。 MTD的主要目的是为了使新的memory设备的驱动 更加简单,为此它在硬件和上层之间提供了一个抽象的
接口。CFI接口的MTD设备可分为四层(从设备节点直
Байду номын сангаас
机中进行,在进行完程序编写、调试等工作后,再下载到
目标硬件电路上执行。
2.移植 Bootloader
1.Bootloader的启动原理 2.vivi的配置和编译 3.S3C2410的启动方式选择
4.vivi中NAND Flash分区的设置
3
Linux操作 系统的移植
Linux是一个庞大的源码开放项目,在世界上有千
目录下的所有块设备和字符设备。典型的/dev树包含数百 个字符类型特殊文件和块类型特殊文件,它们全都在根文 件系统上,每个特殊文件都可以让用户空间进程轻松地与 内核设备实现交互。
2.内核编译和下载
启动vivi,进入vivi的命令行模式,利用vivi的命令 load flash kernel x将linux内核下载到 NAND Flash的
动态的、可扩展的系统功能,每一个不同版本的内核都 增加或者减少了一些特性,但这些特性的总体趋势就是 越来越适合于嵌入式移植。
Linux内核源码
Linux内核主要由5个子系统组成:进程调度、内存
管理、虚拟文件系统、网络接口、进程间通信。
Linux的移植
1.源码的获取 2.建立flash分区
Flash分区的建立实际上是实现目标系统中NAND
二、S3C2410片内外设功能模块简介
为减少整个系统的成本,S3C24lO芯片内部集成了 各种外围没备,其中与本课题研究相关的外围设备主要 包括: 1、和Bootloader启动程序有关的 NAND Flash的
控制器,芯片选择逻辑和SDRAM控制器的系统管理器,
3通道UART; 2、支持STN和TFT带有触摸屏的LCD控制器,2个
到底层硬件驱动),这四层从上到下依次是:设备节点 、MTD设备层、MTD原始设备层和硬件驱动层。
3.启动初始化
Linux的内核启动时会依据分区的设置进行初始配置,它
将会根据mach- smdk2410.c文件进行硬件的初始化, NAND Flash驱动是内核启动时必须加载的部分,所以必 须将 NAND Flash信息添加到此文件中。
内核分区。这样Linux-2.6.12.6的内核裁减和移植就已经
初步完成了,要使Linux在目标板上真正自由的运行起来, 配合目标板上的硬件环境,还必须进行文件系统和驱动程 序的移植。
1.硬件平台概述
Samsung S3C2410微处理器(ARM9)为核心的目标 平台板,S3C2410的接口非常丰富,可满足许多嵌入式系
统的需要,尤其是多媒体嵌入式系统的需要。
系统采用主频可高达203MHz的S3C2410作为处理器
芯片,其内部集成了一系列完备的系统接口,从而可以在
最大程度上降低系统开发成本,减少外围器件的使用。
的低功耗、精简和出色的全静态设计使得它非常适用于
手持式设备以及对成本、功耗敏感的应用场合。
一、ARM920T内核
ARM920T内核由ARM9TDMI、存储管理单元 (MMU)和高速缓存三部分组成。其中,全性能MMU, 可管理虚拟内存,支持Linux,WinCE等嵌入式操作
系统。它采用Harvard结构,支持16KB数据Cache和
四部分是密不可分的,只有具备了这四个部分,才能发
挥嵌入式系统应有的功能。
2.嵌入式系统的特点
嵌入式系统通常是面向特定应用的,它通常都具有
低功耗、体积小、集成度高等特点,嵌入式系统微处理
器能够把通用CPU中许多由板卡完成的任务集成在芯片内 部,从而有利于嵌入式系统设计的小型化,移动能力大 大增强,和网络的融合也越来越紧密。
千万万的Linux爱好者每天不停地进行维护和发展。随
着嵌入式技术的快速发展和嵌入式设备的普及,Linux 的开发者们越来越意识到在Linux体系结构适应嵌入式 系统发展的重要性,ARM,MIPS的体系结构的源码加 入到Linux正式发布的内核中就是一个证明。嵌入式应
用发展的一个关键趋势是从静态的、固定的系统功能到
嵌入式系统是将先进的计算机技术、半导体技术和
电子技术与各个行业的具体应用相结合的产物。这一点
就决定了它必然是一个技术密集、资金密集、不断创新 的知识集成系统。 嵌入式系统的硬件部分和软件部分都必须高效率地
进行设计,量体裁衣、去除冗余,力争在有限的印刷电
路板面积上实现更高的性能,这样才能在具体应用中对 处理器的选择更具有竞争力。
3.嵌入式系统的应用领域
工业控制 交通管理 信息家电 家庭智能管理系统 环
境监测 机器人
4.嵌入式系统的发展趋势
随着嵌入式系统应用领域的不断扩展和技术的不断 成熟,嵌入式系统呈现了欣欣向荣的发展势头,嵌入式
系统的应用领域及在技术特点上的发展趋势
2
硬件平台分 析和 Bootloader 移植
硬件平台分析
16KB指令Cache结构分离,具有更高的指令和数据处理 能力。
USB主机接口,其中1个USB可作为设备接口,4通道
DMA,这些都和图形用户接口密切有关; 3、8通道10位ADC模块,IIC总线接口,IIS总线接口, 117个通用I/O口和外部中断源,这些与音频驱动程序的 实现密切相关。
Bootloader的实现
1.交叉编译环境的建立
在进行嵌入式Linux开发之前,首先要建立一个交叉编 译环境,这是一套编译器、连接器和libc库等组成的开发环
境。
Linux下的交叉编译环境主要包括以下四个部分 1)针对目标系统的编译器gcc 2)针对目标系统的二进制工具binutils
3)目标系统的标准c库glibc
4)目标系统的Linux内核头文件