【s32k1】FlexNVM、NVM

一、基础信息

s32k144内存分布:

这边主要关注FlexNVM这块区域,大小为64k。这是一个可配置的闪存块,可用作额外的闪存空间(D-flash)、支持增强型 EEPROM 功能的存储器(E-flash)或 作为两者的组合。(所以使用eep之前需要进行分区)

【ps】Davinci的第三方库导入工具并没有将Fee模块成功导入,这里是将mcal包fee文件夹里的Fee.epd文件直接修改后缀为arxml复制到davinci包的BSWMD\Mcal_S32k文件夹底下(暂不清楚会不会有什么问题)

二、基本概念

Logical sector 可以被擦除的最小区域

Page 硬件定义的一次可写入最小单位

三、配置(使用FLS)

1.FLS

FlsConfigSet

FlsSector(物理sector,s32k144划分的大小是2k一个sector)

NonAutosar

根据UM手册

2.FEE

FeeGeneral

FeeCluster(至少有两个)(一个中包含多个FeeSector)

FeeSector(不同的FeeSector要关联不同的FlsSector)

FeeBlockConfiguration(对应NVM block)

四、配置(使用EEP)

1.EEP

EepGeneral

EepInitConfiguration

回调函数可以不配置,循环调用Ea_MainFunction,Eep_MainFunction,但是Job Call Cycle这个配置项没用,Eep_MainFunction这个函数的调用周期为5ms(没找到修改的办法),将Ea_MainFunction也配置成5ms了。

2.Ea

EaPartitionConfiguration(根据需要划分相应的partition)

EaGeneral

加一下API

EaBlockConfiguration(对应NVMblock,见下方NVM配置)

3.代码

在使用eep之前,需要对FlexNVM区域进行分区,这段配置只能通过代码完成。

EEPROM在s32k144中只有4kb大小。

五、NVM配置

1.develop

添加service port 函数原型

函数中添加以生成rte接口

添加地址映射,方面内存排布(这一步可以没有)

2.configure

打开configure同步刚刚变更

生成相应的Ea/Fee

配置EA信息

记得勾上

service port需要链接上,否则rte会生成未连接的内容

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值