版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嵌入式系统设计大学教程,第九章 基于OMAP5912的开发应用,主要内容,9.1 OMAP5912的结构和特点 9.2 基于OMAP5912的硬件平台设计 9.3 基于OMAP5912的软件系统设计,9.1 OMAP5912的结构和特点,OMAP5912处理器是由TI应用最为广泛的TMS320C55x DSP内核与低功耗、高性能的ARM926EJ-S微处理器组成的双核应用处理器。C55x系列可提供对低功耗应用的实时多媒体处理的支持;ARM926可满足控制和接口方面的处理需要。,9.1 OMAP5912的结构和特点,9.1.1 ARM926EJ-S内核 ARM926EJ-S内核是采用32位RIS
2、C处理器,并采用ARM9作内核,同时配备Thumb扩展。它能够处理32位或者16位的指令,处理8位、16位和32位数据。,9.1.1 ARM926EJ-S内核,这款新型高性能、低功耗的微构架采用协处理器CP15使体系结构得到增强。系统中的控制寄存器可通过对协处理器CP15的读写来对MMU、Cache和读写缓存控制器进行存取操作。这种微构架在ARM核的周围提供了:指令与数据存储器管理单元,指令、数据和写缓冲器,性能监控、调试和JTAG单元以及协处理器接口,MAC协处理器和内核存储总线。,9.1 OMAP5912的结构和特点,9.1.2 TMS320C55x内核 TMS320C55x内核的主要特点
3、是:有1个64位8位的缓存队列,2个17位17位的乘法累加单元,1个40位的算术逻辑单元,1个16位的算术逻辑单元,1个40位的桶形移位器和4个40位的加法器。另外还有12条独立的总线,即:3条数据读总线,2条数据写总线,5条数据地址总线,1条程序读取总线和1条程序地址总线。此外,还有用户可以配置的IDLE域。,9.1.2 TMS320C55x内核,内核主要由4个单元组成: 指令缓冲单元(I单元) 程序流单元(P单元) 地址数据流单元(A单元) 数据运算单元(D单元),9.1 OMAP5912的结构和特点,9.1.3 存储器管理 存储器通信控制器(Traffic Controller,以下简称
4、TC)管理着MPU、DSP、DMA以及局部总线对OMAP5912系统存储资源(如SRAM、SDRAM、FLASH、ROM等)的访问。它的主要功能是确保处理器能够高效访问外部存储区,并避免产生瓶颈现象而降低片上处理速度。,9.1.3 存储器管理,MPU子系统用于控制存储器管理单元(MMUs)、系统直接存储器访问(DMA)控制器、MPU TI外设总线(TIPB)桥和一些外设。,图 91 MPU存储器映射,9.1 OMAP5912的结构和特点,9.1.4 直接存储器访问控制器(DMA) 直接存储器访问控制器(Direct Memory Access,DMA)可以在没有MPU干预的情况下实现存储空间中
5、不同位置间的数据传递。这种数据传递的数据源和数据目的地可以是片内存储器、片外存储器以及各种系统外设,它们都伴随在MPU的操作中。通过使用DMA,可以减小系统进行大量数据传递时对MPU处理器所造成的工作负荷。,9.1.4直接存储器访问控制器(DMA),DMA通道是基于硬件实现的,因此也称为物理通道。其中,每一条通道都受一组配置寄存器控制,可以用软件来设置传输参数,诸如数据长度、数据源地址和目的地址等。这些物理通道配置寄存器位于MPU的存储空间里。所有的物理通道都是并行操作的,可以并行进行多组数据的传递,每一组数据占据一个通道。如果几个通道都使用相同的DMA端口,它们就会时分复用这个端口。,9.1
6、.4直接存储器访问控制器(DMA),图 93 DMA传输基本流程,9.1 OMAP5912的结构和特点,9.1.5 时钟和电源管理 OMAP5912微处理器提供了2个振荡器以辅助管理电源耗损。设计系统时,在待机模式下可以直接关闭12MHz的振荡输入,只留下32kHz振荡器来维持系统运作。这样,不但可以保证系统运行,让需要维持运行的周边正常操作(例如用户可以通过Keypad等输入装置来唤醒整个系统),而且可以很容易地关闭大部分接口设备,达到控制电源耗损的目的。,9.1 OMAP5912的结构和特点,9.1.6 外围控制模块 1. MPU专用外设器 包括定时器、看门狗定时器和中断处理器。这3种标准
7、外设只能通过ARM926专用总线(TIPB)的访问来提供所需的操作系统和应用的管理功能。,9.1 OMAP5912的结构和特点,2. MPU公共外设 主要有照相机接口、MPU I/O、Microwire接口、USB接口等,这些设备只能被MPU和MPU配置的系统DMA控制器访问。因为该总线可以被系统DMA控制器访问,所以称为公共总线。DSP不能访问该总线上的外设。,9.1.6 外围控制模块,3. DSP专用外设 包括定时器、看门狗定时器和中断处理器。 4. DSP公共外设 包括2个多通道缓冲串口和2个多通道串口,可以被DSP以及DSP DMA直接访问。这些外设也可以被MPU和系统DMA通过MPU
8、I接口访问,但MPUI接口必须进行相应的配置。,9.1.6 外围控制模块,5.共享外设 系统的共享外设有: 邮箱模块,可以实现DSP和MPU之间基于中断的信号交换; 串口; 8个通用计时器; 3个UART; I2C总线的主从接口; 多通道缓冲串口(McBSP); 多媒体卡(MMC)和SD接口; 64个通用功能的输入输出(GPIO); 32KHz的同步时钟。,主要内容,9.1 OMAP5912的结构和特点 9.2 基于OMAP5912的硬件平台设计 9.3 基于OMAP5912的软件系统设计,9.2 基于OMAP5912的硬件平台设计,OMAP5912中的ARM926内核主要负责提供操作系统、用
9、户界面和高级应用,进行实时多任务调度管理,以及对DSP CSSx进行控制和通信。DSP核适合语音应用所需要的实时信号处理功能,主要负责实现复杂的多媒体信号处理。将经过解码处理的信号进行D/A转换和功率放大,进一步输出到耳机等输出设备。,9.2 基于OMAP5912的硬件平台设计,9.2.1 电源管理模块 针对OMAP平台低功耗的特点,对电源管理模块提出了更高要求。OSK开发板采用TI推出的手持式高整合度电源IC芯片TPS65010。该产品具有高性能级别,并且功率转换效率高达97%,与其他分立解决方案相比,采用TPS65010可大大减小所占电路板空间。,9.2 基于OMAP5912的硬件平台设计
10、,9.2.2 存储模块 因为系统最后要脱机运行,所有的程序都要固化到FLASH里面,包括中断矢量表、初始化代码、引导代码、系统的应用程序,还有显示菜单用到的字模。在硬件开发阶段,可以在FLASH的存储空间位置上通过跳线器再并接一个RAM,这样就可以通过CCS直接向其中加载程序,避免了在调试中断和引导过程中反复修改烧写FLASH的操作。,9.2.2 存储模块,1. Flash Memory OMAP5912可支持两块NOR FLASH芯片。OSK开发板采用2块Micron公司的MT28F128J3芯片,其单片容量为16MB。OMAP5912有24根地址线A1A24可使用。,9.2.2 存储模块,
11、. DDR SDRAM 在一个时钟周期中DDR可以完成SDRAM两个周期才能完成的任务,所以理论上同速率的DDR内存与SDRAM相比,性能要超出一倍。可选用一块工作电压为1.8V的低功耗DDR SDRAM芯片。 在OSK开发板中选用的是Samsung公司的K4X56163PE-L(F)G,该芯片容量为32MB,工作频率100MHZ(DDR200)。,9.2 基于OMAP5912的硬件平台设计,9.2.3 音频处理模块 音频处理模块在硬件上使用了基于IIS总线的音频系统体系结构。IIS(Inter-IC Sound bus)又称I2S,是菲利浦公司提出的串行数字音频总线协议。音频电路包含了两路音
12、频输入(line in和mic in)和一路音频输出(headphone out)。,9.2.3 音频处理模块,TLV320AIC23(以下简称AIC23)是TI推出的一款高性能、集成有模拟功能的立体声音频CODEC,内置耳机输出放大器,支持MIC和LINE IN两种输入方式(二选一),而且对输入和输出都具有可编程增益调节。 AIC23的模数转换(ADC)和数模转换(DAC)部件高度集成在芯片内部,采用了先进的Sigma-delta过采样技术,可以在8K到96K的频率范围内提供16、20、24和32位的采样,ADC和DAC的输出信噪比分别可以达到90dB和100dB。,9.2 基于OMAP59
13、12的硬件平台设计,9.2.4 外围接口 1. CF卡接口 CF卡有两种规格:Type I和Type II,前者厚度为3mm,后者厚度加倍,但容量也随之提升。,9.2.4 外围接口,2.以太网接口,图 97 LAN91C96内部结构,9.2.4 外围接口,3.以太网接口 JTAG/Multi-ICE仿真调试接口:OMAP提供JTAG信号,并通过SN74LV C244AGQN缓冲,连接到外部接口。 USB接口:OMAP5912的USB主机控制器提供了低速(1.5Mbps)和全速(12Mbps)的传输速率。,主要内容,9.1OMAP5912的结构和特点 9.2基于OMAP5912的硬件平台设计 9
14、.3基于OMAP5912的软件系统设计,9.3.1 OMAP5912系统的软件架构,图 98 OMAP5912系统软件架构框图,9.3.1 OMAP5912系统的软件架构,为了实现跨平台的要求,系统在驱动程序之上再建立一层硬件抽象层(HAL),通过对硬件的抽象描述,可降低和底层硬件的耦合度,即使底层的硬件变化,只要有适当的驱动程序,整个系统的架构不需改变就可以运作。这主要是为以后的系统扩展和移植做准备。,9.3.1 OMAP5912系统的软件架构,系统服务指的是位于语言层次,提供应用程序语言呼叫的一组接口及其操作,其作用类似于DOS下的INT 21H指令,即提供中断服务程序,只要应用程序向操作
15、系统请求协助,系统服务就会被调用,这一层还包含了对系统语言库的支持。,9.3 基于OMAP5912的软件系统设计,9.3.2 嵌入式Linux系统的启动流程 Linux操作系统在嵌入式系统中越来越受欢迎,基于Linux的嵌入式PDA和手机产品也层出不穷。一般来说,一个嵌入式Linux系统的启动可以分为四个层次 。 引导加载程序 Linux内核 文件系统 用户应用程序,9.3.2 嵌入式Linux系统的启动流程,在嵌入式系统中,通常并没有像BIOS那样的固件程序(有的嵌入式CPU可能会有一段短小的启动程序,如TI MSC1210等),因此整个系统的加载启动任务就完全由Bootloader来完成。
16、比如在基于XScale core的嵌入式系统中,系统在上电或复位时通常都从地址0 x00000000处开始执行,而在这个地址处安排的通常就是系统的Bootloader程序。,9.3 基于OMAP5912的软件系统设计,9.3.3 Bootloader及其移植 简单地说,Bootloader就是在操作系统内核运行之前运行的一段小程序,相当于PC机主板上的BIOS,是最底层的引导软件。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。,9.3.3 Bootloader及其移植,1.Bootloader
17、在嵌入式系统的重要性 一般情况下,计算机操作系统的启动都需要一个引导加载程序。其主要的原因在于现在计算机系统多采用“易失性”的半导体存储器作为内存,如PC系统中采用的EDO DRAM,SDRAM,DDR SDRAM等,一旦断电,内存中的操作系统映像就消失了,因此只能将操作系统存储在非易失性的存储介质上,在系统加电的时候才能将其中的操作系统映像装入内存中运行。,9.3.3 Bootloader及其移植,实际上大多数嵌入式系统还是采用了引导加载程序,而不让可执行映像在EEPROM或FLASH中就地执行。一般而言,这样做是出于几个方面的考虑: 效率方面的考虑 操作系统的多样性 存储地与执行地分离 调
18、试/排错方面的考虑 嵌入式系统独特的开发模式,9.3.3 Bootloader及其移植,2.Bootloader的相关概念 通常,Bootloader是严重地依赖于硬件而实现的,特别是在嵌入式系统中。因此,在嵌入式世界里建立一个通用的Bootloader几乎是不可能的。尽管如此,仍然可以对Bootloader归纳出一些通用的概念来,以指导用户特定的Bootloader设计与实现:,9.3.3 Bootloader及其移植,Bootloader所支持的CPU和嵌入式系统板 Bootloader的安装媒介 用来控制Bootloader的设备或机制 Bootloader的操作模式 Bootloade
19、r与主机之间进行文件传输所 用的通信设备及协议 Bootloader的启动过程,9.3.3 Bootloader及其移植,3. Bootloader的移植 嵌入式领域中操作系统的移植关键在Bootloader的移植和操作系统内核硬件相关部分移植。设计和实现一个好的Botloader将大大提高操作系统移植的稳定性,并大大加快操作系统移植的周期。,9.3.3 Bootloader及其移植,(1) Bootloader移植中的关键问题 处理器异常 内存初始化,9.3.3 Bootloader及其移植,(2) U-BOOT的移植 Bootloader(引导加载程序)是系统加电后运行的第一段代码。一般它
20、只在系统启动时运行非常短的时间,但对于嵌入式系统来说,这是一个非常重要的系统组成部分。当我们使用单片机或者像C/OS这样的操作系统时,一般只需要在初始化CPU和其他硬件设备后,直接加载程序即可,不需要单独构建一个引导加载程序。但构建或移植一个Bootloader,从某种意义上来说,对所有的Linux系统都是一个必不可少的任务。,9.3 基于OMAP5912的软件系统设计,9.3.4 Montavista Linux内核的移植 嵌入式Linux主要可以分为两类: 第一类是在利用Linux强大功能的前提下,使它尽可能地小,以满足许多嵌入式系统对体积的要求,如uClinux; 第二类是将Linux开
21、发成实时系统(如RTLinux,MontaVista Linux)应用于一些关键的控制场合。,9.3.4 Montavista Linux内核的移植,1.软件环境配置 安装Montavista Preview Kit到/opt/montavista中。 安装成功后,还要进行本地用户的一个备份操作。 接下来我们将做一个嵌入式内核源码树的本地备份。 做一个指向linux-2.4.20_mv131的逻辑链接,以便以后编译不同的内核时,只需修改相应的链接,而不必对Makefile进行改动。,9.3.4 Montavista Linux内核的移植,2.参数配置 根目录 arch目录 arch/arm/b
22、oot目录,9.3.4 Montavista Linux内核的移植,3.编译和移植 当对内核配置或者相应的功能进行改动后,一般都必须重新编译内核。编译内核的同时也编译和链接用到的各个模块。,9.3 基于OMAP5912的软件系统设计,9.3.5 文件系统的移植 当系统启动后,操作系统要完成的最后一步是挂载根文件系统。在开发过程中,通过网络以NFS方式来挂载在Linux主机上的文件系统,这样就不必要每次有改动都要重新烧写文件系统的镜像文件了。它的实现基于对主机进行相应的配置并启动NFS服务。,9.3.5 文件系统的移植,我们采取的文件系统技术是JFFS2文件系统。JFFS2是基于JFFS开发的闪
23、存文件系统,除了日志功能,它也包括了TrueFFS的负载均衡、垃圾收集等功能,并且源代码公开。它使用的是基于哈希表的日志结点结构,大大加快了对结点的操作速度。文件系统的移植只需往内核添加MTD的驱动,并用mkfs.jffs2来生成镜像文件,接着同样利用U-boot将其烧写进FLASH的特定位置。,9.3 基于OMAP5912的软件系统设计,9.3.6基于OMAP5912平台的Linux设备驱动程序 Linux驱动程序中将音频设备按功能分成不同类型,每种类型根据其次设备号来区分。AIC23音频芯片提供数字化音频,其功能是实现播放数字化声音文件或录制声音,同时还提供混频器、音序器等功能。 /dev
24、/dsp的驱动设计主要包含设备的初始化和卸载、设备文件操作的实现等。,1. file operations结构的初始化,file operations结构贯穿在整个驱动程序中,其代码如下: static_ stntct file operations soundcore_fops= /*指向拥有该结构模块的指针,内核使用该指针维护模块的使用计数*/ .owner = THIS_MODULE; /*把soundcore open函数指针赋给open入口点*/ .open = soundcore-open; ;,2. 模块的初始化,AIC音频模块初始化通过对initt soundcore(void
25、)的实现来完成以下几个任务: 以字符设备类型向系统注册AIC23音频模板设备,其主设备号为14。 使用设备文件系统(devfs),创建目录/dev/sound,并放置设备文件。 做一些必要的系统日志,根据各种条件用printk()向系统日志缓冲区写入不同级别的信息,如设备是否在使用中等。,3. 模块的卸载,AIC音频模块卸载需要完成以下几个任务: int unregister chrdev(unsigned int major,const char *name)向系统注销该字符设备。本程序中major参数是前面注册时的主设备号,name与注册时提供的name字符串相同; 调用devfs_remove(sound)删除/dev/sound目录; 调用printk()函数,做一些必要的系统日志。,4. 模块的使用,对上述模块编译并加载后,root用户可用mknod命令
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海立信会计金融学院《市场调研与预测》2025-2026学年期末试卷
- 绿色建筑施工与管理
- 日常行为规范
- 技工院校日常行为规范
- 2026年成人高考机械设计基础单套试卷
- 金茂威斯汀大酒店培训中存在的问题及对策研究
- 2026年财经类专升本财务管理实务真题单套试卷
- 侦探推理题目及答案
- 2025-2026学年人教版七年级英语上册词汇语法测试卷(含答案)
- 云南中考数学试卷及答案
- JG/T 526-2017建筑电气用可弯曲金属导管
- 护理专利发明创新与应用
- 生物地理会考资料
- 2025年暑假学生跨学科主题实践活动作业设计
- 《社区商业发展分析》课件
- GA/T 2187-2024法庭科学整体分离痕迹检验规范
- 远程培训教学案例设计小学数学
- 劳务公司劳务协议书范本
- 乳腺医学影像学的进展和挑战
- 粪菌移植治疗
- 妇幼保健院劳动合同范本
评论
0/150
提交评论