void NvM_ReadAll( void ); /** @req NVM460 */\r
void NvM_WriteAll( void ); /** @req NVM461 */\r
void NvM_CancelWriteAll( void ); /** @req NVM458 */\r
-void NvM_GetErrorStatus( NvM_BlockIdType BlockId, uint8 *RequestResultPtr ); /** @req NVM451 */\r
+void NvM_GetErrorStatus( NvM_BlockIdType blockId, uint8 *requestResultPtr ); /** @req NVM451 */\r
\r
#if (NVM_SET_RAM_BLOCK_STATUS_API == STD_ON)\r
-void Nvm_SetRamBlockStatus( NvM_BlockIdType BlockId, boolean BlockChanged ); /** @req NVM453 */\r
+void Nvm_SetRamBlockStatus( NvM_BlockIdType blockId, boolean blockChanged ); /** @req NVM453 */\r
#endif\r
\r
#if (NVM_API_CONFIG_CLASS > NVM_API_CONFIG_CLASS_1)\r
-void NvM_SetDataIndex( NvM_BlockIdType BlockId, uint8 DataIndex ); /** @req NVM448 */\r
-void NvM_GetDataIndex( NvM_BlockIdType BlockId, uint8 *DataIndexPtr ); /** @req NVM449 */\r
-void Nvm_ReadBlock( NvM_BlockIdType BlockId, uint8 *NvM_DstPtr ); /** @req NVM454 */\r
-void NvM_WriteBlock( NvM_BlockIdType BlockId, const uint8 *NvM_SrcPtr ); /** @req NVM455 */\r
-void Nvm_RestoreBlockDefaults( NvM_BlockIdType BlockId, uint8 *NvM_DstPtr ); /** @req NVM456 */\r
+void NvM_SetDataIndex( NvM_BlockIdType blockId, uint8 dataIndex ); /** @req NVM448 */\r
+void NvM_GetDataIndex( NvM_BlockIdType blockId, uint8 *dataIndexPtr ); /** @req NVM449 */\r
+void Nvm_ReadBlock( NvM_BlockIdType blockId, uint8 *dstPtr ); /** @req NVM454 */\r
+void NvM_WriteBlock( NvM_BlockIdType blockId, const uint8 *srcPtr ); /** @req NVM455 */\r
+void Nvm_RestoreBlockDefaults( NvM_BlockIdType blockId, uint8 *dstPtr ); /** @req NVM456 */\r
#endif\r
\r
#if (NVM_API_CONFIG_CLASS > NVM_API_CONFIG_CLASS_2)\r
-void NvM_SetBlockProtection( NvM_BlockIdType BlockId, boolean ProtectionEnabled ); /** @req NVM450 */\r
-void NvM_EraseNvBlock( NvM_BlockIdType BlockId ); /** @req NVM457 */\r
-void NvM_InvalidateNvBlock( NvM_BlockIdType BlockId ); /** @req NVM459 */\r
+void NvM_SetBlockProtection( NvM_BlockIdType blockId, boolean protectionEnabled ); /** @req NVM450 */\r
+void NvM_EraseNvBlock( NvM_BlockIdType blockId ); /** @req NVM457 */\r
+void NvM_InvalidateNvBlock( NvM_BlockIdType blockId ); /** @req NVM459 */\r
#endif\r
\r
#endif /*NVM_H_*/\r
\r
\r
\r
+//lint -emacro(904,VALIDATE_RV,VALIDATE_NO_RV) //904 PC-Lint exception to MISRA 14.7 (validate macros).\r
\r
#include <string.h>\r
#include "Fee.h"\r
#define VALIDATE_RV(_exp,_api,_err,_rv ) \\r
if( !(_exp) ) { \\r
Det_ReportError(MODULE_ID_FEE, 0, _api, _err); \\r
- /* PC-Lint exception (MISRA 14.7) - Allow return statement before end of function in validate macros */ \\r
- /*lint -e(904)*/return _rv; \\r
+ return _rv; \\r
}\r
\r
#define VALIDATE_NO_RV(_exp,_api,_err ) \\r
if( !(_exp) ) { \\r
Det_ReportError(MODULE_ID_FEE, 0, _api, _err); \\r
- /* PC-Lint exception (MISRA 14.7)- Allow return statement before end of function in validate macros */ \\r
- /*lint -e(904)*/ return; \\r
+ return; \\r
}\r
\r
#define DET_REPORTERROR(_module,_instance,_api,_err) Det_ReportError(_module,_instance,_api,_err)\r
*/\r
#define GET_BLOCK_INDEX_FROM_BLOCK_NUMBER(_blocknr) (((_blocknr) >> NVM_DATASET_SELECTION_BITS) - 1u)\r
#define GET_DATASET_FROM_BLOCK_NUMBER(_blocknr) ((_blocknr) & ((uint16)((uint16)1u << NVM_DATASET_SELECTION_BITS) - 1u))\r
-#define BLOCK_INDEX_AND_SET_TO_BLOCKNR(_blocknr, _set) ((uint16)((_blocknr + 1u) << NVM_DATASET_SELECTION_BITS) | set)\r
+#define BLOCK_INDEX_AND_SET_TO_BLOCKNR(_blocknr, _set) ((uint16)((_blocknr + 1u) << NVM_DATASET_SELECTION_BITS) | _set)\r
\r
/*\r
* Page alignment macros
*/\r
// 522 PC-Lint exception for empty functions\r
//lint -esym(522,CalcCrc)\r
+//lint -emacro(904,VALIDATE_RV,VALIDATE_NO_RV) //904 PC-Lint exception to MISRA 14.7 (validate macros).\r
\r
\r
#include "NvM.h"\r
+#include "NvM_Cbk.h"\r
#include "Rte.h" // ???\r
#if defined(USE_DEM)\r
#include "Dem.h"\r
Det_ReportError(MODULE_ID_NVM, 0, _api, _err); \\r
}\r
\r
+/*\r
#define VALIDATE_RV(_exp,_api,_err,_rv ) \\r
if( !(_exp) ) { \\r
Det_ReportError(MODULE_ID_NVM, 0, _api, _err); \\r
return _rv; \\r
}\r
+*/\r
\r
#define VALIDATE_NO_RV(_exp,_api,_err ) \\r
- if( !(_exp) ) { \\r
+ if( !(_exp) ) { \\r
Det_ReportError(MODULE_ID_NVM, 0, _api, _err); \\r
return; \\r
}\r
#define DET_REPORTERROR(_module,_instance,_api,_err)\r
#endif\r
\r
+#define BLOCK_BASE_AND_SET_TO_BLOCKNR(_blockbase, _set) ((uint16)(_blockbase << NVM_DATASET_SELECTION_BITS) | _set)\r
+\r
+\r
// State variable\r
typedef enum {\r
NVM_UNINITIALIZED = 0,\r
NVM_WRITE_ALL_PENDING\r
} NvmStateType;\r
\r
-typedef enum {\r
- MEMIF_STATE_IDLE,\r
- MEMIF_STATE_PENDING\r
-} MemIfStateType;\r
-\r
typedef enum {\r
BLOCK_STATE_IDLE,\r
BLOCK_STATE_RECALC_CRC,\r
BLOCK_STATE_POSTCALC_CRC_DONE,\r
\r
BLOCK_STATE_LOAD_FROM_NV,\r
- BLOCK_STATE_LOAD_FROM_NV_DONE,\r
- BLOCK_STATE_LOAD_FROM_NV_REDUNDANT,\r
- BLOCK_STATE_LOAD_FROM_ROM,\r
+// BLOCK_STATE_LOAD_FROM_NV_DONE,\r
+// BLOCK_STATE_LOAD_FROM_NV_REDUNDANT,\r
+// BLOCK_STATE_LOAD_FROM_ROM,\r
\r
- BLOCK_STATE_WRITE_TO_NV,\r
- BLOCK_STATE_WRITE_TO_NV_DONE\r
+ BLOCK_STATE_WRITE_TO_NV\r
+// BLOCK_STATE_WRITE_TO_NV_DONE\r
} BlockStateType;\r
\r
\r
SetMemifJobBusy();\r
MemIfJobAdmin.BlockAdmin = adminBlock;\r
MemIfJobAdmin.BlockDescriptor = blockDescriptor;\r
- returnCode = MemIf_Read(blockDescriptor->NvramDeviceId, (blockDescriptor->NvBlockBaseNumber << NVM_DATASET_SELECTION_BITS) | setNumber, blockOffset, destAddress, blockDescriptor->NvBlockLength);\r
+ returnCode = MemIf_Read(blockDescriptor->NvramDeviceId, BLOCK_BASE_AND_SET_TO_BLOCKNR(blockDescriptor->NvBlockBaseNumber, setNumber), blockOffset, destAddress, blockDescriptor->NvBlockLength);\r
if (returnCode != E_OK) {\r
AbortMemIfJob(MEMIF_JOB_FAILED);\r
}\r
AdminMultiReq.NextBlockIndex = 0;\r
\r
for (i = 0; i < NVM_NUM_OF_NVRAM_BLOCKS; i++) {\r
- if (BlockDescriptorList->SelectBlockForReadall\r
+ if ((BlockDescriptorList->SelectBlockForReadall)\r
#if (NVM_SET_RAM_BLOCK_STATUS_API == STD_ON) /** @req NVM345 */\r
- && (!AdminBlockTable->BlockValid // TODO: Check if this is to be done like this\r
- || !AdminBlockTable->BlockChanged) // TODO: Check if this is to be done like this\r
+ && ((!AdminBlockTable->BlockValid) // TODO: Check if this is to be done like this\r
+ || (!AdminBlockTable->BlockChanged)) // TODO: Check if this is to be done like this\r
#endif\r
) {\r
VALIDATE_NO_RV(BlockDescriptorList->RamBlockDataAddress != NULL, NVM_READ_ALL_ID, NVM_E_WRONG_CONFIG);\r
SetMemifJobBusy();\r
MemIfJobAdmin.BlockAdmin = adminBlock;\r
MemIfJobAdmin.BlockDescriptor = blockDescriptor;\r
- returnCode = MemIf_Write(blockDescriptor->NvramDeviceId, (blockDescriptor->NvBlockBaseNumber << NVM_DATASET_SELECTION_BITS) | setNumber, sourceAddress);\r
+ returnCode = MemIf_Write(blockDescriptor->NvramDeviceId, BLOCK_BASE_AND_SET_TO_BLOCKNR(blockDescriptor->NvBlockBaseNumber, setNumber), sourceAddress);\r
if (returnCode != E_OK) {\r
AbortMemIfJob(MEMIF_JOB_FAILED);\r
}\r
for (i = 0; i < NVM_NUM_OF_NVRAM_BLOCKS; i++) {\r
if ((BlockDescriptorList->RamBlockDataAddress != NULL)\r
#if (NVM_SET_RAM_BLOCK_STATUS_API == STD_ON) /** @req NVM344 */\r
- && AdminBlockTable->BlockValid /** @req NVM682 */\r
- && AdminBlockTable->BlockChanged /** @req NVM682 */\r
+ && (AdminBlockTable->BlockValid) /** @req NVM682 */\r
+ && (AdminBlockTable->BlockChanged) /** @req NVM682 */\r
#endif\r
- && !AdminBlockTable->BlockWriteProtected){ /** @req NVM432 *//** @req NVM433 */\r
+ && (!AdminBlockTable->BlockWriteProtected)){ /** @req NVM432 *//** @req NVM433 */\r
if (BlockDescriptorList->BlockUseCrc) {\r
AdminBlockTable->BlockState = BLOCK_STATE_RECALC_CRC; /** @req NVM253 */\r
} else {\r