和消费,工业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的PFlash和DFlash的Endurance(耐力),一般默认DFlash配置是Single ended sensing 模式(Complment 模式DFlash的可用大小减半),这个情况下, DFlash的擦除操作是PFlash的46倍以上;
2
PFlash的参数 - Wait Cycle
很久之前,小二学习单片机时候,发现程序经常跑飞,后面定位到原来是芯片的Flash Wait Cycle莫名被修改导致的;
CPU速率很高,比如TC336,最高可以跑300MHz,但是诸如PFlash的速率是不够的,需要有响应时间,否则读取的结果就是错误的;这就是Wait Cycle的由来;
如下图
可以看到,本地访问PSRR是0等待,也就是单周期执行,对于时间敏感的一些程序,就会放到PSPR里面跑;
同理,如下图,数据读写也是一个道理
这篇文章,估计大家也了解了为什么单独的提高主频对于计算性能的影响是有限的