一. 服务功用的装备:
依据程序中的实际情况,保存自己要用的体系服务功用,删去自己不需求的服务功用。进行合理装备后,是咱们自己体系的方针代码比较紧凑,然后降低了对程序代码存储空间的要求。假如代码存储空间足够大的话,那就将悉数体系服务功用悉数装备为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()函数