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

ページ / 68
 
CY7C601xx, CY7C602xx
Document 38-16016 Rev. *E
Page 19 of 68
11.6  SROM Table Read Description
The Silicon IDs for enCoRe II LV 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. This is demonstrated in the following pseudo code. As
mentioned in the section 
 on page 15, the SROM variables occupy address F8h through FFh in the SRAM. Each of the variables
and their definition are given in the section 
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, 2
mov   [SSC_BLOCKID], A// To read from Table 2 - trim values for the IMO are stored in table 2
 
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