您的位置 首页 报告

根据μC/OS-II操作系统在SPCE061A上的移植优化研研讨

基于μC/OS-II操作系统在SPCE061A上的移植优化研研究-SPCE061A是凌阳科技新推出的u课SP内核的十六位单片机,内嵌32K字 Flash的SPCE061A时是适用于数字语音识别应用领域的一种经济的选择。它支持精简指令系统,片内具有丰富的硬件资源。只需设计少量的片外扩展电路即可实现应用系统的硬件功能要求。μC/OS-II是一个源代码公开的精简的实时性很强的操作系统内核,移植性强,基于μC/OS-II来设计系统可以提高系统软件开发的效率。将μC/OS-II移植到SPCE061A上,在μC/OS-II的平台上设计软件对于提高相关嵌入式应用系统产品的质量,减少开发周期和降低成本方面有着重要的意义。

SPCE061A是凌阳科技新推出的u课SP内核的十六位单片机,内嵌32K字 Flash的SPCE061A时是适用于数字语音辨认使用领域的一种经济的挑选。它支撑精简指令体系,片内具有丰厚的硬件资源。只需规划少数的片外扩展电路即可完成使用体系的硬件功用要求。μC/OS-II是一个源代码揭露的精简的实时性很强的操作体系内核,移植性强,根据μC/OS-II来规划体系能够进步体系软件开发的功率。将μC/OS-II移植到SPCE061A上,在μC/OS-II的平台上规划软件关于进步相关嵌入式使用体系产品的质量,削减开发周期和降低成本方面有着重要的含义。

根据SPCE061A的硬件最小体系的规划

SPCE061A的体系结构

根据μC/OS-II操作体系在SPCE061A上的移植优化研研讨

SPCE061A具有丰厚的片上体系资源,结构如图1所示,其片内包含:

·16位的高性能u课sp内核单片机

·CPU时钟规模:0.32MHz~ 49MHz

·片内32k字的Flash程序存储器、2k字的SRAM数据存储

·2个16位I/O端口

·14个中止源

·1通道专用音频A/D转化通道

·7通道A/D转化通道

·内置MIC扩大电路和自动增益(AGC)扩大电路

·2路电流输出型的D/A转化通道

·2个16位通用定时器/计数器

·实时实钟(RTC)

·低电压复位、低电压监测

·内置在线仿真接口(ICE)

·具有保密功用

·具有WatchDog功用

根据SPCE061A的最小使用体系的构建

根据SPCE061A丰厚的片内资源,在它的OSCO、OSCI端接上32768 Hz晶体振荡器及谐振电容,在相环压控振荡器的阻容输入VCP端接上相应的电容、电阻后,再加上复位电路即可构成一个最小体系。如图2所示。外围电路接口可扩展LCD液晶显现器用于对有关数据的实时显现。

根据μC/OS-II操作体系在SPCE061A上的移植优化研研讨

μC/OS-II 在SPCE061A上的移植

μC/OS-II内核移植的首要内容

μC/OS-II是为微操控器和使用软件开发而规划的抢占式实时多使命操作体系,其内核首要完成使命调度、使命间的通讯、内存办理和时间办理。其软件体系结构以及与硬件的联系如图3所示.

多使命使用程序坐落最上层,经过调用内核的API函数来完成使命的调度和切换、存储办理和使命进程的通讯. μC/OS-II的大部分代码是用C言语编写,而与硬件相关的三个源程序文件0S_CPU.H,OS_CPU_A.A,OS_CPU_C.C含有与硬件处理器相关的汇编言语代码,来完成对处理器寄存器的拜访以及仓库的操作.因此μC/OS-II操作体系在SPCE061A上的移植首要是对0S_CPU. H,OS_CPU_A.A,OS_CPU_C.C三个源程序的编写。

根据μC/OS-II操作体系在SPCE061A上的移植优化研研讨

其间OS_CPU.H 中包含了用#define界说的与处理器相关的常量,宏和类型界说.这样与μC/OS-II所界说的变量类型相一致.OS_CPU_A.A 中要求用户编写四个简略的汇编函数:(1)OSStartHighRdy()函数的作用是用于运转最高优先级的安排妥当使命.(2)OSCtxSw()是完成 CPU 在正常运转时使命间的切换,即对当时使命仓库的保存和对高优先级使命仓库的弹出,使最高优先级使命获取CPU 的操控权. (3)OSIntCtxSw()是在中止服务程序中履行使命切换功用的函数.(4)OSTickISR()是体系时钟的中止服务程序.该程序履行频率为10~100 Hz,首要功用是查看是否有因为延时而被挂起的使命成为安排妥当使命,如果有就调用OSIntCtxSw()进行使命切换,然后运转高优先级的使命. OS_CPU_C.C中首要是编写使命仓库初始化函数OSTaskStklnit()。

移植中的关键问题

多使命体系在运转时,任一当时正在运转的使命如同独占CPU相同,需求为每个使命拓荒一段内存空间作为该使命的使命仓库,该仓库的作用是保存使命被切换前时CPU各寄存器的值以及体系仓库的数据。因为不同的处理器其内部的寄存器分配不相同,有时仓库的添加方法也不相同,因此移植的关键问题便是要针对不同的处理器怎么在使命切换时做好寄存器的状况的维护,以及体系仓库和使命仓库的切换,然后编写好介于底层硬件和操作体系之间的软件层。凌阳 SPCE061A单片机有R1~R5五个通用寄存器,以及段寄存器SR, 程序计数器PC,共有7个CPU内部寄存器在使命切换前需求保存。μC/OS-II体系经过调用OSCtxSw()来完成使命的切换。

语音辨认体系实例

本体系经过规划一个语音辨认体系来验证μC/OS-II在SPCE061A上的移植成功,体系共创立4个实时使命,硬件完成上只需在最小体系上添加相应的音频电路和液晶显现模块。

//建语音辨认初始化使命

OSTaskCreate(Task1, (void * )0, (void*) tackl[-TASK—STK—SIZE一1],1);

//树立语音练习使命

OSTaskCreate(Task2, (void * )0, (void*) tack2[-TASK—STK—SIZE一1],2);

//树立语音辨认使命

OSTaskCreate(Task3, (void * )0, (void*) tack3[-TASK—STK—SIZE一1],3);

//LCD显现的使命

OSTaskCreate(Task4, (void * )1, (void*) tack4[-TASK—STK—SIZE一1],4);

一起选用信号量来完成语音辨认使命和LCD显现的使命之间的通讯,使得体系在成功辨认语音后一起操控LCD输出辨认的正确与否的信息。体系运转成果:体系初始化,调用练习函数进行语音辨认练习;练习成功后,进入语音辨认循环,并将语音辨认的成果在LCD上显现出来。

μC/OS-II操作体系具有较强的实时性,并且代码量较小(总计8K 多),现已被移植到许多处理器上。而将μC/OS-II移植到SPCE061A芯片上,具有必定的使用价值,使得根据SPCE061A的使用体系的规划能够愈加灵敏。一起μC/OS-II 实时操作体系的在SPCE061A移植,不光能够进步根据SPCE061A的使用体系的实时性、可靠性和稳定性,还进步了使用软件的可移植性,降低了研制周期。

责任编辑:gt

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/baogao/96259.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部