目录
1.页切换的概念
在汽车标定测量中,有一个概念我想很多人都听过,但是实际上在项目里没有用到过,那就是今天要讲的页切换概念。在讲页切换的时候,我们先来理解Flash和RAM中的标定参数。
1.1 标定常量的理解
在写代码时, 通常我们对常量数据都会增加const类型,如下
const uint8 calibration_1 = 10;
编译后,calibration_1会存放在Flash的某个区域,我们可以通过hex和map去地址找到。
但实际上,标定参数对于ECU本身来说应该是常数,但是对于标定人员来说,它是可变的。如果标定人员直接通过map地址去修改值,那就会直接跑飞;如果通过擦除flash、写flash的方式进行标定,一是速度很慢,二是Flash不能按byte擦除。所以这就出现了在线标定的矛盾,既要快,还要方便。
有朋友可能会说,那我用EEPROM或者EEPROM emulation来做呀,也没问题,成本上去了,手撸Fee,慢慢调bug也是可以的。
为此,我们为了方便快速修改标定量,如果能把标定量存放到Flash,但加载到RAM运行&#x