◆ LCD控制器,一个 LCD专业 DMA; ◆ 4个带外部请求线的 DMA;
◆ 3个通用异步串行端口(IrDA1.0,16-Byte Tx FIFO and 16-Byte Rx FIFO), 2 通道SPI;
◆ 一个多主 I2C总线,一个 I2S总线控制器;
◆ SD主接口版本 1.0和多媒体卡协议版本 2.11兼容; ◆ 两个 USB HOST,一个 USB DEVICE(VER1.1); ◆ 4个 PWM 定时器和一个内部定时器; ◆ 看门狗定时器;
成都理工大学硕士学位论文
1 8
◆ 117个通用 I/O; ◆ 56个中断源; ◆ 24个外部中断;
◆ 电源控制模式:标准、慢速、休眠、掉电; ◆ 8通道 10位 ADC和触摸屏接口; ◆ 带日历功能的实时时钟; ◆ 芯片内置 PLL;
◆ 设计用于手持设备和通用嵌入式系统;
◆ 16/32 位 RISC体系结构,使用 ARM920T CPU核的强大指令集; ◆ 带 MMU的先进的体系结构支持 WinCE、EPOC32、Linux;
◆ 指令缓存(Cache)、数据缓存、写缓存和物理地址 TAG RAM,减小了 对主存储器带宽和性能的影响;
◆ ARM920T CPU核支持 ARM 调试的体系结构;
◆ 内部先进的位控制器总线(AMBA)(AMBA2.0,AHB/APB)。 (2)系统管理
◆ 小端/大端支持;
◆ 地址空间:每个 BANK128MB(全部为 1GB); ◆ 每个 BANK可编程为 8/16/32位数据总线; ◆ BANK0到 BANK6 为固定起始地址; ◆ BANK7可编程 BANK起始地址和大小; ◆ 一共 8个存储器 BANK;
◆ 前 6个存储器 BANK用于 ROM、SRAM 和其它;
◆ 两个存储器 BANK用于 ROM、SRAM、和 SDRAM(同步随机存储器); ◆ 支持等待信号用以扩展总线周期; ◆ 支持 SDRAM 掉电模式下的自刷新;
◆ 支持不同类型的 ROM 用于启动(NOR/NAND Flash、EEPROM 和其它)。 (3)芯片封装采用272-FBGA 封装,如图3-2 所示。
图3-2 S3C2410 272-FBGA 封装图 第3 章 ARM 平台上的linux 开发
1 9
3.2 linux 操作系统的特点
3.2.1 linux 操作系统概述
Linux 包含了人们希望操作系统拥有的所有的功能特性,这些功能包括真正 的多任务、虚拟内存、世界上最快的TCP/IP 驱动程序、共享库和多用户支持。 Linux 的内核源码又经过了广泛的验证,程序显得更健壮,开发更灵活,指导文 档比较多,使得所设计的系统在其规模、可靠性、性能指标、上市周期、开发成 本、产品维护及其软件升级等多方面实现最优化。
Linux 是一种类unix 操作系统,Linux 的基本思想有两点:第一,一切都是 文件;第二,每个软件都有确定的用途,同时它们都尽可能被编写得更好。其中 第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设 备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型 的文件。它继承了unix 的特征并且兼容POSIX1003.1(Portable Operating System
Interface of Unix, Unix 可移植操作系统接口)标准,具有下列特点: 多任务支持,多任务是现代计算机的最主要的一个特点,linux 平等的调用 每个进程访问处理器,其结果是,应用程序好像在并行运行。多用户支持。多处 理器支持,linux 操作系统可以将任务分布在多个处理器上。跨平台支持,linux 几乎可以在常见的所有平台的硬件体系结构上运行。按需调入执行,在linux 中 只有实际中需要的程序块才会被装入内存中,直到需要对该内存进行写操作时, 才将该进程的内存段复制到存储设备中。另外还有:分页机制,共享库支持,设 备独立性(即是指操作系统把所有外部设备统一当作文件来操作),支持不同种 类的文件系统如嵌入式系统中常用的cramFS(Compressed ROM File System), YAFFS(Yet Another Flash File System)以及网络文件系统NFS(Net File System) 等,丰富的网络支持。
所谓嵌入式linux,是指对标准linux 进行小型化裁剪处理后,能够固化在容量 只有几KB 或几MB 的存储芯片中适合于特定嵌入式应用场合的专用linux 操作 系统。
3.2.2 Linux 系统的基本结构
Linux 是一个单宏内核结构的操作系统,但它与传统的unix 操作系统不同, 在linux 中可以动态的装载和卸载内核中的模块。引入动态的模块技术,使内核 具有良好的动态可裁剪性。
Linux 中,内核包括进程管理,内存管理,驱动程序,文件系统,进程间通 信等模块,其结构图如图3-3 所示。
成都理工大学硕士学位论文
2 0
用户进程 系统调用 虚拟文件系统 网 络 协 议 内 核 定
时 器 虚 拟 内 存 管 理 进 程 管 理
ext3文件系统NFS 文件系统其它文件系统 HAL(硬件抽象层) 硬件系统
图 3-3 linux 系统结构图
进程管理的系统调用包括进程的创建,调度,中止,等待等。
Linux 支持内存管理控制器MMU,使用虚拟内存管理机制。虚拟内存管理系 统调用包括:内存分配,内存回收,请求分页和交换页等。
由于linux 使用了虚拟文件管理系统VFS,从而使它能够支持不同的文件系 统。文件管理系统允许用户通过一组通用的系统调用(例如open, close, read, write,
chmod 等)对不同文件系统中的文件进行访问。 另外,linux 还有强大而且安全的网络功能。
3.2.3 Linux 技术的优点
一个功能完备的 Linux 内核要求大约 1 MB 内存。而 Linux 微内核只占用 其中很小一部分内存,包括虚拟内存和所有核心的操作系统功能在内,只需占用 系统约100KB 内存。是用于内存有限制的嵌入式系统。尽管linux 不是为嵌入式 系统设计的,特别不是为实时系统设计的,但是,由于它的模块化结构使其具有 良好的裁剪性,丰富的资源和源码开放的特点,所以将它应用在嵌入式系统中还 是获得一定的成功。Linux 操作系统本身的微内核体系结构相当简单。网络和文 件系统以模块形式置于微内核的上层。驱动程序和其他部件可在运行时作为可加 载模块编译到或者是添加到内核。这为构造定制的可嵌入式系统提供了高度模块 化的构件方法。嵌入式系统也常常要求通用的功能,为了避免重复劳动,这些功 能的实现运用了许多现成的程序和驱动程序,方便了开发。
基于ARM 的嵌入式linux 系统是指在ARM 处理器上移植linux 操作系统。
Linux 可以很完备的支持ARM 架构处理器。将linux 操作系统移植进ARM 中, 可以方便的利用linux 内核的任务管理模块,按照系统功能需求来对任务进行调 度。这样就使得ARM 灵活的硬件设计与linux 的强大软件功能有机结合在一起, 高效地实现本设计中的多任务系统系统。
第3 章 ARM 平台上的linux 开发
2 1
3.4 ARM 平台上linux 开发概述
整个系统的开发是在 linux 操作系统下完成的,在linux 下完成系统的所有软 件开发任务。
首先将 S3C2410 的bootloader(vivi-boot)通过下载工具烧写到NAND Flash 中, 本设计实际开发中我们使用的是SJF2410。烧写好vivi-boot 之后,首先对Flash 进行分区,如果直接进行下载内核或文件系统的话,那么系统将无法正确引导。 分区完成后再次再次下载bootloader 映像文件,因为分区完成后,vivi-boot 也就
不存在了。下载完vivi-boot 后,可以下载linux kernel 的映像,在这之前将驱动
编译进内核。在这之后将Qt/Embedded 库,SQLite 库和用户应用程序添加到根 文件系统。然后将根文件系统制成cramfs 映像,最后下载根文件系统到目标板。 在开发过程中可以把本地机上的存放根文件系统的某个目录导出为NFS 服务目 录,从而以NFS root 的方式启动内核,这样可以很方便的测试用户应用程序, 避免了重新下载和烧写的麻烦进行在线仿真。调试完成后,再通过网线下载到目 标板。
本章主要讨论了 linux 技术的基本结构和特点,以及设计中所采用的三星 S3C2410 丰富的外部资源。基于ARM 平台的linux 操作系统软件开发的一些基 本流程,为下一步的开发设计工作打下了基础。
成都理工大学硕士学位论文
2 2
第4 章硬件电路设计
脉冲幅度分析器主要由甄别电路,控制电路,数据采集电路以及显示模块, 网络通讯模块,存储模块,电源,复位模块等组成(见总体硬件框图2-1)。脉冲 信号到达时,S3C2410发出控制信号,由甄别电路进行甄别,峰位到达后,将峰 值通过的信息提供给控制电路,控制电路发出信号启动A/D转换,S3C2410通过 内置ADC采样输入的峰值后,关闭A/D采样。并且由2410读取数据,数据读取结 束后,处理器发出信号给控制电路,保证控制电路与峰值信号协调,配合控制 A/D的下一次采样。
S3C2410读取数据后会将其存储入NAND Flash, 或者通过SD卡电路存入SD
卡。也可以通过网卡电路把数据向上位机传输。程序运行的载体是内存,可以通 过系统的SDRAM连接电路载入可执行二进制代码运行。另外,在测试的同时LCD 显示电路对结果进行显示。
系统的硬件电路还包括了构成最小系统所需要的时钟,电源,复位等电路。
4.1 甄别电路
甄别电路的主要功能是过峰检测,并去除信号噪声。通过设定阈值,将信号 中脉冲幅度小于阈值的噪声信号去除。甄别电路原理如图4-1 所示,当比较器 U1 同相端的输入电压高于阈值电压(反相输入端的电压)时,比较器U1 输出 为高电平,脉冲没有达到峰值时,比较器U1 输出为低电平。过峰后,比较器 U1 同相输入端电压高于反相输入端电压,输出电压为高,给控制电路提供过峰 信号。在峰值通过后,比较器U2 提供信号给触发器由触发器控制A/D 转换器的 工作状态[8]。
图 4-1 甄别电路
相关推荐: