OS模块参考手册

Os_Mp_MemMap.h

内存保护区域划分头文件

Os_Linker.ld

链接脚本文件

Vrte_Os_Ioc.c

IOC生成接口文件

Vrte_Os_Ioc.h

IOC生成接口文件

相 关头文件

Std_Types.h

标准头文件

Platform_Types.h

平台头文件

Compiler.h

编译头文件

Compiler_Cfg.h

编译配置头文件

Os_MemMap.h

OS模块的内存映射头文件

MemMap.h

内存映射头文件

API接口

类型定义

TaskType

类型名

TaskType

类型定义

typedef uint16 TaskType;

类型描述

任务ID的数据类型

取值说明

0-65535

备注

TaskRefType

类型名

TaskRefType

类型定义

typedef TaskType* TaskRefType;

类型描述

指向TaskType类型变量的一个指针

取值说明

备注

TaskStateType

类型名

TaskStateType

类型定义

typedef enum

{

TASK_STATE_WAITING,

TASK_STATE_READY,

TASK_STATE_SUSPENDED,

TASK_STATE_RUNNING

}TaskStateType;

类型描述

定义任务的4种运行状态

取值说明

枚举型

备注

也可以通过宏的方式来定义

TaskStateRefType

类型名

TaskStateRefType

类型定义

typedef TaskStateType* TaskStateRefType;

类型描述

指向TaskStateRefType类型变量的一个指针

取值说明

备注

ResourceType

类型名

ResourceType

类型定义

typedef uint8 ResourceType;

类型描述

资源ID的数据类型

取值说明

0~255

备注

用于描述资源类型如标准、内部或链接型

EventMaskType

类型名

EventMaskType

类型定义

typedef uint32 EventMaskType;

类型描述

事件的掩码类型

取值说明

按位置1

备注

应该与所属的扩展任务的ID结合起来

EventMaskRefType

类型名

EventMaskRefType

类型定义

typedef EventMaskType* EventMaskRefType;

类型描述

指向EventMaskType类型数据的指针

取值说明

备注

CounterType

类型名

CounterType

类型定义

Typedef uint16 CounterType;

类型描述

Counter类型

取值说明

0~65535

备注

用于描述Counter的ID

TickType

类型名

TickType

类型定义

typedef uint32 TickType;

类型描述

定时器值域类型

取值说明

备注

用于描述定时器ID

TickRefType

类型名

TickRefType

类型定义

typedef TickType* TickRefType;

类型描述

指向TickType类型数据的指针

取值说明

备注

AlarmType

类型名

AlarmType

类型定义

typedef uint16 AlarmType;

类型描述

Alarm类型

取值说明

0-65535

备注

描述Alarm 的ID

AlarmRefType

类型名

AlarmRefType

类型定义

typedef AlarmType* AlarmRefType;

类型描述

指向AlarmType类型变量的指针

取值说明

备注

AlarmBaseType

类型名

AlarmBaseType

类型定义

typedef struct

{

TickType maxallowedvalue;

TickType ticksperbase;

TickType mincycle;

} AlarmBaseType;

类型描述

Alarm相关信息的结构体

取值说明

备注

描述Alarm 的相关信息

AlarmBaseRefType

类型名

AlarmBaseRefType

类型定义

typedef AlarmBaseType* AlarmBaseRefType;

类型描述

指向AlarmBaseType类型数据的指针

取值说明

备注

AppModeType

类型名

AppModeType

类型定义

typedef uint16 AppModeType;

类型描述

Application Mode类型

取值说明

备注

OSServiceIdType

类型名

OSServiceIdType

类型定义

typedef uint8 OSServiceIdType;

类型描述

服务类型

取值说明

备注

描述系统服务的ID

ISRType

类型名

ISRType

类型定义

typedef uint16 ISRType;

类型描述

中断类型

取值说明

备注

描述中断的ID

ScheduleTableType

类型名

ScheduleTableType

类型定义

typedef uint16 ScheduleTableType;

类型描述

调度表类型

取值说明

备注

ScheduleTableStatusType

类型名

ScheduleTableStatusType

类型定义

typedef enum

{

SCHEDULETABLE_STOPPED = 0U,

SCHEDULETABLE_NEXT = 1U,

SCHEDULETABLE_WAITING = 2U,

SCHEDULETABLE_RUNNING = 3U,

SCHEDULETABLE_RUNNING_AND_SYNCHRONOUS = 4U

}ScheduleTableStatusType;

类型描述

调度表状态类型

取值说明

备注

ScheduleTableStatusRefType

类型名

ScheduleTableStatusRefType

类型定义

typedef ScheduleTableStatusType* ScheduleTableStatusRefType;

类型描述

指向ScheduleTableStatusType类型数据的指针

取值说明

备注

ProtectionReturnType

类型名

ProtectionReturnType

类型定义

typedef enum

{

PRO_IGNORE = 0U,

PRO_TERMINATETASKISR = 1U,

PRO_TERMINATEAPPL = 2U,

PRO_TERMINATEAPPL_RESTART = 3U,

PRO_SHUTDOWN = 4U

} ProtectionReturnType;

类型描述

保护Hook函数的返回值类型

取值说明

备注

RestartType

类型名

RestartType

类型定义

typedef enum

{

RESTART = 0U,

NO_RESTART = 1U

}Os_RestartType;

typedef Os_RestartType RestartType;

类型描述

Os_Application的重启动类型

取值说明

备注

ObjectTypeType

类型名

ObjectTypeType

类型定义

typedef enum

{

OBJECT_TASK = 0U,

OBJECT_ISR = 1U,

OBJECT_ALARM = 2U,

OBJECT_RESOURCE = 3U,

OBJECT_COUNTER = 4U,

OBJECT_SCHEDULETABLE = 5U,

OBJECT_MAX = 6U

/*The Max Value is invalid, just used in coding*/

}ObjectTypeType;

类型描述

Os_Application包含的所有对象类型枚举

取值说明

备注

ObjectAccessType

类型名

ObjectAccessType

类型定义

typedef enum

{

ACCESS = 1U,

NO_ACCESS = 0U

}ObjectAccessType;

类型描述

Os_Application对象访问权限类型定义

取值说明

备注

AccessType

类型名

AccessType

类型定义

typedef uint16 Os_AccessType;

typedef Os_AccessType AccessType;

类型描述

用于存储给定内存区域的访问权限信息

取值说明

AccessType类型的返回值,是否 拥有相应权限(可读/可写/可执行/堆栈空间)需要判断:

  • 0–没有任何权限

  • OSMEMORY_IS_READABLE(Access) 不为0表示有可读权限

  • OSMEMORY_IS_WRITEABLE(Access) 不为0表示有可写权限

  • OSMEMORY_IS_EXECUTABLE(Access) 不为0表示有可执行权限

  • OSMEMORY_IS_STACKSPACE(Access) 不为0表示是堆栈空间

备注

MemoryStartAddressType

类型名

MemoryStartAddressType

类型定义

typedef uint8* Os_MemoryStartAddressType;

typedef Os_MemoryStartAddressType MemoryStartAddressType;

类型描述

指向给定内存区域起始地址的指针

取值说明

备注

MemorySizeType

类型名

MemorySizeType

类型定义

typedef uint32 Os_MemorySizeType;

typedef Os_MemorySizeType MemorySizeType;

类型描述

给定内存区域的大小

取值说明

备注

StatusType

类型名

StatusType

类型定义

Typedef unsigned char StatusType;

类型描述

内核运行结果类型

取值说明

E_OS_ACCESS

E_OS_CALLEVEL

E_OS_ID

E_OS_LIMIT

E_OS_NOFUNC

E_OS_RESOURCE

E_OS_STATE

E_OS_VALUE

E_OS_SERVICEID

E_OS_RATE

E_OS_ILLEGAL_ADDRESS

E_OS_MISSINGEND

E_OS_DISABLEDINT

E_OS_STACKFAULT

E_OS_PROTECTION_MEMORY

E_OS_PROTECTION_TIME

E_OS_PROTECTION_LOCKED

E_OS_PROTECTION_EXCEPTION

E_OS_PROTECTION_RATE

E_OS_PROTECTION_ARRIVAL

备注

ApplicationType

类型名

ApplicationType

类型定义

typedef uint16 Os_ApplicationType;

typedef Os_ApplicationType ApplicationType;

类型描述

Application标识符(ID)

取值说明

备注

ApplicationStateType

类型名

ApplicationStateType

类型定义

typedef enum

{

APPLICATION_ACCESSIBLE = 0U,

APPLICATION_RESTARTING = 1U,

APPLICATION_TERMINATED = 2U

}Os_ApplicationStateType;

typedef Os_ApplicationStateType ApplicationStateType;

类型描述

Application状态

取值说明

备注

ApplicationStateType

类型名

ApplicationStateRefType

类型定义

typedef Os_ApplicationStateType ApplicationStateType;

typedef Os_ApplicationStateType*ApplicationStateRefType;

类型描述

指向Application状态的指针

取值说明

备注

TrustedFunctionIndexType

类型名

TrustedFunctionIndexType

类型定义

typedef uint16 Os_TrustedFunctionIndexType; typedef Os_TrustedFunctionIndexType TrustedFunctionIndexType;

类型描述

可信函数数据类型

取值说明

备注

TrustedFunctionIndexType

类型名

TrustedFunctionParameterRefType

类型定义

typedef void* TrustedFunctionParameterRefType;

类型描述

指向符合可信函数参数规则的结构体指针

取值说明

备注

CoreIdType

类型名

CoreIdType

类型定义

typedef uint16 Os_CoreIdType;

typedef Os_CoreIdType CoreIdType;

类型描述

核标识符(ID)

取值说明

OS_CORE_ID_MASTER

OS_CORE_ID_0 …

OS_CORE_ID_65533

备注

SpinlockIdType

类型名

SpinlockIdType

类型定义

typedef uint16 SpinlockIdType;

类型描述

自旋锁标识符(ID)

取值说明

1-65535

备注

TryToGetSpinlockType

类型名

TryToGetSpinlockType

类型定义

typedef enum

{

TRYTOGETSPINLOCK_NOSUCCESS = 0U,

TRYTOGETSPINLOCK_SUCCESS = 1U,

}TryToGetSpinlockType;

类型描述

获取自旋锁状态类型

取值说明

备注

函数定义

任务接口


函数原型

StatusType ActivateTask( TaskType TaskID)

功能概述

  • 将任务从

挂起状态转变为就绪状态,并重调度执行就绪表最高优先级任务

  • 可以在任务和ISR2中使用

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

TaskID: 任务编号,即任务名

输出参数

返回值

  • OK:无错误

  • E_OS_LIMIT:激活的次数已经超过限制的次数

  • E_OS_ID:无效的TaskID

函数原型

StatusType TerminateTask( void )

功能概述

  • 将任务从运行状态转变为挂起状态

  • 只能在任务中使用

  • 使用前任务必需释放所占用的资源

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

  • 正确情况此函数不返回

  • E_OS_RESOURCE:任务仍然占用着资源

  • E_OS_CALLLEVEL:在中断中调用此服务

函数原型

StatusType ChainTask( TaskType TaskID)

功能概述

  • 把当前任务从

运行态转变为挂起态,然后把指定的任务从挂起态转变为就绪态

  • 只能在任务中使用

  • 使用前任务必需释放所占用的资源

  • 允许需要激活的任务是当前任务

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

TaskID: 任务编号,即任务名

输出参数

返回值

  • 正确情况此函数不返回

  • E_OS_LIMIT:激活的次数已经超过限制的次数

  • E_OS_ID:无效的TaskID

  • E_OS_RESOURCE:任务仍然占用着资源

  • E_OS_CALLLEVEL:在中断中调用此服务

函数原型

StatusType Schedule( void )

功能概述

  • 若当

前运行任务占用内部资源,则释放内部资源并执行一次调度,当 返回时再次获取内部资源。此服务对没有内部资源的任务无效。

  • 只能在任务中使用

  • 使用前任务必需释放所占用的资源

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

  • E_OK:没有错误

  • E_OS_CALLLEVEL:在中断中调用此服务

  • E_OS_RESOURCE:任务仍然占用着资源

函数原型

StatusType GetTaskID( TaskRefType TaskID)

功能概述

  • 获取当前运行任务的ID

  • 可以

在任务、ISR2、ErrorHook、PreTaskHook、PostTaskHook中使用

  • 没有任务运行时引用变量中的值为INVALID_TASK

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

TaskID: 指向当前正在运行的任务

返回值

  • E_OK:没有错误

函数原型

StatusType GetTaskState(TaskType TaskID, TaskStateRefType State)

功能概述

  • 获取指定任务的状态

  • 可以

在任务、ISR2、ErrorHook、PreTaskHook、PostTaskHook中使用

  • 状态可能为running、ready、waiting、suspended之一

  • 得到的状态

只是在获取时的状态,在可抢占时,有可能获取的状态已经无效

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

TaskID: task 编号

输出参数

State:指向TaskID任务的状态

返回值

  • E_OK:没有错误

  • E_OS_ID:无效的TaskID

中断接口


函数原型

void EnableAllInterrupts(void)

功能概述

  • 恢复DisableAllInterrupts 保存的中断状态

  • 可以在任务和ISR2 中使用,但不能在HOOK中使用

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

函数原型

void DisableAllInterrupts(void)

功能概述

保存当前中断状 态,并关闭所有硬件中断;与EnableAllInterrupts配对使用。

可以在任务和ISR2 中使用,但不能在HOOK中使用

主要 用于一些临界区使用,但这些临界区中不能使用操作系统的API

属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

函数原型

void ResumeAllInterrupts (void)

功能概述

  • 此函数恢复被函数SuspendAllInterrupts存储的中断状态

以在一类ISR、二类ISR和任务级中被调用,但不能在HOOK中使用

  • 主要

用于一些临界区使用,但这些临界区中不能使用操作系统的API

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

函数原型

void SuspendAllInterrupts (void)

功能概述

  • 调用此函数禁止硬件允许禁止

的所有中断并保存所有中断的状态位;与ResumeAllInterrupts

配对使用。

以在一类ISR、二类ISR和任务级中被调用,但不能在HOOK中使用

  • 主要

用于一些临界区使用,但这些临界区中不能使用操作系统的API

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

函数原型

void ResumeOSInterrupts (void)

功能概述

  • 此函数恢复被函数SuspendOSInterrupts存储的中断状态

以在一类ISR、二类ISR和任务级中被调用,但不能在HOOK中使用

  • 主要

用于一些临界区使用,但这些临界区中不能使用操作系统的API

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

函数原型

void SuspendOSInterrupts (void)

功能概述

此函数用来禁止二类 中断并保留二类中断的中断控制位信息;与ResumeOSInterrupts 配对使用。

可 以在一类ISR、二类ISR和任务级中被调用,但不能在HOOK中使用

主要 用于一些临界区使用,但这些临界区中不能使用操作系统的API

属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

计数器接口


函数原型

StatusType IncrementCounter(

CounterType CounterID

)

功能概述

  • Increment软件计数器

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步, 可能引起重调度

输入参数

CounterID :计数器编号(计数器名字)

输出参数

返回值

E_OK:没有错误

E_OS_ID(只在扩展状态): CounterID无效或计数器是由硬件实现的不能由软件来控制增量

函数原型

StatusType GetCounterValue

(

CounterType CounterID

TickRefType Value

)

功能概述

  • 获取指定计数器的当前计数值

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步, 可能引起重调度

输入参数

CounterID :计数器编号

输出参数

Value: 指向计数器现在的时钟数值

返回值

E_OK:没有错误

E_OS_ID(只在扩展状态): CounterID无效

函数原型

StatusType GetElapsedCounterValue

(

CounterType CounterID,

TickRefType Value,

TickRefType ElapsedValue

)

功能概述

  • 获取计数器两点之间的时间

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步, 可能引起重调度

输入参数

CounterID[in]:计数器编号

Value[in]:传入用于计算的起始值(上一次保存的计数器值)

输出参数

Value[out]:计数器现在的数值(可用作下次传入计算起始值)

ElapsedValue[out]:当前时钟数值与起始值的间隔时间

返回值

E_OK:没有错误

E_OS_ID(只在扩展状态): CounterID无效

资源接口


函数原型

StatusType GetResource ( ResourceType ResID )

功能概述

  • 获得资源号为ResID的资源

  • 可以在任务和ISR2中使用,但不能在HOOK中使用

  • 同一资

源不能够嵌套,但可以多次获取不同的资源,但要LIFO方式匹配

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

ResID:资源编号,即资源名

输出参数

返回值

  • E_OK:成功

  • E_OS_ID:无效的ResID

  • E_OS_ACCE

SS:尝试去获得一个已经被任务级或者中断级或者静态分配给天 花板优先级任务或比天花板优先级更高的中断函数所占用的资源

函数原型

StatusType ReleaseResource ( ResourceType ResID )

功能概述

  • 释放资源ResID

  • 可以在任务和ISR2 中使用,但不能在HOOK中使用

  • 资源释放者可以与资源获取者不相同

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

ResID:资源编号,即资源名

输出参数

返回值

  • E_OK:成功

  • E_OS_ID:无效的ResID

  • E_OS_NOFUNC:尝试去释放没有被占用的资源

  • E_OS_ACCESS:试图

释放天花板优先级比调用任务或中断静态配置的优先级低的资源

警报接口


函数原型

StatusType GetAlarmBase( AlarmType AlarmID, AlarmBaseRefType Info)

功能概述

  • 获取指定Alarm的信息,信息内容参见AlarmBaseType类型定义

  • 可以在任务、ISR2、Hook中使用

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

AlarmID:警报器编号,即警报名字

输出参数

Info:指向AlarmID警报的信息

返回值

  • E_OK:成功

  • E_OS_ID:无效的AlarmID

函数原型

StatusType GetAlarm(AlarmType AlarmID, TickRefType Tick)

功能概述

  • 获取指定Alarm到触发前的相对Tick数

  • 可以在任务、ISR2、Hook中使用

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

AlarmID:警报器编号,即警报名字

输出参数

Tick:指向AlarmID对应的alarm触发之前相对的Tick数

返回值

  • E_OK:成功

  • E_OS_NOFUNC:对应AlarmID的Alarm没有被使用

  • E_OS_ID:无效的AlarmID

函数原型

StatusType SetRelAlarm(

AlarmType AlarmID,

TickType increment,

TickType cycle)

功能概述

  • 设置Alarm的相对触发时间

,在设置后的increment时间数到达后触发第一次,如果周期时 间cycle不为零,则在第一次触发后按指定周期cycle反复触发。

  • 可以在任务、ISR2、但不能够在hook中使用

  • 时间到达时会根

据配置要求触发相关的服务,如:激活任务、设置事件、回调等

  • 如果相对时间数为零则会立即触发相关服务

  • 如果周期时间不为零,则第一次触发后会按周期反复触发Alarm

  • 属于BCC1, BCC2, ECC1, ECC2,事件方式只适用于ECC1、ECC2

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

AlarmID:警报器编号,即警报名字

increment:相对当前时钟数,第一次触发的时钟数

cycle:alarm的周期(Tick数),单次alarm的cycle值为0

输出参数

返回值

  • E_OK:成功

  • E_OS_STATE:对应AlarmID的Alarm正在使用

  • E_OS_ID:无效的AlarmID

  • E_OS_VALUE:I

ncrement值不在正常范围内(小于0或大于maxallowedvalue)或

Cycle值不等于0并且不

在允许的计数范围内(小于mincycle或大于maxallowedvalue)

函数原型

StatusType SetAbsAlarm(AlarmType AlarmID, TickType start, TickType cycle )

功能概述

  • 设置Alarm的绝对触发时

间,在设置后的指定时间点start到达后触发第一次,如果周期 时间不为零cycle,则在第一次触发后按指定周期cycle反复触发

  • 可以在任务、ISR2中使用,但不能够在hook中使用

  • 时间到达时会根

据配置要求触发相关的服务,如:激活任务、设置事件、回调等

  • 如果绝对时间与当前时间相等或者接近则立即触发相关服务

果绝对时间已经过了,则会在下一次到达该时间时触发相关服务

  • 如果周期时间不为零,则第一次触发后会按周期反复触发Alarm

  • 属于BCC1, BCC2, ECC1, ECC2,事件方式只适用于ECC1、ECC2

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

AlarmID:警报器编号,即警报名字

start:第一次触发的绝对时钟数

cycle:alarm的周期(Tick数),单次alarm的cycle值为0

输出参数

返回值

  • E_OK:成功

  • E_OS_STATE:对应AlarmID的Alarm正在使用

  • E_OS_ID:无效的AlarmID

  • E_OS_VALUE:I

ncrement值不在正常范围内(小于0或大于maxallowedvalue)或

Cycle值不等于0并且不

在允许的计数范围内(小于mincycle或大于maxallowedvalue)

函数原型

StatusType CancelAlarm(AlarmType AlarmID )

功能概述

  • 取消指定的警报

  • 可以在任务、ISR2、但不能够在hook中使用

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

AlarmID:警报器编号,即警报名字

输出参数

返回值

  • E_OK:成功

  • E_OS_NOFUNC:对应AlarmID的Alarm没有被使用

  • E_OS_ID:无效的AlarmID

事件接口


函数原型

StatusType SetEvent(TaskType TaskID, EventMaskType Mask)

功能概述

置指定任务的事件,如果任务在等待事件则将指定任务变为就绪

  • 可以在任务、ISR2、但不能够在hook中使用

  • 事件中没有设置的位保持不变

  • 任务可以给自己设置事件

  • 属于ECC1、ECC2

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

TaskID: 任务编号

Mask: 事件掩码,即配置的事件名

输出参数

返回值

  • E_OK:成功

  • E_OS_ID:无效的TaskID

  • E_OS_ACCESS:相应的任务不是扩展任务

  • E_OS_STATE:相应的任务在suspended状态时事件不能被设置

函数原型

StatusType ClearEvent( EventMaskType mask )

功能概述

  • 清除指定的事件

  • 只能在扩展任务中使用

  • 属于ECC1、ECC2

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

Mask:事件掩码,即配置的事件名

输出参数

返回值

  • E_OK:成功

  • E_OS_ID:无效的TaskID

  • E_OS_ACCESS:相应的任务不是扩展任务

  • E_OS_CALLLEVEL:在中断级中调用此任务

函数原型

StatusType GetEvent(TaskType TaskID, EventMaskRefType Event)

功能概述

  • 获取指定任务当前设置了的事件

  • 可以

在任务、ISR2、ErrorHook、PreTaskHook、PostTaskHook中使用

  • 可以获取当前运行任务的事件

  • 属于ECC1、ECC2

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

TaskID: 任务编号

输出参数

Event: 指向任务设置了的事件掩码值

返回值

  • E_OK:成功

  • E_OS_ID:无效的TaskID

  • E_OS_ACCESS:相应的任务不是扩展任务

  • E_OS_ STATE:TaskID指向的任务处于挂起状态

函数原型

StatusType WaitEvent(EventMaskType Mask)

功能概述

  • 等待指定的事件

  • 只能在扩展任务中使用

  • 调用时

没有指定的任何事件发生则将当前任务置为等待状态并发生切换

  • 调用时如果有指定的任何事件发生则不会发生调度

  • 调用前必需释放所有占用的资源

  • 事件不会主动被清除,必需调用ClearEvent才会清除事件

  • 属于ECC1、ECC2

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

Mask:事件掩码,即配置的事件名

输出参数

返回值

  • E_OK:成功

  • E_OS_ACCESS:调用的任务不是扩展任务

  • E_OS_RESOURCE:任务有资源未释放

  • E_OS_CALLLEVEL:在中断级中调用此任务

调度表接口


函数原型

StatusType StartScheduleTableRel(

ScheduleTableType ScheduleTableID,

TickType Offset

)

功能概述

  • 在相对当前时间的offset偏移时,启动调度表

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

ScheduleTableID: 调度表编号

Offset: 从当前时间开始, 到调度表开始处理的时钟数值(调度表对应Counter的tick值)

输出参数

返回值

E_OK:没有错误

E_OS_ID(只在扩展状态): ScheduleTableID无效

E_OS_VALUE(只在扩展状态):Offset比 (OsCounterMaxAllowedValue-InitialOffset)大或者是等于0

E_OS_STATE(只在扩展状态): 调度表已经开始

函数原型

StatusType StartScheduleTableAbs(

ScheduleTableType ScheduleTableID,

TickType Start

)

功能概述

  • 在绝对时间Start时,启动调度表

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

ScheduleTableID: 调度表编号

Start: 调 度表开始处理的时钟数值(调度表对应Counter的绝对tick值)

输出参数

返回值

E_OK:没有错误

E_OS_ID(只在扩展状态): ScheduleTableID无效

E_OS_ VALUE(只在扩展状态):Start比OsCounterMaxAllowedValue大

E_OS_STATE(只在扩展状态): 调度表已经开始

函数原型

StatusType StopScheduleTable(

ScheduleTableType ScheduleTableID,

)

功能概述

  • 停止调度表

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

ScheduleTableID: 调度表编号

输出参数

返回值

E_OK:没有错误

E_OS_ID(只在扩展状态): ScheduleTableID无效

E_OS_NOFUNC:调度表已经停止

函数原型

StatusType NextScheduleTable(

ScheduleTableType ScheduleTableID_From,

ScheduleTableType ScheduleTableID_To

)

功能概述

  • 停止调度表

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

ScheduleTableID_From:当前正在处理的调度表

ScheduleTableID_To:提供一系列触发点的下一个处理调度表

输出参数

返回值

E_OK:没有错误

E_OS_ID(只在扩展状态): ScheduleTableID_From或ScheduleTableID_To无效

E_OS_NOFUNC:ScheduleTableID_From没有开始

E_OS_STA TE(只在扩展状态):ScheduleTableID_To已经开始或处于Next

函数原型

StatusType StartScheduleTableSynchron(

ScheduleTableType ScheduleTableID

)

功能概述

  • 启动一个显式同步的调度表

  • 属于SC2, SC4

同步/异步

同步

输入参数

ScheduleTableID:调度表编号

输出参数

返回值

E_OK:没有错误

E_OS_ID(只在扩展状态): ScheduleTableID无效

E_OS_STATE(只在扩展状态):ScheduleTableID已经启动

函数原型

StatusType SyncScheduleTable(

ScheduleTableType ScheduleTableID,

TickType Value

)

功能概述

  • 提供同步计数器当前值并开始同步

  • 属于SC2, SC4

同步/异步

同步

输入参数

ScheduleTableID:调度表

Value:同步计数器当前值

输出参数

返回值

E_OK:没有错误

E_OS_ID(只在扩展状态): ScheduleTableID无效或调度表不能被同步(OsScheduleTblS yncStrategy没有设置或OsScheduleTblSynStrategy=IMPLICIT)

E_OS_VALUE(只在扩展状态):Value不在范围之内

E_OS_STATE(只在扩展状 态):调度表ScheduleTableID的状态是SCHEDULETABLE_STOPPED

函数原型

StatusType SetScheduletableAsync(

ScheduleTableType ScheduleTableID

)

功能概述

  • 停止调度表同步

  • 属于SC2, SC4

同步/异步

同步

输入参数

ScheduleTableID:调度表编号

输出参数

返回值

E_OK:没有错误

E_OS_ID(只在扩展状态): ScheduleTableID无效

函数原型

StatusType GetScheduleTableStatus(

ScheduleTableType ScheduleTableID,

ScheduleTableStatusRefType ScheduleStatus

)

功能概述

  • 获取指定调度表的状态

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

ScheduleTableID: 调度表

输出参数

ScheduleStatus: 指向获取的调度表的状态值

返回值

E_OK:没有错误

E_OS_ID(只在扩展状态): ScheduleTableID无效

HOOK接口


函数原型

void ErrorHook(StatusType Error)

功能概述

  • 执行应用的错误处理,该接口由用户实现,操作系统来调用

  • 系统调用的时机

包括:系统调用出错、Alarm在激活任务或者设置事件时出错等

  • ErrorHook中调用系统调用出错时不再调用ErrorHook

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

Error:发生的错误,具体数值参见StatusType类型

输出参数

返回值

函数原型

void PostTaskHook(void)

功能概述

  • 在切换任务时且当前运行任务变为就绪态时调用该HOOK

  • 该接口由用户实现,操作系统来调用

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

函数原型

void PreTaskHook(void)

功能概述

  • 在开始执行新任务前且新任务变为运行态后调用该HOOK

  • 该接口由用户实现,操作系统来调用

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

函数原型

void StartupHook(void)

功能概述

  • 在操作系统完成初始化后,在进入调度前调用该HOOK

  • 该接口由用户实现,操作系统来调用

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

函数原型

void ShutdownHook(StatusType Error)

功能概述

  • 在ShutdownOS调用时调用该HOOK

  • 该接口由用户实现,操作系统来调用

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

Error:发生的错误

输出参数

返回值

函数原型

ProtectionReturnType ProtectionHook(StatusType Fatalerror)

功能概述

  • 当严重的错误发生时调用该HOOK

  • 该接口由用户实现,操作系统来调用

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

Error:发生的错误

输出参数

返回值

PRO_IGNORE

PRO_TERMINATETASKISR

PRO_TERMINATEAPPL

PRO_TERMINATEAPPL_RESTART

PRO_SHUTDOWN

函数原型

void ReadyTaskHook(TaskType TaskID)

功能概述

  • 当任务进入启动状态且插入到就绪列表时调用该HOOK

  • 注意任务只是插入就绪表,不一定是即将执行的任务

  • 该接口由用户实现,操作系统来调用

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

函数原型

void IdleHook(void)

功能概述

  • 当操作系统进入空闲任务时调用该HOOK

  • 该接口由用户实现,操作系统来调用

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

OS-APP接口


函数原型

ApplicationType GetApplicationID(void)

功能概述

  • 获取调用该API的对象所属的Os-Application ID。

同步/异步

同步

输入参数

输出参数

返回值

获取的Application编号或OS_APPLICATION_INVALID

函数原型

ApplicationType GetCurrentApplicationID(void)

功能概述

  • 获取当前运行的Task/Isr/Hook所属的Os-Application ID。

同步/异步

同步

输入参数

输出参数

返回值

获取的Application编号或OS_APPLICATION_INVALID

函数原型

ObjectAccessType CheckObjectAccess(

ApplicationType ApplID,

ObjectTypeType ObjectType,

AppObjectId ObjectID

)

功能概述

  • 检查指定Application对于某个给定实体的访问权限

同步/异步

同步

输入参数

ApplID:Os Application编号

ObjectType:传入实体的实体类型,参见ObjectTypeType类型

ObjectID:传入实体编号

输出参数

返回值

参见ObjectAccessType类型

函数原型

ApplicationType CheckObjectOwnership(

ObjectTypeType ObjectType,

AppObjectId ObjectID

)

功能概述

  • 返回传入实体所属的Os-Application编号

同步/异步

同步

输入参数

ObjectType:传入实体的实体类型,参见ObjectTypeType类型

ObjectID:传入实体编号

输出参数

返回值

实体所属的Application编号

函数原型

StatusType TerminateApplication(

ApplicationType Application,

RestartType RestartOption

)

功能概述

束Application,并根据RestartOption确定是否执行重启动操作

同步/异步

同步

输入参数

Application:想要结束的Application ID

RestartOption:RESTART,执行重启;NO_RESTART不重启App

输出参数

返回值

  • OK:无错误

  • E_OS_CALLEVEL:调用层级错误

  • E_OS_DISABLEDINT:中断未打开

  • E_OS_VALUE:传入参数错误

函数原型

StatusType AllowAccess(void)

功能概述

  • 将Application自己的状态设为可访问

同步/异步

同步

输入参数

输出参数

返回值

  • OK:无错误

  • E_OS_CALLEVEL:调用层级错误

  • E_OS_DISABLEDINT:中断未打开

  • E_OS_STATE:Application的状态已经是可访问

函数原型

StatusType GetApplicationState(

ApplicationType Application,

ApplicationStateRefType Value

)

功能概述

  • 返回Application当前的状态

同步/异步

同步

输入参数

Application:想要获取的Application编号

输出参数

Value :ACCESSIBLE可访问,RESTARTING正在重启,TERMINATED已结束

返回值

  • OK:无错误

  • E_OS_CALLEVEL:调用层级错误

  • E_OS_DISABLEDINT:中断未打开

  • E_OS_VALUE:传入参数错误

内存保护接口


函数原型

AccessType CheckISRMemoryAccess(

ISRType ISRID,

MemoryStartAddressType Address,

MemorySizeType Size

)

功能概述

  • 获取中断对指定内存区域的访问权限

  • 属于SC3, SC4

同步/异步

同步

输入参数

ISRType ISRID:中断ID

MemoryStartAddressType Address:指定内存区域起始地址

MemorySizeType Size:指定内存区域大小

输出参数

返回值

参见AccessType类型

函数原型

AccessType CheckTaskMemoryAccess(

TaskType TaskID,

MemoryStartAddressType Address,

MemorySizeType Size

)

功能概述

  • 获取任务对指定内存区域的访问权限

  • 属于SC3, SC4

同步/异步

同步

输入参数

TaskType TaskID:任务ID

MemoryStartAddressType Address:指定内存区域起始地址

MemorySizeType Size:指定内存区域大小

输出参数

返回值

参见AccessType类型

函数原型

StatusType CallTrustedFunction(

TrustedFunctionIndexType ix,

TrustedFunctionParameterRefType ref

)

功能概述

  • 可信函数提供给外

部调用的接口,不可信App可通过该接口访问可信App的内部资源

  • 属于SC3, SC4

同步/异步

同步

输入参数

TrustedFunctionIndexType ix 可信函数的索引号

TrustedFunctionParameterRefType ref:指向可信函数参数的指针

输出参数

返回值

  • OK:无错误

  • E_OS_CALLEVEL:调用层级错误

  • E_OS_DISABLEDINT:中断未打开

  • E_OS_SERVICEID:传入可信函数索引错误

  • E_OS_ILLEGAL_ADDRESS:参数地址访问非法

系统控制接口


函数原型

void StartOS(AppModeType Mode)

功能概述

  • 启动操作系统

  • 该接口必需在系统初始化时使用

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

Mode:应用模式(启动模式),用户在工具上定义

输出参数

返回值

函数原型

void ShutdownOS(StatusType Error)

功能概述

  • 关闭操作系统

  • 可以

在任务、中断、ErrorHook、StartupHOOK以及操作系统内部使用

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

Error:发生的错误,具体数值参见StatusType类型

输出参数

返回值

函数原型

AppModeType GetActiveApplicationMode(void)

功能概述

  • 获取当前的应用模式

许在任务、中断、所有HOOK中使用可以获取当前运行任务的事件

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

返回应用模式

函数原型

ISRType GetISRID(void)

功能概述

  • 获取当前执行的2类中断的ID

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

返回2类中断的ID或INVALID_ISR

多核接口

GetCoreID

函数原型

void GetCoreID(void)

功能概述

  • 获取当前执行的核的逻辑ID

  • 可在StartOs之前调用

同步/异步

同步

输入参数

输出参数

返回值

逻辑ID或OS_CORE_INVALID

GetNumberOfActivatedCores

函数原型

uint32 GetNumberOfActivatedCores(void)

功能概述

  • 获取当前被激活的核的个数(AUTOSAR OS管理的核)

同步/异步

同步

输入参数

输出参数

返回值

激活的核个数

StartCore

函数原型

void StartCore(

CoreIdType CoreID,
StatusType* Status

)

功能概述

  • 启动CoreID指定的Autosar核

同步/异步

同步

输入参数

CoreID:Autosar核的编号

输出参数

Status

E_OK: 没有错
E_OS_ID: Core ID 无效

E_OS_ACCESS: 在StartOS之后调用这个API

E_OS_STATE: 指定核已经激活

返回值

StartNonAutosarCore

函数原型

void StartNonAutosarCore(

CoreIdType CoreID,
StatusType* Status

)

功能概述

  • 启动CoreID指定的非Autosar核

同步/异步

同步

输入参数

CoreID:Autosar核的编号

输出参数

Status

E_OK: 没有错
E_OS_ID: Core ID 无效

E_OS_ACCESS: 在StartOS之后调用这个API

E_OS_STATE: 指定核已经激活

返回值

ShutdownAllCores

函数原型

void ShutdownAllCores(

StatusType Error

)

功能概述

  • 关闭所有Autosar核

同步/异步

同步

输入参数

Error:提供给用户观察的参数

输出参数

返回值

ControlIdle

函数原型

StatusType Controlldle(

CoreIdType CoreID,
IdleModeType IdleMode

)

功能概述

  • 将CoreID指定的核设置为IdleMode表示的空闲模式

同步/异步

同步

输入参数

CoreID:想设置的核编号

IdleMode:选择的空闲模式

输出参数

返回值

E_OK: 没有错 E_OS_ID: Core ID 无效或者IdleMode无效

自旋锁接口

GetSpinlock

函数原型

StatusType GetSpinlock(

SpinlockIdType SpinlockId

)

功能概述

  • 获取一个自旋锁变量

同步/异步

同步

输入参数

SpinlockId:想获取的自旋锁编号

输出参数

返回值

E_OK: 没有错
E_OS_ID:ID无效
E_OS_INTERFERENCE_DEADLOCK:冲突死锁,锁已被任务占用
E_OS_NESTING_DEA

DLOCK:嵌套死锁,相同核上的另一个任务正在占用另一个自旋锁 | E_OS_ACCESS: 对该自旋锁没有访问权限

ReleaseSpinlock

函数原型

StatusType ReleaseSpinlock(

SpinlockIdType SpinlockId

)

功能概述

  • 释放一个自旋锁

同步/异步

同步

输入参数

SpinlockId:想获取的自旋锁编号

输出参数

返回值

E_OK: 没有错
E_OS_ID: ID无效

E_OS_STATE: ID指向的自旋锁没有被任务占用

E_OS_ACCESS:对该自旋锁没有访问权限

E_OS_NOFUNC:释放自旋锁顺序不对

TryToGetSpinlock

函数原型

StatusType TryToGetSpinlock(

SpinlockIdType SpinlockId,
TryToGetSpinlockType* Success

)

功能概述

  • 尝试获取一个自旋锁,同GetSpinlock的区别,如果自旋

锁被另一个核的任务占用,函数返回E_OK并设置参数Success。

同步/异步

同步

输入参数

SpinlockId:想获取的自旋锁编号

输出参数

Success:返回指定自旋锁是否被占用

返回值

E_OK: 没有错
E_OS_ID:ID无效
E_OS_INTERFERENCE_DEADLOCK:冲突死锁,锁已被任务占用
E_OS_NESTING_DEADLOCK: 嵌套死锁,相同核上的另一个任务正在占用另一个自旋锁
E_OS_ACCESS: 对该自旋锁没有访问权限

IOC接口

IocSend

函数原型

Std_ReturnType IocSend_<IocId>[_<SenderId>](

<Typde> UI_Value,

uint16 NumberByteOfIN

)

功能概述

  • 为IOC 队列通信的发送接口,IOC队列

通信支持LIFO与FIFO两种规则,能运用于缓存通信的运用场景。

注:<IocId> 与[_<SenderId>]均为配置工具生成。

同步/异步

同步

输入参数

Typde: ORIENTAIS St udio配置生成,现支持uint8*,uint16*,uint32*三种类型。

输出参数

返回值

IOC_E_OK: 发送数据成功
IOC_E_NOK:通信失败
IOC_E_LIMIT:发送数据超过BUFF限制
IOC_E_LOST_D

ATA:IOC的BUFF将要溢出,在发送数据有可能导致发送数据丢失

IocWrite

函数原型

Std_ReturnType IocWrite_<IocId>[_<SenderId>](

<Typde> UI_Value,

uint16 NumberByteOfIN

)

功能概述

  • 为IOC 非

队列通信的发送接口,IOC可支持非队列通信方式,一般运用于 实时性要求较高的发送数据,能运用于非缓存通信的运用场景。

注:<IocId> 与[_<SenderId>]均为配置工具生成。

同步/异步

同步

输入参数

Typde: ORIENTAIS St udio配置生成,现支持uint8*,uint16*,uint32*三种类型。

输出参数

返回值

IOC_E_OK: 发送数据成功
IOC_E_NOK:通信失败
IOC_E_LIMIT:发送数据超过BUFF限制
IOC_E_LOST_D

ATA:IOC的BUFF将要溢出,在发送数据有可能导致发送数据丢失

IocSendGroup

函数原型

IocSendGroup_<IocId>

功能概述

Std_ReturnType IocSendGroup_<IocId> (

<Typde> UI_Value0,

uint16 NumberByteOfIN0,

<Typde> UI_Value1,

uint16 NumberByteOfIN1,

)

同步/异步

同步

输入参数

Typde: ORIENTAIS St udio配置生成,现支持uint8*,uint16*,uint32*三种类型。

注:组通信方式与配置数据包相关,故生成的输入参数项不定。

输出参数

返回值

IOC_E_OK: 发送数据成功
IOC_E_NOK:通信失败
IOC_E_LIMIT:发送数据超过BUFF限制
IOC_E_LOST_D

ATA:IOC的BUFF将要溢出,在发送数据有可能导致发送数据丢失

IocWriteGroup

函数原型

Std_ReturnType IocWriteGroup_<IocId> (

<Typde> UI_Value0,

uint16 NumberByteOfIN0,

<Typde> UI_Value1,

uint16 NumberByteOfIN1,

)

功能概述

  • 为IOC 组

非队列通信的发送接口,IOC可支持组非队列通信方式,一般运 用于将关联性较强的数据进行组包传送,能运用于关联性较强的 数据进行非缓存通信的运用场景,更多运用于实时性相关数据。

注:<IocId>为配置工具生成。

同步/异步

同步

输入参数

Typde: ORIENTAIS St udio配置生成,现支持uint8*,uint16*,uint32*三种类型。

注:组通信方式与配置数据包相关,故生成的输入参数项不定。

输出参数

返回值

IOC_E_OK: 发送数据成功
IOC_E_NOK:通信失败
IOC_E_LIMIT:发送数据超过BUFF限制
IOC_E_LOST_D

ATA:IOC的BUFF将要溢出,在发送数据有可能导致发送数据丢失

IocReceive_<IocId>

函数原型

Std_ReturnType IocReceive_<IocId>(

<Typde> UO_Value,

uint16 NumberByteOfOUT

)

功能概述

  • 为IOC 队列通信的接收接口,IOC队列

通信支持LIFO与FIFO两种规则,能运用于缓存通信的运用场景。

注:<IocId> 为配置工具生成。

同步/异步

同步

输入参数

Typde: ORIENTAIS St udio配置生成,现支持uint8*,uint16*,uint32*三种类型。

输出参数

返回值

IOC_E_OK: 发送数据成功 IOC_E_NOK:通信失败

IocRead

函数原型

Std_ReturnType IocRead_<IocId>(

<Typde> UO_Value,

uint16 NumberByteOfOUT

)

功能概述

  • 为IOC 非队列通信的接收接口,IOC

通信能支持非队列通信方式,能运用于非缓存通信的运用场景。

注:<IocId> 为配置工具生成。

同步/异步

同步

输入参数

Typde: ORIENTAIS St udio配置生成,现支持uint8*,uint16*,uint32*三种类型。

输出参数

返回值

IOC_E_OK: 发送数据成功 IOC_E_NOK:通信失败

IocReceiveGroup

函数原型

Std_ReturnType IocReceiveGroup_<IocId>(

<Typde> UO_Value0,

uint16 NumberByteOfOUT0,

<Typde> UO_Value1,

uint16 NumberByteOfOUT1,

)

功能概述

  • 为IOC 组队列通信的接收接口,IOC组队列

通信支持LIFO与FIFO两种规则,能运用于缓存通信的运用场景。

注:<IocId> 为配置工具生成。

同步/异步

同步

输入参数

Typde: ORIENTAIS St udio配置生成,现支持uint8*,uint16*,uint32*三种类型。

注:组通信方式与配置数据包相关,故生成的输入参数项不定。

输出参数

返回值

IOC_E_OK: 发送数据成功 IOC_E_NOK:通信失败

IocReadGroup

函数原型

Std_ReturnType IocReadGroup_<IocId>(

<Typde> UO_Value0,

uint16 NumberByteOfOUT0,

<Typde> UO_Value1,

uint16 NumberByteOfOUT1,

)

功能概述

  • 为IOC 非队列组通信的接收接口,IOC通

信能支持非队列组通信方式,能运用于非缓存通信的运用场景。

注:<IocId> 为配置工具生成。

同步/异步

同步

输入参数

Typde: ORIENTAIS St udio配置生成,现支持uint8*,uint16*,uint32*三种类型。

注:组通信方式与配置数据包相关,故生成的输入参数项不定。

输出参数

返回值

IOC_E_OK: 发送数据成功 IOC_E_NOK:通信失败

IocEmptyQueue

函数原型

Std_ReturnType IocEmptyQueue_<IocId> (void)

功能概述

  • 清空指定管道的BUFF,以回收消息邮箱块。

注:<IocId>为配置工具生成。

同步/异步

同步

输入参数

输出参数

返回值

IOC_E_OK: 发送数据成功 IOC_E_NOK:通信失败

配置

该章节主要介绍OS模块的配置参数,列举配置项在配置界面显示的名称,对应的标准、可能的取值、默认的取值、参数描述及依赖关系,旨在指导用户如何使用配置工具进行OS模块参数的配置。

表5‑1属性描述

参数名称

该配置项在配置工具界面显示的名称

参数描述

该配置项对应于配置工具生成的代码中的参数

参数类型

该配置项在标准的AUTOSAR_EcucParamDef.arxml文件中的名称

取值范围

该配置项允许的取值区间

OsOs

System Settings

../../_images/image277.png

图 5‑1 System Settings配置界面

表 5‑1 System Settings配置界面

UI名称

描述*

Cores Number

取 值范围

1~65535

默认取值

1

参 数描述

用于配置 使用core数量,实际 使用中配置个数小于 或等于硬件core数量

依 赖关系

Map CPU

取 值范围

0/1/2

默认取值

参 数描述

在SC1和SC2且Cores Number = 1时,需要将配置 的objects映射至具 体某个逻辑核上运行

依 赖关系

SC和Cores Number

Scalability Class*

取 值范围

SC1, SC2, SC3, SC4,NOSC

默认取值

SC1

参 数描述

用于配置AUTOSAR OS的类型

NOSC代表不使用A UTOSAROS的功能,只 使用OSEKOS的功能。

依 赖关系

OS Status

取 值范围

STANDARD

EXTENDED

默认取值

EXTENDED

参 数描述

指明操作系统的 各个功能接口运行时 的返回状态类型。取 值有两种:STANDARD 和EXTENDED。

STANDARD: 返回状态表 明各个功能接口执行 的结果,EXTENDED: 返回状态一般用来表 明对调用参数检查的 结果,如果调用参数 不符合要求,则会返 回相应的错误信息。

依 赖关系

System Stack

** Size[byte]**

取 值范围

1~16384

默认取值

1024

参 数描述

OS系统堆栈大小

依 赖关系

Stack Monitoring

取 值范围

ON/OFF

默认取值

ON

参 数描述

是否检查堆栈溢出

依 赖关系

Use Get Sevice Id

取 值范围

ON/OFF

默认取值

OFF

参 数描述

是否在ErrorHo ok函数中获取产生错 误函数编号,即OSErr orGetServiceId函数

依 赖关系

Use Error hook勾 选时,此项才可配置

Use Re sScheduler

取 值范围

ON/OFF

默认取值

ON

参 数描述

是否使用调度器资源

依 赖关系

Use Parmeter Access

取 值范围

ON/OFF

默 | 认 | 取 | 值 |

O F F

参 数描述

是否在E rrorHook函数中获取 产生错误函数的参数

依 赖关系

Use Error hook勾 选时,此项才可配置

OsHooks

../../_images/image358.png

图 5‑2 Hooks配置界面

表 5‑2 Hooks参数配置

UI名称

描述*

Protection Hook

取 值范围

ON/OFF

默认取值

OFF

参 数描述

是否使用ErrorHook

依 赖关系

Error Hook

取 值范围

ON/OFF

默认取值

OFF

参 数描述

是否使用ErrorHook

依 赖关系

依 赖关系

Use Error hook勾 选时,此项才可配置

Post Task Hook

取 值范围

ON/OFF

默认取值

OFF

参 数描述

是 否使用PostTaskHook

依 赖关系

Pre Task Hook

取 值范围

ON/OFF

默 | 认 | 取 | 值 |

O F F

参 数描述

是 否使用PreTaskHook

依 赖关系

Shutdown Hook

取 值范围

ON/OFF

默 | 认 | 取 | 值 |

O F F

参 数描述

是 否使用ShutdownHook

依 赖关系

Startup Hook

取 值范围

ON/OFF

默 | 认 | 取 | 值 |

O F F

参 数描述

是 否使用StartupHook

依 赖关系

保护开关配置

../../_images/image448.png

图5-3 保护开关配置界面

:mark:`注:图5-3为AUTOSAR 3.1.5配置工具界面,现版本已取消该界面,仅供参考`

表5-3 保护开关配置

UI名称

描述*

Memory Protection

取 值范围

ON/OFF

默认取值

OFF

参 数描述

是否使用内存保护

依 赖关系

SC3/SC4默 认ON,其他默认OFF

Service Protection

取 值范围

ON/OFF

默认取值

OFF

参 数描述

是否使用服务保护

依 赖关系

SC3/SC4默 认ON,其他默认OFF

OsCounter

../../_images/image540.png

图 5‑4 Counter_x配置界面

表 5-4 Counter_x参数配置

UI名称

描述*

OsCounter*

取 值范围

默 认取值

参 数描述

Counter集合, 包含用户自定义Co unter以及系统时钟

依 赖关系

Counter_x*

取 值范围

默 认取值

Counter_0

参 数描述

用户Counter列表

依 赖关系

Max Tick

取 值范围

1~0x7FFFFFFF

默 认取值

65535

参 数描述

OS计数器 允许的最高tick值

依 赖关系

Min Cycle

取 值范围

1~Max Allowed Ticks

默 认取值

1

参 数描述

与此计数 器相连的周期Alar m允许的最小tick值

依 赖关系

小于Max Allowed Ticks(使 用默认配置即可)

Ticks Per Base Unit

取 值范围

1~Max Allowed Ticks

默 认取值

1

参 数描述

描述 Counter和Tick对应 关系,默认1个Tic k为1个Counter单元

依 赖关系

无,不可配置

Counter Type

取 值范围

SOFTWARE/HARDWARE

默 | 认 | 取 | 值 |





H A R D W A R E

参 数描述

OS计数器的类型。 SOFTWARE类型的Co unter,由用户通过 IncrementCounter( )接口,自行驱动计 数;HARDWARE类型 的Counter,由OS或 者用户提供的硬件 周期定时器驱动。

依 赖关系

Seconds Per tick

取 值范围

默 | 认 | 取 | 值 |

0

参 数描述

一个 Tick的时间,单位s

依 赖关系

Tick是O S的时间单位,OS与 时间相关的API都以 Tick为单位计算值

Accessing Ap plications

取 值范围

ON/OFF

默 | 认 | 取 | 值 |

O F F

参 数描述

标 识哪些Application 可以访问此Counter

依 赖关系

../../_images/image639.png

图 5‑5 SystermTimer_Core_x配置界面

表 5-5 SystermTimer_Core_x参数配置

UI名称

描述*

SystemTi mer_Core_x

取 值范围

默认取值

参 数描述

系统时钟列表

依 赖关系

与所配置Cores Number数量对应

Max Tick

取 值范围

1 ~ 0x7FFFFFFF

默认取值

1

参 数描述

OS系统计数 器允许的最高tick值

依 赖关系

Min Cycle

取 值范围

1 ~ Max Allowed Ticks

默认取值

1

参 数描述

与此系统计 数器相连的周期Ala rm允许的最小tick值

依 赖关系

小于Max Allowed Ticks( 使用默认配置即可)

OsAlarm

../../_images/image734.png

图5‑6 Alarm_x配置界面

表5‑6 Alarm_x参数配置

UI名称

描述*

Alarm_x

取 值范围

默认取值

OsAlarm_0

参 数描述

Alarm列表

依 赖关系

OsAla rmAccessingA pplication

取 值范围

ON/OFF

默认取值

OFF

参 数描述

标识哪些Applicat ion可以访问此Alarm

依 赖关系

Counter Ref

取 值范围

Counter列表

默认取值

参 数描述

Alarm需 关联的Counter(Al arm由Counter驱动)

依 赖关系

OsA larmAction

取 值范围

Activate Task

Callback

Set Event

Increment Counter

默认取值

参 数描述

A larm的动作类型(警 报被触发后的动作: 激活任务,回调函数 ,设置事件,计数)

依 赖关系

OsAlarmAc tivateTask

取 值范围

Task列表

默认取值

参 数描述

A larm需要激活的任务

依 赖关系

OsAla rmCallback

取 值范围

默 | 认 | 取 | 值 |

无 |



参 数描述

Alarm需要 调用的回调函数名称

依 赖关系

O sAlarmIncrem entCounter

取 值范围

Counter列表

默 | 认 | 取 | 值 |

无 |



参 数描述

设置 需要计数的Counter

依 赖关系

OsAla rmSetEvent

取 值范围

Event列表

默 | 认 | 取 | 值 |

无 |



参 数描述

A larm需要设置的事件

依 赖关系

OsAlar mAutostart

取 值范围

ON/OFF

默 | 认 | 取 | 值 |

O F F

参 数描述

是否设置告警自启动

依 赖关系

Start Time

[Tick]

取 值范围

0~对应Counter的Max Allowed Ticks

默 | 认 | 取 | 值 |

1 0 0

参 数描述

Alarm启动时间

依 赖关系

对应Counter的Max Allowed Ticks项

Cycle Time

[Tick]

取 值范围

对应Counter的Max Allowed Ticks ~

Min Allowed Ticks For Cyclie Alarm

默 | 认 | 取 | 值 |


1 0 0

参 数描述

Alarm在启动后 的周期触发警报时间

依 赖关系

对应Counter的Max Allowed Ticks、Min Allowed Ticks For Cyclie Alarm项

Autostart Type

取 值范围

ABSOLUTE

RELATIVE

默 | 认 | 取 | 值 |





A B S O L U T E

参 数描述

自 启动的类型。ABSOLU TE绝对自启动时间; RELATIVE相对的自启 动时间(建议使用)

依 赖关系

AppModes

取 值范围

AppMode列表

默 | 认 | 取 | 值 |


列 | 表 | 第 | 一 | 个 |

参 数描述

Alarm在哪 种工作模式下自启动

依 赖关系

OsTask

../../_images/image829.png

图5‑7 Task_x配置界面

表5‑7 Task_x参数配置

UI名称

描述*

Task_x

取 值范围

默认取值

OsTask_0

参 数描述

Task列表

依 赖关系

** Activation**

Limit

取 值范围

1~255

默认取值

1

参 数描述

任务的激活次数

依 赖关系

与Task Type和OS CC的配置相关 联,由工具自动校验

Priority

取 值范围

1~65535

默认取值

1

参 数描述

该属性指定 任务的优先级。此属 性值是一个相对值, 这意味着它只与任务 的执行顺序有关。属 性值越大,优先级越 高,其取值范围为0 到31

依 赖关系

** Preemptive**

Policy

取 值范围

FULL/NON

默认取值

FULL

参 数描述

任务运行时的 调度行为。如果任务 在执行的任何一点( 任务关闭中断和使用 调度器资源的情况除 外)都能够被其他任 务抢占,那么该属性 值为FULL。如果任务 只能在运行时的特殊 点(比如激活了另一 个优先级更高的任务 )被其他任务抢占, 那么该属性值为NONE

依 赖关系

Stack Size

取 值范围

1~16384

默 | 认 | 取 | 值 |

1 0 0

参 数描述

任务的堆栈空间大小

依 赖关系

OsTa skAccessingA pplication

取 值范围

ON/OFF

默 | 认 | 取 | 值 |

O F F

参 数描述

标识哪些Applica tion可以访问此Task

依 赖关系

OsTa skEventRef

取 值范围

Event列表

默 | 认 | 取 | 值 |

无 |



参 数描述

访问的事件列表

依 赖关系

OsTaskR esourceRef

取 值范围

Resource列表

默 | 认 | 取 | 值 |

无 |



参 数描述

访问的资源列表

依 赖关系

OsTas kAutostart

取 值范围

ON/OFF

默 | 认 | 取 | 值 |

O F F

参 数描述

是否自启动

依 赖关系

OsTask AppModeRef

取 值范围

AppMode列表

默 | 认 | 取 | 值 |













O S D E F A U L T A P P M O D E

参 数描述

任务在哪 种工作模式下自启动

依 赖关系

Timing Protection Settings

../../_images/image928.png

图5‑8 OsTaskTimingProtection配置界面

表5‑8 OsTaskTimingProtection参数配置

UI名称

描述*

All Interrupt Lock Budget[s]

取 值范围

等于0或TimingProt Tick Time的整数倍

默认取值

0.0

参 数描述

任务锁 所有中断的最大时间

依 赖关系

当S C2/SC4时,此项才有

Execution Budget[s]

取 值范围

等于0或TimingProt Tick Time的整数倍

默认取值

0.0

参 数描述

任务 执行的最大时间时间

依 赖关系

当SC2 /SC4时,此项才有效

Cat2 Interrupt Lock Budget[s]

取 值范围

等于0或TimingProt Tick Time的整数倍

默认取值

0.0

参 数描述

任务锁 二类中断的最大时间

依 赖关系

当SC 2,SC4时,此项才有

Time Frame[s]

取 值范围

等于0或TimingProt Tick Time的整数倍

默 | 认 | 取 | 值 |

0

参 数描述

任务的触 发时间最小执行间隔

依 赖关系

当S C2/SC4时,此项才有

Resource Lock Settings

../../_images/image1025.png

图5‑9 OsTaskResourceLock_x配置界面

表5‑9 OsTaskResourceLock_x参数配置

UI名称

描述*

Lock Budget[s]

取 值范围

等于0或TimingProt Tick Time的整数倍

默认取值

0.0

参 数描述

任 务锁资源的最大时间

依 赖关系

当S C2/SC4时,此项才有

Resource

取 值范围

Resource列表

默认取值

参 数描述

配置的资源

依 赖关系

当SC2 /SC4时,此项才有效

OsEvent

../../_images/image1134.png

图5‑10 Event_x配置界面

表 5‑10 Event_x参数配置

UI名称

描述*

Event_x

取 值范围

默认取值

O sEvent_0

参 数描述

事件的名称

依 赖关系

在OsEvent配置 列表下配置Event_x, 配置工具会顺序生成 事件编号(事件掩码)

OsAppMode

../../_images/image1224.png

图 5‑11 AppMode配置界面

表 5‑11 AppMode参数配置

UI名称

描述*

O sAppMode_x

取 值范围

默认取值

O sAppMode_x

参 数描述

应用模式的名称

依 赖关系

StartOS的传入参数

OsResource

../../_images/image1321.png

图5‑12 Resource_x参数配置

表5‑12 Resource_x参数配置

UI名称

描述*

** Resource_x**

取 值范围

默 认取值

Resouce_X

参 数描述

资源的名称, 即资源编号(ID)

依 赖关系

Type

取 值范围

INTERNAL

LINKED

STANDARD

默 认取值

STANDARD

参 数描述

资源的类型

依 赖关系

Linked Resource

取 值范围

资源列表

默 认取值

参 数描述

需要链接的资源

依 赖关系

当T ype项选择LINDED时 ,此项才可配置。

OsResour ceAccessingA pplication

取 值范围

ON/OFF

默 | 认 | 取 | 值 |

O F F

参 数描述

标识 哪些Application可 以访问此Resource

依 赖关系

R esource的宿主Appl ication不需要勾选

OsIsr

../../_images/image1420.png

图 5‑13 ISR配置界面

表 5‑13 ISR参数配置

UI名称

描述*

I SR_XXX_XXX

取 值范围

默认取值

工具生成

参 数描述

中 断的名称,不可配置

依 赖关系

Category

取 值范围

GATEGORY_1

GATEGORY_2

默认取值

2

参 数描述

中断类型: 一类中断和二类中断

依 赖关系

OsIsrR esourceRef

取 值范围

资源列表

默认取值

参 数描述

可访问的资源

依 赖关系

Stack Size

取 值范围

1~16384

默认取值

100

参 数描述

中断堆栈空间大小

依 赖关系

二类中断才有堆栈

Source

取 值范围

默认取值

参 数描述

中断源,自动 配置,用户不需配置

依 赖关系

Priority

取 值范围

1 ~ 255

默认取值

1

参 数描述

中断优先级

依 赖关系

无,配置 工具限制优先级>=2

Nested Enable

取 值范围

ON/OFF

默认取值

OFF

参 数描述

此中 断是否允许被内嵌套

依 赖关系

OsIsrTimingProtection

../../_images/image1519.png

图5‑14 OsIsrTimingProtection配置界面

表5‑14 OsIsrTimingProtection参数配置

UI名称

描述*

OsIsrTiming Protection*

取 值范围

默认取值

参 数描述

名称

依 赖关系

配置工具默 认生成,无法重命名

All Interrupt Lock Budget[s]

取 值范围

等于0或TimingProt Tick Time的整数倍

默认取值

0.0

参 数描述

中断锁 所有中断的最大时间

依 赖关系

当S C2/SC4时,此项才有

Execution Budget[s]

取 值范围

等于0或TimingProt Tick Time的整数倍

默认取值

0.0

参 数描述

中断的最大执行时间

依 赖关系

当SC2 /SC4时,此项才有效

Cat2 Interrupt Lock Budget[s]

取 值范围

等于0或TimingProt Tick Time的整数倍

默认取值

0.0

参 数描述

中断锁 二类中断的最大时间

依 赖关系

当S C2/SC4时,此项才有

Time Frame[s]

取 值范围

等于0或TimingProt Tick Time的整数倍

默 | 认 | 取 | 值 |

0

参 数描述

中断的触 发时间最小时间间隔

依 赖关系

当S C2/SC4时,此项才有

OsIsrResourceLock

../../_images/image1615.png

图5‑15 OsIsrResourceLock_x配置界面

表5‑15 OsIsrResourceLock_x参数配置

UI名称

描述*

OsIsrReso urceLock_x

取 值范围

默认取值

Reso urceLock_X

参 数描述

名称

依 赖关系

Lock Budget[s]

取 值范围

等于0或TimingProt Tick Time的整数倍

默认取值

0

参 数描述

中 断锁资源的最大时间

依 赖关系

当 SC/SC4时,此项才有

Resource

取 值范围

Resource列表

默认取值

参 数描述

配置的资源

依 赖关系

当SC2 /SC4时,此项才有效

OsScheduleTable

../../_images/image1715.png

图 5‑16 ScheduleTable_x参数配置

表 5‑16 ScheduleTable_x参数配置

UI名称

描述*

Sched uleTable_x

取 值范围

默认取值

Sched uleTable_X

参 数描述

调度表的名称

依 赖关系

Duration

取 值范围

\

默认取值

0

参 数描述

调度表的持续时间

依 赖关系

当同步策略选择IMPL ICIT时,取值只能等 于驱动Counter的Max Tick

Repeat Execution

取 值范围

ON/OFF

默认取值

OFF

参 数描述

设 置调度表为重复执行

依 赖关系

Counter

取 值范围

Counter列表

默认取值

SystemTi mer_Core_0

参 数描述

用于驱动 此调度表的Counter

依 赖关系

OsSch TblAccessing A pplication

取 值范围

Application列表

默认取值

OFF

参 数描述

标识哪些 Application可以访 问此ScheduleTable

依 赖关系

Os ScheduleTabl eAutostart

取 值范围

ON/OFF

默认取值

OFF

参 数描述

是否自启动

依 赖关系

Type

取 值范围

ABSOLUTE

RELATIVE

SYNCHRON

默认取值

ABSOLUTE

参 数描述

自启动的类型

依 赖关系

Start Value

取 值范围

0~对应Counter的Max Allowed Ticks

默认取值

0

参 数描述

调 度表启动的起始时间

依 赖关系

Type 选择ABSOLUTE和RELA TIVE时,此项才有效

OsS cheduleTable AppModeRef

取 值范围

AppMode列表

默认取值

OSDEFA ULTAPPMODE

参 数描述

调度 表自启动对应的App Modes

依 赖关系

OsSchedul eTableSync

取 值范围

ON/OFF

默认取值

OFF

参 数描述

调度表是否同步

依 赖关系

Sync Strategy

取 值范围

EXPLICIT

IMPLICIT

NONE

默认取值

NONE

参 数描述

调度表同步策略

依 赖关系

SC2 /SC4时,此项才有效

Explicit Percision

取 值范围

0~Duration

默认取值

0

参 数描述

显式同步时的精度

依 赖关系

Sync Strategy选择EXPL ICIT时,此项才有效

ScheduleTableExpiryPoint

../../_images/image1814.png

图 5‑17 ScheduleTableExpiryPoint_x点配置界面

表 5‑17 ScheduleTableExpiryPoint_x点参数配置

UI名称

描述*

Sche duleTableExp iryPoint_x

取 值范围

默认取值

Schedu leTableExp iryPoint_0

参 数描述

EP点的名称

依 赖关系

ExpPoint Offset

取 值范围

0~Duration

默认取值

0

参 数描述

EP点的偏移

依 赖关系

Adjustable ExpPoint

取 值范围

ON/ OFF

默认取值

OFF

参 数描述

此EP点是否可以调整

依 赖关系

只有显式 同步时,此项才有效

Max Advance

取 值范围

0~Duration

默认取值

0

参 数描述

EP点可 以向前调整的最大值

依 赖关系

只有显式 同步时,此项才有效

Max Retard

取 值范围

0~Duration

默认取值

0

参 数描述

EP点可 以向后调整的最大值

依 赖关系

只有显式 同步时,此项才有效

OsScheduleTableEventSetting

../../_images/image1913.png

图 5‑18 OsScheduleTableEventSetting_x配置界面

表 5‑18 OsScheduleTableEventSetting_x参数配置

UI名称

描述*

OsSched uleTableEven tSetting_x

取 值范围

默认取值

OsSchedul eTableEven tSetting_0

参 数描述

名称

依 赖关系

Event

取 值范围

Event列表

默认取值

参 数描述

EP点要设置的Event

依 赖关系

Task

取 值范围

Task列表

默认取值

参 数描述

EP点要设置 的Event对应的Task

依 赖关系

OsScheduleTableTaskActivation

../../_images/image2010.png

图 5‑19 OsScheduleTableTaskActivation_x配置界面

表 5‑19 OsScheduleTableTaskActivation_x参数配置

UI名称

描述*

OsSchedul eTableTaskAc tivation_x

取 值范围

默认取值

O sScheduleT ableTaskAc tivation_0

参 数描述

名称

依 赖关系

Task

取 值范围

Task列表

默认取值

参 数描述

EP点要激活的Task

依 赖关系

OsApplication

../../_images/image2117.png

图5-20 Application_x配置界面

表5-20 Application_x参数设置

UI名称

描述*

App lication_x

取 值范围

默认取值

OsApp lication_0

参 数描述

Application的名称

依 赖关系

Trusted

取 值范围

ON/OFF

默认取值

OFF

参 数描述

是否 是可信Application

依 赖关系

Delay Timing Violation Call

取 值范围

ON/OFF

默认取值

OFF

参 数描述

应用自身的Shutdown Hook

依 赖关系

** Protection**

取 值范围

ON/OFF

默认取值

OFF

参 数描述

应 用自身的Protection

依 赖关系

Core Ref

取 值范围

0~2

默认取值

0

参 数描述

该 Application被映射 至某一个core上运行

依 赖关系

根据Cores Nu mber确定可映射core

OsA ppAlarmRef

取 值范围

Alarm列表

默认取值

参 数描述

属于这个Appl ication的Alarm对象

依 赖关系

OsApp CounterRef

取 值范围

Counter列表

默认取值

参 数描述

属于这个Applic ation的Counter对象

依 赖关系

系统 时钟不出现在该列表

O sAppIsrRef

取 值范围

Isr列表

默认取值

参 数描述

属于这个Ap plication的Isr对象

依 赖关系

一类中断必须属于 可信的Application

OsAppSchedu leTableRef*

取 值范围

ScheduleTable列表

默认取值

参 数描述

属于 这个Application的 ScheduleTable对象

依 赖关系

Os AppTaskRef

取 值范围

Task列表

默认取值

参 数描述

属于这个App lication的Task对象

依 赖关系

Restart Task

取 值范围

Task列表

默认取值

NONE

参 数描述

Application结束 时是否需要重启任务

依 赖关系

这个 Application需要对 这个任务有访问权限

Startup Hook

取 值范围

ON/OFF

默认取值

OFF

参 数描述

应用自身的Startup Hook

依 赖关系

Shutdown Hook

取 值范围

ON/OFF

默认取值

OFF

参 数描述

应用自身的Shutdown Hook

依 赖关系

Error Hook

取 值范围

ON/OFF

默认取值

OFF

参 数描述

应用自身的Error Hook

依 赖关系

OsApplicationTrustedFunction

../../_images/image2214.png

图 5‑21 可信函数配置界面

表5-21 可信函数参数配置

UI名称

描述*

OsApplic ationTrusted Function_x

取 值范围

默认取值

OsApplicat ionTrusted Function_0

参 数描述

可信函数的名字

依 赖关系

必须 是可信Application 才可以配置可信函数

OsIoc

OsIoc模块为了兼容有RTE与无RTE两种情况下IOC均能正常通信,故ORIENTAIS OS在AUTOSAR OS标准基础上将IOC配置界面划分出了两部分:1.OsIocBottom配置界面,2. OsIocUpper配置界面。

OsIocBottom配置界面为AUTOSAR OS标准配置参数,OsIocUpper配置界面为普华定制出的配置参数。

OsIocBottom

OsIocCommunication
../../_images/image2313.png

图 5-22 OsIocBufferLength配置

表 5-22 OsIocBufferLength参数配置

UI名称

描述*

OsIoc BufferLength

取 值范围

默认取值

100

参 数描述

配置I OC的Buffer区域大小

依 赖关系

OsIocDataProperties
../../_images/image2411.png

图 5-23 OsIocDayaProperties配置界面

表 5-23 OsIocDayaProperties参数配置

UI名称

描述*

OsIocDataPr operties_x*

取 值范围

默认取值

参 数描述

定义IOC的 数据属性,可配置多 个数据属性描述项。

依 赖关系

** OsIocDataPro pertyIndex**

取 值范围

默认取值

参 数描述

配 置数据属性的索引项

依 赖关系

OsIo cInitValue

取 值范围

默认取值

参 数描述

配 置数据属性的初始值

依 赖关系

OsI ocDataType

取 值范围

默认取值

参 数描述

配 置数据属性的数据类 型,注:目前仅支持 uint8,uint16,ui nt32三种数据类型。

依 赖关系

OsIocSenderProperties
../../_images/image2510.png

图 5-24 OsIocSenderProperties配置界面

表 5-24 OsIocSenderProperties参数配置

UI名称

描述*

O sIocSenderPr operties_x

取 值范围

默认取值

参 数描述

配置以Communica tion的一个发送侧。

依 赖关系

OsIocFunc tionImplemen tationKind

取 值范围

DO_NOT_CARE;

FUNCTION;

MACRO

默认取值

D O_NOT_CARE

参 数描述

配置通信 在实现方式上为函数 还是宏定义,目前统 一采用函数的方式。

依 赖关系

OsI ocSenderId

取 值范围

0 …255

默认取值

参 数描述

配置通信发 送侧的发送ID编号。

依 赖关系

OsIocS endingOsAppl icationRef

取 值范围

默认取值

参 数描述

定义通信发送侧 的OS-Application参 考(发送侧在指定OS -Application内)。

依 赖关系

依赖于OS-App lication界面配置。

OsIocReceiverProperties
../../_images/image2610.png

图 5-25 OsIocReceiverProperties配置界面

表 5-25 OsIocReceiverProperties参数配置

UI名称

描述*

OsI ocReceiverPr operties_x

取 值范围

默认取值

参 数描述

配置一个Communica tion的接受侧对象。

依 赖关系

OsIocFunc tionImplemen tationKind

取 值范围

DO_NOT_CARE;

FUNCTION;

MACRO

默认取值

D O_NOT_CARE

参 数描述

定义了通信 在实现方式上为函数 还是宏定义,目前统 一采用函数的方式。

依 赖关系

OsIocRece iverPullCB

取 值范围

默认取值

参 数描述

定义IOC接受侧 ,成功接受数据后, 是否调用回调函数。

依 赖关系

OsIocRec eivingOsAppl icationRef

取 值范围

默认取值

参 数描述

定义IOC接受侧 的参考OS-Applicati on(接受侧在指定OS -Application内)。

依 赖关系

依赖于OS-App lication界面配置。

OsIocUpper

OsIocUpper
../../_images/image278.png

图 5-26 OsIocUpper配置界面

表 5-26 OsIocUpper参数配置

UI名称

描述*

O sIocMessageB lockNmuber

取 值范围

0…65535

默认取值

20

参 数描述

定义IOC 通信的总消息块数量

依 赖关系

OsIocCheckI nParameter*

取 值范围

默认取值

参 数描述

是否开启IOC通 信输入参数与配置参 数的一直性检查,为 安全校验调试功能。

依 赖关系

OsIocPipe
../../_images/image285.png

图 5-27 OsIocPipe配置界面

表 5-27 OsIocPipe参数配置

UI名称

描述*

Os IocUpper_x

取 值范围

0…65535

默认取值

参 数描述

定义IOC通信的 Pipe数量,一个Pipe 为通信对象的实体。

依 赖关系

OsIocPip eSemantics

取 值范围

CAT1_UNQUEUED;

CAT2_QUEUED;

默认取值

参 数描述

定义IOC通信为队列 通信或非队列通信。

依 赖关系

OsIocPi peQueueCom

取 值范围

QUEUED_FIFO;

QUEUED_LIFO;

默认取值

参 数描述

当 IOC通信为队列通信 时,定义队列通信的 方式为FIFO或LIFO。 注:IOC为非队列通 信时,该项不可选。

依 赖关系

OsIo cPipeOsPos

取 值范围

IOC_SND_SIDE_NOS;

IOC_RCV_SIDE_NOS;

IOC_NORMAL_COM

默认取值

参 数描述

配 置IOC通信中PIPE两 端是否均跑AUTOSAR OS。IOC_NORMAL_CO M选项为标准AUTOSAR OS的通信方 式,另外两种通信方 式需要定制化处理。

依 赖关系

OsIocCommun icationRef*

取 值范围

默认取值

参 数描述

配置PIPE的OsIoc CommunicationRef参 考(参考OsIocBott om配置界面中的OsIo cCommunication_x)

依 赖关系

Os IocSendNotif icationRef

取 值范围

默认取值

参 数描述

配置PIPE通信成功后 是否产生通知方式。

I OC通信根据是否支持 通知动作分为两种方 式:1.带通知动作的 方式。2.轮询方式。

依 赖关系

OsIocPipeDataElement
../../_images/image295.png

图 5-28 OsIocPipeDataElemen配置界面

表 5-28 OsIocPipeDataElemen参数配置

UI名称

描述*

** OsIocPipeDat aElement_x**

取 值范围

默认取值

参 数描述

配置IOC通信中 Pipe传输的数据元。

依 赖关系

OsIoc DataLength

取 值范围

默认取值

参 数描述

定义PIPE传输 数据元的数据长度。

依 赖关系

** OsIocDataPro pertiesRef**

取 值范围

默认取值

参 数描述

定义PIPE传输数据元 的参考(参考到OsIo cBottom中的OsIocDa taProperties_x)。

依 赖关系

OsIocPipeSend
../../_images/image305.png

图 5-29 OsIocPipeSend配置界面

表 5-29 OsIocPipeSend参数配置

UI名称

描述*

OsIoc PipeSend_x

取 值范围

默认取值

参 数描述

配置IOC 通信中Pipe发送侧。

依 赖关系

Os IocSenderPro pertiesRef

取 值范围

默认取值

参 数描述

配置 IOC通信中Pipe发送 侧参考(参考到OsIo cBottom中OsIocSend erProperties_x)。

依 赖关系

OsIocPipeReceive
../../_images/image3112.png

图 5-30 OsIocPipeReceive配置界面

表 5-30 OsIocPipeReceive参数配置

UI名称

描述*

OsIocP ipeReceive

取 值范围

默认取值

参 数描述

配置IOC 通信中Pipe接受侧。

依 赖关系

OsIo cReceiverPro pertiesRef

取 值范围

默认取值

参 数描述

配置I OC通信中Pipe接受侧 参考(参考到OsIocB ottom中OsIocRecevi erProperties_x)。

依 赖关系