如何使 NVM AUTOSAR 模块中定义的结构对于 C 中的应用程序不可见?

问题描述 投票:0回答:1

AUTOSAR NVM 模块中有一个要求:[SWS_NvM_00135] 管理块对于应用程序来说是不可见的,并且由 NvM 模块专门用于 RAM 块和 NVRAM 块本身的安全和管理目的。

如何实现这样一个对应用程序不可见的管理块?

应该考虑到管理块必须可以在 NVM 模块本身的不同文件中访问。所以它不能被定义为.c文件中的静态结构。此外,如果它在头文件中声明,应用程序也可以包含它并使用它。因此它对于应用程序来说不会是不可见的。到底怎样才能实现满足要求呢?

encapsulation nvm autosar hidden-variables
1个回答
0
投票

根据 AUTOSAR 规范,应用程序应该仅包含 Nvm.h。 Nvm.h中只提供上层需要的信息

5.1.1 头文件结构 包含文件结构应如下所示: [SWS_NvM_00554] dNvM 模块应包括 NvM.h、Dem.h、 MemIf.h.c() [SWS_NvM_00691] dOnly NvM.h 应包含在上层 层.c()

更多关于BSW文件结构和实现思路的信息可以在这里找到,AUTOSAR_SWS_BSWGeneral.pdf

© www.soinside.com 2019 - 2024. All rights reserved.