基于uC/OS_II系统音频播放功能的实现

来源 :硅谷 | 被引量 : 0次 | 上传用户:alexkent
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要: 以uc/os_II系统下实现音频播放功能的软件实现为主要内容,说明系统移植和USB通信的相关内容,以及系统工作流程和MP3编码流程的实现。
  关键词: uc/os_II操作系统;MP3编码;音频解码;USB通信
  中图分类号:TP273 文献标识码:A 文章编号:1671-7597(2011)0810039-01
  
  0 引言
  UC/OS_II系统是JEAN J.LABROSSE所写的一个争对嵌入式系统的硬实时内核操作系统,所谓硬实时系统就是系统的执行时间是可以预知的,UC/OS_II系统内核小巧,代码精简,特别适合嵌入式系统应用,也特别适于系统的移植,在现在的数码产品应用中也有很大的应用前景。
  1 软件系统架构
  UC/OS_II系统本身没有一个统一的驱动框架和系统文件系统,首先在移植完系统到硬件上以后,首先做的就是架构系统的文件系统和驱动系统框架,整个软件系统架构中,UC/OS_II系统内核位于整个系统的最底层,主要负责任务的调度和中断的处理,UC/OS_II系统是抢占式内核,内核负责让处于就绪状态的最高优先级的任务执行,内核之上是设备驱动层,负责对硬件的驱动,并且通过消息模块和内核进行通信,设备层之上就是我们这个软件的应用层了。
  2 MP3解码原理与过程
  Mp3是一种影像压缩标准,将音乐文件以一定的比例压缩成相对较小的文件,而且音质还能得到很大的保持,所以现在非常流行。
  3 系统移植
  UC/OS_II系统中OS_CORE.C,OS_MBOX.C,OS_MEM.C,OS_Q.C,OS_SEM.
  C,OS_TASK.C,OS_TIME.C,UCOS_II.C,UCOS_II.H文件是不需要修改的可以直接引用,是系统的核心文件,OS_CFG.H,INCLUDES.H是需要进行修改的,其中INCLUDES.H是一个头文件的集合,可以在里面添加我们自己的头文件,这样每次只要添加这个头文件的集合就可以了,OS_CFG.H里是一些常数的设定,比如最低优先级还有一些功能的使能OS_CPU.H,OS_CPU_C.C.OS_CPU_A.ASM是系统移植中最重要的三个文件,其中OS_CPU.H包含的是和处理器相关的常量,宏和类型的定义,其中比较重要的就是开关中断的定义的宏,是系统内核的硬保护要根据处理器类型就行修改,OS_STK_GROWTH是定义堆栈生长方向的,OS_TASK_SW()是在任务级中进行任务切换的函数与之相对的是:OS_INTEXIT()是中断级中进行任务调度的函数,在内核中用汇编进行定义的OS_CPU_A.ASM,其中OSStartHighRdy()OSCtxSw()OSIntCtxSw()OSTickISR()四个比较重要的函数的定义,OSStartHighRdy()是使最高优先级的任务处于就绪状态,OSCtxSw()实现的是任务的切换的具体工作,包括任务控制块的切换,堆栈寄存器的恢复等OSIntCtxSw()和OSCtxSw()相对应的,是在中断中实现任务的切换,OSTimeTick是系统时钟节拍函数,OS_CPU_C.C中OSTaskStkInt是最重要的一个函数,用来函数堆栈的初始化,初次之外是些系统提供的钩子函数,让用户在系统代码里添加自己的代码。
  4 软件工作流程
  5 结论
  在嵌入式系统中实现音频播放功能算法还有进一步的改进的空间,在以后的工作中可以进一步的研究。
  
  参考文献:
  [1]周立功编,《ARM微控制器基础与实战》.
  [2]邵贝贝译,《嵌入式实时操作系统uC/OS-!!》,第二版.
  [3]谭浩强,《C语言》,第二版.
其他文献