【问题标题】:Autosar memory protectionAutosar 内存保护
【发布时间】:2020-12-24 11:18:34
【问题描述】:

我对 autosar 内存保护机制感到困惑

我有两个应用程序,一个受信任的,一个不受信任的

我为受信任的应用程序配置了从0x70000000 to 0x7100000 开始的内存保护区域范围,并为受信任的应用程序配置了一个初始化任务

init task,如果我尝试直接写入配置范围内的内存地址,它工作正常。

但是,如果我尝试在配置范围之外写入(仍然是正确的内存地址),我会进入异常

如果它发生在一个不受信任的应用程序上,我可以理解,但这是一个受信任的应用程序

我认为受信任的应用程序可以写入整个内存?,我在这里缺少什么

【问题讨论】:

    标签: autosar


    【解决方案1】:

    AUTOSAR_SWS_OS (R19-11) 有一个名为 OsTrustedApplicationWithProtection 的配置参数

    用于指定受信任的操作系统应用程序是否在内存保护的情况下执行的参数。 true:操作系统应用程序在受保护的环境中运行。这意味着写访问是有限的。 false: OS-Application 有完全的写权限(默认)

    听起来有点像,您信任的 OSApplication 在这里配置为 true 而不是 false,因此也写入受限。

    在另一边,ch。 14“内存保护配置展望”它指出:

    如前所述,内存保护配置尚未标准化。尽管如此,在本章中提供建议似乎很有帮助,配置如何工作

    频道。 14.1 还提供了提示,应如何处理 MPU 配置(SWCD/BSWMD 指定 (CODE/VAR/CONST/..) 内存部分和链接器输入部分),因此您不应该只使用任意内存定义并访问它直接,但是使用AUTOSAR内存映射方式。

    在你的情况下我不明白的是,你为什么实际上通过给 MPU 配置这个范围来限制受信任的应用程序,而不是限制你的不受信任的应用程序的访问?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-09
      • 2013-06-05
      • 2013-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-01
      • 1970-01-01
      相关资源
      最近更新 更多