查看: 2740|回复: 5

[其他] 从IFR区域恢复数据的寄存器问题

[复制链接]
  • TA的每日心情
    开心
    2019-1-16 13:05
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    9

    主题

    51

    帖子

    2

    注册会员

    Rank: 2

    积分
    171
    最后登录
    2019-1-22
    发表于 2018-10-25 10:39:49 | 显示全部楼层 |阅读模式
    对于S32K144芯片的PFLASH和DFLASH中的内存起始的1KB为IFR区域,具体描述如下图所示: 1540434380(1).png 1540434341(1).png
    其中PFLASH中地址0x000~0x3BF为保留区域,0x3C0~0x3FF为Program Once Field;
    DFLASH中地址0x000~0x3FB,0x3FE~0x3FF为保留区域;0x3FD为EEPROM Data Set Size;0x3FC为FlexNVM Partition Code;见下图所示:
    1540434223(1).png 1540434257(1).png
    其中EEPROM Data Set Size寄存器的地址写成了0x3FE,与上文描述不符(可能是编写数据手册的人走神了,无所谓了);

    这样问题就来了:以下的这些寄存器的值也是从IFR中恢复的,但是数据手册上并没有提示是从PFLASH还是DFLASH恢复,恢复的地址是哪里,如果如上文所描述的其余地址都是保留的,那这些寄存器从哪里恢复呢??
    System Device Identification Register (SDID)
    Flash Configuration Register 1 (FCFG1)
    Unique Identification Register High (UIDH)
    Unique Identification Register Mid-High (UIDMH)
    Unique Identification Register Mid Low (UIDML)

    我知道答案 目前已有5人回答
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-1-16 13:05
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    9

    主题

    51

    帖子

    2

    注册会员

    Rank: 2

    积分
    171
    最后登录
    2019-1-22
     楼主| 发表于 2018-10-26 08:58:45 | 显示全部楼层
    自己顶一下 期待大神来解答
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    656

    主题

    6312

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    20054
    最后登录
    2024-4-28
    发表于 2018-10-30 14:56:33 | 显示全部楼层
    楼主,你好!
    你的文档读的很认真,很好!
    1. 你提到的EEPROM data set size, 两个红框不是一个冻死,一个EESIZE, 一个是DEPART, 这个两个是放在Data Flash IFR不同的地址,没有问题, 你说和上文不符合,哪里不符合呢?
    关于几个寄存器是从哪个IFR恢复的,恢复地址,这个是芯片内部设计的问题,没有给出来,应该是DataFlash, 不过具体地址,你也不用关心,因为实际上,这个IFR具体的地址你都不知道,这个是芯片内部两块特殊的地方,没有对用户排出可用地址。只能用专门的指令去控制。
    2. 64字节没有擦除权限地址
    这个就是一次编程区域,所以用起来要小心啊,你编程后就不能再改啦。



    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-1-16 13:05
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    9

    主题

    51

    帖子

    2

    注册会员

    Rank: 2

    积分
    171
    最后登录
    2019-1-22
     楼主| 发表于 2018-11-1 11:24:41 | 显示全部楼层
    小恩GG 发表于 2018-10-30 14:56
    楼主,你好!
    你的文档读的很认真,很好!
    1. 你提到的EEPROM data set size, 两个红框不是一个冻死,一个 ...

    102910jljcuddlzcqnnhuk.png
    上图中看出0x3FD为EEPROM Data Set Size;0x3FC为FlexNVM Partition Code
    103512v6hbxevtvv6oychp.png
    这个图中显示0x3FEEEPROM Data Set Size
    103512bythmm47a7pcc7h4.png
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    2

    帖子

    0

    新手上路

    Rank: 1

    积分
    9
    最后登录
    2019-10-23
    发表于 2019-10-22 17:55:18 | 显示全部楼层
      楼主您好,现在我遇到一个和您相似的问题,我在写完EEESIZE和DEPART后,可以从标志位中知道已经设置成功。但EEESIZE和DEPART的值我可以通过什么途径回读吗?
      我尝试过从IFR中读取EEESIZE和DEPART相对应的位置,但读回来的值都是0xFF。请问有什么途径可以回读这两个值吗?
    谢谢。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    2

    帖子

    0

    新手上路

    Rank: 1

    积分
    9
    最后登录
    2019-10-23
    发表于 2019-10-22 17:58:24 | 显示全部楼层
      不好意思,在补充一下。
      我个人认为EEESIZE和DEPART这两个值都不存储在IFR上,因为根据datasheet上说明,IFR区域是不能做erase的,但是我在配置完EEESIZE和DEPART后,再做一次chip erase可以验证到配置好的内容被清除了。麻烦楼主指点指点。
    谢谢。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-28 20:29 , Processed in 0.146695 second(s), 26 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表