AUTOSAR Memory Services - NvM:(三)NvM API的常见用法整理

备注:NvM-API常用用法整理,持续更新

一、UDS 2E写DID把对应数据存入NvM,成功存储后正响应反馈

Std_ReturnType DcmDspData_did_WriteFnc(const uint8 *Data, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType *ErrorCode)
{
	Std_ReturnType retValue = E_OK;
	uint8 ucRequestStatus = 0;

	if(OpStatus == DCM_INITIAL)
	{
		/* Fill NvM Ram Block */
		nvm_ram_block.data = *data;
		
		/* Send Write block Requset */
		NvM_WriteBlock(NvMConf_NvMBlockDescriptor_NvMBlockDescriptor_Data, &nvm_ram_block);

		/* Pending dispose */
		*ErrorCode = 0x78;
		retValue = DCM_E_PENDING;
	}
	else if(OpStatus == DCM_PENDING)
	{
		/* Pending until NvM request ok */
		NvM_GetErrorStatus(NvMConf_NvMBlockDescriptor_NvMBlockDescriptor_Data, &ucRequestStatus);
		if(ucRequestStatus != NVM_REQ_OK)
		{
			*ErrorCode = 0x78;
			retValue = DCM_E_PENDING;
		}
	}

	return retValue;
}

Autosar规范框架下设计一个多硬件平台兼容的BootLoader,首先要确保对Autosar规范的深刻理解,特别是与BootLoader相关的模块,如PMS(Performance Measurement Services)、DEM(Diagnostic Event Manager)和NVM(Non-Volatile Memory)等。以下是具体的开发步骤和API接口使用方法: 参考资源链接:[HIS Flash Driver V1.3: Autosar Boot Protocol for Car Electronics](https://wenku.csdn.net/doc/223u7j6cgt?spm=1055.2569.3001.10343) 1. **理解Autosar规范和BootLoader要求**: - 仔细阅读Autosar OS、BswM(Basic Software Modules)、COM(Communication)等模块的文档。 - 分析不同硬件平台的内存布局和资源限制,确保BootLoader能够适应各种配置。 2. **设计内存布局**: - 为BootLoader预留必要的内存空间,通常包括代码区、数据区和堆栈区。 - 为不同启动阶段设定不同的内存区域,如初始化阶段、应用加载阶段等。 - 使用Autosar提供的标准API接口,如NvM模块,来管理非易失性内存区域。 3. **开发BootLoader核心功能**: - 利用Autosar标准的API接口,实现基本的启动流程控制、系统初始化和运行时配置。 - 开发用于加载应用程序的机制,包括从Flash或RAM中加载代码到指定内存区域。 - 集成Watchdog管理,确保系统可靠性和故障恢复能力。 4. **确保软件/硬件兼容性**: - 设计控制器特定编程接口,实现对不同微控制器的特定操作。 - 提供统一的API接口供应用程序调用,隐藏硬件的细节差异。 5. **编写初始化代码和API接口**: - 初始化代码中包括对硬件资源的初始化,如时钟、外设和内存管理。 - API接口应包括标准操作如读写Flash、擦除块、检查数据完整性等。 6. **测试与验证**: - 在目标硬件上进行严格的测试,确保BootLoader在不同条件下都能稳定工作。 - 进行软件兼容性测试,确保BootLoader能够支持不同版本的操作系统和应用程序。 通过上述步骤,你可以开发出一个符合Autosar规范的、兼容多种硬件平台的BootLoader。为了深入掌握相关知识,建议查阅《HIS Flash Driver V1.3: Autosar Boot Protocol for Car Electronics》,这份资料详细介绍了HIS Flash Driver的实现和Autosar规范中的相关模块应用,对于设计和实现BootLoader至关重要。 参考资源链接:[HIS Flash Driver V1.3: Autosar Boot Protocol for Car Electronics](https://wenku.csdn.net/doc/223u7j6cgt?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不吃鱼的猫丿

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

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

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

打赏作者

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

抵扣说明:

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

余额充值