欢迎来到天天文库
浏览记录
ID:37620074
大小:1015.40 KB
页数:80页
时间:2019-05-26
《第八讲 基于SEP3203 嵌入式系统软件设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、嵌入式系统概论第八讲基于SEP3203嵌入式软件设计刘昊东南大学国家专用集成电路系统工程技术研究中心Sep2007No.1目录¾嵌入式操作系统原理复习¾基于SEP3203软件基本组成和启动过程¾驱动程序开发举例¾ASIXOS操作系统软件介绍¾嵌入式GUI和文件系统¾嵌入式系统开发案例介绍东南大学国家专用集成电路系统工程技术研究中心课件下载:ftp://211.65.48.149用户名down口令downSep2007No.2多任务嵌入式操作系统的实质¾实时多任务系统实际上是由多个任务和多个中断处理过程组成的有机的整体。¾每个任务是顺序执行
2、的,并行性通过操作系统来完成¾任务间的相互通信和同步也需要操作系统的支持¾RTOS的需求•足够的快(上下文切换和系统调用等)•可确定的性能•任务调度机制是基于优先级的•最小的中断延迟•可伸缩可配置的体系结构•可靠健壮¾操作系统主要完成:•任务切换和调度•任务间通信同步互斥•实时时钟管理•中断管理•内存管理Sep2007No.3任务的概念¾一个任务,也被称作一个线程;•嵌入式操作系统分配资源的基本单位;•任务是具有一定属性的运行中的程序•每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间;•
3、每个任务都是一个无限的循环;•任务具有优先级,•任务通过控制块TCB描述•每个任务都处在以下5种状态之一的状态下,这5种状态是休眠态,就绪态、运行态、挂起态(等待某一事件发生)和被中断态¾实时应用程序的设计过程,包括如何把问题分割成多个任务;Sep2007No.4内核对任务的调度¾内核的主要职责之一,决定任务运行的次序。¾基本的调度算法:•有先来先服务FCFS,最短周期优先SBF•优先级法Priority•轮转法Round-Robin¾调度的基本方式有可占先式和非占先式。¾多数实时内核是基于优先级调度的多种方法的复合。¾优先级的概念•每个
4、任务按其重要性被赋予一定的优先级。•静态优先级与动态优先级。•基于优先级的系统会出现优先级倒置的问题,一个好的实时内核应该提供解决倒置的方法。•已开发出多种算法用于实时任务的优先级分配,基本的有单调执行率调度法RMS和最早期限优先法EDF等Sep2007No.5任务的同步和通信Sep2007No.6目录¾嵌入式操作系统原理复习¾基于SEP3203软件基本组成和启动过程¾驱动程序开发举例¾ASIXOS操作系统软件介绍¾嵌入式GUI和文件系统¾嵌入式系统开发案例介绍Sep2007No.7基于SEP3203开发的基本系统ESRAM其余接口控制模
5、块ARM外设(如:SDRAM核:ARM7TDMIINTC,LCDEMIC等)NORFALSHSEP3203目标系统Sep2007No.8SEP3203的存储器映射0x30000000+64MSDRAM0x20000000+64MNORFLASH0x1FFF0000+20kESRAM0x11003FFF其余接口0x10000000控制模块0x00000000+64M逻辑地址空间Sep2007No.9软件的构成¾调试工具•ADS1.2集成开发环境•Multi-ICE(ICE驱动程序)¾工具程序•调试用初始化程序START•FLASH烧录程序¾
6、系统程序•启动程序•应用主程序Sep2007No.10SEP3203的系统引导过程¾能够从该存储介质中把信息载入到内存中并执行。这个载入过程便称为“引导”。而执行这个“引导”动作的代码便称为启动代码,即bootloader。¾在嵌入式系统中,内存通常分为on-chipmemory和off-chipmemory两种。•on-chipmemory有如Scratchpatmemory,Cache……•off-chipmemory常见的有:SDRAM,SRAM。¾对于存储介质则有NORFLASH,NANDFLASH,EPROM等。在我们的SEP3
7、203芯片中,有一块20k的快速片内RAM¾SEP3203的EMI支持SDRAM和SRAM。对外部存储介质则支持NORFLASH和NAND¾FLASH。¾用户可以根据自己的需要来选择用什么样的内存和外部存储介质,选用不同的外部存储介质,它的启动方式也不一样,也就有了自己的启动•三种启动方式Sep2007No.11SEP3203的三种启动方式¾对于硬件初始化而言,不同的芯片要求是不一样的。在SEP3203这款芯片中,一开始的硬件初始化主要有两部分组成:EMI的配置和PMU的配置¾启动代码但它们的原理是一致的。主要有两个功能:一是初始化硬件,
8、建立执行环境,再就是完成代码的搬运。¾当选用NORFLASH作为外部存储介质时:•上电时,pc指针指向了NORFLASH的首地址,从这里开始执行代码。•因为NORFLASH可以字节直接访问(只
此文档下载收益归作者所有