首先我们要了解Autosar的存储模块介质主要是两种:EEPROM和Flash仿EEPROM,分为片内与片外存储,因此就有2*2=4种存储方式:
- 主芯片片内FLASH仿EEPROM
- 主芯片片内EEPROM
- 板载片外FLASH仿EEPROM
- 板载片外EEPROM
前面讲了EEPROM和FLASH最大的不同就是EEPROM可以操作的最小单位是字节,也就是可以直接擦除编程一个字节。FLASH的最小擦除单元是扇区,最小编程单元是page页,TC397芯片的DFLASH的逻辑扇区就有4K大小,page页大小是8字节。
当前我们AUTOSAR项目用到的主要是英飞凌TC397芯片,所以接下来我们介绍下Tc397的硬件Flash相关知识。
- TC397芯片存储分为PFLASH(Program Flash Memory)和DFLASH(Data Flash memory)。
- TC397有5个3MB大小PFx(PF0…PF4)和一个1MB大小的PF5。每个PFx被划分为1024KB大小的物理扇区,每个物理扇区又被划分为16KB大小的逻辑扇区(Logical Sector)。
- TC397有两个数据闪存存储区DFLASH0和DFLASH1,就是用这个DFLASH来模拟eeprom,来作为autosar的存储服务使用的。DFLASH0还包含了用于数据保护的用户配置块(UCBs,User Configuration Blocks)和1个配置扇区(CFS),用户无法直接访问该配置扇区。
- DFLASH逻辑扇区可以配置4KB或者2KB,DFLASH的页有8字节组成,也就是DFL