您的位置 首页 电子

装备自己的UC/OS―II操作系统

一. 服务功能的配置:根据程序中的实际情况,保留自己要用的系统服务功能,删除自己不需要的服务功能。进行合理配置后,是我们自己系统的目标代

一. 服务功用的装备:

依据程序中的实际情况,保存自己要用的体系服务功用,删去自己不需求的服务功用。进行合理装备后,是咱们自己体系的方针代码比较紧凑,然后降低了对程序代码存储空间的要求。假如代码存储空间足够大的话,那就将悉数体系服务功用悉数装备为1。不需求考虑功用裁剪。

2 使命办理功用的裁剪

1. OS_Task_CREATE_EN

l 效果:设定操控用户程序是否运用OSTaskCreate()函数。

l 阐明:假如要运用,则应将其设置为1;不然设置为0以节约内存。

注:

1.在UC/OS中主张运用函数OSTaskCreateExt()来树立使命。

2.在装备时OS_TASK_CREATE_EN()和OS_TASK_CREATE_EXT_EN()至少有一个要为1。

2. OS_TASK_CREATE_EXT_EN

l 效果:设置程序中是否运用OSTaskCreateExt().

l 阐明:假如要运用,则将其设置为1.不然将其设置为0,以节约内存。

注:若程序中假如要运用仓库查看函数OSTaskStkChk(),则有必要运用函数OSTaskCreateExt()树立使命。

3. OS_TASK_DEL_EN

l 效果:设定程序中是否运用删去使命函数OSTaskDel()

l 阐明:假如要运用,则设为1,不然设为0。以节约内存。

4. OS_TASK_SUSPEND_EN

l 效果:设定程序中运用使命挂起和唤醒函数OSTaskSupend()和OSTaskResume().

l 阐明:假如要运用,则设为1,不然设为0.以节约内存。

5. OS_TASK_STAT_EN

l 效果:设置体系是否运用UC/OS中的核算使命OSTaskStat()及其初始化函数。

l 阐明:设为1,则运用核算使命。核算使命每秒运转一次,核算当时体系CPU运用频率并把成果保存在8位全局变量OSCPUUsage中。每次运转,OSTaskStat()都将调用函数OSTaskStatHook(),用户自定义的核算功用能够放在这个函数中。若设为0时,UC/OS在体系初始化时,全局变量OSCPUUsage,OSIdleCtrMax,OSIdleCtrRun和OSStatRdy都将不被声明,以节约内存空间

注:OSTaskStat()的优先级总是主动设为OS_LOWEST_PRIO-1。

6. OS_TASK_CHANGE_PRIO_EN

l 效果:设定程序中是否运用UC/OS的改动使命优先级函数OSTaskChangePrio().

l 阐明:假如要运用,则应将其设为1。不然将其设为0.封闭此常量以节约内存

7. OS_TASK_QUERY_EN

l 效果:设定程序中是否需求运用获取使命信息函数OSTaskQuery。

l 阐明:需求运用时装备为1,不需求运用时装备为0.

8. OS_SCHED_LOCK_EN

l 效果:设定运用程序中是否运用关调度锁函数OSSchedLock()和开调度锁函数OSSchedUnlock()。

l 阐明:需求时装备为1,不需求运用时装备为0

2 通讯功用的裁剪

1. 有关信号量功用的裁剪

1>OS_SEM_EN

l 效果:设定程序中是否运用信号量办理函数和其相关数据结构。

l 阐明:假如要运用,则设为1;不然设为0。封闭此常量以节约内存

注:若装备为0后,一切有关信号量的函数均不能运用,即便对应的常量装备为1。

2>0S_SEM_ACCEPT_EN:

l 效果:设定程序中是否需求运用无等候获取信号量函数OSSemAccept()

l 阐明:若要运用则装备为1.不然装备为0.

3>OS_SEM_DEL_EN:

l 效果:设定程序中是否需求运用删去信号量函数OSSemDel()

l 阐明:若需求运用则装备为1.不然装备为0.

4>OS_SEM_QUERY_EN:

l 效果:运用体系是否需求运用查询信号量状况函数OSSemQuery()

l 阐明:需求时装备为1,不然装备为0.

2关于互斥信号量服务功用的裁剪

1> OS_MUTEX_EN:

l 效果:设定程序中是否运用互斥信号量

l 阐明:若需求运用,则设为1.不然设为0

注:若装备为0,则一切关互斥信号量的函数均不能运用,即便对应的常量装备为1.

2>OS_MUTEX_ACCEPT_EN

l 效果:设定程序中是否运用无等候获取互斥型信号量函数OSMutexAccept()

l 阐明:若需求运用则设为1.不然设为0.

3>OS_MUTEX_DEL_EN

l 效果:设定程序中是否运用OSMutexDel()函数。

l 阐明:若需求运用时则设为1,不然设为0.

4>OS_MUTEX_QUERY_EN

l 效果:设定程序中是否运用OSMutexQuery()函数。

l 阐明:若需求运用则设为1.不然设为0.

3关于事情标志组服务功用的裁剪

1> OS_FLAG_EN

l 效果:设定程序中是否运用事情标志组。

l 阐明:需求是设定为1.不需求时设为0.

注:若装备为0,则一切有关事情标志组的函数均不能运用。即便对应的常量装备为1。

2>OS_FLAG_ACCEPT_EN

l 效果:设定程序中是否需求运用OSFlagAccept()。

l 阐明:需求时装备为1.不然装备为0.

3>OS_FLAG_DEL_EN

l 效果:设定运用程序中是否需求运用OSFlagDel()函数。

l 阐明:需求运用时装备为1.不然装备为0.

4>OS_FLAG_QUERY_EN:

l 效果:设定程序中是否运用OSFlagQuery()函数

l 阐明:需求时装备为1,不用是装备为0.

4.关于音讯邮箱服务功用大裁剪

1>OS_MBOX_EN

l 效果:设置程序是否运用音讯邮箱函数及其相关数据结构。

l 阐明:假如程序中要运用音讯邮箱函数就要将其设置为1.不然为0.封闭此常量以节约内存。

注:若装备次常量为0后,一切有关音讯邮箱的函数均不能运用,即便对应的常量装备为1.

2>OS_MOX_ACCEPT_EN

l 效果:设定程序中是否需求运用OSMboxAccept()函数。

l 阐明:需求时装备为1,不需求时装备为0

3>OS_MOX_DEL_EN

l 效果:设定程序中是否运用OSMboxDel()函数

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部