引言
RAM自定义初始化目标
1. 在PRM文件中对保护存储器地址单独分区
2. 将用户定义段PROTECTED_RAM放置到上面的分区USR_RAM中
3. 在用户程序中,通过关键词#pragma DATA_SEG定义需要保护的数据(此处为一个256字节的用户数组)到该用户自定义段
4. 利用MCU标志寄存器的POR上电复位标志位(PORF)对该保护RAM区域进行自定义初始化
总结
基于S9KEAZN32AMLC这颗业界广泛使用的汽车级MCU,给大家介绍具体如何在CodeWarrior中实现RAM自定义初始化。
RAM自定义初始化目标:将S9KEAZN32AMLC的RAM地址0x2000_0B00~0x2000_0BFF的256个字节作为用户自定义区域进行保护,只在每次MCU POR上电复位时才初始化,其他复位发生时,保持其值为复位之前不变;
首先我们来看一下,S9KEAZN系列MCU的片上存储器资源地址映射情况:
从其中可以看到S9KEAZN32AMLC的RAM地址空间为0x2000_0000–0x2000_0BFF的3KB空间;要对其最后256个字节进行保护,我们需要进行如下操作:
1. 在PRM文件中对保护存储器地址单独分区
将其单独划分出来,并将其命名为US