车规MCU的eFlash由于需要存放和执行代码,因此通常均为NOR Flash架构; 随着车规MCU的性能要求越来越高,大厂开始尝试使用先进制程,但在推进的过程中,可以很容易定位到Flash的稳定性与工艺之间有一个比较大的矛盾。 我们知道,NOR Flash是由WL和BL交织组成,每个交织点表示一个Cell存放电子。如下: 存放电子的实体是浮栅,...
读取、写入和擦除是Flash的基本操作,Flash的特性是擦除之后bit变成1,写入操作是将相应的bit改写成0,不过因为有ECC的限制,YTM32系列MCU都不支持Reprogram,也就是不支持Flash 页数据有非1情况下的页编程,EFM模块在执行Program命令之前会先从Flash中读取页数据并验证数据为全1,验证失败则该页无法编程。 另外Flash的物...
当然不是,由于MCU的内置Flash是以块(Block)或者页(Page)为最小擦除单位,我们划分MCU内置Flash空间时必须考虑到实际MCU的块(Block)或者页(Page)的大小。 现在我们以TMPM3H6FWFG来举例说明“独立型”的Flash划分方式。从以下规格书中的信息可知,这颗MCU的内置Flash大小为128KB,最小的擦除页(Page)为4KB,最小的擦...
现在我们以TMPM3H6FWFG来举例说明“独立型”的Flash划分方式。从以下规格书中的信息可知,这颗MCU的内置Flash大小为128KB,最小的擦除页(Page)为4KB,最小的擦除块(Block)为32KB。 根据以上信息,我们可以对这颗MCU的内置Flash进行如下划分: 以上只是对固件升级(OTA)中MCU的Flash空间划分简单探讨一下,实际哪种方式...
(1)解锁:CKS32F4xx系列复位后,FLASH编程操作被写保护,只有向FLASH_KEYR寄存器写入特定序列0x45670123和0xCDEF89AB,方可解除写保护,进而操作其它相关寄存器; (2)设置闪存操作位数:CKS32F4xx系列电源电压会影响数据的最大操作位数,由于本例中使用的开发板电压为3.3V,所以根据下述配置表,必须将FLASH_CR的PSIZE字段配置...
和消费,工业MCU不一样,汽车MCU芯片内部的Flash一般会分PFlash(Program Flash),DFlash(Data Flash);一般还会通过Data Flash模拟EEPROM;另外一点不一样的是说,汽车MCU基本都是Embedded Flash,基本很少采用XIP(eXecute In Place)的方式;1 PFlash和DFlash的参数 - Endurance,Page Size 如下图是TC336LP的P...
在这里就不一个一个的详细说了,我们说一下常用的就行1. 解锁void FLASH_Unlock(void);2. 上锁void FLASH_Lock(void);3. 页擦除FLASH_Status FLASH_ErasePage(uint32_t Page_Address);4. 半字写入FLASH_Status FLASH_ProgramHalfWord(uint32_t Address, uint16_t Data);上面这4个函数就是我们最常用的。
所谓独立型就是专门划出一部分闪存(Flash)空间用来存储引导程序(BootLoader)。 如下图,Firmware A区用来固定执行用户程序。当引导程序(BootLoader)将接收到的新固件存入到Firmware B区,并校验成功后,Firmware A区中的用户程序将被擦除,然后Firmware B区的新固件将写入到Firmware A区中。
所谓独立型就是专门划出一部分闪存(Flash)空间用来存储引导程序(BootLoader)。 如下图,Firmware A区用来固定执行用户程序。当引导程序(BootLoader)将接收到的新固件存入到Firmware B区,并校验成功后,Firmware A区中的用户程序将被擦除,然后Firmware B区的新固件将写入到Firmware A区中。
和消费,工业MCU不一样,汽车MCU芯片内部的Flash一般会分PFlash(Program Flash),DFlash(Data Flash);一般还会通过Data Flash模拟EEPROM;另外一点不一样的是说,汽车MCU基本都是Embedded Flash,基本很少采用XIP(eXecute In Place)的方式; 1 PFlash和DFlash的参数 - Endurance,Page Size ...