---start--prm--file------------------------------------------------------------NAMES ENDSEGMENTS RAM0 = READ_WRITE 0x0080 TO 0x00FF; RAM1 = READ_WRITE 0x0100 TO 0x077F; STCK = READ_WRITE 0x0780 TO 0x087F; FW_SEG = READ_ONLY 0x8000 TO 0xFBFF; EMU_EE = READ_WRITE 0xFC00 TO 0xFDFF; ROM1 = READ_ONLY 0xFE00 TO 0xFFAF; NV_REG_SEG = READ_ONLY 0xFFB0 TO 0xFFBF; USER_VECTOR_SEG = READ_ONLY 0xFFC0 TO 0xFFCB; VECTOR_SEG = READ_ONLY 0xFFCC TO 0xFFFF; ENDPLACEMENT .data INTO RAM1; .text INTO FW_SEG; .stack INTO STCK; _CX_DATA_TINY,fl_ram INTO RAM0; _CX_DATA_NEAR,.common,fl_ram1 INTO RAM1; _CX_CONST_NEAR INTO FW_SEG; int_vect_SEG INTO VECTOR_SEG; nv_seg_SEG INTO NV_REG_SEG; emu_ee_seg INTO EMU_EE; fl_c,fl_era,fl_prg INTO FW_SEG; ENDSTACKTOP 0x087F---end--prm--file------------------------------------------------------------
---start--map--file------------------------------------------------------------SECTION-ALLOCATION SECTIONSection Name Size Type From To Segment---------------------------------------------------------------------------------------------.text 6773 R 0x8008 0x9A7C FW_SEG.stack 256 R/W 0x780 0x87F STCK_CX_DATA_TINY 19 R/W 0x80 0x92 RAM0_CX_DATA_NEAR 69 R/W 0x100 0x144 RAM1.common 362 R/W 0x145 0x2AE RAM1_CX_CONST_NEAR 4 R 0x9A7D 0x9A80 FW_SEG.abs_section_80 1 N/I 0x80 0x80 .absSeg0.abs_section_ff 1 N/I 0xFF 0xFF .absSeg1.abs_section_100 1 N/I 0x100 0x100 .absSeg2.abs_section_87f 1 N/I 0x87F 0x87F .absSeg3.abs_section_18 16 N/I 0x18 0x27 .absSeg4.bss 5 R/W 0x2AF 0x2B3 RAM1.rodata 211 R 0x9A81 0x9B53 FW_SEG.init 8 R 0x8000 0x8007 FW_SEG---end--map--file------------------------------------------------------------
已解决! 转到解答。
const Byte NVOPT @0xFFBF = 0xFE;
*********************************************************************************************SECTION-ALLOCATION SECTIONSection Name Size Type From To Segment---------------------------------------------------------------------------------------------....abs_section_ffbf 1 R 0xFFBF 0xFFBF .absSeg0...
NAMES END /* CodeWarrior will pass all the needed files to the linker by command line. But here you may add your own files too. */SEGMENTS /* Here all RAM/ROM areas of the device are listed. Used in PLACEMENT below. */ // 0x0000 to 0x007F : direct page registers RAM0 = READ_WRITE 0x0080 TO 0x00FF; // first ram segment RAM1 = READ_WRITE 0x0100 TO 0x077F; // second ram segment STCK = READ_WRITE 0x0780 TO 0x087F; // stack segment // 0x0880 to 0x17FF : unimplemented // 0x1800 to 0x182B : high page register // 0x182C to 0x7FFF : unimplemented FW_SEG = READ_ONLY 0x8000 TO 0xFBFF; // first rom segment EMU_EE_SEG = READ_WRITE 0xFC00 TO 0xFDFF; // serial eeprom emulation segment ROM1 = READ_ONLY 0xFE00 TO 0xFFAF; // second rom segment NV_REG_SEG = READ_ONLY 0xFFBF TO 0xFFBF; // non volatile registers segment USER_VECTOR_SEG = READ_ONLY 0xFFC0 TO 0xFFCB; // user vector segment VECTOR_SEG = READ_ONLY 0xFFCC TO 0xFFFF; // vector segment ENDPLACEMENT /* Here all predefined and user segments are placed into the SEGMENTS defined above. */ _CX_DATA_TINY,fl_ram INTO RAM0; .data,.bss,.common INTO RAM1; _CX_DATA_NEAR INTO RAM1; .stack INTO STCK; .init,.text,.rodata INTO FW_SEG; fl_c,fl_era,fl_prg INTO FW_SEG; _CX_CONST_NEAR,_CX_CODE_INTERRUPT INTO FW_SEG; emu_ee INTO EMU_EE_SEG; nvopt_reg INTO NV_REG_SEG; int_vect INTO VECTOR_SEG; ENDSTACKTOP 0x087FENTRIES FL_DRV.c.o:* Int_ctrl.c.o:* ee_cfg.c.o:* Main.c.o:*END
_CX_DATA_TINY 26 R/W 0x80 0x99 RAM0fl_ram 73 R/W 0x9A 0xE2 RAM0.bss 5 R/W 0x100 0x104 RAM1.common 402 R/W 0x105 0x296 RAM1_CX_DATA_NEAR 74 R/W 0x297 0x2E0 RAM1.stack 256 R/W 0x780 0x87F STCK.init 8 R 0x8000 0x8007 FW_SEG.text 6962 R 0x8008 0x9B39 FW_SEG.rodata 413 R 0x9B3A 0x9CD6 FW_SEGfl_c 399 R 0x9CD7 0x9E65 FW_SEGfl_era 25 R 0x9E66 0x9E7E FW_SEGfl_prg 77 R 0x9E7F 0x9ECB FW_SEG_CX_CONST_NEAR 4 R 0x9ECC 0x9ECF FW_SEG_CX_CODE_INTERRUPT 686 R 0x9ED0 0xA17D FW_SEGemu_ee 13 R/W 0xFC00 0xFC0C EMU_EE_SEGint_vect 48 R 0xFFCC 0xFFFB VECTOR_SEG.abs_section_80 1 N/I 0x80 0x80 .absSeg0.abs_section_ff 1 N/I 0xFF 0xFF .absSeg1.abs_section_100 1 N/I 0x100 0x100 .absSeg2.abs_section_87f 1 N/I 0x87F 0x87F .absSeg3.abs_section_18 16 N/I 0x18 0x27 .absSeg4
#pragma CONST_SEG nvopt_reg const Byte NVOPT = 0xFE; #pragma CONST_SEG DEFAULT