发布
社区首页 >问答首页 >将Autosar操作系统移植到单片机

将Autosar操作系统移植到单片机
EN

Stack Overflow用户
提问于 2015-04-09 01:44:04
回答 3查看 2.5K关注 0票数 1

我正在做一个关于将Autosar操作系统移植到一个微控制器的学术项目。在阅读了有关Autosar、北极核心和北极工作室的论文和信息后,我有一些问题:

  1. 我曾经将FreeRTOS移植到一个微控制器上,这很容易,我只包含了一些FreeRTOS的*.h和*.c文件,然后使用FreeRTOS函数在芯片上构建了我的应用程序。我可以做类似的Autosar吗?如果有可能,我应该将哪些文件包含到我的main.c中
  2. 第二个问题,在FreeRTOS中,我只需要使用xcreatetask()函数(这是一个FreeRTOS函数)来设置任务优先级,然后应用vstarttaskschedule()函数在队列中运行任务,但是在Autosar中看不到这类函数。有人能告诉我autosar中的哪个功能和我说的功能相同吗?
  3. 当我为德州仪器芯片编程时,总有一些主要功能,包括我们将要为该芯片构建的主程序。然而,我没有看到任何主要的功能北极核心的例子。芯片如何在没有主功能的情况下运行程序?请帮我回答这些问题!
EN

回答 3

Stack Overflow用户

发布于 2015-04-23 14:29:06

3、无法看到ARTIC核心的主要功能: AUTOSAR不定义启动代码。您应该自己编写主函数。AUTOSAR操作系统中的内核是从ECUM模块初始化的。如果您想要引导您的操作系统,您必须有ECUM模块。另外,您应该有BSWM模块来启动调度表。您必须在BSWM中为RTE启动创建规则,它将启动您的进度表。您必须手动编写启动代码(RAM/Register初始化),从这一点您必须调用主函数,主函数将被手工编码。从主函数调用EcuM_init。这样,您的操作系统将启动。2 .无法定位函数来设置任务优先级和激活: AUTOSAR不支持动态任务优先级。你必须在配置中设定所有的优先级。要运行任务,可以使用ActivateTask()。在启动时启动任务的一个快速技巧是,为一个任务设置参数OsTaskAutostart。一旦初始化内核,您设置了参数OsTaskAutostart的任务就会被调用。

票数 3
EN

Stack Overflow用户

发布于 2015-07-24 06:40:57

  1. 您的启动代码将是特定目标。
  2. ECU中所有SW模块的初始化部分由ECUM完成。
  3. 记得从你的主机打电话给艾克姆
  4. ECUM对BSWM、驱动程序和SW模块进行初始化。
  5. 一旦RTE被初始化-在RTE中有一个部件SchM,它从每个模块调度主函数。
  6. RTE通过BSWMD和SWCD文件了解每个SW模块的主函数。

有关更多信息,请阅读RTE SWS、ECUM SWS、SYSTEMTemplate SWS。

票数 2
EN

Stack Overflow用户

发布于 2017-07-13 08:10:00

我想您的学术项目已经结束了,但是将AUTOSAR操作系统移植到特定的微控制器并不是学术项目的合适范围。

首先,从您的问题中,我无法判断操作系统是ARCCORE还是其他操作系统。其次,根据我在FreeRTOS方面的经验,适用于AUTOSAR和创建任务的知识有限(2)。是应用程序级而不是移植级。第三,大多数AUTOSAR操作系统依赖于专门的嵌入式编译器,例如GHS或DIAB,它们不是学术界的家。

我本人还没有移植AUTOSAR操作系统,但我建议先看看移植版本、体系结构和文件结构、系统,然后再看看启动例程、向量表、外围代码等等。在同一个MCU架构内移植时,可以降低复杂性,比如Renesas机器或ARM。

要回答您的问题3.,您将找不到ARCCORE示例中的main()。main()位于os_init.c中,如下所示:

代码语言:javascript
代码运行次数:0
复制
extern void EcuM_Init(void);


int main( void )
{
    EcuM_Init();
}

然后,EcuM_Init()厄瓜多尔M.c调用InitOS();

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29528343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档