Editing Syscon Hardware
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
Syscon is, together with | Syscon is, together with Aeolia, one of the main chips responsible for taking care of the functioning of APU, peripherals, etc. | ||
It is actually internally codenamed '''Colwick''' on the ps4 and the chip's structure is the same as one of a Renesas RL78. | |||
= Memory Layout = | = Memory Layout = | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|- | |- | ||
! Offset !! Size !! Description !! Notes | ! Offset !! Size !! Description !! Notes | ||
|- | |- | ||
| 0x00000 || 0x20000 || Code | | 0x00000 || 0x20000 || Code Area || | ||
|- | |||
| 0x20000 || 0xD0000 || Reserved || | |||
|- | |- | ||
| | | 0xF0000 || 0x800 || SFR Area || | ||
|- | |- | ||
| | | 0xF0800 || 0x800 || Reserved || | ||
|- | |- | ||
| | | 0xF1000 || 0x1000 || Data Area || | ||
|- | |- | ||
| | | 0xF2000 || 0xCF00 || Mirror || Mirror of a portion of code area | ||
|- | |- | ||
| | | 0xFEF00 || 0xFE0 || RAM || | ||
|- | |- | ||
| | | 0xFFEE0 || 0x20 || GPR || | ||
|- | |- | ||
| | | 0xFFF00 || 0x100 || SFR 2nd Area || | ||
|- | |- | ||
|} | |} | ||
= Commands = | = Commands = | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|- | |- | ||
Line 56: | Line 40: | ||
| 0x22 || Block Erase || Erases a specified area in the flash memory. || | | 0x22 || Block Erase || Erases a specified area in the flash memory. || | ||
|- | |- | ||
| 0x40 || Programming || Writes data to a specified area in the flash memory. || | | 0x40 || Programming || Writes data to a specified area in the flash memory.|| | ||
|- | |- | ||
| 0x13 || Verify || Compares the contents in a specified area in the flash memory with data transmitted from the programmer. || | | 0x13 || Verify || Compares the contents in a specified area in the flash memory with data transmitted from the programmer.|| | ||
|- | |- | ||
| 0x32 || Block Blank Check || Checks the erase status of a specified block in the flash memory. || | | 0x32 || Block Blank Check || Checks the erase status of a specified block in the flash memory.|| | ||
|- | |- | ||
| 0xC0 || Silicon Signature || Acquires 78K0R/Kx3 information (part number, flash memory configuration, etc.). || | | 0xC0 || Silicon Signature || Acquires 78K0R/Kx3 information (part number, flash memory configuration, etc.).|| | ||
|- | |- | ||
| 0xC5 || Version Get || Acquires version information of the 78K0R/Kx3 and firmware. || | | 0xC5 || Version Get || Acquires version information of the 78K0R/Kx3 and firmware.|| | ||
|- | |- | ||
| 0xB0 || Checksum || Acquires checksum data of a specified area. || | | 0xB0 || Checksum || Acquires checksum data of a specified area.|| | ||
|- | |||
| 0xA0 || Security Set || Sets security information.|| | |||
|- | |- | ||
|} | |} | ||
= Statuses = | = Statuses = | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|- | |- | ||
! Command ID !! Name !! Description !! Notes | ! Command ID !! Name !! Description !! Notes | ||
|- | |- | ||
| | | 04|| Command number error|| Error returned if a command not supported is received || | ||
|- | |- | ||
| | | 05|| Parameter error|| Error returned if command information (parameter) is invalid || | ||
|- | |- | ||
| | | 06|| Normal acknowledgment (ACK) || Normal acknowledgment || | ||
|- | |- | ||
| | | 07|| Checksum error|| Error returned if data in a frame transmitted from the programmer is abnormal || | ||
|- | |- | ||
| | | 0F|| Verify error|| Error returned if a verify error has occurred upon verifying data transmitted from the programmer || | ||
|- | |- | ||
| | | 10|| Protect error|| Error returned if an attempt is made to execute processing that is prohibited by the Security Set command || | ||
|- | |- | ||
| | | 15|| Negative acknowledgment (NACK) || Negative acknowledgment | ||
|- | |- | ||
| | | 1A|| MRG10 error || Erase verify error || | ||
|- | |- | ||
| | | 1B|| MRG11 error || Internal verify error or blank check error during data write || | ||
|- | |- | ||
| | | 1C|| Write error || Write error || | ||
|- | |||
| FF|| Processing in progress (BUSY) || Busy response || | |||
|- | |- | ||
|} | |} | ||
Line 114: | Line 99: | ||
! Name !! Description !! Notes | ! Name !! Description !! Notes | ||
|- | |- | ||
| SOH || | | SOH || Command Frame Header || 0x01 Always | ||
|- | |- | ||
| | | STX || Data Frame Header || 0x02 Always | ||
| | |||
| | |||
|- | |- | ||
| | | LEN || Length of info || In Command Frame: length of COM + command info length/ In Data frame: Data info length | ||
| | |||
|- | |- | ||
| | | COM || Command number || | ||
| | |||
| | |||
|- | |- | ||
| | | SUM || Checksum || checksum of command (initial byte (0x00) - LEN - COM ) | ||
| | |||
| | |||
|- | |- | ||
| | | ETB || Footer of data frame || 0x17 Always | ||
| | |||
| | |||
|- | |- | ||
| | | ETX || Command frame footer || 0x03 Always | ||
| | |||
| | |||
|- | |- | ||
|} | |} | ||