0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

S32K1xx EEE如何使用内存

嵌入式爱好者之家 来源:嵌入式爱好者之家 2024-10-25 11:49 次阅读

1. 简介

通常有三种方法实现 EEPROM功能。

其一是使用真正的 EEPROM,例如具有 256 B EEPROM 的 KEA64。优点是不占用闪存,但缺点是价格昂贵。

第二种方法是使用软件实现 EEPROM 功能,如 KEA8 和 KEA128。优点是便宜,但缺点是它占用了闪存,包括用于 EEPROM 实现的额外代码和模拟EEPROM占用的闪存。

第三种方法是使用固件来实现 EEPROM 功能,例如 S32K1xx。优点在于 EEPROM 功能的实现对客户来说是绝对透明的,并且不需要闪存来存储用于 EEPROM 实现的额外代码。

2.S32K1xx EEE 工作

为了提供增强的 EEPROM 功能,S32K1xx EEE 使用了一块 RAM(FlexRAM),一块闪存(FlexNVM)和EEE 状态机器。启用 EEE 功能后,FlexRAM 将成为您的 EEE 存储空间。FlexRAM 地址空间是您访问所有 EEE 数据的地方。当访问 EEE 时,EEE 状态机会跟踪数据并将其备份为数据记录,存储在用作 E-flash 的 FlexNVM 的部分空间。

使用大容量 E-flash 来备份少量EEE 数据,使 S32K1xx EEE 的实现提供极高的耐久性。EEE 状态机使用72位记录将数据从 EEE 备份到闪存(E-Flash)中。记录的32位用于数据,另外40位是有关数据的地址、状态和奇偶校验信息。按需写入和删除数据记录。这意味着如果 EEPROM中的某个位置从未被访问过,则不会有该位置的数据记录。这有助于减少需要备份的数据量,并增加内存耐久性。

3. S32K1xx EEE 如何使用内存

3.1 EEE 功能启用 及 EEE 内存配置细节

S32K1xx 拥有两块独立的闪存,P-Flash 块和FlexNVM 块。P-Flash 块用作程序闪存块,但也可用于存储指令和数据。FlexNVM块是一个可配置的闪存块,可用作额外的闪存空间(D-flash)、支持增强型 EEPROM 功能的存储器(E-flash)或作为两者的组合。

注:FlexNVM 中不用作 EEE 备份存储器(E-flash)的部分称为D-flash。该闪存通常用于数据存储空间;但是,与 P-flash 一样,D-flash 实际上可以用于指令或数据的存储。

如下图所示:整个 FlexNVM 用作 E-flash 的示例。FlexRAM 作为 EEE 内存空间(多达 4kB)。EEE 数据的任何读写操作都使用这 4kB 存储空间,因为 E-flash 无法直接访问。EEE 状态机自动管理 EEE 内存的所有写入,并按需生成闪存写入及擦除操作到 E-flash。

7ca65484-9276-11ef-a511-92fbcf53809c.png

EEE数据的大小和用来备份EEE数据的E-flash 内存大小都是可编程的。这让你可以在 EEE 内存大小和耐久性之间做出权衡。有两个可变参数来定义你实际的存储空间使用情况,这些参数有:

1. EEE 大小 — 这是EEE 数据需要的总大小。对于 S32K14x 设备,EEE 的总大小在 0 或 4kB,S32K11x 设备则为 0 或2kB。

2. FlexNVM 分区 — 该参数定义了 FlexNVM 作为普通闪存(D-flash)的数量和用作 EEE 备份的数量(E-flash)。如果被使用,那么至少 32kB(针对 S32K14x 设备)或 24kB(针对 S32K11x 设备)的 FlexNVM 必须被分配为 E-flash。为了更好的获得EEE的耐久性,整个 FlexNVM 可以被用作 E-flash。

3.2 EEE内存分区

程序分区命令使 FlexNVM 块准备以用作数据闪存、模拟 EEPROM 或两者的组合,并初始化 FlexRAM。有关详细信息,请参阅

S32K1xx的参考手册。下表显示了分区命令所需的参数。

7ccd16e6-9276-11ef-a511-92fbcf53809c.png

Flash 命令通过FTFC 模块中 FCCOB 寄存器进行配置。每个命令包自己的参数,程序分区命令需要六个参数:

•FCCOB0 定义了所需的命令。0x80 指 PGMPART 命令(程序分区命令)。

•FCCOB1 和 FCCOB2 用于 CSEc 配置。这两个参数在 AN5401 - Getting Started with CSEc Security module。有深入解释。

仅对于 EEPROM 功能,这两个值可以设置为 0x00。

•FCCOB3(仅使用 bit 0)配置在复位期间 FlexRAM 是否加载 EEPROM 数据。如果该位(0x00),则 FlexRAM 在复位期间载入 EEEPROM 数据。另一方面,如果该位被设置为(0x01),则 FlexRAM 在复位期间不载入 EEEPROM 数据,这意味着在复位后它将作为传统 RAM 运行,直到发出 FlexRAM 配置命令更改其模式,如 S32K1xx FlexRAM configuration 中描述的那样。

• FCCOB4 表示 EEPROM 数据大小。根据 FlexRAM 大小该选项有两个不同的值。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 闪存
    +关注

    关注

    16

    文章

    1799

    浏览量

    115090
  • 存储器
    +关注

    关注

    38

    文章

    7528

    浏览量

    164273
  • EEPROM
    +关注

    关注

    9

    文章

    1033

    浏览量

    81904
  • S32k144
    +关注

    关注

    1

    文章

    9

    浏览量

    1927

原文标题:S32K144 FlexNVM 用作为模拟EEPROM

文章出处:【微信号:嵌入式爱好者之家,微信公众号:嵌入式爱好者之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    S32K1XX系列MCU复位问题的解决方法

    最近有朋友调试S32K1XX系列的一块控制板,遇到了一个奇怪的问题,就是板子不断复位,无法连接下载器,而且问题找不到,于是我协助他调试了一下,然后最后发现竟然是芯片内部的复位导致的,而且10块板子均有复位波形【注意不是一直低电平的复位】,且并不是硬件设计的原因,今天分享给大家。
    发表于 08-23 13:03 2530次阅读
    <b class='flag-5'>S32K1XX</b>系列MCU复位问题的解决方法

    S32K1xx系列MCU的EEE(Emulated EEPROM)使用详解 精选资料分享

    内容提要引言(基于MCU的嵌入式系统中EEPROM的实现方式)1. S32K1xx系列MCU的EEE工作机制详解1.1 S32K1xx系列MCU的片上存储器资源1.2
    发表于 09-13 07:43

    S32K1xx系列MCU启动过程是怎样的

    内容提要注:本文摘自NXP工程师胡恩伟的微信公众号"汽车电子expert成长之路",大家感兴趣可以关注一下。引言1. S32K1xx系列MCU启动过程详解
    发表于 11-01 07:10

    如何搭建s32k1xx的环境?

    如何搭建s32k1xx的环境?
    发表于 02-09 07:55

    安装S32SDK S32K1XX RTM 4.0.2,IDE无法识别安装是怎么回事?

    我正在尝试安装 S32SDK S32K1XX RTM 4.0.2,但在安装下载的 exe 后,IDE 无法识别安装。有一些指南通过 .zip 文件描述安装,但只有在下载时才会有 exe。如何指示 S32Design Studio
    发表于 03-30 08:49

    S32K3xx EMIOS模块与S32K1xx FTM模块相比有什么优势?

    我想知道S32K3xx EMIOS模块与S32K1xx FTM模块相比有什么优势?
    发表于 03-31 09:08

    FreeMaster插件模块它支持S32K1xx系列吗?

    FreeMaster插件模块它支持S32K1xx系列吗?
    发表于 05-06 06:36

    S32K1xx开发包和S32K1实时驱动的区别是什么?

    S32DS (Design Studio) 中的 S32K1xx 开发包是什么。 什么是 S32K1 实时驱动程序。 区别和应该安装哪个还是都安装?
    发表于 05-24 10:39

    S32K1xx中的RCM_SRS和RCM_SSRS有什么区别?

    S32K1xx 中的 RCM_SRS 和 RCM_SSRS 有什么区别? 粘性是什么?(粘性系统复位状态寄存器(RCM_SSRS))
    发表于 06-09 07:03

    AN5426,S32K1XX微控制器的硬件设计指南

    本文档为S32K1XX微控制器的硬件设计指南,有需要的可以下载!
    发表于 12-22 16:12 75次下载
    AN5426,<b class='flag-5'>S32K1XX</b>微控制器的硬件设计指南

    NXP半导体产品S32K1XX数据手册下载

    NXP半导体产品S32K1XX数据手册下载
    发表于 08-02 09:23 15次下载

    vb关闭当前应用重新加载_S32K1xx系列MCU应用指南之芯片锁死(lockup)复位原因分析与恢复方法详解...

    内容提要1. S32K1xx系列MCU的存储器加密(Security)和保护(Protection)工作机制1.1 S32K1xx系列MCU的Flash配置区域(Flash
    发表于 10-28 21:06 11次下载
    vb关闭当前应用重新加载_<b class='flag-5'>S32K1xx</b>系列MCU应用指南之芯片锁死(lockup)复位原因分析与恢复方法详解...

    S32K1xx系列MCU的EEE(Emulated EEPROM)使用详解

    内容提要引言(基于MCU的嵌入式系统中EEPROM的实现方式)1. S32K1xx系列MCU的EEE工作机制详解1.1 S32K1xx系列MCU的片上存储器资源1.2
    发表于 11-18 17:21 25次下载
    <b class='flag-5'>S32K1xx</b>系列MCU的<b class='flag-5'>EEE</b>(Emulated EEPROM)使用详解

    S32K1xx数据表

    FS32K146HAT0MLLTS32K1xx Data Sheet Notes • Supports S32K116 S32K118 S32K142
    发表于 07-10 15:46 5次下载

    基于S32K1xx 系列的汽车通用评估板方案

    本方案面向通用汽车应用,提供丰富的测试组件,板载 CAN、LIN 和 UART/SCI 接口,并具有 microUSB 和 12V 电源两种供电选项,可帮助用户快速上手开发 S32K1xx 相关
    的头像 发表于 03-16 10:40 1608次阅读
    基于<b class='flag-5'>S32K1xx</b> 系列的汽车通用评估板方案