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;

类型描述

获取自旋锁状态类型

取值说明

0-1

备注

函数定义

任务接口

ActivateTask

函数原型

StatusType ActivateTask( TaskType TaskID)

功能概述

  • 将任务从

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

  • 可以在任务和ISR2中使用

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

TaskID: 任务编号,即任务名

输出参数

返回值

  • OK:无错误

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

  • E_OS_ID:无效的TaskID

TerminateTask

函数原型

StatusType TerminateTask( void )

功能概述

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

  • 只能在任务中使用

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

  • 正确情况此函数不返回

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

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

ChainTask

函数原型

StatusType ChainTask( TaskType TaskID)

功能概述

  • 把当前任务从

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

  • 只能在任务中使用

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

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

TaskID: 任务编号,即任务名

输出参数

返回值

  • 正确情况此函数不返回

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

  • E_OS_ID:无效的TaskID

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

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

Schedule

函数原型

StatusType Schedule( void )

功能概述

  • 若当

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

  • 只能在任务中使用

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

  • E_OK:没有错误

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

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

GetTaskID

函数原型

StatusType GetTaskID( TaskRefType TaskID)

功能概述

  • 获取当前运行任务的ID

  • 可以

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

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

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

返回值

  • E_OK:没有错误

GetTaskState

函数原型

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

中断接口

EnableAllInterrupts

函数原型

void EnableAllInterrupts(void)

功能概述

  • 恢复DisableAllInterrupts 保存的中断状态

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

DisableAllInterrupts

函数原型

void DisableAllInterrupts(void)

功能概述

  • 保存当前中断状

态,并关闭所有硬件中断;与EnableAllInterrupts配对使用。

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

  • 主要

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

ResumeAllInterrupts

函数原型

void ResumeAllInterrupts (void)

功能概述

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

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

  • 主要

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

SuspendAllInterrupts

函数原型

void SuspendAllInterrupts (void)

功能概述

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

的所有中断并保存所有中断的状态位;与ResumeAllInterrupts 配对使用。

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

  • 主要

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

ResumeOSInterrupts

函数原型

void ResumeOSInterrupts (void)

功能概述

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

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

  • 主要

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

SuspendOSInterrupts

函数原型

void SuspendOSInterrupts (void)

功能概述

  • 此函数用来禁止二类

中断并保留二类中断的中断控制位信息;与ResumeOSInterrupts 配对使用。

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

  • 主要

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

计数器接口

IncrementCounter

函数原型

StatusType IncrementCounter(

CounterType CounterID

)

功能概述

  • Increment软件计数器

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步, 可能引起重调度

输入参数

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

输出参数

返回值

E_OK:没有错误

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

GetCounterValue

函数原型

StatusType GetCounterValue

(

CounterType CounterID

TickRefType Value

)

功能概述

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步, 可能引起重调度

输入参数

CounterID :计数器编号

输出参数

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

返回值

E_OK:没有错误

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

GetElapsedValue

函数原型

StatusType GetElapsedValue

(

CounterType CounterID,

TickRefType Value,

TickRefType ElapsedValue

)

功能概述

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步, 可能引起重调度

输入参数

CounterID[in]:计数器编号

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

输出参数

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

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

返回值

E_OK:没有错误

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

资源接口

GetResource

函数原型

StatusType GetResource ( ResourceType ResID )

功能概述

获得资源号为ResID的资源

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

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

属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

ResID:资源编号,即资源名

输出参数

返回值

  • E_OK:成功

  • E_OS_ID:无效的ResID

  • E_OS_ACCE

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

ReleaseResource

函数原型

StatusType ReleaseResource ( ResourceType ResID )

功能概述

  • 释放资源ResID

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

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

ResID:资源编号,即资源名

输出参数

返回值

  • E_OK:成功

  • E_OS_ID:无效的ResID

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

  • E_OS_ACCESS:试图

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

警报接口

GetAlarmBase

函数原型

StatusType GetAlarmBase( AlarmType AlarmID, AlarmBaseRefType Info)

功能概述

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

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

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

输出参数

Info:指向AlarmID警报的信息

返回值

  • E_OK:成功

  • E_OS_ID:无效的AlarmID

GetAlarm

函数原型

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

SetRelAlarm

函数原型

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)

SetAbsAlarm

函数原型

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)

CancelAlarm

函数原型

StatusType CancelAlarm(AlarmType AlarmID )

功能概述

  • 取消指定的警报

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

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

输出参数

返回值

  • E_OK:成功

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

  • E_OS_ID:无效的AlarmID

事件接口

SetEvent

函数原型

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状态时事件不能被设置

ClearEvent

函数原型

StatusType ClearEvent( EventMaskType mask )

功能概述

  • 清除指定的事件

  • 只能在扩展任务中使用

  • 属于ECC1、ECC2

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

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

输出参数

返回值

  • E_OK:成功

  • E_OS_ID:无效的TaskID

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

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

GetEvent

函数原型

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指向的任务处于挂起状态

WaitEvent

函数原型

StatusType WaitEvent(EventMaskType Mask)

功能概述

  • 等待指定的事件

  • 只能在扩展任务中使用

  • 调用时

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

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

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

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

  • 属于ECC1、ECC2

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

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

输出参数

返回值

  • E_OK:成功

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

  • E_OS_RESOURCE:任务有资源未释放

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

调度表接口

StartScheduleTableRel

函数原型

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(只在扩展状态): 调度表已经开始

StartScheduleTableAbs

函数原型

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(只在扩展状态): 调度表已经开始

StopScheduleTable

函数原型

StatusType StopScheduleTable(

ScheduleTableType ScheduleTableID,

)

功能概述

  • 停止调度表

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

ScheduleTableID: 调度表编号

输出参数

返回值

  • E_OK:没有错误

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

  • E_OS_NOFUNC:调度表已经停止

NextScheduleTable

函数原型

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

StartScheduleTableSynchron

函数原型

StatusType StartScheduleTableSynchron(

ScheduleTableType ScheduleTableID

)

功能概述

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

  • 属于SC2, SC4

同步/异步

同步

输入参数

ScheduleTableID:调度表编号

输出参数

返回值

  • E_OK:没有错误

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

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

SyncScheduleTable

函数原型

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

SetScheduleTableAsync

函数原型

StatusType SetScheduletableAsync(

ScheduleTableType ScheduleTableID

)

功能概述

  • 停止调度表同步

  • 属于SC2, SC4

同步/异步

同步

输入参数

ScheduleTableID:调度表编号

输出参数

返回值

  • E_OK:没有错误

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

GetScheduleTableStatus

函数原型

StatusType GetScheduleTableStatus(

ScheduleTableType ScheduleTableID,

ScheduleTableStatusRefType ScheduleStatus

)

功能概述

  • 获取指定调度表的状态

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

ScheduleTableID: 调度表

输出参数

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

返回值

  • E_OK:没有错误

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

HOOK接口

ErrorHook

函数原型

void ErrorHook(StatusType Error)

功能概述

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

  • 系统调用的时机

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

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

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

输出参数

返回值

PostTaskHook

函数原型

void PostTaskHook(void)

功能概述

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

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

PreTaskHook

函数原型

void PreTaskHook(void)

功能概述

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

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

StartupHook

函数原型

void StartupHook(void)

功能概述

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

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

ShutdownHook

函数原型

void ShutdownHook(StatusType Error)

功能概述

  • 在ShutdownOS调用时调用该HOOK

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

Error:发生的错误

输出参数

返回值

ProtectionHook

函数原型

ProtectionReturnType ProtectionHook(StatusType Fatalerror)

功能概述

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

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

Error:发生的错误

输出参数

返回值

PRO_IGNORE

PRO_TERMINATETASKISR

PRO_TERMINATEAPPL

PRO_TERMINATEAPPL_RESTART

PRO_SHUTDOWN

ReadyTaskHook

函数原型

void ReadyTaskHook(TaskType TaskID)

功能概述

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

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

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

IdleHook

函数原型

void IdleHook(void)

功能概述

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

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

OS-APP接口

GetApplicationID

函数原型

ApplicationType GetApplicationID(void)

功能概述

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

同步/异步

同步

输入参数

输出参数

返回值

获取的Application编号或OS_APPLICATION_INVALID

GetCurrentApplicationID

函数原型

ApplicationType GetCurrentApplicationID(void)

功能概述

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

同步/异步

同步

输入参数

输出参数

返回值

获取的Application编号或OS_APPLICATION_INVALID

CheckObjectAccess

函数原型

ObjectAccessType CheckObjectAccess(

ApplicationType ApplID,

ObjectTypeType ObjectType,

AppObjectId ObjectID

)

功能概述

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

同步/异步

同步

输入参数

ApplID:Os Application编号

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

ObjectID:传入实体编号

输出参数

返回值

参见ObjectAccessType类型

CheckObjectOwnership

函数原型

ApplicationType CheckObjectOwnership(

ObjectTypeType ObjectType,

AppObjectId ObjectID

)

功能概述

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

同步/异步

同步

输入参数

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

ObjectID:传入实体编号

输出参数

返回值

实体所属的Application编号

TerminateApplication

函数原型

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:传入参数错误

AllowAccess

函数原型

StatusType AllowAccess(void)

功能概述

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

同步/异步

同步

输入参数

输出参数

返回值

  • OK:无错误

  • E_OS_CALLEVEL:调用层级错误

  • E_OS_DISABLEDINT:中断未打开

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

GetApplicationState

函数原型

StatusType GetApplicationState(

ApplicationType Application,

ApplicationStateRefType Value

)

功能概述

  • 返回Application当前的状态

同步/异步

同步

输入参数

Application:想要获取的Application编号

输出参数

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

返回值

  • OK:无错误

  • E_OS_CALLEVEL:调用层级错误

  • E_OS_DISABLEDINT:中断未打开

  • E_OS_VALUE:传入参数错误

内存保护接口

CheckISRMemoryAccess

函数原型

AccessType CheckISRMemoryAccess(

ISRType ISRID,

MemoryStartAddressType Address,

MemorySizeType Size

)

功能概述

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

  • 属于SC3, SC4

同步/异步

同步

输入参数

ISRType ISRID:中断ID

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

MemorySizeType Size:指定内存区域大小

输出参数

返回值

参见AccessType类型

CheckTaskMemoryAccess

函数原型

AccessType CheckTaskMemoryAccess(

TaskType TaskID,

MemoryStartAddressType Address,

MemorySizeType Size

)

功能概述

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

  • 属于SC3, SC4

同步/异步

同步

输入参数

TaskType TaskID:任务ID

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

MemorySizeType Size:指定内存区域大小

输出参数

返回值

参见AccessType类型

CallTrustedFunction

函数原型

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:参数地址访问非法

系统控制接口

StartOS

函数原型

void StartOS(AppModeType Mode)

功能概述

  • 启动操作系统

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

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

输出参数

返回值

ShutdownOS

函数原型

void ShutdownOS(StatusType Error)

功能概述

  • 关闭操作系统

  • 可以

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

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

输出参数

返回值

GetActiveApplicationMode

函数原型

AppModeType GetActiveApplicationMode(void)

功能概述

  • 获取当前的应用模式

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

  • 属于SC1, SC2, SC3, SC4

同步/异步

同步

输入参数

输出参数

返回值

返回应用模式

GetISRID

函数原型

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

函数原型

Std_ReturnType IocSendGroup_<IocId> (

<Typde> UI_Value0,

uint16 NumberByteOfIN0,

<Typde> UI_Value1,

uint16 NumberByteOfIN1,

)

功能概述

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

同步/异步

同步

输入参数

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模块参数的配置。

表 属性描述

参数名称

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

参数描述

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

参数类型

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

取值范围

该配置项允许的取值区间

OsOs

System Settings

../../_images/image280.png

图 System Settings配置界面

表 System Settings配置属性

UI名称

描述

Cores Number

取值 范围

1~65535

默认取值

1

参数 描述

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

依赖 关系

Map CPU

取值 范围

0/1/2/3/4/5

默认取值

参数 描述

在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]**

取值 范围

128~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

默认取值

OFF

参数 描述

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

依赖 关系

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

OsHooks

../../_images/image359.png

图 Hooks配置界面

表 Hooks参数配置

UI名称

描述

Protection Hook

取值 范围

ON/OFF

默认取值

OFF

参数 描述

是否使用ErrorHook

依赖 关系

SC 2到SC4时才可以配置

Error Hook

取值 范围

ON/OFF

默认取值

OFF

参数 描述

是否使用ErrorHook

依赖 关系

依赖 关系

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

Post Task Hook

取值 范围

ON/OFF

默认取值

OFF

参数 描述

是 否使用PostTaskHook

依赖 关系

Pre Task Hook

取值 范围

ON/OFF

默认取值

OFF

参数 描述

是 否使用PreTaskHook

依赖 关系

Shutdown Hook

取值 范围

ON/OFF

默认取值

OFF

参数 描述

是 否使用ShutdownHook

依赖 关系

Startup Hook

取值 范围

ON/OFF

默认取值

OFF

参数 描述

是 否使用StartupHook

依赖 关系

OsCounter

OsCounters

../../_images/image450.png

图 Counter_x配置界面

表 Counter_x参数配置

UI名称

** 描述**

OsCounter

取值 范围

默认取值

参数 描述

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

依赖 关系

Counters

取值 范围

默认取值

参数 描述

Counter集合,包含 用户自定义Counter

依赖 关系

Syste mTimer_cores

取值 范围

默认取值

参数 描述

系统Counter集 合,包含系统时钟

依赖 关系

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

默认取值

HARDWARE

参数 描述

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

依赖 关系

Seconds Per tick

取值 范围

默认取值

0.0

参数 描述

一个 Tick的时间,单位s

依赖 关系

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

Accessing Applications

取值 范围

ON/OFF

默认取值

OFF

参数 描述

标 识哪些Application 可以访问此Counter

依赖 关系

OsDrivers

image2

图 OsDriver配置界面

表 OsDriver参数配置

OsDrivers

取值 范围

默认 取值

参数 描述

如果Counter为 硬件驱动,配置驱动 Counter的硬件信息

依赖 关系

Counter Type 为HARDWARE方可配置

OsDriver

取值 范围

默认 取值

OsDriver

参数 描述

OsDriver列表

依赖 关系

Counter Type 为HARDWARE方可配置

OsG ptChannelRef

取值 范围

配置的GPT通道

默认 取值

参数 描述

配置驱动这 个Counter的Gpt通道

依赖 关系

Counter Type 为HARDWARE方可配置

OsTimeConstants
../../_images/image644.png

图 OsTimeConstants配置界面

表 OsTimeConstants参数配置

OsT imeConstants

取值 范围

默认 取值

参数 描述

用户配置的 OsTimeConstant集合

依赖 关系

OsTi meConstant_x

取值 范围

默认 取值

参数 描述

用户配置的 OsTimeConstant列表

依赖 关系

OSTimeValue

取值 范围

默认 取值

参数 描述

允许用 户定义常数,例如可 用于将时间值与计时 器刻度值进行比较。

依赖 关系

SystemTimer_Core_x

image3

图 SystermTimer_Core_x配置界面

表 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/image830.png

图 Alarm_x配置界面

表 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

默认取值

OFF

参数 描述

是否设置告警自启动

依赖 关系

Start Time

[Tick]

取值 范围

0~对应Counter的Max Allowed Ticks

默认取值

100

参数 描述

Alarm启动时间

依赖 关系

对应Counter的Max Allowed Ticks项

Cycle Time

[Tick]

取值 范围

对应Counter的Max Allowed Ticks ~

Min Allowed Ticks For Cyclie Alarm

默认取值

100

参数 描述

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

依赖 关系

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

Autostart Type

取值 范围

ABSOLUTE

RELATIVE

默认取值

ABSOLUTE

参数 描述

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

依赖 关系

AppModes

取值 范围

AppMode列表

默认取值

列表 第一个

参数 描述

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

依赖 关系

OsTask

image4

图 Task_x配置界面

表 Task_x参数配置

UI名称

描述

Task_x

取值 范围

默认 取值

OsTask_0

参数 描述

Task列表

依赖 关系

** Activation**

Limit

取值 范围

1~255

默认 取值

1

参数 描述

任 务的激活次数

依赖 关系

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

OS TaskPeriod

取值 范围

0到N

默认

参数 描述

此参数指定在 循环激活任务 的情况下此任 务的周期(以 秒为单位)。

依赖 关系

Priority

取值 范围

1~65535

默认 取值

1

参数 描述

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

依赖 关系

** Preemptive**

Policy

取值 范围

FULL/NON

默认 取值

FULL

参数 描述

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

依赖 关系

Stack Size

取值 范围

1~16384

默认 取值

100

参数 描述

任务的 堆栈空间大小

依赖 关系

OsTa skAccessingA pplication

取值 范围

ON/OFF

默认 取值

OFF

参数 描述

标识哪些A pplication可 以访问此Task

依赖 关系

OsTa skEventRef

取值 范围

Event列表

默认 取值

参数 描述

访 问的事件列表

依赖 关系

OsTaskR esourceRef

取值 范围

Resource列表

默认 取值

参数 描述

访 问的资源列表

依赖 关系

OsTas kAutostart

取值 范围

ON/OFF

默认 取值

OFF

参数 描述

是否自启动

依赖 关系

OsTask AppModeRef

取值 范围

AppMode列表

默认 取值

OSDEFAULT APPMODE

参数 描述

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

依赖 关系

Timing Protection Settings

../../_images/image1027.png

图 OsTaskTimingProtection配置界面

表 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.0

参数 描述

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

依赖 关系

当S C2/SC4时,此项才有

Resource Lock Settings

../../_images/image1134.png

图 OsTaskResourceLock_x配置界面

表 OsTaskResourceLock_x参数配置

UI名称

描述

Lock Budget[s]

取值 范围

等于0或TimingProt Tick Time的整数倍

默认取值

0.0

参数 描述

任 务锁资源的最大时间

依赖 关系

当S C2/SC4时,此项才有

Resource

取值 范围

Resource列表

默认取值

参数 描述

配置的资源

依赖 关系

当SC2 /SC4时,此项才有效

OsEvent

../../_images/image1226.png

图 Event_x配置界面

表 Event_x参数配置

UI名称

描述

Event_x

取值 范围

默认取值

O sEvent_0

参数 描述

事件的名称

依赖 关系

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

OsAppMode

../../_images/image1323.png

图 AppMode配置界面

表 AppMode参数配置

UI名称

描述

O sAppMode_x

取值 范围

默认取值

O sAppMode_x

参数 描述

应用模式的名称

依赖 关系

StartOS的传入参数

OsResource

../../_images/image1421.png

图 Resource_x参数配置

表 Resource_x参数配置

UI名称

描述

Re source_x

取值 范围

默认 取值

Resouce_X

参数 描述

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

依赖 关系

Type

取值 范围

INTERNAL

LINKED

STANDARD

默认 取值

STANDARD

参数 描述

资源的类型

依赖 关系

Linked Resource

取值 范围

资源列表

默认 取值

参数 描述

需要链接的资源

依赖 关系

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

OsResour ceAccessingA pplication

取值 范围

ON/OFF

默认 取值

OFF

参数 描述

标识 哪些Application可 以访问此Resource

依赖 关系

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

OsIsr

image5图 ISR配置界面

表 ISR参数配置

UI名称

描述

I SR_XXX_XXX

取值 范围

默认 取值

工具生成

参数 描述

中断的名 称,不可配置

依赖 关系

Category

取值 范围

GATEGORY_1

GATEGORY_2

默认 取值

2

参数 描述

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

依赖 关系

O sIsrPeriod

取值 范围

0到N

默认 取值

参数 描述

此参数指 定在发生循环 触发的中断。 如果未给定此 参数,则可以 偶尔激活中断 ,或者以未知 周期值循环。

依赖 关系

OsIsrR esourceRef

取值 范围

资源列表

默认 取值

参数 描述

可访问的资源

依赖 关系

Stack Size

取值 范围

1~16384

默认 取值

100

参数 描述

中断 堆栈空间大小

依赖 关系

二类 中断才有堆栈

Source

取值 范围

默认 取值

参数 描述

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

依赖 关系

Priority

取值 范围

1 ~ 255

默认 取值

1

参数 描述

中断优先级

依赖 关系

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

Nested Enable

取值 范围

ON/OFF

默认 取值

OFF

参数 描述

此中断是否 允许被内嵌套

依赖 关系

OsIsrTimingProtection

../../_images/image1618.png

图 OsIsrTimingProtection配置界面

表 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.0

参数 描述

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

依赖 关系

当S C2/SC4时,此项才有

OsIsrResourceLock

../../_images/image1717.png

图 OsIsrResourceLock_x配置界面

表 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/image1815.png

图 ScheduleTable_x参数配置

表 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

image6

图 ScheduleTableExpiryPoint_x点配置界面

表 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/image2010.png

图 OsScheduleTableEventSetting_x配置界面

表 OsScheduleTableEventSetting_x参数配置

UI名称

描述

OsSched uleTableEven tSetting_x

取值 范围

默认取值

OsSchedul eTableEven tSetting_0

参数 描述

名称

依赖 关系

Event

取值 范围

Event列表

默认取值

参数 描述

EP点要设置的Event

依赖 关系

Task

取值 范围

Task列表

默认取值

参数 描述

EP点要设置 的Event对应的Task

依赖 关系

OsScheduleTableTaskActivation

../../_images/image2117.png

图 OsScheduleTableTaskActivation_x配置界面

表 OsScheduleTableTaskActivation_x参数配置

UI名称

描述

OsSchedul eTableTaskAc tivation_x

取值 范围

默认取值

O sScheduleT ableTaskAc tivation_0

参数 描述

名称

依赖 关系

Task

取值 范围

Task列表

默认取值

参数 描述

EP点要激活的Task

依赖 关系

OsApplication

image7

图 Application_x配置界面

表 Application_x参数设置

UI名称

描述

App lication_x

取值 范围

默认 取值

OsApp lication_0

参数 描述

Appli cation的名称

依赖 关系

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 Number确 定可映射core

OsAppEcucPa rtitionRef

取值 范围

默认 取值

参数 描述

表 示此“OSAppl ication”实现 了哪个“Ecuc Partition”。

依赖 关系

关联在其他模 块配置好的E cucPartition

OsA ppAlarmRef

取值 范围

Alarm列表

默认 取值

参数 描述

属于这 个Applicatio n的Alarm对象

依赖 关系

OsApp CounterRef

取值 范围

Counter列表

默认 取值

参数 描述

属于这个A pplication的 Counter对象

依赖 关系

系统时钟不 出现在该列表

O sAppIsrRef

取值 范围

Isr列表

默认 取值

参数 描述

属于 这个Applicat ion的Isr对象

依赖 关系

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

OsAppSchedu leTableRef

取值 范围

Sched uleTable列表

默认 取值

参数 描述

属 于这个Applic ation的Sched uleTable对象

依赖 关系

Os AppTaskRef

取值 范围

Task列表

默认 取值

参数 描述

属于这 个Applicati on的Task对象

依赖 关系

Restart Task

取值 范围

Task列表

默认 取值

NONE

参数 描述

Applicati on结束时是否 需要重启任务

依赖 关系

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

Startup Hook

取值 范围

ON/OFF

默认 取值

OFF

参数 描述

应用自 身的Startup Hook

依赖 关系

Shutdown Hook

取值 范围

ON/OFF

默认 取值

OFF

参数 描述

应用自 身的Shutdown Hook

依赖 关系

Error Hook

取值 范围

ON/OFF

默认 取值

OFF

参数 描述

应用 自身的Error Hook

依赖 关系

OsApplicationTrustedFunction

../../_images/image2313.png

图 可信函数配置界面

表 可信函数参数配置

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

image8图 OsIocBufferLength配置

表 OsIocBufferLength参数配置

UI名称

描述

OsIoc BufferLength

取值 范围

默认取值

100

参数 描述

配置I OC的Buffer区域大小

依赖 关系

OsIocDataProperties

image9图 OsIocDayaProperties配置界面

表 OsIocDayaProperties参数配置

UI名称

描述

OsIocDataPr operties_x

取值 范围

默认 取值

参数 描述

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

依赖 关系

** OsIocDataPro pertyIndex**

取值 范围

默认 取值

参数 描述

配置数据 属性的索引项

依赖 关系

OsIo cInitValue

取值 范围

默认 取值

参数 描述

要在IOC通信 信道上传输的 数据的初始值

依赖 关系

OsIo cInitValue

取值 范围

默认 取值

参数 描述

配置数据 属性的初始值

依赖 关系

OsI ocDataType

取值 范围

默认 取值

参数 描述

配 置数据属性的 数据类型,注 :目前仅支持 uint8,uint 16,uint32三 种数据类型。

依赖 关系

OsIocSenderProperties

image10图 OsIocSenderProperties配置界面

表 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

image11图 OsIocReceiverProperties配置界面

表 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

image12图 OsIocUpper配置界面

表 OsIocUpper参数配置

UI名称

描述

O sIocMessageB lockNmuber

取值 范围

0…65535

默认取值

20

参数 描述

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

依赖 关系

OsIocCheckI nParameter

取值 范围

默认取值

参数 描述

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

依赖 关系

OsIocPipe

image13图 OsIocPipe配置界面

表 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

image14

图 OsIocPipeDataElemen配置界面

表 OsIocPipeDataElemen参数配置

UI名称

描述

** OsIocPipeDat aElement_x**

取值 范围

默认取值

参数 描述

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

依赖 关系

OsIoc DataLength

取值 范围

默认取值

参数 描述

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

依赖 关系

** OsIocDataPro pertiesRef**

取值 范围

默认取值

参数 描述

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

依赖 关系

OsIocPipeSend

image15

图 OsIocPipeSend配置界面

表 OsIocPipeSend参数配置

UI名称

描述

OsIoc PipeSend_x

取值 范围

默认取值

参数 描述

配置IOC 通信中Pipe发送侧。

依赖 关系

Os IocSenderPro pertiesRef

取值 范围

默认取值

参数 描述

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

依赖 关系

OsIocPipeReceive

image16

图 OsIocPipeReceive配置界面

表 OsIocPipeReceive参数配置

UI名称

描述

OsIocP ipeReceive

取值 范围

默认取值

参数 描述

配置IOC 通信中Pipe接受侧。

依赖 关系

OsIo cReceiverPro pertiesRef

取值 范围

默认取值

参数 描述

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

依赖 关系