RTA-OS Port Guide学习(一)-基于S32K324 OS

前言

之前使用S32K324双核的OS,生成的lib集成后一直进os shutdown,生成源码后看是在startos时XRDC验证失败导致。目前的处理方法是暂时屏蔽了。本文学习Port Guide文件,里面也描述了这部分的内容。

OS Port的安装

RTA-OS对于不同大类的MCU,提供了对应的OS插件,如果要配置对应的OS,需要安装对应的插件,且安装目录是有要求的,否则会导致isolar工程识别不到。

需要将Port安装到RTA-CAR对应RTA OS的目录下,示例如下:
在这里插入图片描述
正常安装好之后,可以选择对应的芯片的OS,如下图所示:
在这里插入图片描述
也可以使用cmd指令:查看os支持的target:

在os目录下执行:rtaosgen --target:?

查询结果如下:
在这里插入图片描述

Port Characteristics

本节介绍该OS port的特性

Parameters of Implementation

下表列出了OSEK标准需求的最小值,以及RTA-OS支持的最大值
在这里插入图片描述

Configuration Parameters

在Target中,对于该OS有一些特殊的配置,如下所示
在这里插入图片描述

Stack used for C-startup(SpPreStartOS)

调用StartOS()时已经使用的堆栈量。这个值只是添加到操作系统在运行时支持所有任务和中断所需的总堆栈大小上。通常,您使用它来获取链接器必须分配的堆栈量。如果操作系统配置发生变化,该值通常不会改变。

该值可以在start os之前打断点看堆栈的使用量。目前没有配置,也没啥影响

Stack used when idle (SpStartOS)

当操作系统处于空闲状态时(通常在Os_Cbk_Idle()内)使用的堆栈量。这只是调用Os_StartOS()时使用的堆栈与没有任务或中断运行时使用的堆栈之间的差异。如果没有使用Os_Cbk_Idle(),这个值可以为零。它必须包括在空闲状态下调用的任何函数所使用的堆栈。如果操作系统配置发生变化,该值通常不会改变。

该值不一定是定值,如果要填,可以测一下之后填大点,实际不填也没啥影响

Stack overheads for ISR activation (SpIDisp)

从ISR内激活任务所需的额外堆栈量。如果在2类中断中激活了一个任务,并且该任务的优先级高于当前正在运行的任何任务,那么对于某些目标,操作系统可能需要使用比激活优先级较低的任务更多的堆栈。这个值说明了这一点。在大多数目标上,这个值为零。此值用于最坏情况下的堆栈大小计算。当操作系统配置发生重大变化时,该值可能会发生变化。例如标准/扩展,SC1/2/3/4。

目前2类中断需要的堆栈没有配置

Stack overheads for ECC tasks (SpECC)

启动ECC任务所需的额外堆栈量。目前没有配置

Stack overheads for ISR (SpPreemption)

用于服务二类ISR的堆栈数量。目前没有配置

Orti22/Lauterbach (Orti22Lauterbach)

用于生成ORTI 2.2的文件,应该是trace功能用的

Orti23/Lauterbach (Orti23Lauterbach)

用于生成ORTI 2.3的文件,应该是trace功能用的

Physical Core Assignment

配置核的数字,多个核以逗号隔开此处配置为0,1

SEMA42 Gate

选择操作系统应该使用SEMA42外设中的哪个 gate进行跨核锁定。仅用于多核配置。默认是使用gate 0
在这里插入图片描述

Block default interrupt (AlignUntrustedStacks)

如果指定了默认中断,它通常会在意外中断触发时执行。您可以使用此选项阻止此行为。该选项影响未使用的中断源的启用。默认为false

Enable stack repositioning

当存在MPU保护区域粒度问题时,用于支持对不受信任代码的堆栈进行重新排列。参考文档Os_Cbk_SetMemoryAccess。默认为false

Enable untrusted stack check (DistrustStacks)

可以在中断处理程序中放置额外的代码来检测不受信任的代码何时具有非法的堆栈指针值。此外,异常处理程序可以在私有堆栈上运行(参见Os_Cbk_GetAbortStack的文档)。这有一个小的性能开销,所以是可选的。默认为false

No fast compile (no_fast_compile)

默认情况下,RTA-OS将使用多个CPU线程编译RTA-OS库,以减少总体构建时间。默认为false,相当于make中的-j

Reset Stack Pointer (boot_sp)

配置栈顶指针,此处只能配置一个核的,配置为__Stack_start_c0,按道理两个核的栈顶指针是不一样的。此处无法配置两个。后面还会介绍栈的使用

Reset Address (boot_pc)

配置复位向量,此处配置为Reset_Handler

Handle FPU context (handle_FPU_context)

可以在上下文切换期间添加额外的代码,以保留任务和isr使用的浮点寄存器。只有当应用程序中的大多数任务和isr包含FPU指令时才应该使用此选项,否则寄存器设置机制可能更有效。这种机制不使用延迟保存FPU状态。默认为false,不保存FPU上下文

Generated Files

正常情况,OS不会生成源码,而是生成lib文件。
在这里插入图片描述
在这里插入图片描述
主要的lib为RTAOS.a

总结

上述配置只使用了一部分,很多都是按默认配置的,比较关键的就是boot_pc,boot_sp,PhysicalCoreAssignment,下一篇介绍API函数

  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: ETAS-OS (RTA-OS)是一款实时操作系统,主要用于汽车和嵌入式系统的开发。下面是关于ETAS-OS (RTA-OS)用户手册的简要介绍。 ETAS-OS (RTA-OS)用户手册提供了详细的操作指南和技术说明,帮助开发人员使用和配置ETAS-OS (RTA-OS)操作系统。该手册包含了各种重要的信息和功能,让用户更好地理解和运用这款操作系统。 首先,用户手册介绍了ETAS-OS (RTA-OS)的基本概念和架构。它解释了操作系统的组织结构,包括任务、中断、调度器等核心概念。此外,手册还描述了操作系统的各种组件和模块如何协同工作,以提供实时性和可靠性。 接下来,用户手册详细说明了ETAS-OS (RTA-OS)操作系统的安装和配置方法。它指导用户如何将操作系统集成到开发环境中,并介绍了各种配置选项和设置。用户可以根据自己的需求和项目要求,进行灵活的配置和调整。 此外,用户手册还提供了完整的API参考,包括操作系统的各种函数和接口。用户可以通过阅读用户手册,了解每个函数和接口的功能和使用方法,以便在开发过程中正确地调用和应用它们。 最后,用户手册还包含了一些实际案例和示例代码,以帮助用户更好地理解和应用ETAS-OS (RTA-OS)。这些案例和示例代码涵盖了各种应用场景和功能,具有很高的实用性和参考价值。 总之,ETAS-OS (RTA-OS)用户手册是使用和配置ETAS-OS (RTA-OS)操作系统的重要参考资料。它提供了全面且详细的信息,帮助开发人员顺利地开发和调试嵌入式系统,并提高系统的实时性和可靠性。 ### 回答2: ETAS-OS (RTA-OS) 是一款嵌入式实时操作系统,被广泛应用于汽车电子系统的开发中。该操作系统具有高性能、高实时性和可扩展性的特点,能够有效地支持多任务处理和实时任务调度。 ETAS-OS (RTA-OS) 提供了丰富的功能模块和API,用于实现各种功能,如任务管理、中断处理、时钟管理、资源管理等。它采用优化的内核设计和高效的任务调度算法,能够满足复杂的实时需求。此外,ETAS-OS (RTA-OS) 还提供了丰富的驱动程序和硬件接口,方便开发者与外部设备进行通信和控制。 用户能够通过详细的用户手册来了解ETAS-OS (RTA-OS) 的使用方法和原理。用户手册中包含了操作系统的安装、配置和编程的详细步骤,以及各种功能模块和API的详细说明和示例代码。用户可以根据手册中的指导进行开发和调试工作,并能够深入了解操作系统的工作原理和内部机制。 除了用户手册之外,ETAS-OS (RTA-OS) 还提供了丰富的开发工具和支持,包括调试器、性能分析器和仿真环境等。这些工具能够帮助开发者进行调试和优化,并提高开发效率和系统可靠性。 总之,ETAS-OS (RTA-OS) 是一款功能强大的嵌入式实时操作系统,具有高性能和可扩展性的特点。用户可以通过详细的用户手册和丰富的开发工具来学习和使用该操作系统,实现复杂的实时系统开发。 ### 回答3: ETAS-OS(也称为RTA-OS)是一款用于汽车电子系统开发的实时操作系统。它被设计用于提供高效稳定的运行环境,以满足汽车行业对可靠性和性能的高要求。 ETAS-OS用户手册是一本详细说明和指导用户如何使用ETAS-OS操作系统的书籍。该手册的主要目的是帮助用户了解ETAS-OS的功能、特性和使用方法,以便在汽车电子系统开发中正确地使用该操作系统。 用户手册首先会介绍ETAS-OS的基本概念和架构,包括实时调度器、任务管理、中断处理和通信机制等。用户可以通过阅读手册来了解系统的工作原理和内部机制,从而更好地理解和使用ETAS-OS。 手册还提供了一系列操作指南和示例,以帮助用户进行系统配置、任务调度、中断处理和通信编程等操作。用户可以根据手册中的步骤和示例来正确地配置和编程ETAS-OS,以满足具体的应用需求。 此外,用户手册还涵盖了一些高级主题,如性能优化、调试和错误处理等。这些主题可以帮助用户进一步了解ETAS-OS的使用技巧和最佳实践,以提高系统的性能和稳定性。 总之,ETAS-OS用户手册是一本帮助用户正确使用ETAS-OS操作系统的重要参考书。通过阅读手册,用户可以深入了解该操作系统的功能和特性,掌握系统的配置和编程技巧,以提高汽车电子系统的开发效率和质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

赞哥哥s

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

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

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

打赏作者

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

抵扣说明:

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

余额充值