System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种在AUTOSAR CP中利用信号量机制实现数据同步的方法技术_技高网

一种在AUTOSAR CP中利用信号量机制实现数据同步的方法技术

技术编号:40423170 阅读:10 留言:0更新日期:2024-02-20 22:42
本发明专利技术公开了一种在AUTOSAR CP中利用信号量机制实现数据同步的方法,在AUTOSAR CP中利用已有机制事件Event和时钟Alarm实现信号量机制;信号量包括两个事件Event和一个时钟Alarm;事件一Event1用于信号量的激活操作,事件二Event2用于信号量的阻塞操作,时钟Alarm用于设置事件二的阻塞超时时间,解除事件二的阻塞状态;在AUTOSAR CP中利用信号量机制实现数据同步。本发明专利技术利用信号量机制来实现数据同步,则可以解决资源锁机制的优先级反转问题。多任务调度时,部署在不同任务的SWC之间可以借助信号量机制实现数据同步,使得SWC开发可以支持更丰富的应用场景。

【技术实现步骤摘要】

本专利技术涉及信号量机制,尤其涉及一种在autosar cp中利用信号量机制实现数据同步的方法。


技术介绍

1、在linux操作系统中,信号量是一种解决进程之间的同步与互斥的ipc机制。而在实时操作系统rtos,比如车载领域应用比较多的autosar cp系统中,它本身没有提供类似信号量的机制。

2、autosar cp中当前多任务之间的数据同步,通过autosar cp中的资源锁来实现,但autosar cp的资源锁机制使用不当容易产生优先级反转以及死锁,导致多任务运行出现意料之外的结果。如果autosar cp中可以用信号量机制来实现数据同步,则可以解决资源锁机制的优先级反转问题。

3、因此,本专利技术提出一种在autosar cp中利用信号量机制实现数据同步的方法。


技术实现思路

1、为解决现有技术中存在的不足,本专利技术的目的在于,提供一种在autosar cp中利用信号量机制实现数据同步的方法。

2、为实现本专利技术的目的,本专利技术所采用的技术方案是:

3、一种在autosar cp中利用信号量机制实现数据同步的方法,包括步骤:

4、(1)在autosar cp中利用已有机制事件event和时钟alarm实现信号量机制;

5、(2)在autosar cp中利用信号量机制实现数据同步。

6、进一步地,信号量包括两个事件event和一个时钟alarm;

7、事件一event1用于信号量的激活操作,事件二event2用于信号量的阻塞操作,时钟alarm用于设置事件二的阻塞超时时间,解除事件二的阻塞状态。

8、进一步地,步骤(2)中,在autosar cp中利用信号量机制实现数据同步,具体包括:

9、(2.1)当等待任务wait-side task需要等待激活任务post-side task的数据同步时,调用sem_timewait操作进入wait状态;

10、(2.2)当post-side task处理数据后,通过sem_post操作通知wait-side task解除wait状态,进行数据同步处理;如果post-side task没有进行sem_post操作,则wait-side task根据设置的超时时间到期自动解除wait状态,执行其他业务流程。

11、进一步地,sem_timewait操作包括等待事件操作wait_event和设置时钟操作set_alarm,wait_event等待的事件分别是event1和event2,set_alarm是设置超时定时器激活event2。

12、进一步地,sem_timewait激活后根据获取到的当前event,区分是event1的业务触发还是event2超时导致的激活,并进行对应的业务处理。

13、进一步地,sem_post操作为激活事件操作set_event,激活的事件是event1。

14、进一步地,wait-side task收到sem_post操作,解除wait状态,激活事件一event1,进行数据同步处理;如果wait-side task没有收到sem_post操作,则wait-sidetask持续等待至设置的超时时间,到期自动解除wait状态,导致event2超时激活,执行其他业务流程。

15、本专利技术的有益效果在于,与现有技术相比,本专利技术在autosar cp中利用已有的机制事件event和时钟alarm实现autosar cp中的信号量机制。

16、autosar cp中用信号量机制来实现数据同步,则可以解决资源锁机制的优先级反转问题。

17、autosar cp中多任务调度时,部署在不同任务的swc之间可以借助信号量机制实现数据同步,使得swc开发可以支持更丰富的应用场景。

本文档来自技高网...

【技术保护点】

1.一种在AUTOSAR CP中利用信号量机制实现数据同步的方法,其特征在于,包括步骤:

2.根据权利要求1所述的在AUTOSAR CP中利用信号量机制实现数据同步的方法,其特征在于,信号量包括两个事件Event和一个时钟Alarm;

3.根据权利要求1所述的在AUTOSAR CP中利用信号量机制实现数据同步的方法,其特征在于,步骤(2)中,在AUTOSAR CP中利用信号量机制实现数据同步,具体包括:

4.根据权利要求3所述的在AUTOSAR CP中利用信号量机制实现数据同步的方法,其特征在于,步骤(2.1)中,sem_timewait操作包括等待事件操作Wait_Event和设置时钟操作Set_Alarm;

5.根据权利要求3所述的在AUTOSAR CP中利用信号量机制实现数据同步的方法,其特征在于,sem_timewait激活后根据获取到的当前Event,区分是Event1的业务触发还是Event2超时导致的激活,并进行对应的业务处理。

6.根据权利要求3所述的在AUTOSAR CP中利用信号量机制实现数据同步的方法,其特征在于,sem_post操作为激活事件操作Set_Event,激活的事件是Event1。

7.根据权利要求3所述的在AUTOSAR CP中利用信号量机制实现数据同步的方法,其特征在于,步骤(2.2)中,Wait-side task收到sem_post操作,解除wait状态,激活事件一Event1,进行数据同步处理;

...

【技术特征摘要】

1.一种在autosar cp中利用信号量机制实现数据同步的方法,其特征在于,包括步骤:

2.根据权利要求1所述的在autosar cp中利用信号量机制实现数据同步的方法,其特征在于,信号量包括两个事件event和一个时钟alarm;

3.根据权利要求1所述的在autosar cp中利用信号量机制实现数据同步的方法,其特征在于,步骤(2)中,在autosar cp中利用信号量机制实现数据同步,具体包括:

4.根据权利要求3所述的在autosar cp中利用信号量机制实现数据同步的方法,其特征在于,步骤(2.1)中,sem_timewait操作包括等待事件操作wait_event和设置时钟操作set_alarm;

【专利技术属性】
技术研发人员:尤东森陈诚张旸
申请(专利权)人:奥特酷智能科技南京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1