📄 armperip.xml
字号:
SEPARATOR(TEXTNAME="["),
FIELD[5:4](NAME="Mini data cache attributes", TYPE=MiniDataCache_XScale),
SEPARATOR(TEXTNAME="] "),
FIELD[1](NAME="Page Table Memory Attribute", TYPE=FLAG(SET="P", UNSET="p")),
FIELD[0](NAME="Write Buffer Coalescing Disable", TYPE=FLAG(SET="K", UNSET="k"))
}
</definition>
</displaytype>
<displaytype>
<!-- The following data was obtained from reference [9]. -->
<name>CP15AuxilliaryControl_1026</name>
<requires></requires>
<definition>
TYPEDEF tVALInIMPL ENUM(WIDTH=1)
{
"Validation" = 1,
"Implementation" = 0
}
TYPEDEF tAHBSZCFG ENUM(WIDTH=1)
{
"32-bit"=0,
"64-bit"=1
}
TYPEDEF tMMUnMPU ENUM(WIDTH=1)
{
"Protection Unit"=0,
"MMU"=1
}
TYPEDEF CP15AuxilliaryControl_1026(NAME="CP15 Auxilliary Control (ARM1026EJ-S)", CLASS="System") COMPOSITE(WIDTH=32)
{
FIELD[31:4](NAME="",TYPE=RESERVED(WIDTH=28), ACCESS="Z"),
FIELD[3](Name="Validation/Implementation", TYPE=tVALInIMPL),
FIELD[2](Name="AHB Data size config", TYPE=tAHBSZCFG),
FIELD[1](Name="AHB Instruction size config", TYPE=tAHBSZCFG),
FIELD[0](Name="MMU/MPU", TYPE=MMUnMPU)
}
</definition>
</displaytype>
<displaytype>
<name>CP15TTBR</name>
<requires></requires>
<definition>
TYPEDEF CP15TTBR(NAME="CP15 Translation Table Base", CLASS="System") COMPOSITE(WIDTH=32)
{
FIELD[31:0](NAME="Translation Table Base", TYPE=NUMERIC(WIDTH=32, DEFAULT="HEX", PRINTF="0x%08x"))
}
</definition>
</displaytype>
<displaytype>
<name>CP15DACR</name>
<requires></requires>
<definition>
TYPEDEF tDomainAccess ENUM(WIDTH=2, TOOLTIP="Domain accesses: No access, Client, Reserved or Manager")
{
"N" = 0,
"C" = 1,
"R" = 2,
"M" = 3
}
TYPEDEF CP15DACR(NAME="CP15 Domain Access Control", CLASS="System") COMPOSITE(WIDTH=32)
{
FIELD[31:30] (NAME="D15", TYPE=tDomainAccess),
FIELD[29:28] (NAME="D14", TYPE=tDomainAccess),
FIELD[27:26] (NAME="D13", TYPE=tDomainAccess),
FIELD[25:24] (NAME="D12", TYPE=tDomainAccess),
FIELD[23:22] (NAME="D11", TYPE=tDomainAccess),
FIELD[21:20] (NAME="D10", TYPE=tDomainAccess),
FIELD[19:18] (NAME="D9", TYPE=tDomainAccess),
FIELD[17:16] (NAME="D8", TYPE=tDomainAccess),
SEPARATOR(GUINAME="NEWLINE"),
FIELD[15:14] (NAME="D7", TYPE=tDomainAccess),
FIELD[13:12] (NAME="D6", TYPE=tDomainAccess),
FIELD[11:10] (NAME="D5", TYPE=tDomainAccess),
FIELD[9:8] (NAME="D4", TYPE=tDomainAccess),
FIELD[7:6] (NAME="D3", TYPE=tDomainAccess),
FIELD[5:4] (NAME="D2", TYPE=tDomainAccess),
FIELD[3:2] (NAME="D1", TYPE=tDomainAccess),
FIELD[1:0] (NAME="D0", TYPE=tDomainAccess)
}
</definition>
</displaytype>
<displaytype>
<name>CP15FSR</name>
<requires></requires>
<definition>
TYPEDEF tFSRStatus ENUM(WIDTH=4, DEFAULT="Unknown")
{
"Alignment" = 0x01,
"MMU or MPU miss/Vector exception" = 0x00,
"Ext abt on 1st level translate" = 0x0c,
"1st level translation fault" = 0x05,
"Ext abt on 2nd level translate" = 0x0e,
"2nd level translation fault" = 0x07,
"Domain (section)" = 0x09,
"Domain (page)" = 0x0b,
"Access permission (section)" = 0x0d,
"Access permission (page)" = 0x0f,
"Ext abt (section) non-linefetch" = 0x08,
"Debug event/Terminal exception" = 0x02,
"Alignment (DEPRECATED)" = 0x03,
"Ext abt (page) non-linefetch (DEPRECATED)" = 0x0a,
"Bus error on section (DEPRECATED)" = 0x04,
"Bus error on page (LEGACY)" = 0x06
}
TYPEDEF CP15FSR (NAME="CP15 Fault Status Register", CLASS="System") COMPOSITE(WIDTH=32)
{
SEPARATOR(GUINAME="Domain", TEXTNAME="Domain="),
FIELD[7:4] (NAME="Domain", TYPE=NUMERIC(WIDTH=4, DEFAULT="UDEC")),
SEPARATOR(GUINAME="Status", TEXTNAME=", Status="),
FIELD[3:0] (NAME="Status", TYPE=tFSRStatus)
}
</definition>
</displaytype>
<displaytype>
<!-- This is used for ARM10xE, where the IFSR does not contain domain bits. -->
<name>CP15FSR_NoDomain</name>
<requires></requires>
<definition>
TYPEDEF CP15FSR_NoDomain (NAME="CP15 Fault Status Register", CLASS="System") COMPOSITE(WIDTH=32)
{
SEPARATOR(GUINAME="Status", TEXTNAME="Status="),
FIELD[3:0] (NAME="Status", TYPE=tFSRStatus)
}
</definition>
</displaytype>
<displaytype>
<!-- This is used for v5TEJ and later processors which have a larger set of status flags -->
<name>CP15FSR_Ext</name>
<requires></requires>
<definition>
TYPEDEF tFSRStatus_Ext ENUM(WIDTH=5, DEFAULT="Unknown")
{
"Alignment" = 0x01,
"MMU or MPU miss/Vector exception" = 0x00,
"Ext abt on 1st level translate" = 0x0c,
"1st level translation fault" = 0x05,
"Ext abt on 2nd level translate" = 0x0e,
"2nd level translation fault" = 0x07,
"Domain (section)" = 0x09,
"Domain (page)" = 0x0b,
"Access permission (section)" = 0x0d,
"Access permission (page)" = 0x0f,
"Ext abt (section) non-linefetch" = 0x08,
"Imprecise ext abt" = 0x16,
"Debug event/Terminal exception" = 0x02,
"Alignment (DEPRECATED)" = 0x03,
"Ext abt (page) non-linefetch (DEPRECATED)" = 0x0a,
"Bus error on section (DEPRECATED)" = 0x04,
"Bus error on page (LEGACY)" = 0x06,
"Lock error (XScale)" = 0x14,
"Parity error (XScale/v6)" = 0x18
}
TYPEDEF CP15FSR_Ext (NAME="CP15 Fault Status Register", CLASS="System") COMPOSITE(WIDTH=32)
{
FIELD[9:8] (NAME="",TYPE=RESERVED(WIDTH=2),ACCESS="Z"),
SEPARATOR(GUINAME="Domain", TEXTNAME="Domain="),
FIELD[7:4] (NAME="Domain", TYPE=NUMERIC(WIDTH=4, DEFAULT="UDEC")),
SEPARATOR(GUINAME="Status", TEXTNAME=", Status="),
FIELD[10],[3:0] (NAME="Status", TYPE=tFSRStatus_Ext)
}
</definition>
</displaytype>
<displaytype>
<!-- This is used for v5TEJ and later processors which have a larger set of status flags -->
<name>CP15FSR_ExtNoDomain</name>
<requires></requires>
<definition>
TYPEDEF CP15FSR_ExtNoDomain (NAME="CP15 Instruction Fault Status Register", CLASS="System") COMPOSITE(WIDTH=32)
{
FIELD[9:4] (NAME="",TYPE=RESERVED(WIDTH=6),ACCESS="Z"),
SEPARATOR(GUINAME="Status", TEXTNAME="Status="),
FIELD[10],[3:0] (NAME="Status", TYPE=tFSRStatus_Ext)
}
</definition>
</displaytype>
<displaytype>
<!-- The following data was obtained from reference [6]. -->
<name>CP15FSR_10TDMI</name>
<requires></requires>
<definition>
TYPEDEF CP15FSR_10TDMI (NAME="CP15 Fault Status Register", CLASS="System") COMPOSITE(WIDTH=32)
{
SEPARATOR(GUINAME="Watchpoint occurred", TEXTNAME="Watchpoint occurred="),
FIELD[9](NAME="Watchpoint occurred", TYPE=FLAG(SET="1", UNSET="0")),
SEPARATOR(GUINAME="Domain", TEXTNAME=", Domain="),
FIELD[7:4] (NAME="Domain", TYPE=NUMERIC(WIDTH=4, DEFAULT="UDEC")),
SEPARATOR(GUINAME="Status", TEXTNAME=", Status="),
FIELD[3:0] (NAME="Status", TYPE=NUMERIC(WIDTH=4, DEFAULT="HEX"))
}
</definition>
</displaytype>
<displaytype>
<name>CP15FAR</name>
<requires></requires>
<definition>
TYPEDEF CP15FAR (NAME="CP15 Fault Address Register", CLASS="System") FIELD[31:0] (NAME="Address", TYPE=NUMERIC(WIDTH=32, DEFAULT="HEX", PRINTF="0x%08x"))
</definition>
</displaytype>
<displaytype>
<name>CP15PID</name>
<requires></requires>
<definition>
TYPEDEF CP15PID (NAME="CP15 Process ID", CLASS="System") COMPOSITE(WIDTH=32)
{
FIELD[31:25] (NAME="PID", TYPE=NUMERIC(WIDTH=7, DEFAULT="HEX", PRINTF="0x%02x"))
}
</definition>
</displaytype>
<displaytype>
<name>CP15TCM_946</name>
<requires></requires>
<definition>
TYPEDEF tTCMSSize ENUM(WIDTH=5, DEFAULT="Absent")
{
"0KB" = 0,
"4KB" = 3,
"8KB" = 4,
"16KB" = 5,
"32KB" = 6,
"64KB" = 7,
"128KB" = 8,
"256KB" = 9,
"512KB" = 10,
"1MB" = 11,
"Absent" = 16
}
TYPEDEF CP15TCM_946(NAME="Tightly Coupled Memory Size", CLASS="System") COMPOSITE(WIDTH=32)
{
SEPARATOR(TEXTNAME="Data RAM: "),
FIELD [14],[21:18] (NAME="Data Size", TYPE=tTCMSSize, ACCESS="R"),
SEPARATOR(TEXTNAME=", Instruction RAM: "),
FIELD [2],[9:6] (NAME="Instruction Size", TYPE=tTCMSSize, ACCESS="R")
}
</definition>
</displaytype>
<displaytype>
<name>XScale_PerformanceType0</name>
<requires></requires>
<definition>
TYPEDEF tXScaleEventType ENUM(WIDTH=8, DEFAULT="Reserved/unpredictable")
{
"Instruction cache miss" = 0,
"Instruction cache cannot deliver" = 1,
"Stall due to a data dependency" = 2,
"Instruction TLB miss" = 3,
"Data TLB miss" = 4,
"Branch instruction executed" = 5,
"Branch mispredicted" = 6,
"Instruction executed" = 7,
"Stall because data cache buffers are full" = 8,
"Stall because data cache buffers are full (contiguous)" = 9,
"Data cache access" = 10,
"Data cache miss" = 11,
"Data cache write-back" = 12,
"Software changed the PC." = 13,
"BCU received a new memory request" = 16,
"BCUs request queue is full" = 17,
"BCU queues were drained" = 18,
"BCU detected an ECC error" = 20,
"BCU detected a 1-bit error, while reading data from the bus" = 21,
"RMW cycle occurred due to narrow write" = 22
}
TYPEDEF tXScalePerformanceReporting ENUM(WIDTH=1, TOOLTIP="Enable generation of an interrupt when the counter passes through zero")
{
"No interrupt" = 0,
"Interrupt" = 1
}
TYPEDEF XScale_PerformanceType0(NAME="XScale Counter Event 0", CLASS="System") COMPOSITE(WIDTH=32)
{
FIELD[19:12] (NAME="Event", TYPE=tXScaleEventType),
SEPARATOR(GUINAME="NEWLINE", TEXTNAME=" ("),
SEPARATOR(GUINAME="Reporting:"),
FIELD[4] (NAME="Reporting", TYPE=tXScalePerformanceReporting, ACCESS="RW"),
SEPARATOR(TEXTNAME=")"),
FIELD[31:28],[11:7],[2:1] (NAME="", TYPE=RESERVED(WIDTH=11), ACCESS="0"),
FIELD[27:20],[6:3],[0] (NAME="", TYPE=RESERVED(WIDTH=13), ACCESS="V")
}
</definition>
</displaytype>
<displaytype>
<name>XScale_PerformanceType1</name>
<requires></requires>
<definition>
TYPEDEF tXScaleEventType ENUM(WIDTH=8, DEFAULT="Reserved/unpredictable")
{
"Instruction cache miss" = 0,
"Instruction cache cannot deliver" = 1,
"Stall due to a data dependency" = 2,
"Instruction TLB miss" = 3,
"Data TLB miss" = 4,
"Branch instruction executed" = 5,
"Branch mispredicted" = 6,
"Instruction executed" = 7,
"Stall because data cache buffers are full" = 8,
"Stall because data cache buffers are full (contiguous)" = 9,
"Data cache access" = 10,
"Data cache miss" = 11,
"Data cache write-back" = 12,
"Software changed the PC." = 13,
"BCU received a new memory request" = 16,
"BCUs request queue is full" = 17,
"BCU queues were drained" = 18,
"BCU detected an ECC error" = 20,
"BCU detected a 1-bit error, while reading data from the bus" = 21,
"RMW cycle occurred due to narrow write" = 22
}
TYPEDEF tXScalePerformanceReporting ENUM(WIDTH=1, TOOLTIP="Enable generation of an interrupt when the counter passes through zero")
{
"No interrupt" = 0,
"Interrupt" = 1
}
TYPEDEF XScale_PerformanceType1(NAME="XScale Counter Event 1", CLASS="System") COMPOSITE(WIDTH=32)
{
FIELD[27:20] (NAME="Event", TYPE=tXScaleEventType),
SEPARATOR(GUINAME="NEWLINE", TEXTNAME=" ("),
SEPARATOR(GUINAME="Reporting:"),
FIELD[4] (NAME="Reporting", TYPE=tXScalePerformanceReporting, ACCESS="RW"),
SEPARATOR(TEXTNAME=")"),
FIELD[31:28],[11:7],[2:1] (NAME="", TYPE=RESERVED(WIDTH=11), ACCESS="0"),
FIELD[19:12],[6:3],[0] (NAME="", TYPE=RESERVED(WIDTH=13), ACCESS="V")
}
</definition>
</displaytype>
<displaytype>
<name>XScale_PerformanceClock</name>
<requires></requires>
<definition>
TYPEDEF tXScaleCountEvery ENUM(WIDTH=1)
{
"1" = 0,
"64" = 1
}
TYPEDEF tXScalePerformanceReporting ENUM(WIDTH=1, TOOLTIP="Enable generation of an interrupt when the counter passes through zero")
{
"No interrupt" = 0,
"Interrupt" = 1
}
TYPEDEF XScale_PerformanceClock(NAME="Clock Control (XScale)", CLASS="System") COMPOSITE(WIDTH=32)
{
SEPARATOR(GUINAME="Clock count every", TEXTNAME="Every "),
FIELD[3] (NAME="Count every n cycles", TYPE=tXScaleCountEvery),
SEPARATOR(GUINAME="cycle(s)", TEXTNAME=" cycle(s)"),
SEPARATOR(GUINAME="NEWLINE", TEXTNAME=" ("),
SEPARATOR(GUINAME="Reporting:"),
FIELD[4] (NAME="Reporting", TYPE=tXScalePerformanceReporting, ACCESS="RW"),
SEPARATOR(TEXTNAME=")"),
FIELD[31:28],[11:7],[2:1] (NAME="", TYPE=RESERVED(WIDTH=11), ACCESS="0"),
FIELD[27:12],[6:3],[0] (NAME="", TYPE=RESERVED(WIDTH=21), ACCESS="V")
}
</definition>
</displaytype>
<displaytype>
<name>XScale_PerformanceControl</name>
<requires></requires>
<definition>
TYPEDEF XScale_PerformanceControl(NAME="Performance Monitor Control (XScale)", CLASS="System") COMPOSITE(WIDTH=32)
{
FIELD[31:28],[11],[7], [2:1] (NAME="", TYPE=RESERVED(WIDTH=8), ACCESS="0"),
FIELD[27:12], [3] (NAME="", TYPE=RESERVED(WIDTH=17), ACCESS="V"),
SEPARATOR(TEXTNAME="Enable:", GUINAME="Global enable"),
FIELD[0] (NAME="Global enable", TYPE=FLAG(SET="Y", UNSET="N"), ACCESS="RW"),
SEPARATOR(TEXTNAME=", Overflow:", GUINAME="NEWLINE"),
SEPARATOR(GUINAME=" "),
SEPARATOR(GUINAME="NEWLINE"),
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -