在16位机平台中,我们可以直接使用#pragma CODE_SEG命令直接将代码指定到RAM中:
BLINTORAM = READ_WRITE DATA_NEAR 0x2000 TO 0x2003;
FLASHRAM = READ_WRITE DATA_NEAR 0x2004 TO 0x23FF;
RAM = READ_WRITE DATA_NEAR 0x2400 TO 0x3FFF;
————————————————————————————————
BL_INFO INTO BLINTORAM;
FLASH_HEADER,
FLASH_TEXT INTO FLASHRAM;
————————————————————————————————
#pragma CODE_SEG FLASH_TEXT
void tFlash_Init(tFlash_ParamType* flashParam);
void tFlash_Deinit (tFlash_ParamType* flashParam);
void tFlash_Erase(tFlash_ParamType* flashParam);
void tFlash_Write (tFlash_ParamType* flashParam);
#pragma CODE_SEG DEFAULT
——————————————————————————————————————
通过上述的设置,我们就能够实现我们的目的。
但是在8位机平台中,这样做行不通了!
我使用的芯片为DZ96,
PRM文件设置如下:
/* non-paged RAM */
BLINTORAM = READ_WRITE 0x0100 TO 0x0103;
FLASHRAM = READ_WRITE 0x0104 TO 0x05FF;
RAM = READ_WRITE 0x0600 TO 0x17FF;
其他同上面一样,但是这时编译器开始报错:
ps:图片好像有点看不清楚:
L1112:the FLASH_TEXT section has segment type CODE(illegal)
L1934:ELF:Section 'FLASH_TEXT' located in asegment with illegal qualifier.
那么我应该如何设置来达到我想要的目的呢?急求啊~~~~
|