【发布时间】:2022-01-15 17:45:33
【问题描述】:
我在汽车嵌入式 C 编程领域工作,有人问我项目的操作系统任务系统 (AUTOSAR) 是什么。我正在使用 Astree 工具链进行静态分析。我不必为我的项目创建操作系统配置,因为它是由其他团队生成的。那么我们的嵌入式系统中的任务是什么?它如何处理大型软件中的数千个 C 和 H 文件?是指我们如何构建项目吗? 例如:
void task_OS_10ms_Task(void) {
Rte_task_Cont_BswStart_10ms();
FiM_MainFunction();
DDRC_Proc_ArDebMainFunction_10ms();
DFES_Proc_Data();
ComCIL_Adapt_Proc_10ms();
ComCIL_Co_Proc();
}
void task_OS_1ms_Task(void) {
Rte_task_Cont_BswStart_1ms();
Rte_task_Cont_BswEnd_1ms();
} // End of OS_1ms_Task
以上面的例子来说,它的平均6个函数将在10毫秒内执行,还是每个10毫秒内执行(总共60毫秒)?
【问题讨论】:
-
技术上,
10ms只是函数名的一部分。您必须搜索使用这些函数名称的代码库并检查任务的设置方式。 猜测是第一个函数每 10 毫秒调用一次,第二个函数每毫秒调用一次。 -
Tasks 可能只是进程的另一个名称。
-
您的任务似乎是一次性的、运行到完成的激活,而不是大多数其他 RTOS(例如 FreeRTOS)中的无限循环。这是特定于汽车的。您可能想在 Google 上搜索“OSEK 基本任务”以了解更多信息。
标签: embedded task rtos autosar automotive