AUTOSAR NvM 基础篇(三)

今天主要讲第三种block type, Dataset block

这种类型的block,我们需要把NvMBlockManagementType 设置为NVM_BLOCK_DATASET。对于这种block,我们可以分配一个甚至多个ROM data block。

具体的NV block的数量由NvMNvBlockNum来决定,每个NV block的地址也是通过和NvMNvBlockBaseNumber以及index一起决定,第一个NV block 就是0,最后一个block的index就是NvMNvBlockNum -1。

现在又是一个栗子。

车上的录音机里一共可以存10个不同的频率,里面6个可以用户自己自定义,4个是固定的。

为了存储这10个频率,我们可以用dataset block来实现。

当前正在用的频率:float CurFrequency;

四个不可以修改的频率 :const float FixFrequencies[4] = {82.5,87.7,93.3,106.5};

把NvMBlockManagementType 设置为NVM_BLOCK_DATASET,

我们的block要存储6个用户自定义的频率,所以NvMNvBlockNum = 6.

四个不可改的频率放在ROM中,所以NvMRomBlockNum = 4.

CurFrequency作为permanent RAM data block的地址,FixFrequencies作为ROM data block的地址。

►设置NvMRamBlockDataAddress to &CurFrequency.

► 设置NvMRomBlockDataAddress to &FixFrequencies[0].

►NvMNvBlockLength to 4 因为 fr

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值