Cypress CY7C638xx ユーザーズマニュアル

ページ / 83
 
CY7C63310, CY7C638xx
Document 38-08035 Rev. *K
Page 18 of 83
Figure 9-3.  SROM Table
The Silicon IDs for enCoRe II devices are stored in SROM tables in the part, as shown in 
The Silicon ID can be read out from the part using SROM Table reads (Table 0). This is demonstrated in the following pseudo code.
As mentioned in the section 
 on page 14, the SROM variables occupy address F8h through FFh in the SRAM. Each of the
variables and their definition is given in the sectio
AREA SSCParmBlkA(RAM,ABS)
    org  F8h // Variables are defined starting at address F8h
SSC_KEY1: 
 ; F8h  supervisory key
SSC_RETURNCODE:  
blk 1 ; F8h  result code
SSC_KEY2 : 
 
blk 1  ;F9h  supervisory stack ptr key
SSC_BLOCKID: 
 
blk 1 ; FAh  block ID
SSC_POINTER: 
 
blk 1 ; FBh  pointer to data buffer
SSC_CLOCK: 
 
blk 1 ; FCh  Clock
SSC_MODE: 
 
blk 1 ; FDh  ClockW ClockE multiplier
SSC_DELAY: 
 
blk 1 ; FEh  flash macro sequence delay count
SSC_WRITE_ResultCode: blk 1 ; FFh  temporary result code
_main:
           mov   A, 0
           mov   [SSC_BLOCKID], A// To read from Table 0 - Silicon ID is stored in Table 0
//Call SROM operation to read the SROM table 
mov   X, SP 
  ; copy SP into X
   
mov   A, X  
  ; A temp stored in X
   
add   A, 3               ; create 3 byte stack frame (2 + pushed A)
   
mov   [SSC_KEY2], A      ; save stack frame for supervisory code
   ; load the supervisory code for flash operations
   
mov   [SSC_KEY1], 3Ah  ;FLASH_OPER_KEY - 3Ah
 
mov      A,6 
  ; load A with specific operation. 06h is the code for Table read 
  
SSC 
  ; SSC call the supervisory ROM 
// At the end of the SSC command the silicon ID is stored in F8 (MSB) and F9(LSB) of the SRAM
.terminate:
    jmp .terminate
F8h
F9h
FAh
FBh
FCh
FDh
FEh
FFh
Table 0
Table 1
Table 2
Table 3
Table 4
Table 5
Table 6
Table 7
Silicon ID 
[15-8]
Silicon ID 
[7-0]
Family/
Die ID 
Revision 
ID