|
小弟在编程方面是个新手,还望高手指点!处理器是80C32,flash是PSD834F2(它的主存空间有2M)。下面的是xcl文件,小弟拙,看不懂,望高手帮忙解释一下,//后面的不知道是不是和源程序一样是注释部分,如果是的话,这些就不用解释了。小弟先在这谢谢了!
// -LNK8051B.XCL-
//
// XLINK 4.44, or higher, command file to be used with the 8051
// C-compiler V5.xx
// using the -mb (banked) memory model
// Usage: xlink your_file(s) -f lnk8051l
//
// First: define CPU
//
// Revision control system
// $Id: lnk8051b.xcl 1.2 2001/02/07 15:43:08Z owi Rel $
//
//
-c8051
// If you have register independent code use: -D_R=0 -!
// (or 8,16,24) to choose the register bank used at startup -!
-D_R=0
// Setup "bit" segments (always zero if there is no need to reserve
// bit variable space for some other purpose)
-Z(BIT)C_ARGB,BITVARS=0
// Setup "data" segments. Start address may not be less
// than start of register bank + 8. Space must also
// be left for interrupt functions with the "using" attribute.
-Z(DATA)B_UDATA,B_IDATA,C_ARGD,D_UDATA,D_IDATA=20
// Setup "idata" segments (usually loaded after "data")
-Z(IDATA)C_ARGI,I_UDATA,I_IDATA,CSTACK=80
// Setup "xdata" segments to the start address of external RAM.
// Note that it starts from 1 since a pointer to address zero is regarded
// as NULL.
//-Z(XDATA)P_UDATA,P_IDATA,C_ARGX,X_UDATA,X_IDATA,ECSTR,RF_XDATA,XSTACK=2000
//PSD813
-Z(XDATA)P_UDATA,P_IDATA,C_ARGX,X_UDATA,X_IDATA,ECSTR,RF_XDATA,XSTACK=8000
//PSD834
-Z(XDATA)PSD_XDATA=200-2FF
-Z(XDATA)GLCD_XDATA1=FF00-FF01
-Z(XDATA)GLCD_XDATA2=FE00-FE01
// Setup all read-only root segments (PROM). Usually at zero
//-Z(CODE)INTVEC=0-FF
//-Z(CODE)INTVEC,RCODE,CODE,D_CDATA,B_CDATA,I_CDATA,P_CDATA,X_CDATA,C_ICALL,C_RECFN,CSTR,CCSTR,CONST=0-7FFF
-Z(CODE)INTVEC,RCODE,CODE,D_CDATA,B_CDATA,I_CDATA,P_CDATA,X_CDATA,C_ICALL,C_RECFN,CSTR,CCSTR=0-9FFF
-Z(CODE)CONST=0-AFFF
//-Z(CODE)MENU_TABLE=F000-FFFF //4K para la tabla de men鷖
// Define the bank symbols. Do not define these bank symbols, if DOS environment is used.
-D?BANK_HIGH=FFFF
-D?BANK_LOW=B000
//-D?BANK_REGISTER=90
// Setup all bank-switched read-only segments (PROM).
//-b(CODE)BANK0:BANK1:BANK2:BANK3=A000,4FFF,0010000
// 4 bancos de 24K. Root de 40K
-b(CODE)BANK0:BANK1:BANK2=B000,4FFF,0010000
// 2 bancos de 24K. Root de 40K
// See configuration section concerning printf/sprintf
-e_small_write=_formatted_write
// See configuration section concerning scanf/sscanf
-e_medium_read=_formatted_read
// Load the banked 'C' library
// cl8051b
// Select the Motorola S-format to get banked 24-bit addresses
// -FMOTOROLA
// -FINTEL-STANDARD
// Code will now reside on file aout.a03
// -LNK8051B.XCL-
//
// XLINK 4.44, or higher, command file to be used with the 8051
// C-compiler V5.xx
// using the -mb (banked) memory model
// Usage: xlink your_file(s) -f lnk8051l
//
// First: define CPU
//
// Revision control system
// $Id: lnk8051b.xcl 1.2 2001/02/07 15:43:08Z owi Rel $
//
//
-c8051
// If you have register independent code use: -D_R=0 -!
// (or 8,16,24) to choose the register bank used at startup -!
-D_R=0
// Setup "bit" segments (always zero if there is no need to reserve
// bit variable space for some other purpose)
-Z(BIT)C_ARGB,BITVARS=0
// Setup "data" segments. Start address may not be less
// than start of register bank + 8. Space must also
// be left for interrupt functions with the "using" attribute.
-Z(DATA)B_UDATA,B_IDATA,C_ARGD,D_UDATA,D_IDATA=20
// Setup "idata" segments (usually loaded after "data")
-Z(IDATA)C_ARGI,I_UDATA,I_IDATA,CSTACK=80
// Setup "xdata" segments to the start address of external RAM.
// Note that it starts from 1 since a pointer to address zero is regarded
// as NULL.
//-Z(XDATA)P_UDATA,P_IDATA,C_ARGX,X_UDATA,X_IDATA,ECSTR,RF_XDATA,XSTACK=2000 //PSD813
-Z(XDATA)P_UDATA,P_IDATA,C_ARGX,X_UDATA,X_IDATA,ECSTR,RF_XDATA,XSTACK=8000 //PSD834
-Z(XDATA)PSD_XDATA=200-2FF
-Z(XDATA)GLCD_XDATA1=FF00-FF01
-Z(XDATA)GLCD_XDATA2=FE00-FE01
// Setup all read-only root segments (PROM). Usually at zero
//-Z(CODE)INTVEC=0-FF
//-Z(CODE)INTVEC,RCODE,CODE,D_CDATA,B_CDATA,I_CDATA,P_CDATA,X_CDATA,C_ICALL,C_RECFN,CSTR,CCSTR,CONST=0-7FFF
-Z(CODE)INTVEC,RCODE,CODE,D_CDATA,B_CDATA,I_CDATA,P_CDATA,X_CDATA,C_ICALL,C_RECFN,CSTR,CCSTR=0-9FFF
-Z(CODE)CONST=0-AFFF
//-Z(CODE)MENU_TABLE=F000-FFFF //4K para la tabla de men鷖
// Define the bank symbols. Do not define these bank symbols, if DOS environment is used.
-D?BANK_HIGH=FFFF
-D?BANK_LOW=B000
//-D?BANK_REGISTER=90
// Setup all bank-switched read-only segments (PROM).
//-b(CODE)BANK0:BANK1:BANK2:BANK3=A000,4FFF,0010000 // 4 bancos de 24K. Root de 40K
-b(CODE)BANK0:BANK1:BANK2=B000,4FFF,0010000 // 2 bancos de 24K. Root de 40K
// See configuration section concerning printf/sprintf
-e_small_write=_formatted_write
// See configuration section concerning scanf/sscanf
-e_medium_read=_formatted_read
// Load the banked 'C' library
// cl8051b
// Select the Motorola S-format to get banked 24-bit addresses
// -FMOTOROLA
// -FINTEL-STANDARD
// Code will now reside on file aout.a03 [ |
|