关于ucosii操作系统的音频播放任务优先级划分

来源:互联网 发布:win7安装数据库2005 编辑:程序博客网 时间:2024/05/02 02:49

        分享一下在ucosii实际项目中关于任务划分的经验,希望能够得到高手的指点。

        1)ucosii中任务有休眠状态、就绪状态、运行状态、等待状态、中断状态。

               (1)休眠状态由创建任务进入就绪状态;

               (2)就绪状态在操作系统调度下进入运行状态;

               (3)运行状态在延时或者等待某种事件发生时进入等待状态;

               (4)等待状态等待的目的到达时退出就绪状态,进入就绪状态;

          2)等待状态任务根据实际的需求划分了不同的优先级。在ucos进行任务调度时,想要获得CPU控制权进入运行状态,

       该任务必须是就绪状态,所有高于该任务优先级的任务都进入等待状态或休眠,一旦该任务进入就绪状态就可以获得

       CPU控制权。

         3)音频接口IIS采用固定的频率对FIFO(32x16bit)中的数据进行输出处理,那么在FIFO满到空的状态之间的间隔时间

       是固定的,可以进行必要的数据处理。为不影响声音 的正常输出,必须在FIFO空的状态下及时写入数据,并且分配写入

      任务为最高优先级。采用DMA模式在buffer 和FIFO之间进行数据传输,并设置可中断触发,在终端服务程序中发送信号

      量,音频任务中等待信号量由于等待时间到达由等待状态进入就绪状态,由2)中分析该任务会立马获得CPU控制权。

        4)在实际的项目中许要在FIFO传递的间隔时间内进行数据计算,为不影响数据的同步,必须在DMA开启前准备好将要

      传输的数据,准备了两个同样大小的buffer 轮寻进行数据的读取和写入。DMA传递完哪个buffer,往哪个buffer里写入数据。

0 0
原创粉丝点击