和消費(fèi),工業(yè)MCU不一樣,汽車MCU芯片內(nèi)部的Flash一般會(huì)分PFlash(Program Flash),DFlash(Data Flash);一般還會(huì)通過Data Flash模擬EEPROM;另外一點(diǎn)不一樣的是說,汽車MCU基本都是Embedded Flash,基本很少采用XIP(eXecute In Place)的方式;
1 PFlash和DFlash的參數(shù) - Endurance,Page Size
如下圖是TC336LP的PFlash和DFlash的Endurance(耐力),一般默認(rèn)DFlash配置是Single ended sensing 模式(Complment 模式DFlash的可用大小減半),這個(gè)情況下, DFlash的擦除操作是PFlash的46倍以上;
2 PFlash的參數(shù) - Wait Cycle
很久之前,小二學(xué)習(xí)單片機(jī)時(shí)候,發(fā)現(xiàn)程序經(jīng)常跑飛,后面定位到原來是芯片的Flash Wait Cycle莫名被修改導(dǎo)致的;
CPU速率很高,比如TC336,最高可以跑300MHz,但是諸如PFlash的速率是不夠的,需要有響應(yīng)時(shí)間,否則讀取的結(jié)果就是錯(cuò)誤的;這就是Wait Cycle的由來;
如下圖:
可以看到,本地訪問PSRR是0等待,也就是單周期執(zhí)行,對(duì)于時(shí)間敏感的一些程序,就會(huì)放到PSPR里面跑;
同理,如下圖,數(shù)據(jù)讀寫也是一個(gè)道理