if ((WORD)&DeviceDscr & 0xC000)
During the power-up sequence, internal logic checks the I2C
port for the connection of an EEPROM whose first byte is
either 0xC0 or 0xC2. If found, it uses the VID/PID/DID values
in the EEPROM in place of the internally stored values (0xC0),
or it boot-loads the EEPROM contents into internal RAM
(0xC2). If no EEPROM is detected, FX2LP enumerates using
internally stored descriptors. The default ID values for FX2LP
are VID/PID/DID (0x04B4, 0x8613, 0xAxxx where xxx = Chip
RSEG Assembler Statement
Arguments RSEG segment
The RSEG statement selects a relocatable segment that was previously declared using the SEGMENT state
MYPROG SEGMENT CODE ; Declare the segment
RSEG MYPROG ; Select the segment
SEGMENT Assembler Statement
Arguments segname SEGMENT class [relocation [alignment]]
The SEGMENT statement declares a generic segment along with memory class and segment location options.
segname specifies the symbol name to assign to the segment. This symbol is references by subsequent RSEG statements. It may also be used in expressions to represent the base or starting address of the combined segment.
class is the memory classification for the segment. The class specifies the memory space where the segment is located.
relocation determines what relocation options are available to the linker for this segment.
alignment determines what address alignment options are available to the linker for this segment.
The name of each segment in a source module must be unique. The linker combines segments that have the same type.
These classes are available in the AX51 Assembler only.
Following are a few examples of segments defined using the basic classes.
seg1 SEGMENT XDATA
seg2 SEGMENT HCONST
seg3 SEGMENT DATA
User-defined classes allow you to access the same address space as basic class names but with greater flexibility and more granular control over program segments. The primary benefit to user-defined segments is the ability to locate only certain segments to specific physical addresses using the linker.
User-defined class names are composed of a basic class name and an extension and are enclosed in single-quotes ('). For example:
seg1 SEGMENT 'XDATA_FLASH'
seg2 SEGMENT 'HCONST_IMAGES'
seg3 SEGMENT 'DATA1'
User-defined classes are available in the AX51 Assembler only
The segment class specifies the memory space for the segment and is used by the linker to access all segments that belong to that class. The following table lists the basic classes.
BIT The BIT address space with the valid address range is 20H.0-2FH.7. For example: 21H.5.
CODE The CODE address space (from 0000h-0FFFFh).
CONST1 The CONST address space. This is the same as the CODE space but is used for constants only. This memory is accessed using the MOVC instruction.
'나머지 > IT개발.잡다한것.' 카테고리의 다른 글
|인터레이스, 프로그래시브 (0)||2012.10.09|
|db, dw, equ에 대해 자세히나와있는 사이트 [어셈블리어 강좌?], "dscr.a51" (0)||2012.09.27|
|usb boot, 0xc0, RSEG, SEGMENT (0)||2012.09.27|
|db Cx51 Compiler User's Guide Keil Software (0)||2012.09.27|
|DWORD and WORD (0)||2012.09.27|
|glue logic psen, read signal (1)||2012.09.26|