AUTOSAR Davinci Idle task 与 Init Task的配置

最近在用Davinci配置Idle task和Init Task的时候遇到了一些问题,配置OS的时候,软件会自动为每个Application生成一个Idle task和Init Task:
在这里插入图片描述
先来看Idle Task,自动生成的Idle task的优先级是0xFFFFFFFF,官方给出的解释如下:
在这里插入图片描述
我本来准备把自己想要放在Background运行的runnable直接放在自动生成的这个Idle Task里的,但是mapping上之后,生成代码时候提示Background类型的runnable必须mapping到优先级最低的task上,当前mapping的task不是优先级最低的task。自动生成的这个Idle Task的优先级又不允许修改,所以最终是新建了一个UserIdleTask,把自己的runnable mapping上去才OK。

Init Task遇到的问题是,软件自动生成的Init Task是AutoStart的,StartOS之后自动运行,在Init Task中调用EcuM_StartupTwo()。我把自己创建的模块的Init函数mapping到自动生成的Init task后,生成RTE的时候提示这个Init task被mapping了runnable,所以它的启动和停止需要由RTE来统一管理(在Rte_Start函数中激活task),因此不能再配置为AutoStart,但是,矛盾点来了,Rte_Start()函数是在EcuM_StartupTwo()中调用的,这个Init task不能自启动的话,EcuM_StartupTwo()就不能被调用,Rte_Start()也不能被调用,也就没法激活这个Task,形成了一个圈,导致Init task不能被运行。

解决方法也是另外创建一个Init Task,原来的Init task逻辑和配置保持不变,把自己的Init函数放在新创建的Init task中。

顺便简单理一下Davinci代码ECU启动时序:

main -> EcuM_Init -> EcuM_AL_DriverInitZero -> EcuM_DriverInitOne -> EcuM_StartOS ->
OsTask_Init_Core0 -> EcuM_StartupTwo -> BswM_Init -> Rte_Start 然后启动任务调度。

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Autosar Davinci Runnable配置是指在Autosar软件架构中使用Davinci工具进行任务和调度策略的配置Autosar是一种面向汽车电子系统开发的标准化架构,旨在提高汽车电子系统的复杂性管理和跨功能开发效率。而Davinci是Vector Informatik开发的一套Autosar开发工具集,提供了各种工具来支持Autosar软件开发过程。 在Autosar Davinci Runnable配置中,首先需要明确系统中的任务(Runnable),这些任务通常对应着软件中的各种功能。然后,需要为每个Runnable配置适当的调度策略,以确保系统能够根据优先级和时序要求来正确执行这些任务。 在Davinci工具中,可以通过图形用户界面来配置这些Runnable和调度策略。首先,可以通过建模工具将系统中的各个功能和任务抽象成不同的Runnable,并为它们分配相应的优先级。其次,可以根据系统需求和实时性要求,选择合适的调度策略,如周期性调度、事件触发调度等。 配置好Runnable和调度策略后,可以使用Davinci工具生成对应的Autosar标准化描述文件(如RTE配置文件),并进一步使用其他Autosar工具进行软件组件的开发和集成。 总之,Autosar Davinci Runnable配置是通过使用Davinci工具对系统中的任务和调度策略进行配置,以支持Autosar软件架构的开发和集成。这样可以提高开发效率和系统可靠性,同时实现系统的实时性要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老孟的孟不是很老的孟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值