在线时间514 小时
UID2025756
注册时间2013-7-16
NXP金币0
该用户从未签到
金牌会员
 
- 积分
- 9267
- 最后登录
- 1970-1-1
|
发表于 2014-12-19 14:07:55
|
显示全部楼层
在他代码的flash.c中有:
//由于在Flash擦写时会在Flash区产生高压,造成擦写不稳定,本工程把在高压时执行
//的程序转换成机器码存放在RAM区,在执行擦写操作时,执行RAM区0的机器码,
//擦写操作稳定,该机器码存放在下面数组中,其中'0x3D'是'RTS'的机器码
const uchar P[18] = {0x18,0x0B,0x80,0x01,0x05,0xF6,0x01,0x05,0x87,
0x87,0xC4,0x40,0x8C,0x00,0x00,0x27,0xF4,0x0A};
//FSTAT=0x80;
//while(!(FSTAT&0x80));
uchar PrgOfRam[18]; /*存放RAM区执行的的机器码 */
void PrgToRAM(void)
{
uchar i=0x00;
for (i=0; i<18; i++)
PrgOfRam = P;
}
P是flash中格的代码,然后他定义了PrgOfRam数组,这个数组定义就是放在RAM中,这样就实现所谓的FLASH代码放到RAM中
|
|