- UID
- 116173
- 性别
- 男
|
我想调用监控ROM中的烧写FLASH的程序,来随时改变我flash的值。下面是与烧写代码相关的程序,用的jl8单片机。
SEGMENTS
U_RAM = READ_WRITE 0x014e TO 0x015F;
END
PLACEMENT
FILE_PTR INTO U_RAM;
END
flash.h中我做了这样的宏定义
#pragma DATA_SEG FILE_PTR
byte bus_spd=20;
byte datasize=17;
word startaddrs=0xfbed;
byte threshold;
byte lfid[4];
byte lrid[4];
byte rfid[4];
byte rrid[4];
#pragma DATA_SEG DEFAULT
#define wrflash(FILE_PTR) {asm ldhx #FILE_PTR;(*(void(*)(void))0xfc06)();}
在flash.h曾经我也做了这样的尝试,链接的时候出现非法地址的警告,
#define var #0x014e
#define wrflash(var) {asm ldhx var;(*(void(*)(void))0xfc06)();}
flash.c中我调用宏
void wr_flash(void)
{wrflash(FILE_PTR);
}
请指教应该怎么实现程序 |
|