46
Document # 001-20559 Rev. *D
Supervisory ROM (SROM)
1.
halt
2. SSCOP: mov [KEY1], 3ah
3.
mov X, SP
4.
mov A, X
5.
add A, 3
6.
mov [KEY2], A
3.1.1
Additional SROM Feature
The SROM has the following additional feature.
Return Codes:
These aid in the determination of success
or failure of a particular function. The return code is stored in
KEY1’s position in the parameter block. The CheckSum and
TableRead functions do not have return codes because
KEY1’s position in the parameter block is used to return
other data.
Note
Read, write, and erase operations may fail if the target
block is read or write protected. Block protection levels are
set during device programming and cannot be modified from
code in the PSoC device.
3.1.2
SROM Function Descriptions
3.1.2.1
SWBootReset Function
The SROM function SWBootReset is responsible for transi-
tioning the device from a reset state to running
code.
See
what events cause the SWBootReset function to execute.
The SWBootReset function is executed whenever the
SROM is entered with an M8C accumulator value of 00h;
the SRAM parameter block is not used as an input to the
function. This happens, by design, after a
reset,
because the M8C's accumulator is reset to 00h or when
user code executes the SSC instruction with an accumulator
value of 00h.
If the
of the calibration data is valid, the
SWBootReset function ends by setting the internal M8C reg-
isters (CPU_SP, CPU_PC, CPU_X, CPU_F, CPU_A) to 00h
writing 00h to most SRAM addresses in SRAM Page 0 and
then begins to execute user code at address 0000h. (See
and the following paragraphs for more information
on which SRAM addresses are modified.) If the checksum is
not valid, an internal reset is executed and the boot process
starts over. If this condition occurs, the internal reset status
bit (IRESS) is set in the CPU_SCR1 register.
documents the value of all the SRAM addresses in
Page 0 after a successful SWBootReset. A cell in the table
with “xx” indicates that the SRAM address is not modified by
the SWBootReset function. A hex value in a cell indicates
that the address should always have the indicated value
after a successful SWBootReset. A cell with a “??” in it indi-
cates that the value, after a SWBootReset, is determined by
the value of IRAMDIS bit in the CPU_SCR1 register. If
IRAMDIS is not set, these addresses are initialized to 00h. If
IRAMDIS is set, these addresses are not modified by a
SWBootReset after a watchdog reset.
The IRAMDIS bit allows variables to be preserved even if a
watchdog reset (WDR) occurs. The IRAMDIS bit is reset by
all system resets except watchdog reset. Therefore, this bit
is only useful for watchdog resets and not general resets.
Table 3-2. SROM Function Variables
Variable Name
SRAM Address
KEY1 / RETURN CODE
0,F8h
KEY2
0,F9h
BLOCKID
0,FAh
POINTER
0,FBh
CLOCK
0,FCh
Reserved
0,FDh
DELAY
0,FEh
Reserved
0,FFh
Table 3-3. SROM Return Code Descriptions
Return Code Value
Description
00h
Success
01h
Function not allowed due to level of protection on
the block.
02h
Software reset without hardware reset.
03h
Fatal error, SROM halted.
Summary of Contents for PSoC CY8C23533
Page 4: ...Contents Overview 4 Document 001 20559 Rev D Section G Glossary 385 Index 401 ...
Page 16: ...Contents Overview 16 Document 001 20559 Rev D ...
Page 24: ...24 Document 001 20559 Rev D Section A Overview ...
Page 30: ...30 Document 001 20559 Rev D Pin Information ...
Page 54: ...54 Document 001 20559 Rev D Supervisory ROM SROM ...
Page 60: ...60 Document 001 20559 Rev D RAM Paging ...
Page 68: ...68 Document 001 20559 Rev D Interrupt Controller ...
Page 76: ...12 Document 001 20559 Rev D General Purpose IO GPIO ...
Page 82: ...18 Document 001 20559 Rev D Internal Main Oscillator IMO ...
Page 84: ...20 Document 001 20559 Rev D Internal Low Speed Oscillator ILO ...
Page 90: ...26 Document 001 20559 Rev D External Crystal Oscillator ECO ...
Page 94: ...30 Document 001 20559 Rev D Phase Locked Loop PLL ...
Page 106: ...42 Document 001 20559 Rev D Sleep and Watchdog ...
Page 228: ...164 Document 001 20559 Rev D Section D Digital System ...
Page 234: ...170 Document 001 20559 Rev D Array Digital Interconnect ADI ...
Page 278: ...214 Document 001 20559 Rev D Digital Blocks ...
Page 296: ...232 Document 001 20559 Rev D Analog Interface ...
Page 304: ...240 Document 001 20559 Rev D Analog Array ...
Page 308: ...244 Document 001 20559 Rev D Analog Input Configuration ...
Page 312: ...248 Document 001 20559 Rev D Analog Reference ...
Page 338: ...274 Document 001 20559 Rev D Section F System Resources ...
Page 354: ...290 Document 001 20559 Rev D Multiply Accumulate MAC ...
Page 374: ...310 Document 001 20559 Rev D I2C ...
Page 400: ...336 Document 001 20559 Rev D Section G Glossary ...