advertisement
Arm® Corstone™ SSE -300 with Cortex®-M55 and Ethos™ -U55 : Example Subsystem for MPS3
Revision: C
Application Note AN547
Non-Confidential
Copyright © 2020, 2021 Arm Limited (or its affiliates).
All rights reserved.
Issue C
DAI 0547C
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 : Example
DAI 0547C
Issue C
Subsystem for MPS3
Application Note AN547
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Release information
A
B
C
Document history
Issue Date Confidentiality
30 November 2020 Confidential
29 January 2021
30 June 2021
Non-Confidential
Non-Confidential
Change
First Issue
Confidentiality status changed to Non-Confidential
Document title change,
Added selftest support for DS 2020.1
Non-Confidential Proprietary Notice
This document is protected by copyright and other related rights and the practice or implementation of the information contained in this document may be protected by one or more patents or pending patent applications. No part of this document may be reproduced in any form by any means without the express prior written permission of Arm. No license, express or implied, by estoppel or otherwise to any intellectual property rights is granted by this document unless specifically stated.
Your access to the information in this document is conditional upon your acceptance that you will not use or permit others to use the information for the purposes of determining whether implementations infringe any third party patents.
THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO WARRANTIES,
EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES
OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT OR FITNESS FOR A
PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the avoidance of doubt, Arm makes no representation with respect to, and has undertaken no analysis to identify or understand the scope and content of, patents, copyrights, trade secrets, or other rights.
This document may include technical inaccuracies or typographical errors.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY DAMAGES,
INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE, OR
CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF ARM HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
This document consists solely of commercial items. You shall be responsible for ensuring that any use, duplication or disclosure of this document complies fully with any relevant export laws and regulations to assure that this document or any portion thereof is not exported, directly or indirectly, in violation of such export laws.
Use of the word “partner” in reference to Arm's customers is not intended to create or refer to any partnership relationship with any other company. Arm may make changes to this document at any time and without notice.
If any of the provisions contained in these terms conflict with any of the provisions of any click through or signed written agreement covering this document with Arm, then the click through or signed written agreement prevails over and supersedes the conflicting provisions of these terms. This document may be translated into other languages for convenience, and you agree that if there is any conflict between the English version of this document and any translation, the terms of the English version of the Agreement shall prevail.
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 2 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
DAI 0547C
Issue C
The Arm corporate logo and words marked with ® or ™ are registered trademarks or trademarks of Arm Limited
(or its affiliates) in the US and/or elsewhere. All rights reserved. Other brands and names mentioned in this document may be the trademarks of their respective owners. Please follow Arm's trademark usage guidelines at http://www.arm.com/company/policies/trademarks .
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Arm Limited. Company 02557590 registered in England.
110 Fulbourn Road, Cambridge, England CB1 9NJ.
(LES-PRE-20349)
Confidentiality Status
This document is Non-Confidential. The right to use, copy and disclose this document may be subject to license restrictions in accordance with the terms of the agreement entered into by Arm and the party that Arm delivered this document to.
Unrestricted Access is an Arm internal classification.
Product Status
The information in this document is Final, that is for a developed product.
Web Address
developer.arm.com
Progressive terminology commitment
Arm values inclusive communities. Arm recognizes that we and our industry have used terms that can be offensive. Arm strives to lead the industry and create change.
This document includes terms that can be offensive. We will replace these terms in a future issue of this document. If you find offensive terms in this document, please email [email protected]
.
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 3 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
DAI 0547C
Issue C
LICENCE GRANTS
THE END USER LICENCE AGREEMENT FOR THE ARM SYSTEM OR SUBSYSTEM FOR AN ARM FPGA
PROTOTYPING BOARD (“THE LICENCE”), LES -PRE-21902, DEFINES THE LICENCE GRANTS.
DELIVERABLES
Part A
Hardware Binaries:
Encrypted FPGA bitstream file containing various the Arm technology including:
SSE-300 Subsystem
Cortex-M55 Processor
Ethos-U55 Embedded ML Inference processor.
Software Binaries:
Motherboard Configuration Controller binary (mbb_vxxx.ebf), including Keil ® USB and SD card drivers, and
Analog Devices FMC EEPROM reader. selftest binary (an547_st.axf) for CortexM55 in Corstone™ SSE -300.
Documentation:
Documentation, provided as PDF
Part B
Text configuration files (.txt) in the <install_dir>/ Boardfiles/MB/HBI0309x/ directory:
/board.txt
/AN547/an547_vx.txt
/AN547/images.txt
Part C
None
Part D
None
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 4 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
Contents
DAI 0547C
Issue C
3.8.1 Manager Peripheral Expansion Low Latency Interface Memory Map (HMSTEXPPILL) ........... 22
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 5 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
DAI 0547C
Issue C
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 6 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
DAI 0547C
Issue C
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 7 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
1 Introduction
1.1
Intended audience
This application note document is written for experienced hardware, System-on-Chip (SoC) and software engineers who might or might not have experience with Arm products. Such engineers typically have experience in writing Verilog and of performing synthesis but might have limited experience of integrating and implementing Arm products.
1.2
Conventions
The following subsections describe conventions used in Arm documents.
DAI 0547C
Issue C
1 Introduction
1.2.1
Glossary
The Arm Glossary is a list of terms used in Arm documentation, together with definitions for those terms. The Arm Glossary does not contain terms that are industry standard unless the Arm meaning differs from the generally accepted meaning.
See the Arm Glossary for more information: https://developer.arm.com/glossary .
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 8 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
1.2.2
Typographical conventions
Convention Use italic bold monospace Denotes text that you can enter at the keyboard, such as commands, file and program names, and source code. monospace bold Denotes language keywords when used outside example code. monospace underline
Introduces citations.
Highlights interface elements, such as menu names. Denotes signal names. Also used for terms in descriptive lists, where appropriate.
<and>
Denotes a permitted abbreviation for a command or option. You can enter the underlined text instead of the full command or option name.
Encloses replaceable terms for assembler syntax where they appear in code or code fragments.
For example:
MRC p15, 0, <Rd>, <CRn>, <CRm>, <Opcode_2>
SMALL CAPITALS
Used in body text for a few terms that have specific technical meanings, that are defined in the Arm ® Glossary. For example,
IMPLEMENTATION DEFINED
,
IMPLEMENTATION SPECIFIC
,
UNKNOWN
, and
UNPREDICTABLE
.
This represents a recommendation which, if not followed, might lead to system failure or damage.
DAI 0547C
Issue C
1 Introduction
This represents a requirement for the system that, if not followed, might result in system failure or damage.
This represents a requirement for the system that, if not followed, will result in system failure or damage.
This represents an important piece of information that needs your attention.
This represents a useful tip that might make it easier, better or faster to perform a task.
This is a reminder of something important that relates to the information you are reading.
1.3
Additional reading
This document contains information that is specific to this product. See the following documents for other relevant information:
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 9 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
Document name
Arm® MPS3 FPGA Prototyping Board Technical
Reference Manual
Document ID
100765
Arm® Corstone™ SSE -300 Example Subsystem
Technical Reference Manual
101773
Arm® Corstone™ SSE -300 Example Subsystem
Configuration and Integration Manual
101774
Arm® Ethos™ -U55 NPU Technical reference manual 101885
Arm® CoreLink™ SIE -200 System IP for Embedded
Technical Reference Manual
DDI 0571
Arm® CoreLink™ SIE -300 AXI5 System IP for
Embedded Technical Reference Manual
101526
Licensee only
No
No
Yes
No
No
No
DAI 0547C
Issue C
1 Introduction
Arm® Cortex®-M System Design Kit Technical
Reference Manual
Arm® CoreLink™ XHB -500 Bridge Technical
Reference Manual
DDI 0479
101375
MCBQVGA-TS-Display-v12 – Keil MCBSTM32F200 display board schematic
-
Arm® MPS3 FPGA Prototyping Board Getting
Started Guide
-
No
No
No
No
Table 1-1 : Arm Publications
1.4
Feedback
Arm welcomes feedback on this product and its documentation.
1.4.1
Feedback on this product
If you have any comments or suggestions about this product, contact your supplier and give:
•
The product name.
•
The product revision or version.
•
An explanation with as much information as you can provide. Include symptoms and diagnostic procedures if appropriate.
1.4.2
Feedback on content
If you have comments on content, send an email to [email protected]
and give:
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 10 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
•
The title Arm® Corstone™ SSE -300 with Cortex®-M55 and Ethos™ -U55 : Example Subsystem for MPS3 Application Note AN547.
DAI 0547C
Issue C
1 Introduction
•
The number DAI 0547C.
•
If applicable, the page number(s) to which your comments refer.
•
A concise explanation of your comments.
Arm tests the PDF only in Adobe Acrobat and Acrobat Reader and cannot guarantee the quality of the represented document when used with any other PDF reader.
Arm also welcomes general suggestions for additions and improvements.
1.4.3
Other information
•
Arm Documentation, https://developer.arm.com/documentation/
•
Arm Technical Support Knowledge Articles, https://www.arm.com/support/technical-support
•
Arm Support
,
https://www.arm.com/support
•
Arm Glossary, https://developer.arm.com/documentation/aeg0014/g
The Arm Glossary is a list of terms used in Arm documentation, together with definitions for those terms. The Arm Glossary does not contain terms that are industry standard unless the Arm meaning differs from the generally accepted meaning.
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 11 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
2 Preface
DAI 0547C
Issue C
2 Preface
2.1
Purpose of this application note
This application note describes the features and functionality of the AN547 Soft Macrocell Model (SMM), or
AN547 subsystem. The AN547 SMM is an FPGA image that is a Single Cortex-M55 FPGA implementation of the Corstone SSE-300 with CortexM55 and Ethos™ -U55 Example Subsystem. The example subsystem uses
SIE-300 and SIE-200 components with CMSDK peripherals to provide a reference design.
IDAU
ITCM
KB
MB
MCC
MPC
MSC
PPC
RAM
AHB
APB
BRAM
CMSDK
DMA
DTCM
EAM
FPGA
RAZ/WI
RTC
RTL
SCC
SMM
2.2
Terms and abbreviations
SPI
SRAM
TPIU
TRM
Advanced High-performance Bus
Advanced Peripheral Bus
Block Random Access Memory
Cortex-M System Design Kit
Direct Memory Access
Data Tightly Coupled Memory
Exclusive Access Controller
Field Programmable Gate Array
Implementation Defined Attribution Unit
Instruction Tightly Coupled Memory
Kilobyte
Megabyte
Motherboard Configuration Controller
Memory Protection Controller
M anager Security Controller
Peripheral Protection Controller
Random Access Memory
R ead As Zero/Write Ignored
Real Time Clock
Register Transfer Level
Serial Configuration Controller
Soft Macrocell Model system implemented as an
FPGA image and described in this AN
Serial Peripheral Interface
Static Random Access Memory
Trace Port Interface Unit
Technical Reference Manual
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 12 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
2.3
Arm IP version details
The following IP packages have been used in this Product.
DAI 0547C
Issue C
2 Preface
Version r0p0 r1p0 r1p0
Description
Arm® Corstone™ SSE -300
The Arm® Corstone™ SSE -300 Example Subsystem is a collection of pre-assembled elements to use as the basis of an Internet of Things (IoT) System on Chip (SoC).
Arm® Ethos™ -U55 NPU
The Arm® Ethos™ -U55 is a Neural Processing Unit (NPU) which improves the inference performance of neural networks.
Arm® CoreLink™ SIE -300
The SIE-300 AXI5 System IP for Embedded provides a set of configurable AXI5 securityaware components. r3p1
BP210
Arm® CoreLink™ SIE -200
The CoreLink SIE-200 System IP for Embedded product is a collection of interconnect, peripheral, and TrustZone® controller components for use with a processor that complies with the ARMv8-M processor architecture.
Cortex-M System Design Kit
Full version of the design kit supporting Cortex-M0, Cortex-M0 DesignStart ® , Cortex-
M0+, Cortex-M3 and Cortex-M4. Also contains the AHB Bus Matrix and advanced AHB components. r1p3-00rel1 Arm® PrimeCell Synchronous Serial Port (PL022)
Arm PrimeCell Synchronous Serial Port
Figure 2-1 : Arm IP versions
2.4
Encryption key
Arm supplies the MPS3 prototyping board with a decryption key programmed into the FPGA. This key is needed to enable loading of prebuilt encrypted images.
Note
The FPGA programming file that is supplied as part of the bundle is encrypted.
Caution
A battery supplies power to the key storage area of the FPGA. Any keys stored in the FPGA might be lost when battery power is lost. If this happens you must return the board to Arm for reprogramming of the key.
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 13 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
3 Overview
DAI 0547C
Issue C
3 Overview
The AN547 SMM is a Single Cortex-M55 FPGA implementation of the Corstone SSE-300 with Cortex-M55 and
Ethos-U55 Example Subsystem. The example subsystem uses SIE-300 and SIE-200 components with CMSDK peripherals to provide a reference design.
3.1
System block diagram
The following high-level block diagram shows the full MPS3 FPGA System :
Trace
Port
JTAG
Port mps3_fpga_top fpga_specific mps3_fpga_system mps3_system_core clocks resets mps3_core_periph_wrapper
External_masters
MSC IDAU IDAU MSC MSC IDAU fpga_iot_wrapper
Ethos
U55
XSLVEXPMI0 HSLVEXPMI1 HSLVEXPPILL HSLVEXPPIHL
Debug
Corstone SSE-300
XMSTEXPCODE XMSTEXPSRAM XMSTEXPDEV
XSLVTCM
HMSTEXPPILL HMSTEXPPIHL mps3_mem_preload
XHB AHB to AXI
AHB5 Fabric
SMB TO
AHB mps3_core_mem_wrapper
NIC400
AHB5 Fabric
AXI5
MPC
AXI5
MPC
APB
AXI5
MPC
APB mps3_core_mem_mpc_ppc
AHB to
APB
APB APB
APB PPC
AXI4 mps3_fpga_user mps3_peripheral_mem_wrapper mps3_bram_qspi_memsubsys mps3_ddr_peripheral_subsys
AHB PPC APB
Address
Decode
NIC400
FPGA
SRAM
AXI 4 AXI 4 AXI 4
Xilinx
QSPI
XIP
Xilinx
QSPI
Write
NIC400
AXI 4
Xilinx
MIG mps3_core_periph_wrapper
AHB5 Fabric mps3_core_apb_subsystem_0 mps3_core_apb_subsystem_1
AHB to APB
APB PPC
AHB to APB
APB PPC mps3_core_ahb_subsystem
AHB PPC
AHB5 to
AHB-lite mps3_user_periph_wrapper mps3_user_apb_subsystem_0
Address
Decode
I2C x5 mps3_user_apb_subsystem_1
Address
Decode
UART x6
SCC
SPI x3
(master)
Audio
I2Sx2 CharLCD
FPGA
IO regs mps3_user_ahb_subsystem
NIC400
Address
Decode
AHB5 to extmem
AHB
GPIO x4
AHB PPC
Address
Decode
Default
Slave
DMA
Pl081
DMA
Pl081
DMA
Pl081
QSPI flash DDR4 x2
Shield
ADC
TSC x2
Shield
Audio
MCC
LCD x2
Shield
Ethernet
Switches
Buttons
LEDs
Shield/
PMOD 0
& 1
Xilinx IP
NIC-400 Component
SIE-300 Component
SIE-200 Component
XHB-500 Component
Figure 3-1 : MPS3 System Overview
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 14 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
DAI 0547C
Issue C
3 Overview
3.2
SSE-300 Configuration
The following tables show the configuration settings of the SSE-300 subsystem in the AN547 SMM. See the Arm®
Corstone™ SSE -300 Example Subsystem Configuration and Integration Manual for full details of each configuration option.
3.2.1
Render Settings
Configuration Define
NUMCPU
PILEVEL
CPU0TYPE
CPU1TYPE
CPU2TYPE
CPU3TYPE
NUMNPU
NPU0TYPE
NPU1TYPE
NPU2TYPE
NPU3TYPE
NPU0_NUM_MACS
NPU1_NUM_MACS
NPU2_NUM_MACS
NPU3_NUM_MACS
NUM_AXI_SLAVES_EXP_MI
NUM_AHB_SLAVES_EXP_PIHL
NUM_AHB_SLAVES_EXP_PILL
EXPLOGIC_PRESENT
VMMPCBLKSIZE
CPU0_INITNSVTOR_ADDR_INIT
CPU0EXPNUMIRQ
CPU0EXPIRQDIS
CPU0_EXP_IRQTIER
CPU0_INT_IRQTIER
CPU0_EXP_IRQ_PULSE_SPT_PRESENT
CPU0_EXP_IRQ_SYNC_TO_CPU_PRESENT
CPU0_EXP_IRQ_SYNC_TO_EWIC_PRESENT
CPU0_EXP_NMI_PULSE_SPT_PRESENT
CPU0_EXP_NMI_SYNC_TO_CPU_PRESENT
CPU0_EXP_NMI_SYNC_TO_EWIC_PRESENT
DEBUGLEVEL
CPU0_ITM_PRESENT
CPU0_ETM_PRESENT
CPU0_FPU_PRESENT
CPU0_MVE_CONFIG
SECEXT
CPU0_MPU_S
CPU0_MPU_NS
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
SSE-300
Default Value
AN547 Value
1
8
8
2
1
2
1
0
1
65b1
0
1
1
0
0
0
128
256
0
0
1
0
1
3
0
1
0
0
0
128
256
0
0
1
0
1
3
0
32
64
2
32
64
2
1
1
1
7
1
1
1
11
0x00000000 0x00000000
64
64b0
65b1
32b1
64b0
65b1
100
100b0
100b1
32b1
100b0
100b1
1
1
2
1
16
16
1
2
1
100b1
0
1
Page 15 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
CPU0_SAUDISABLE
CPU0_NUM_SAU_CONFIG
CPU0_DBGLVL
HASCPU0CPIF
CPU0_INSTR_CACHE_SIZE
CPU0_DATA_CACHE_SIZE
CPU0_IRQLVL
CPU0_ITGUBLKSZ
CPU0_DTGUBLKSZ
CPU0_RAR
CPU0_LOCKSTEP
CPU0_CFGITCMSZ
CPU0_CFGDTCMSZ
CPU0MCUROMADDR
CPU0MCUROMVALID
SOCVAR
SOCREV
SOCPRTID
SOCIMPLID
IMPLVAR
IMPLREV
IMPLPRTID
IMPLID
INITTCMEN
INITPAHBEN
LOCKDCAIC
TCM_MID_WIDTH
S_MID_WIDTH
TCM_ID_WIDTH
XS_ID_WIDTH
S_HMASTER_WIDTH
XOM_USER_SIGNAL_PRESENT
CPU0_PMC_PRESENT
NUMVMBANK
VMADDRWIDTH
HASCRYTO
HASCSS
LOGIC_RETENTION_PRESENT
NSMSCEXPRST
MPCEXPDIS
MSCEXPDIS
BRGEXPDIS
PERIPHPPCEXP3DIS
PERIPHPPCEXP2DIS
PERIPHPPCEXP1DIS
PERIPHPPCEXP0DIS
MAINPPCEXP3DIS
MAINPPCEXP2DIS
MAINPPCEXP1DIS
MAINPPCEXP0DIS
5
0
0
5
5
6
2
18
0
0
0
0xA5A5
0x5A5A
0x5A5A
0x5A5A
0x5A5A
0x5A5A
0x5A5A
0x5A5A
0x5A5A
0x5A5A
0x5A5A
0x5A5A
0xE00FE
1
0x0
0x0
0x7E0
0x43B
1
0
5
0x0
0x0
0x74A
0x43B
0b11
0
8
2
1
0b01111
0b01111
3
7
7
1
0
0b1001
0b1001
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
4
0
0
6
5
6
2
21
0
0
0
0xA5A5
0x5A5A
0x5A5A
0x5A5A
0xFFFE
0xF000
0xFE00
0x1FCC
0x5A5A
0x5A5A
0xFFF1
0xBE00
0xE00FE
1
0x0
0x0
0x7E0
0x43B
1
0
5
0x0
0x0
0x74A
0x43B
0b11
0
8
2
0
0b01111
0b01111
3
8
8
1
0
0b1010
0b1010
DAI 0547C
Issue C
3 Overview
Page 16 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
DAI 0547C
Issue C
3 Overview
PDCMQCHWIDTH
HASCPU0IWIC
CPU0CPUIDRST
COLDRESET_MODE
BUSPROT_PRESENT
ECC_PRESENT
CPU0_CTI_PRESENT
0
0
1
4
0
0
0
CFGBIGEND
CFGMEMALIAS
CPU0_INITECCEN
0
0b10000
0
PERIPHERAL_INTERCONNECT_ARBITRATION_SCHEME “round”
CPU0_CFGPAHBZE 0b010
CPU0_LOCKPAHB
PERFORM_CONFIGCHECK
1
1
4
0
0
0
0
0
1
0
0b10000
0
“round”
0b010
1
1
Table 3-1 : SSE-300 Render Configuration Settings
3.2.2
Subsystem static input values
The SSE-300 subsystem in AN547 has several inputs which are tied off and therefore static, at the subsystem top level. These are detailed in the below table.
Input
CPU0_INITSVTOR 1
CPU0CFGFPU
CPU0CFGMVE
CPU0MPUNSDISABLE
CPU0MPUSDISABLE
CPU0CFGSSTCALIB
CPU0CFGNSSTCALIB
CPU0INITL1RSTDIS
Tie Off Value
25'h0200000
1'b1
2'b10
1'b0
1'b0
25'h0270FF
25'h0270FF
1'b0
Table 3-2 : Subsystem static input values
CPU0_INITSVTOR is the value for INITSVTOR0RST specified in the SSE-300 TRM .
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 17 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
3.3
SIE-300 Components
This system uses the following SIE-300 components:
• AXI5 Memory Protection Controller.
There are 3 MPCs implemented in the FPGA and these are configured with the following block sizes:
MPC
SRAM MPC
QSPI MPC
DDR4 MPC
Block size
16KB
64KB
1MB
3.4
SIE-200 Components
This system uses the following SIE-200 components:
DAI 0547C
Issue C
3 Overview
• TrustZone AHB5 peripheral protection controller
• TrustZone AHB5 Manager security controller
• AHB5 bus matrix
• AHB5 to AHB5 synchronous bridge
• AHB5 to APB synchronous bridge
• TrustZone APB4 peripheral protection controller
• AHB5 default subordinate
3.5
CoreLink XHB-500
This system implements one CoreLink XHB-500, configured for AHB to AXI mode .
3.6
Memory Protection
The SIE-300 MPC, and SIE-200 PPC components can affect memory and I/O security management and must be configured as required for your application. See Arm ® SIE-200 System IP Technical Reference Manual and Arm®
CoreLink™ SIE -300 AXI5 System IP for Embedded Technical Reference Manual .
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 18 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
DAI 0547C
Issue C
3 Overview
3.7
Memory Map Overview
The following figure shows the AN547 memory map and how it relates to the Armv8-M reference memory map.
The figure includes IDAU security information for memory regions.
See the Arm® CoreLink™ SIE -200 System IP for Embedded Technical Reference Manual for more information .
0xFFFF_FFFF
0xE010_0000
0xE000_0000
0x8000_0000
External RAM
Instruction and data accesses performed on M-AXI
0x6000_0000
Peripheral
Instruction and data accesses performed on P-AHB or M-AXI
0x4000_0000
0x2000_0000
0x0000_0000
Arm®v8-M
Ref Memory map
Vendor_SYS
Private Peripheral Bus.
Local to Each CPU.
External Device
Instruction and data accesses performed on M-AXI
SRAM
All accesses performed on
DTCM or M-AXI
CODE
All accesses performed on
ITCM or M-AXI
0xFFFF_FFFF
0xE010_0000
0xE000_0000
0xD000_0000
0xC000_0000
0xB000_0000
0xA000_0000
0x9000_0000
0x8000_0000
0x7000_0000
0x6000_0000
0x5800_0000
0x5000_0000
0x4800_0000
0x4000_0000
0x3880_0000
0x3800_0000
0x3200_0000
0x3100_0000
0x3000_0000
0x2880_0000
0x2800_0000
0x2200_0000
0x2100_0000
0x2000_0000
0x1E00_0000
0x1100_0000
0x1000_0000
0x0E00_0000
0x0100_0000
0x0000_0000
AN547
Memory map
Vendor_SYS
Private Peripheral Bus
DDR 4
DDR 4
DDR 4
DDR 4
DDR 4
DDR 4
DDR 4
DDR 4
Secure High Latency
Peripheral Region
Secure Low Latency
Peripheral Region
Non-Secure High Latency
Peripheral Region
Non-Secure Low Latency
Peripheral Region
Reserved
QSPI (8MB)
Reserved
Internal SRAM (2 x 2MB)
DTCM (4 x 128KB)
Reserved
QSPI (8MB)
Reserved
Internal SRAM (2 x 2MB)
DTCM (4 x 128KB)
Reserved
FPGA SRAM (2MB)
ITCM (512KB)
Reserved
FPGA SRAM (2MB)
ITCM (512KB)
Reserved
QSPI WRITE CONFIG
QSPI XIP CONFIG
Reserved
USER APB 3
USER APB 2
USER APB 1
USER APB 0
Reserved
USB
ETHERNET
Reserved
DMA 3
DMA 2
DMA 1
DMA 0
Reserved
USER AHB 3
USER AHB 2
USER AHB 1
USER AHB 0
GPIO 3
GPIO 2
GPIO 1
GPIO 0
Reserved
Subsystem Peripherals
Reserved
PDM
RTC
CLCD
Reserved
UART 3
UART Shield1
UART Shield0
UART 2
UART 1
UART 0
FPGAIO
I2S Audio
SCC
Reserved
I2C DDR4 EEPROM
USER APB
I2C Shield1
I2C Shield0
SPI Shield1
SPI Shield0
SPI ADC
I2C (Audio Conf)
I2C (Touch)
Reserved
U55 TIMING ADAPTER 1
U55 TIMING ADAPTER 0
Reserved
Subsystem Peripherals
0x4800_0000
0x4180_2000
0x4180_1000
0x4180_0000
0x4170_4000
0x4170_3000
0x4170_2000
0x4170_1000
0x4170_0000
0x4160_0000
0x4150_0000
0x4140_0000
0x4120_4000
0x4120_3000
0x4120_2000
0x4120_1000
0x4120_0000
0x4110_8000
0x4110_7000
0x4110_6000
0x4110_5000
0x4110_4000
0x4110_3000
0x4110_2000
0x4110_1000
0x4110_0000
0x4010_0000
0x4000_0000
Non-Secure
0x5000_0000
0x4930_D000
0x4930_C000
0x4930_B000
0x4930_A000
0x4930_9000
0x4930_8000
0x4930_7000
0x4930_6000
0x4930_5000
0x4930_4000
0x4930_3000
0x4930_2000
0x4930_1000
0x4930_0000
0x4920_9000
0x4920_8000
0x4920_7000
0x4920_6000
0x4920_5000
0x4920_4000
0x4920_3000
0x4920_2000
0x4920_1000
0x4920_0000
0x4810_4000
0x4810_3000
0x4810_2000
0x4810_0000
0x4800_0000
Non-Secure
0x5800_0000
0x5180_2000
0x5180_1000
0x5180_0000
0x5170_4000
0x5170_3000
0x5170_2000
0x5170_1000
0x5170_0000
0x5160_0000
0x5150_0000
0x5140_0000
0x5120_4000
0x5120_3000
0x5120_2000
0x5120_1000
0x5120_0000
0x5110_8000
0x5110_7000
0x5110_6000
0x5110_5000
0x5110_4000
0x5110_3000
0x5110_2000
0x5110_1000
0x5110_0000
0x5010_0000
0x5000_0000
Secure
0x6000_0000
0x5930_D000
0x5930_C000
0x5930_B000
0x5930_A000
0x5930_9000
0x5930_8000
0x5930_7000
0x5930_6000
0x5930_5000
0x5930_4000
0x5930_3000
0x5930_2000
0x5930_1000
0x5930_0000
0x5920_9000
0x5920_8000
0x5920_7000
0x5920_6000
0x5920_5000
0x5920_4000
0x5920_3000
0x5920_2000
0x5920_1000
0x5920_0000
0x5810_4000
0x5810_3000
0x5810_2000
0x5810_0000
0x5800_0000
Secure
Figure 3-2 : Memory Map
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 19 of 64
9
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
The following table shows the memory map.
6
7
8
4
5
2
3
RO
W
ID
1
From
Address
To
Size
0x0000_0000 0x0007_FFFF 512KB
Region
Name
Code
0x0008_0000 0x00FF_FFFF 15.5MB Reserved
0x0100_0000 0x011F_FFFF 2MB Code
0x0120_0000 0x0FFF_FFFF 238MB Reserved
0x1000_0000 0x100F_FFFF 512KB Code
0x1010_0000 0x10FF_FFFF 15.5MB Reserved
0x1100_0000 0x111F_FFFF 2MB Code
0x1120_0000 0x1FFF_FFFF 238MB Reserved
0x2000_0000 0x2007_FFFF 512KB SRAM
Description
ITCM 3
Reserved
FPGA SRAM (2MB) 1
Reserved
ITCM 3
Reserved
FPGA SRAM (2MB) 1
Reserved
DTCM (4 x banks of 128KB) 3
DAI 0547C
Issue C
3 Overview
Alias with
Row ID
5
1
7
3
IDAU Region Values
Security
IDAU
ID
NSC
NS
S
0
1
0
CODE
NSC
15 NS 2 0
10 0x2008_0000 0x20FF_FFFF 15.5MB Reserved
11 0x2100_0000 0x213F_FFFF 4MB
15 0x3000_0000 0x303F_FFFF 512KB
SRAM
12 0x2140_0000 0x27FF_FFFF 108MB Reserved
13 0x2800_0000 0x287F_FFFF 8MB SRAM
14 0x2880_0000 0x2FFF_FFFF 120MB Reserved
SRAM
16 0x3040_0000 0x30FF_FFFF 15.5MB Reserved
Reserved
Internal SRAM Area (SSE-
300 implements 2x2MB) 3
Reserved
QSPI (8MB) 1
Reserved
DTCM (4 x banks of 128KB) 3
17
19
9 S 3
RAM
NSC
17 0x3100_0000 0x313F_FFFF 4MB SRAM
18 0x3140_0000 0x37FF_FFFF 108MB Reserved
19 0x3800_0000 0x387F_FFFF 8MB SRAM
Reserved
Internal SRAM Area (SSE-
300 implements 2x2MB) 3
Reserved
QSPI (8MB) 1
11
13
20 0x3880_0000 0x3FFF_FFFF 120MB Reserved Reserved
21
22
23
24
0x4000_0000
0x4800_0000
0x5000_0000
0x5800_0000
0x47FF_FFFF
0x4FFF_FFFF
0x57FF_FFFF
0x5FFF_FFFF
128MB
128MB
128MB
128MB
Peripheral
Peripheral
Peripheral
Peripheral
Non-Secure Low Latency
Peripheral Region
Non-Secure High Latency
Peripheral Region
Secure Low Latency
Peripheral Region
Secure High Latency
Peripheral Region
25 0x6000_0000 0x6FFF_FFFF 256MB External RAM DDR4 1
23
24
21
22
NS
NS
S
S
NS
26 0x7000_0000 0x7FFF_FFFF 256MB External RAM DDR4 1 S
27 0x8000_0000 0x8FFF_FFFF 256MB
External device
DDR4 1 NS
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
4
4
5
5
6
7
8
0
0
0
0
0
0
0
Page 20 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
RO
W
ID
From
Address
To
Size
Region
Name
Description
28
29
30
31
32
0x9000_0000
0xA000_0000
0xB000_0000
0xC000_0000
0xD000_0000
0x9FFF_FFFF
0xAFFF_FFFF
0xBFFF_FFFF
0xCFFF_FFFF
0xDFFF_FFFF
256MB
256MB
256MB
256MB
256MB
External device
External device
External device
External device
External device
DDR4
DDR4
DDR4
DDR4
DDR4
1
1
1
1
1
33 0xE000_0000 0xE00F_FFFF 1MB EPPB
External Private Peripheral
Bus
34
35
0xE010_0000
0xE020_0000
0xE01F_FFFF
0xEFFF_FFFF
1MB
254MB
Vendor_SYS Reserved
Vendor_SYS
Maps to HMSTEXPPILL
Expansion Interface 2
36
37
38
0xF000_0000
0xF010_0000
0xF020_0000
0xF00F_FFFF
0xF01F_FFFF
0xFFFF_FFFF
1MB
1MB
254MB
Vendor_SYS Reserved
Vendor_SYS Reserved
Vendor_SYS
Maps to HMSTEXPPILL
Expansion Interface 2
Alias with
Row ID
DAI 0547C
Issue C
3 Overview
IDAU Region Values
Security
IDAU
ID
NSC
S
NS
S
NS
S
NS
NS
S
S
9
A
B
C
D
Exempt
E
E
Exempt
F
F
Table 3-3 : Memory map overview
0
0
0
0
0
0
0
0
0
This table outlines the main FPGA memories and their positions within the memory map.
Note 1 : Security Access is controlled by MPC.
Note 2 : Accesses to these addresses results in an AHB5 error response.
Note 3 : For security settings, control and features please refer to the Arm® Corstone™ SSE -300
Documentation.
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 21 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
DAI 0547C
Issue C
3 Overview
3.8
Expansion System peripherals
All FPGA peripherals are mapped to four areas of the memory map. The addresses and interfaces to access the four regions are:
Non-secure Low Latency region:
• 0x4000_0000 - 0x47FF_FFFF
• Manager Peripheral Expansion Low Latency Interface HMSTEXPPILL
Non-secure High Latency region:
• 0x4800_0000 - 0x4FFF_FFFF
• Manager Peripheral Expansion High Latency Interface HMSTEXPPIHL
Secure Low Latency region:
• 0x5000_0000 - 0x57FF_FFFF
• Manager Peripheral Expansion Low Latency Interface HMSTEXPPILL
Secure High Latency region:
• 0x5800_0000 - 0x5FFF_FFFF
• Manager Peripheral Expansion High Latency Interface HMSTEXPPIHL
To support TrustZone-Arm v8M and allow Software to map these peripherals to Secure or Non-secure address space, all peripherals are mapped twice and either an APB PPC or an AHB PPC gates access to these peripherals.
3.8.1
Manager Peripheral Expansion Low Latency Interface Memory Map
(HMSTEXPPILL)
The following table shows the FPGA peripheral mapping to the Non-secure Low Latency region
ROW
ID
1
10
11
12
13
14
15
16
17
18
5
6
7
8
9
2
3
4
Address
From
0x4000_0000
To
0x400F_FFFF
0x4010_0000
0x4110_0000
0x4110_1000
0x4110_2000
0x4110_3000
0x4110_4000
0x4110_5000
0x4110_6000
0x4110_7000
0x4110_8000
0x4120_0000
0x4120_1000
0x4120_2000
0x4120_3000
0x4120_4000
0x4140_0000
0x4150_0000
0x410F_FFFF
0x4110_0FFF
0x4110_1FFF
0x4110_2FFF
0x4110_3FFF
0x4110_4FFF
0x4110_5FFF
0x4110_6FFF
0x4110_7FFF
0x411F_FFFF
0x4120_0FFF
0x4120_1FFF
0x4120_2FFF
0x4120_3FFF
0x413F_FFFF
0x414F_FFFF
0x415F_FFFF
Size
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
1MB
1MB
Description
Subsystem peripherals
Reserved
GPIO 0
GPIO 1
GPIO 2
GPIO 3
AHB USER 0
AHB USER 1
AHB USER 2
AHB USER 3
Reserved
Reserved
DMA 1
DMA 2
DMA 3
Reserved
Ethernet
USB
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Alias with
ROW ID
36
37
40
41
42
44
45
30
31
32
33
34
35
Port
AHB
AHB
AHB
Page 22 of 64
ROW
ID
28
29
42
43
44
45
46
47
48
49
50
51
52
53
54
36
37
38
39
40
41
30
31
32
33
34
35
55
56
ROW
ID
19
20
21
22
23
24
25
26
27
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
Address
From
0x4160_0000
To
0x416F_FFFF
0x4170_0000
0x4170_1000
0x4170_2000
0x4170_3000
0x4170_4000
0x4180_0000
0x4180_1000
0x4180_2000
0x4170_0FFF
0x4170_1FFF
0x4170_2FFF
0x4170_3FFF
0x417F_FFFF
0x4180_0FFF
0x4180_1FFF
0x47FF_FFFF
Size
4KB
4KB
4KB
4KB
4KB
4KB
DAI 0547C
Issue C
3 Overview
Description
Alias with
ROW ID
Port
Reserved
User APB0
User APB1
User APB2
User APB3
47
48
49
50
APB
(Mem)
Reserved
QSPI Config
QSPI Write
52
53
Reserved
Table 3-2: MSTEXPPILL Non-secure Peripheral Map
AHB
The following table shows the FPGA peripheral mapping to the Secure Low Latency region
Address
From
0x5000_0000
To
0x500F_FFFF
0x5010_0000 0x510F_FFFF
0x5110_0000
0x5110_1000
0x5110_2000
0x5110_3000
0x5110_4000
0x5110_5000
0x5110_6000
0x5110_7000
0x5110_8000
0x5120_0000
0x5120_1000
0x5120_2000
0x5120_3000
0x5120_4000
0x5140_0000
0x5150_0000
0x5160_0000
0x5170_0000
0x5170_1000
0x5170_2000
0x5170_3000
0x5170_4000
0x5180_0000
0x5180_1000
0x5180_2000
0x5110_0FFF
0x5110_1FFF
0x5110_2FFF
0x5110_3FFF
0x5110_4FFF
0x5110_5FFF
0x5110_6FFF
0x5110_7FFF
0x511F_FFFF
0x5120_0FFF
0x5120_1FFF
0x5120_2FFF
0x5120_3FFF
0x513F_FFFF
0x514F_FFFF
0x515F_FFFF
0x516F_FFFF
0x5170_0FFF
0x5170_1FFF
0x5170_2FFF
0x5170_3FFF
0x517F_FFFF
0x5180_0FFF
0x5180_1FFF
0x56FF_FFFF
0x5700_0000 0x5700_0FFF
0x5700_1000 0x5700_1FFF
Size
4KB
4KB
4KB
1M
1M
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
Description
Subsystem peripherals
Reserved
GPIO 0
GPIO 1
GPIO 2
GPIO 3
AHB USER 0
AHB USER 1
AHB USER 2
AHB USER 3
Reserved
Reserved
DMA 1
DMA 2
DMA 3
Reserved
Ethernet
USB
Reserved
User APB0
User APB1
User APB2
User APB3
Reserved
QSPI Config
QSPI Write
Reserved
SRAM Memory Protection Controller
(MPC)
QSPI Memory Protection Controller
(MPC)
Alias with
ROW ID
25
26
17
18
20
21
22
23
8
9
10
13
14
15
5
6
7
3
4
Port
AHB
AHB
AHB
APB
(Mem)
AHB
APB
(Mem)
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 23 of 64
ROW
ID
57
58
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
Address
From
0x5700_2000
To
0x5700_2FFF
0x5700_3000 0x57FF_FFFF
Size
4KB
DAI 0547C
Issue C
3 Overview
Description
Alias with
ROW ID
DDR4 Memory Protection Controller
(MPC)
Reserved
Table 3-3: MSTEXPPILL Secure Peripheral Map
Port
Reserved regions respond with RAZ/WI when accessed .
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 24 of 64
16
17
18
19
12
13
14
15
5
6
7
8
9
10
11
1
2
3
4
24
25
26
27
28
29
20
21
22
23
ROW
ID
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
0x4800_0000
0x4810_0000
0x4810_2000
0x4810_3000
0x4810_3200
0x4810_3400
0x4920_0000
0x4920_1000
0x4920_2000
0x4920_3000
0x4920_4000
0x4920_5000
0x4920_6000
0x4920_7000
0x4920_8000
0x4920_9000
0x4930_0000
0x4930_1000
0x4930_2000
0x4930_3000
0x4930_4000
0x4930_5000
0x4930_6000
0x4930_7000
0x4930_8000
0x4930_9000
0x4930_A000
0x4930_B000
0x4930_C000
0x480F_FFFF
0x4810_1FFF
0x4810_2FFF
0x4810_31FF
0x4810_33FF
0x491F_FFFF
0x4920_0FFF
0x4920_1FFF
0x4920_2FFF
0x4920_3FFF
0x4920_4FFF
0x4920_5FFF
0x4920_6FFF
0x4920_7FFF
0x4920_8FFF
0x492F_FFFF
0x4930_0FFF
0x4930_1FFF
0x4930_2FFF
0x4930_3FFF
0x4930_4FFF
0x4930_5FFF
0x4930_6FFF
0x4930_7FFF
0x4930_8FFF
0x4930_9FFF
0x4930_AFFF
0x4930_BFFF
0x4FFF_FFFF
DAI 0547C
Issue C
3 Overview
3.8.2
MSTEXPPIHL Peripheral Map
Address
From To
Size Description
Alias with
ROW ID
Port
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
Non-Secure Region
Subsystem peripherals
Reserved
4KB
0.5KB
0.5KB
Ethos - U55 APB
U55 timing adapter 0 APB
U55 timing adapter 1 APB
Reserved
FPGA - SBCon I2C (Touch)
FPGA - SBCon I2C (Audio Conf)
FPGA - PL022 (SPI ADC)
FPGA - PL022 (SPI Shield0)
FPGA - PL022 (SPI Shield1)
SBCon (I2C - Shield0)
SBCon (I2C – Shield1)
USER APB
FPGA - SBCon I2C (DDR4 EEPROM)
Reserved
FPGA - SCC registers
FPGA - I2S (Audio)
FPGA - IO (System Ctrl + I/O)
UART0 - UART_F[0]
UART1 - UART_F[1]
UART2 - UART_F[2]
UART3 - UART Shield 0
UART4 - UART Shield 1
UART5 - UART_F[3]
Reserved
APB0
APB0
APB1
CLCD Config Reg 55
RTC
Reserved
56
Table 3-4: MSTEXPPIHL Non-secure Peripheral Map
40
41
42
43
36
37
38
39
45
46
47
48
49
50
51
52
53
31
32
33
35
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 25 of 64
44
45
46
47
40
41
42
43
34
35
36
37
38
39
30
31
32
33
52
53
54
55
56
57
48
49
50
51
ROW
ID
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
From
Address
0x5800_0000
0x5810_2000
0x5810_3000
0x5810_3200
0x5810_3400
0x5920_0000
0x5920_1000
0x5920_2000
0x5920_3000
0x5920_4000
0x5920_5000
0x5920_6000
0x5920_7000
0x5920_8000
0x5920_9000
0x5930_0000
0x5930_1000
0x5930_2000
0x5930_3000
0x5930_4000
0x5930_5000
0x5930_6000
0x5930_7000
0x5930_8000
0x5930_9000
0x5930_A000
0x5930_B000
0x5930_C000
To
0x5810_1FFF
0x5810_2FFF
0x5810_31FF
0x5810_33FF
0x591F_FFFF
0x5920_0FFF
0x5920_1FFF
0x5920_2FFF
0x5920_3FFF
0x5920_4FFF
0x5920_5FFF
0x5920_6FFF
0x5920_7FFF
0x5920_8FFF
0x592F_FFFF
0x5930_0FFF
0x5930_1FFF
0x5930_2FFF
0x5930_3FFF
0x5930_4FFF
0x5930_5FFF
0x5930_6FFF
0x5930_7FFF
0x5930_8FFF
0x5930_9FFF
0x5930_AFFF
0x5930_BFFF
0x5FFF_FFFF
DAI 0547C
Issue C
3 Overview
Size Description
Alias with
ROW ID
Port
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
0.5KB
0.5KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
4KB
Secure Region
Subsystem peripherals
Ethos - U55 APB
U55 timing adapter 0 APB
U55 timing adapter 1 APB
Reserved
FPGA - SBCon I2C (Touch)
FPGA - SBCon I2C (Audio Conf)
FPGA - PL022 (SPI ADC)
FPGA - PL022 (SPI Shield0)
FPGA - PL022 (SPI Shield1)
SBCon (I2C - Shield0)
SBCon (I2C - Shield1)
USER APB
FPGA - SBCon I2C (DDR4 EEPROM)
Reserved
FPGA - SCC registers
FPGA - I2S (Audio)
FPGA - IO (System Ctrl + I/O)
UART0 - UART_F[0]
UART1 - UART_F[1]
UART2 - UART_F[2]
UART3 - UART Shield 0
UART4 - UART Shield 1
UART5 - UART_F[3]
Reserved
CLCD Config Reg 27
RTC
Reserved
28
Table 3-5: MSTEXPPIHL Secure Peripheral Map
APB0
APB0
APB1
12
13
14
15
17
18
19
20
21
22
23
24
25
8
9
10
11
3
4
5
7
Note
Reserved regions respond with RAZ/WI when accessed.
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 26 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
DAI 0547C
Issue C
3 Overview
3.9
FPGA Utilization
This application note is designed for MPS3 board. The board will use a a Xilinx Kintex Ultrascale XCKU115 FPGA. The FPGA features up to 8MB BRAM (2160 BlocRAM tiles) and up to 663360 LUTs.
Full part number: XCKU115-FLVB1760-1-C.
3.9.1
Total design utilization
The following table shows the total number of LUTs and BRAMs currently used in the provided image.
Site Type
LUTs
Used
270540
Util%
40
BlockRAM Tile 1851 86
Note : These numbers relate to the complete image, not individual IP blocks. The numbers must not be used to infer IP size, or the relative sizes of different IP blocks, because the implementation and system design can significantly differ.
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 27 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
4 Programmers Model
DAI 0547C
Issue C
4 Programmers Model
This programmers model is supplemental to the CMSDK, SIE-200 and SIE-300 documentation which covers many of the included components in more detail. The connectivity of the system is shown in MPS3 System Overview
Diagram.
4.1
ITCM
The primary boot memory is an ITCM which is implemented with 512KB of FPGA SRAM connected to the ITCM interface of the Cortex-M55 inside the subsystem.
• Size: 512KB FPGA SRAM
• Address Range: 0x0000_0000 - 0x0007_FFFF
• Alias Range: 0x1000_0000 - 0x1007_FFFF
4.2
FPGA SRAM
The code memory is extended with 2MB of internal FPGA SRAM.
• Size: 2MB FPGA SRAM
• Address Range: 0x0100_0000 - 0x011F_FFFF
• Alias Range: 0x1100_0000 - 0x111F_FFFF
4.3
DTCM
The primary data memory is provided by DTCM made up of 4 banks, each implemented as 128KB of internal
FPGA SRAM connected to the 4 DTCM interfaces of the Cortex-M55 inside the subsystem.
• Size: 4 x 128KB FPGA SRAM
• Address Range: 0x2000_0000 - 0x2007_FFFF
• Alias Range: 0x3000_0000 - 0x3007_FFFF
4.4
QSPI
The SMM provides 8MB of external Flash memory which is accessed through a QSPI interface.
• Size: 8MB fitted
• Address Range: 0x2800_0000 - 0x287F_FFFF
• Alias Range: 0x3800_0000 - 0x387F_FFFF
4.5
DDR4
The SMM provides access to 2GB of External DDR4 memory through the DDR4 controller.
• Size: 2GB DDR4 (4GB fitted only 2GB accessible)
• Address Range: 0x6000_0000 - 0xDFFF_FFFF
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 28 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
DAI 0547C
Issue C
4 Programmers Model
4.6
AHB GPIO
The SMM uses four CMSDK AHB GPIO blocks, each providing 16 bits of I/O. These are connected to the two
Arduino compatible headers shield 0 and 1 as follows:
Shield
SH0_IO [15:0]
SH0_IO [17:16]
SH1_IO [15:0]
SH1_IO [17:16]
GPIO
GPIO0[15:0]
GPIO2[1:0]
GPIO1[15:0]
GPIO2[3:2]
Table 4-1 : GPIO Mapping
4.7
SPI
The SMM implements three PL022 SPI modules:
• One general purpose SPI module (SPI ADC) is used for communication with an onboard ADC. The analog pins of the Shield headers are connected to the input channels of the ADC.
• Two general purpose SPI modules connect to the Shield headers and provide an SPI interface on each header.
These are alt-functions on the GPIO ports. See Shield Support Section for mappings.
4.8
SBCon (I
2
C)
The SMM implements five SBCon serial modules:
• One SBCon module for use by the Color LCD touch interface.
• One SBCon module to configure the audio controller.
• Two general purpose SBCon modules that connect to Shield0 and Shield1 and provide an I 2 C interface on
each header. These are alt-functions on the GPIO ports. See Shield Support Section for mappings.
• One SBCon module is used to read EEPROM from DDR4 SODIMM.
The selftest software provided with the MPS3 includes example code for the color LCD module control and audio interfaces.
The following table lists the control registers for the two-wire SBCon in offset order from the base memory address. For example, the Touchscreen SBCon non-secure base address is 0x4920_0000 and the secure base address is 0x5920_0000.
Address
0x000
0x000
0x004
Name Access Description
SB_CONTROL Read Read serial control bits:
Bit [0] is SCL
Bit [1] is SDA
SB_CONTROLS Write Set serial control bits:
Bit [0] is SCL
Bit [1] is SDA
SB_CONTROLC Write Clear serial control bits:
Bit [0] is SCL
Bit [1] is SDA
Table 4-2 SBCon Register Map
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 29 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
4.9
UART
The SMM implements six CMSDK UARTs:
• UART 0 – FPGA_UART0
• UART 1 – FPGA_UART1
• UART 2 – FPGA_UART2
• UART 3 - Shield 0
• UART 4 - Shield 1
• UART 5 - FPGA_UART3
UART 3 and 4 are alt-functions on the GPIO ports. See Shield Support for mappings.
4.10
Color LCD parallel interface
The color LCD module has two interfaces:
• Parallel bus for sending image data to the LCD.
• I 2 C to transfer data input from the touch screen.
DAI 0547C
Issue C
4 Programmers Model
This is a custom peripheral that provides an interface to a STMicroelectronics STMPE811QTR Port Expander with
Advanced Touch Screen Controller on the Keil MCBSTM32C display board. See MCBQVGA-TS-Display-v12 – Keil
MCBSTM32F200 display board schematic . The Keil display board contains an AM240320LG display panel and uses a Himax HX8347-D LCD controller.
The selftest software provided with the MPS3 includes drivers and example code for both interfaces.
The following table lists CLCD control and data registers in offset order from the base memory address.
The CLCD non-secure base address is 0x4930A000, the secure base address is 0x5930A000.
Address
0x000
0x004
0x008
Name
CHAR_COM
CHAR_DAT
CHAR_RD
Type
Write command, read busy status.
Write data RAM,
Read data RAM.
Captured data from an earlier read command
Information
A write to this address causes a write to the LCD command register. A read from this address causes a read from the LCD busy register.
A write to this address causes a write to the LCD data register. A read from this address causes a read from the LCD data register.
Bits [31:8] : Reserved.
Bits [7:0] : contain the data from last request read, valid only when bit 0 is set in
CHAR_RAW.
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 30 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
Address
0x00C
0x010
0x014
0x04C
Name
CHAR_RAW
CHAR_MASK
CHAR_STAT
CHAR_MISC
DAI 0547C
Issue C
4 Programmers Model
Type
Write to reset access complete flag
Read to determine if data in CHAR_RD is valid
Write interrupt mask
Read status
Miscellaneous
Control
Information
Bits [31:1] : Reserved
Bit [0] : indicates Access Complete (write
0 to clear). The bit is set if read data is valid.
Set bit 0 to 0b1 to enable Access
Complete to generate an interrupt.
Bits [31:1] : Reserved
Bit [0] : is the state of Access Complete
ANDed with the CHAR_MASK.
Bit Field Description :
Bits [31:7] : Reserved
Bit [6] : CLCD_BL
Bit [5] : CLCD_RD
Bit [4] : CLCD_RS
Bit [3] : CLCD_RESET
Bit [2] : RESERVED
Bit [1] : CLCD_WR
Bit [0] : CLCD_CS
Table 4-3 : LCD control and data registers
4.11
Ethernet
The SMM design connects to an SMSC LAN9220 device through a static memory interface.
The selftest software includes example code for an internal loopback operation.
4.12
USB
The SMM design connects to a Hi-Speed USB OTG controller (ISP1763) device through a static memory interface.
The selftest software includes example code for an internal loopback operation.
4.13
RTC
The SMM uses PL031 PrimeCell Real Time Clock Controller. A counter in the Controller is incremented every second. The RTC can therefore be used as a basic alarm function or long timebase counter.
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 31 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
4.14
Audio I
2
S
The I 2 S interface supports transfer of digital audio to and from the Audio CODEC.
DAI 0547C
Issue C
4 Programmers Model
The following table shows the register memory map for I 2 S Audio registers in address offset order from the base memory address. The I2S non-secure base address is 0x49301000, the secure base address is 0x59301000.
Offset Name Description
0x000 CONTROL Control Register
Bits [31:18] Reserved
Bit [17]
Bit [16]
Bit [15]
Audio codec reset control (output pin)
FIFO reset
Reserved
Bits [14:12] Rx Buffer IRQ Water Level - Default 2 (IRQ triggers when less than two-word space is available)
Bit [11] Reserved
Bits [10:8] TX Buffer IRQ Water Level - Default 2 (IRQ triggers when more than two-word space is available)
Reserved Bits [7:4]
Bit [3]
Bit [2]
Rx Interrupt Enable
Rx Enable
0x004
0x008
STATUS
ERROR
Bit [1]
Bit [0]
Tx Interrupt Enable
Tx Enable
Status Register
Bits [31:6] Reserved
Bit [5]
Bit [4]
Rx Buffer Full
Rx Buffer Empty
Bit [3]
Bit [2]
Bit [1]
Bit [0]
Error Status Register
Bits [31:2]
Tx Buffer Full
Tx Buffer Empty
Rx Buffer Alert (Depends on Water level)
Tx Buffer Alert (Depends on Water level)
Reserved
Bit [1]
Bit [0]
Rx overrun. Set this bit to clear.
Tx overrun or underrun. Set this bit to clear.
0x00C DIVIDE
0x010 TXBUF
Clock Divide Ratio Register (for left or right clock)
Bits [31:10] Reserved
Bits [9:0] LRDIV (Left/Right). The default value is 0x80. 12.288MHz / 48kHz /
2*(L+R) = 128.
Transmit Buffer FIFO Data Register. This is a write-only register.
0x014 RXBUF
Bits [31:16] Left channel
Bits [15:0] Right channel
Receive Buffer FIFO Data Register. This is a read-only register.
Bits [31:16] Left channel
Bits [15:0]
0x018- RESERVED -
Right channel
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 32 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
Offset Name
0x2FF
0x300 ITCR
Description
0x304
0x308
ITIP1
ITOP1
Integration Test Control Register
Bits [31:1]
Bit [0]
Reserved
ITCR
Integration Test Input Register 1
Bits [31:1] Reserved
Bit [0] SDIN
Integration Test Output Register 1
Bits [31:4] Reserved
Bit [3]
Bit [2]
Bit [1]
Bit [0]
IRQOUT
LRCK
SCLK
SDOUT
DAI 0547C
Issue C
4 Programmers Model
Table 4-4 Audio I2S Register Map
4.15
Audio Configuration
The SMM implements a simple SBCon interface based on I 2 C. It configures the Cirrus Logic Low Power
Codec with Class D Speaker Driver, CS42L52 part on the MPS3 board.
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 33 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
DAI 0547C
Issue C
4 Programmers Model
4.16
FPGA system control and I/O
The AN547 SMM implements an FPGA system control block with non-secure base address 0x49302000 and secure base address 0x59302000.
The following table shows the register memory map in offset order from the base memory address.
Offset
0x000
0x004
0x008
0x00C
0x010
0x014
0x018
0x01C
0x020
0x024
0x028
0x04C
Name
FPGAIO->LED0
Information
LED connections
Bits [31:10] Reserved
Bits [9:0] LED
FPGAIO-> M55DBGCTRL Cortex-M55 Control signals
Bits [31:4] Reserved
Bit [3]
Bit [2]
Bit [1]
Bit [0]
SPNIDEN
SPIDEN
NIDEN
DBGEN
FPGAIO->BUTTON
FPGAIO->GPIOALT2
FPGAIO->CLK1HZ
FPGAIO->CLK100HZ
FPGAIO->COUNTER
FPGAIO->PRESCALE
Buttons
Bits [31:2] Reserved
Bits [1:0] Buttons
GPIO Alt Function 2 select:
Bits [31:0] Reserved
1Hz up counter
100Hz up counter
Cycle Up Counter - Increments when 32-bit prescale counter equals zero and automatically reloads.
Prescale Reload Value
FPGAIO->PSCNTR
RESERVED
FPGAIO->SWITCH
FPGAIO->MISC
Bits [31:0] Reload value for prescale counter.
Prescale Counter Value
Bits [31:0] Current value of the prescale counter. The prescale counter is reloaded with PRESCALE after reaching 0.
-
Switches
Bits [31:8] Reserved
Bits [7:0] Switches
Misc. control
Bits [31:3] Reserved
Bit [2] SHIELD1_SPI_nCS
Bit [1] SHIELD0_SPI_nCS
Bit [0] ADC_SPI_nCS
Table 4-5 : System Control and I/O Registers
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 34 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
DAI 0547C
Issue C
4 Programmers Model
4.17
Serial Configuration Controller (SCC)
The SMM implements communication between the MCC and the FPGA system through an SCC interface. read address
Write address
11
Write data
0
43 32 31 0
Read interface CFGDATAIN
31 0
CFGDATAOUT
0
Read data
CFGLOAD
CFGWnR
CFGCLK fpga_scc_if.v
FPGA
Figure 4-1 : Diagram of the SCC Interface
The read-addresses and write-addresses of the SCC interface do not use bits [1:0]
All address words are word-aligned.
The following table shows SCC registers in offset order from the base address. The non-secure base address in 0x49300000, the secure is 0x59300000.
Address
0x000
0x004
0x008
0x00C
0x010
Name
CFG_REG0
CFG_REG1
CFG_REG2
CFG_REG3
CFG_REG4
Information
Bits [31:2] Reserved
Bit [1] CPU_WAIT ctrl
Bit [0] Reserved
Bits [31:0] DATA RW
Bits [31:1] Reserved
Bit [0] QSPI Select signal
Bits [31:0] Reserved
Bits [31:4] Reserved
Bits [3:0] Board Revision [r]
0x014 CFG_REG5
0x018 – 0x09C RESERVED
0x0A0
0x0A4
SYS_CFGDATA_RTN
SYS_CFGDATA_OUT
Bits [31:0]
-
Bits [31:0]
Bits [31:0]
ACLK Frequency in Hz
DATA RW
DATA RW
0x0A8 SYS_CFGCTRL
Bit [31]
Start (generates interrupt on write to this bit)
Bit [30] RW access
Bits [29:26] Reserved
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 35 of 64
MCC
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
Address
0x0AC
0x0B0
0xFF8
0xFFC
–
Name
SYS_CFGSTAT
0xFF4 RESERVED
SCC_AID
SCC_ID
DAI 0547C
Issue C
4 Programmers Model
Information
Bits [25:20] Function value
Bits [19:12] Reserved
Bits [11:0] Device (value of 0/1/2 for supported clocks)
Bits [31:2] Reserved
Bit [1] Error
Bit [0]
-
Complete
SCC AID register is read only
Bits [31:24] FPGA build number
Bits [23:20]
V2M-MPS3 target board revision (A = 0, B =
1, C = 2)
Bits [19:8] Reserved
Bits [7:0] Number of SCC configuration register
SCC ID register is read only
Bits [31:24] Implementer ID: 0x41 = Arm
Bits [23:20] Reserved
Bits [19:16] IP Architecture: 0x5 =AXI
Primary part number in Binary Coded
Bits [15:4] Decimal (BCD): Default value 0x547 =
AN547
Bits [3:0] Reserved
Table 4-6 : SCC Register memory map
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 36 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
5 Clock architecture
5.1
Clocks
The following sections list clocks entering the FPGA and generated by the SMM.
DAI 0547C
Issue C
5 Clock architecture
5.1.1
Source clocks
The following clocks are inputs to the FPGA from source clocks on the board.
Clock Input Pin
REFCLK24MHZ OSCCLK[0]
ACLK
MCLK
OSCCLK[1]
OSCCLK[2]
GPUCLK
AUDCLK
HDLCDCLK
DBGCLK
OSCCLK[3]
OSCCLK[4]
OSCCLK[5]
CS_TCK
Frequency
24MHz
32MHz
50MHz
50MHz
24.576MHz
23.75MHz
Set by debugger
Note
24MHz reference
Programmable oscillator
Programmable oscillator
Programmable oscillator
Programmable oscillator
Programmable oscillator
JTAG input
CFGCLK
DDR4_REF_CLK c0_sys_clk_p/n
SMBM_CLK
CFG_CLK
SMBM_CLK
Set by MCC
100MHz
SCC register clock from MCC
Differential input clock to DDR4 controller
Set by MCC (40MHz) SMB clock from MCC
Table 5-1 : Source clocks
5.1.2
Generated clocks
The following clocks are generated inside the FPGA from the source clocks on the board.
Clock
MAINCLK
PERIF_CLK
AUDMCLK
AUDSCLK
SDMCLK
CLK32KHZ
CLK100HZ
CLK1HZ
CFGCLK
Source
OSCCLK[1]
Frequency
32MHz
OSCCLK[3]
AUDCLK
AUDCLK
25MHz
12.29MHz
3.07MHz
REFCLK24MHZ 50MHz
REFCLK24MHZ 32kHz
REFCLK24MHZ 100Hz
REFCLK24MHZ 1Hz
CFG_CLK Set by MCC
-
-
-
-
Note
Clock source for SSE-300 and all non- APB peripherals in the design
Clock source for APB peripherals
-
-
SCC register clock from MCC
Table 5-2 : Generated internal clocks
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 37 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
5.1.3
SSE-300 clocks
The following clocks generated within the FPGA are connected to the SSE-300 subsystem.
SSE-300 Clock Input
SYSCLK
CPU0CLK
AONCLK
CNTCLK
SLOWCLK
FPGA Clock
MAINCLK
MAINCLK
MAINCLK
MAINCLK
CLK32KHZ
Frequency
32MHz
32MHz
32MHz
32MHz
32KHz
DAI 0547C
Issue C
5 Clock architecture
Note
Main System clock
CPUclock
Always On clock
Counter clock
Slow clock
Table 5-3 : SSE-300 clocks
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 38 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
DAI 0547C
Issue C
6 FPGA Secure Privilege Control
6 FPGA Secure Privilege Control
The SSE-300 Subsystem Secure Privilege and Non-Secure Privilege Control Block provide expansion security control signals to control the security gating units outside the subsystem. The following table lists the connectivity of the system security extension signals.
Component Name Component signals msc_irq
USER MSC msc_irq_clear cfg_nonsec apb_ppc_irq
APB PPC EXP 0 apb_ppc_clear cfg_sec_resp cfg_non_sec cfg_ap apb_ppc_irq apb_ppc_clear
APB PPC EXP 1
APB PPC EXP 2 cfg_sec_resp cfg_non_sec cfg_ap apb_ppc_irq apb_ppc_clear cfg_sec_resp cfg_non_sec cfg_ap
AHB PPC EXP 0
AHB PPC EXP 1
MPC SSRAM ahb_ppc_irq ahb_ppc_clear cfg_sec_resp cfg_non_sec chg_ap ahb_ppc_irq ahb_ppc_clear cfg_sec_resp cfg_non_sec chg_ap secure_error_irq
Security Expansion Signals
SMSCEXPSTATUS[3:1]
SMSCEXPCLEAR[3:1]
NSMSCEXP[0]
SPERIPHPPCEXPSTATUS[0]
SPERIPHPPCEXPCLEAR[0]
SECRESPCFG
PERIPHNSPPCEXP0[15:0]
PERIPHPPPCEXP0[15:0]
SPERIPHPPCEXPSTATUS[1]
SPERIPHPPCEXPCLEAR[1]
SECRESPCFG
PERIPHNSPPCEXP1[15:0]
PERIPHPPPCEXP1[15:0]
SPERIPHPPCEXPSTATUS[2]
SPERIPHPPCEXPCLEAR[2]
SECRESPCFG
PERIPHNSPPCEXP2[15:0]
PERIPHPPPCEXP2[15:0]
SMAINPPCEXPSTATUS[0]
SMAINPPCEXPCLEAR[0]
SECRESPCFG
MAINNSPPCEXP0[15:0]
MAINPPPCEXP0[15:0]
SMAINPPCEXPSTATUS[1]
SMAINPPCEXPCLEAR[1]
SECRESPCFG
MAINNSPPCEXP1[15:0]
MAINPPPCEXP1[15:0]
SMPCEXPSTATUS[2]
Table 6-1 : Security Expansion signals connectivity
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 39 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
DAI 0547C
Issue C
6 FPGA Secure Privilege Control
The following table lists the peripherals that are controlled by SMSCEXP.
Each MSC <n> interface is controlled by SMSCEXPSTATUS[n] and SMSCEXPCLEAR [n].
SMSCEXP Interface Number <n>
0
1
2
3
15:4
Name
Reserved
DMA 1
DMA 2
DMA 3
Reserved
Table 6-2 : Mapping of APB PPC EXP 0
The following table lists the peripherals that are controlled by PERIPHERAL PPC EXP 0.
Each APB <n> interface is controlled by PERIPHNSPPCEXP0[n] and PERIPHPPPCEXP0[n].
13
14
15
APB PPC EXP 0 Interface Number <n> Name
0
1
USER MEM APB0
USER MEM APB0
3:2
4
5
12:6
Reserved
NPU APB0
NPU APB1
Reserved
SSRAM Memory Protection Controller (MPC)
QSPI Memory Protection Controller (MPC)
DDR4 Memory Protection Controller (MPC)
Table 6-3 : Peripherals Mapping of APB PPC EXP 0
The following table lists the peripherals that are controlled by PERIPHERAL PPC EXP 1.
Each APB <n> interface is controlled by PERIPHNSPPCEXP1[n] and PERIPHPPPCEXP1[n].
4
5
6
7
8
15:9
1
2
3
APB PPC EXP 1 Interface Number <n>
0
Name
FPGA - SBCon I2C (Touch)
FPGA - SBCon I2C (Audio Conf)
FPGA - PL022 (SPI ADC)
FPGA - PL022 (SPI Shield 0)
FPGA - PL022 (SPI Shield1)
SBCon (I2C - Shield0)
SBCon (I2C – Shield1)
Reserved
I2C DDR4 EPROM
Reserved
Table 6-4 : Peripherals Mapping of APB PPC EXP 1
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 40 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
The following table lists the peripherals that are controlled by PERIPHERAL PPC EXP 2.
DAI 0547C
Issue C
6 FPGA Secure Privilege Control
Each APB <n> interface is controlled by PERIPHNSPPCEXP2[n] and PERIPHPPPCEXP2[n].
7
8
9
10
11
15:12
3
4
5
6
1
2
APB PPC EXP 2 Interface Number <n>
0
Name
FPGA - SCC registers
FPGA - I2S (Audio)
FPGA - IO (System Ctrl + I/O)
UART0 - UART_F[0]
UART1 - UART_F[1]
UART2 - UART_F[2]
UART3 - UART Shield0
UART4 - UART Shield1
UART5 - UART_F[3]
Reserved
CLCD
RTC
Reserved
Table 6-5 : Peripherals Mapping of APB PPC EXP 2
The following table lists the peripherals that are controlled by MAIN PPC EXP 0.
Each APB <n> interface is controlled by MAINNSPPCEXP0[n] and MAINPPPCEXP0[n].
4
5
6
7
8
15:9
1
2
3
AHB PPC EXP 0 Interface Number <n>
0
Name
GPIO_0
GPIO_1
GPIO_2
GPIO_3
User AHB interface 0
User AHB interface 1
User AHB interface 2
User AHB interface 3
Ethernet and USB
Reserved
Table 6-6 : Peripherals Mapping of AHB PPC EXP 0
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 41 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
The following table lists the peripherals that are controlled by MAIN PPC EXP 1.
Each APB <n> interface is controlled by MAINNSPPCEXP1[n] and MAINPPPCEXP1[n].
DAI 0547C
Issue C
6 FPGA Secure Privilege Control
1
2
AHB PPC EXP 1 Interface Number <n>
0
3
15:4
Name
Reserved
DMA 1
DMA 2
DMA 3
Reserved
Table 6-7 : Peripherals Mapping of AHB PPC EXP 1
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 42 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
7 Interrupt Map
DAI 0547C
Issue C
7 Interrupt Map
The following table shows how the interrupts in this SMM extend the SSE-300 interrupt map by adding to the expansion area.
Interrupt Input Interrupt Source
IRQ[0] Non-secure Watchdog reset Request
IRQ[1] Non-secure Watchdog Interrupt
IRQ[2] SLOWCLK Timer
IRQ[3] Timer 0
IRQ[4] Timer 1
IRQ[5] Timer 2
IRQ[6] Reserved
IRQ[7] Reserved
IRQ[8] Reserved
IRQ[9] MPC Combined (Secure)
IRQ[10] PPC Combined (Secure)
IRQ[11] MSC Combined (Secure)
IRQ[12] Bridge Error Combined Interrupt (Secure)
IRQ[13] Reserved
IRQ[14] MGMT_PPU
IRQ[15] SYS_PPU
IRQ[16] CPU0_PPU
IRQ[17] Reserved
IRQ[18] Reserved
IRQ[19] Reserved
IRQ[20] Reserved
IRQ[21] Reserved
IRQ[22] Reserved
IRQ[23] Reserved
IRQ[24] Reserved
IRQ[25] Reserved
IRQ[26]
IRQ[27]
IRQ[28]
IRQ[29]
IRQ[30]
IRQ[31]
DEBUG_PPU
TIMER 3 AON
CPU0CTIIRQ0
CPU0CTIIRQ01
Reserved
Reserved
IRQ[32]
IRQ[33]
IRQ[34]
IRQ[35]
IRQ[36]
IRQ[37]
System timestamp counter interrupt
UART 0 Receive Interrupt
UART 0 Transmit Interrupt
UART 1 Receive Interrupt
UART 1 Transmit Interrupt
UART 2 Receive Interrupt
Source
SSE-300
FPGA
System
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 43 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
DAI 0547C
Issue C
7 Interrupt Map
Interrupt Input Interrupt Source
IRQ[38] UART 2 Transmit Interrupt
IRQ[39]
IRQ[40]
UART 3 Receive Interrupt
UART 3 Transmit Interrupt
IRQ[41]
IRQ[42]
IRQ[43]
IRQ[44]
IRQ[45]
IRQ[46]
UART 4 Receive Interrupt
UART 4 Transmit Interrupt
UART 0 Combined Interrupt
UART 1 Combined Interrupt
UART 2 Combined Interrupt
UART 3 Combined Interrupt
IRQ[64]
IRQ[65]
IRQ[66]
IRQ[67]
IRQ[68]
IRQ[69]
IRQ[70]
IRQ[71]
IRQ[87:72]
IRQ[103:88]
IRQ[119:104]
IRQ[123:120]
IRQ[124]
IRQ[125]
IRQ[126]
IRQ[127]
IRQ[130:128]
IRQ[47]
IRQ[48]
IRQ[49]
IRQ[50]
IRQ[51]
IRQ[52]
IRQ[53]
IRQ[54]
IRQ[55]
IRQ[56]
IRQ[59:57]
IRQ[60]
IRQ[61]
IRQ[62]
IRQ[63]
UART 4 Combined Interrupt
UART Overflow (0, 1, 2, 3, 4 & 5)
Ethernet
Audio I 2 S
Touch Screen
USB
SPI ADC
SPI (Shield 0)
SPI (Shield 1)
U55 Interrupt
Reserved
DMA 1 Error Interrupt
DMA 1 Terminal Count Interrupt
DMA 1 Combined Interrupt
DMA 2 Error Interrupt
DMA 2 Terminal Count Interrupt
DMA 2 Combined Interrupt
DMA 3 Error Interrupt
DMA 3 Terminal Count Interrupt
DMA 3 Combined Interrupt
GPIO 0 Combined Interrupt
GPIO 1 Combined Interrupt
GPIO 2 Combined Interrupt
GPIO 3 Combined Interrupt
GPIO 0 individual interrupts
GPIO 1 individual interrupts
GPIO 2 individual interrupts
GPIO 3 individual interrupts
UART 5 Receive Interrupt
UART 5 Transmit Interrupt
UART 5 Combined Interrupt
Reserved
Source
FPGA
System
Table 7-1 : Combined SSE-300 and FPGA System Interrupt Map
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 44 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
7.1
UART Interrupts
There are six CMSDK UARTs in the system, each with the following interrupt pins:
DAI 0547C
Issue C
7 Interrupt Map
• TXINT
• RXINT
• TXOVRINT
• EXOVRINT
• UARTINT
The TXINT, RXINT and UARTINT interrupt signals of each UART drive a single interrupt input of the SSE-
300 Example Subsystem. In addition, the TXOVERINT and EXOVRINT interrupt signals of all six UARTs, twelve signals in all, are logically ORed together to drive IRQ[47].
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 45 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 Application Note AN547
8 Shield Support
DAI 0547C
Issue C
8 Shield Support
This SMM supports external shield devices. To enable the Shield support, two SPI, two UART and two I 2 C interfaces are multiplexed with GPIO over the Shield Headers.
V2M-MPS3 – HBI0309
FPGA Application Note
SPI x2
I2C x2
UART x2
GPIO x3
Shield0
Shield1
Figure 8-1 : Shield Device Expansion
Multiplexing is controlled by the alternative function output from the associated GPIO Register. An experimental second alternative function is multiplexed for pins 1-9 of Shield 0 and these are controlled through GPIOALT2 in the FPGAIO Registers at address offset 0x0C .
The second ALT function is unused on AN547 and is not shown in the following table.
MPS3
SH0_IO0
SH0_IO1
SH0_IO2
SH0_IO3
GPIO
GPIO0_0
GPIO0_1
GPIO0_2
GPIO0_3
ALT Function 1
UART3 RXD – SH0_RXD
UART3 TXD – SH0_TXD
-
-
ALT Description 1
Shield 0 UART Receive
Shield 0 UART Transmit
-
-
SH0_IO4
SH0_IO5
SH0_IO6
SH0_IO7
SH0_IO8
SH0_IO9
SH0_IO10
GPIO0_4
GPIO0_5
GPIO0_6
GPIO0_7
GPIO0_8
GPIO0_9
GPIO0_10
-
-
SPI3 SS – SH0_nCS
-
-
-
-
-
-
-
-
-
-
Shield 0 SPI Chip Select
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 46 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
MPS3 GPIO ALT Function 1
SH0_IO11
SH0_IO12
SH0_IO13
SH0_IO14
GPIO0_11
GPIO0_12
GPIO0_13
GPIO0_14
SPI3 MOSI – SH0_DO
SPI3 MISO – SH0_DI
SPI3 SCK – SH0_CLK
SBCON2 SDA – SH0_SDA
GPIO0_15
GPIO1_0
GPIO1_1
GPIO1_2
GPIO1_3
GPIO1_4
GPIO1_5
GPIO1_6
GPIO1_7
GPIO1_8
GPIO1_9
GPIO1_10
GPIO1_11
GPIO1_12
GPIO1_13
GPIO1_14
GPIO1_15
SH0_IO15
SH1_IO0
SH1_IO1
SH1_IO2
SH1_IO3
SH1_IO4
SH1_IO5
SH1_IO6
SH1_IO7
SH1_IO8
SH1_IO9
SH1_IO10
SH1_IO11
SH1_IO12
SH1_IO13
SH1_IO14
SH1_IO15
SBCON2 SCL – SH0_SCL
UART4 RXD – SH1_RXD
UART4 TXD – SH1_TXD
-
-
-
-
-
-
-
-
SPI4 SS – SH1_nCS
SPI4 MOSI – SH1_DO
SPI4 MISO – SH1_DI
SPI4 SCK – SH1_CLK
SBCON3 SDA – SH1_SDA
SBCON3 SCL – SH1_SCL
DAI 0547C
Issue C
8 Shield Support
ALT Description 1
Shield 0 SPI Data Out
Shield 0 SPI Data In
Shield 0 SPI Clock
Shield 0 I2C Data
Shield 0 I2C Clock
Shield 1 UART Receive
Shield1 UART Transmit
-
-
-
-
-
-
-
-
Shield 1 SPI Chip Select
Shield 1 SPI Data Out
Shield 1 SPI Data In
Shield 1 SPI Clock
Shield 1 I2C Data
Shield 1 I2C Clock
Table 8-1 : Shield Alternative Function Pinout
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 47 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
9 ZIP Bundle Description
9.1
Overall Structure
The accompanying .zip
bundle contains:
DAI 0547C
Issue C
8 Shield Support
• This Application Note Document.
• An example Keil® MDK Version 5.31 software project, that can be run on the MPS3 board peripherals and interfaces.
• Boardfiles/ directory containing the directory structure and files to be loaded onto the MPS3 SD Card.
This is required to configure the MPS3 board to load and run this implementation.
9.2
Bundle Directory Tree/Structure
The directory tree structure of the bundle is shown below.
|-- Boardfiles
| |-- MB
| | |-- HBI0309B
| | |-- HBI0309C
| |-- SOFTWARE
| | |-- an547_st.axf
| |-- config.txt
|-- Docs
| |-- DAI0547C_SSE300_with_Cortex-M55_and_Ethos-U55_FPGA_for_mps3.pdf
|-- Software
| |-- selftest
| |-- apaaci
| |-- apclcd
| |-- apgpio
| |-- aplan
| |-- apleds
| |-- apmain
| |-- apmem
| |-- apqspi
| |-- aprtc
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 48 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
| |-- apssp
| |-- aptimer
| |-- aptsc
| |-- apuart
| |-- apusb
| |-- RTE
| |-- v2m_mps3
| |-- an547_st.axf
| |-- move.bat
| |-- selftest_mpb.uvoptx
| |-- selftest_mpb.uvprojx
|-- Licence.pdf
|-- Release_Notes.txt
|-- revision_history.txt
DAI 0547C
Issue C
8 Shield Support
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 49 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
DAI 0547C
Issue C
10 Board Revision And Support
10 Board Revision And Support
10.1
Identifying the MPS3 board revision
The bundle supports MPS3 board revisions B and C. The board revision, if not known, can be identified from the silk screen text, inside a marked box, on the board as shown in the diagram below :
Board Part Number and Revision
Figure 10-1 : MPS3 board revision identifier
In this picture the part number is “HBI0309 B ” , which indicates that the board is revision B.
10.2
Bundle support for specific MPS3 board revisions.
There are two subdirectories in the Boardfiles/MB/ directory that correspond to the two supported revisions:
•
•
HBI0309B
HBI0309C
The contents of each of these directories, within the provided .zip
bundle, are identical but the MCC only uses
further details on how to identify the board part number and revision.
Only files modified within the directory name that align with the MPS3 board part number and revision are used by the MCC. Care must be taken to ensure that the correct directory contents are modified if required.
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 50 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
DAI 0547C
Issue C
11 Using AN547 on the MPS3 Board
11 Using AN547 on the MPS3 Board
11.1
Pre-Requisites
Before attempting to use the board, you must:
• Read the Arm® MPS3 FPGA Prototyping Board Technical Reference Manual . o In particular, become familiar with the description of the configuration and boot flow.
You must be able to:
• Connect a PC to the MPS3 board using a USB connection (which is required to load files onto the MPS3 board SD card to run the built .bit
file from the FPGA build flow).
• Power the MPS3 board.
• The MPS3 board appears as a mapped drive named “V2M_MPS3”.
• Understand how to power up, reset and establish a serial terminal over the USB connection to a host PC.
11.2
Loading a prebuilt image onto the MPS3 Board
To load the prebuilt AN547 image, follow these steps:
1.
Power up the MPS3 board using the PBON push button and wait for the V2M_MPS3 drive to appear.
2.
Format the V2M_MPS3 drive and copy the contents of <install_dir>/Boardfiles and paste them into the root directory of the attached V2M_MPS3 drive.
Note: You might want to manually modify and merge the contents for certain configuration files.
Alternatively, you can restore the existing configuration files from the /Boardfiles directory. The affected configuration files are: a.
<install_dir>/Boardfiles/config.txt b.
<install_dir>/Boardfiles/MB/HBI0309C/board.txt
3.
Eject the V2M_MPS3 volume from your computer to unmount the drive.
4.
Power cycle the MPS3 board using the PBRST push button and then launch MCC firmware update and FPGA configuration by pressing PBON push button. The LEDs flash rapidly to indicate that a new MCC firmware is being downloaded, (this only occurs the first time the MCC firmware is updated), and that the prebuilt image is being downloaded onto the board. When the bar LEDs next to PBRST button show green and user LED’s
UL0-7 are alternatively lit, the FPGA is programmed.
5.
The color LCD touch screen shows the MPS3 splash screen. Simultaneously, if you have configured the UART to run, the debug UART terminal shows the selftest menu for Application Note AN547.
6.
If the MPS3 board does not boot correctly, refer to the log.txt
in the root directory of the MPS3 board which provides a log file of the files loaded at bootup.
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 51 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
DAI 0547C
Issue C
11 Using AN547 on the MPS3 Board
11.3
UART Serial Ports
Four serial ports are supported on this implementation and are accessible through the MPS3 board Debug USB port:
• Serial Port 0 is connected to the MCC and outputs debug information about the status of the MCC.
• Serial Port 1 is connected to the UART 0.
• Serial Port 2 is connected to the UART 1.
• Serial Port 3 is connected to the UART 2.
The logical<>physical mapping of the Serial Ports on a host PC can be confusing due to the way the driver may allocate the port numbers. The Serial Port presented with the lowest number aligns to Serial Port 0 above .
11.4
UART Serial Port Terminal Emulator Settings
All serial ports on this implementation use the following terminal/serial port settings:
•
Baud Rate: 115200 bps
•
•
•
New-Line: CR (Serial port 0) And LF (Serial Port 1,2 and 3 Only)
Data: 8 bits
Parity: none
•
Stop: 1 bit
•
Flow control: none
11.5
MPS3 USB Serial port drivers for Windows
For information on installing drivers to support USB serial port on MPS3 see: https://community.arm.com/dev-platforms/w/docs/381/accessing-mps3-serial-ports-in-windows-10
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 52 of 64
4
3
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
DAI 0547C
Issue C
11 Using AN547 on the MPS3 Board
11.6
MCC Memory mapping
The MCC on the MPS3 has some visibility into the memory for initiating boot memory areas and configuring peripherals if needed. This access is limited to just 4x 64MB, so it is unable to cover the whole map, hence only those regions which are necessary for the design functionality are mapped.
The following table shows the memory map as viewed from the MCC.
2
CS
1
MCC SMB Address MCC Internal SSE-300 Address
0x0000_0000 - 0x0007_FFFF 0x6000_0000 - 0x6007_FFFF 0x0000_0000 - 0x0007_FFFF
0x0100_0000 – 0x011F_FFFF 0x6100_0000 - 0x6107_FFFF 0x1000_0000 - 0x1007_FFFF
0x0200_0000 - 0x0207_FFFF 0x6200_0000 - 0x621F_FFFF 0x0100_0000 - 0x011F_FFFF
0x0300_0000 - 0x031F_FFFF 0x6300_0000 - 0x631F_FFFF 0x1100_0000 - 0x111F_FFFF
0x0400_0000 - 0x04FF_FFFF 0x6400_0000 - 0x64FF_FFFF 0x4100_0000 - 0x41FF_FFFF
Size
512KB
512KB
2MB
2 MB
16 MB
IOFPGA
ITCM NS
ITCM S
FPGA SRAM NS
FPGA SRAM S
0x0500_0000 - 0x05FF_FFFF 0x6500_0000 - 0x65FF_FFFF 0x4900_0000 - 0x49FF_FFFF 16 MB
0x0600_0000 - 0x06FF_FFFF 0x6600_0000 - 0x66FF_FFFF 0x5100_0000 - 0x51FF_FFFF
0x0700_0000 - 0x07FF_FFFF 0x6700_0000 - 0x67FF_FFFF 0x5900_0000 - 0x59FF_FFFF
16 MB
16 MB
Low Latency
Peripherals NS
High Latency
Peripherals NS
Low Latency
Peripherals S
High Latency
Peripherals S
0x0800_0000 - 0x0BFF_FFFF 0x6800_0000 - 0x6BFF_FFFF 0x6000_0000 - 0x63FF_FFFF
0x0C00_0000 - 0x0FFF_FFFF 0x6C00_0000 - 0x6FFF_FFFF 0x7000_0000 - 0x73FF_FFFF
64 MB
64 MB
DDR4 NS
DDR4 S
Table 11-1 : MCC memory map table
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 53 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
12 Software
DAI 0547C
Issue C
12 Software
12.1
Rebuilding software
Requirements:
• The software directory from the download
• Keil Vision® 5.31 or later
The following instructions apply to the software package provided :
1.
Navigate to <install_dir>/Software/selftest/
2.
Load selftest_mpb.uvprojx
in Keil uVision
3.
Once loaded, the project can be rebuilt by selecting either: o Project - > Build Target o Project - > Rebuild all target files
• The output can then be found in <install_dir>/Software/selftest/an547_st.axf
12.2
Loading software on the MPS3 board
Requirements:
• MPS3 board powered and USB cable connected
• MPS3 USB mass storage open in a file explorer
The following instructions apply to all versions of software:
1.
Copy the software <install_dir>/Software/selftest/an547_st.axf to the board
<MPS3_dir>/Software folder
2.
Navigate to <MPS3_dir>MB/HBI0309C/AN547 and open the images.txt
file in a text editor
3.
Add a new line for the new software you wish to run and make sure the other lines are commented out, for example :
;IMAGE0FILE: \SOFTWARE\selftest.axf; - selftest uSD
IMAGE0FILE: \SOFTWARE\an547_st.axf ; - selftest uSD
(the compiled an547_st.axf
image is uncommented, which is therefore selected and selftest.axf
is commented out)
The MPS3 can now be booted according to the instructions in the Arm® MPS3 FPGA Prototyping Board Getting
Started Guide that is supplied with the MPS3 board.
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 54 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
13 Debug
DAI 0547C
Issue C
13 Debug
In this SMM, the subsystem includes an example debug infrastructure that instances DAP-Lite2, debug timestamp generator, Cortex-M55 TPIU, and MCU debug ROM table. The DAP-Lite2 is compliant with Arm® Debug
Interface Architecture Specification ADIv6.0.
For more information about debug infrastructure, see the Arm® Corstone™ SSE -300 Example Subsystem Technical
Reference Manual.
13.1
Debug Connectivity
The following table shows the supported connectivity between the MPS3 Board debug connectors and the
debug connectors on the board.
Debug Connector Type
20 pin Cortex debug and ETM
P-JTAG
Debug
Yes
SWD
Yes
4-bit Trace 16-bit Trace
No No
20 pin IDC
Mictor 38
Yes
Yes
Yes
Yes
No
Yes
No
No
Table 13-1 : Debug Connectivity and Support
13.2
Debug support for Keil MDK
Debug has been tested using Keil uVision 5.31 with Arm Keil ULINK ™ Pro Armv8-M Debugger and CMSIS-DAP
Armv8-M Debugger.
Apply the following debug settings if using a ULINK Pro Armv8-M Debugger:
• Port: JTAG
• Reset: Autodetect
• Connect: Normal
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 55 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
DAI 0547C
Issue C
13 Debug
Figure 13-1 :Keil MDK debug configuration
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 56 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
Apply the following debug settings if using CMSIS-DAP Armv8-M Debugger:
• Port: SW
• Reset: Autodetect
• Connect: Normal
DAI 0547C
Issue C
13 Debug
Figure 13-2 :Keil MDK debug configuration
13.3
Trace support for Keil MDK
It is planned to include trace support for SSE-300 in future versions of the Keil Tool. Please follow the announcements of tool and pack updates related to the platform.
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 57 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
DAI 0547C
Issue C
13 Debug
13.4
Debug and Trace support for Arm Development Studio
Development Studio 2020.1 Silver edition or better is required as this provides the support for the subsystem in this implementation and was the version used for testing of this application note.
13.4.1
Establishing a Debug Session
To estalish a debug connection to the Cortex-M55 processor, follow these steps:
Steps:
1.
Ensure the Arm DSTREAM debug probe is : a.
Powered, and connected to the host running the Development Studio software. b.
Connected to the MPS3 using the 20-pin Cortex / 20-pin IDC / Mictor 38 port on the MPS3 as shown below:
20-pin Cortex
20-pin IDC
Mictor 38
Figure 13-3 : MPS3 Board Debug Connector Locations
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 58 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
DAI 0547C
Issue C
13 Debug
2.
Open the Debug Configurations dialog box, by right-clicking in the Debug Control window and selecting debug configurations. This will open the debug configuration window. a.
Double left click on the Generic Arm C/C++ application, this will create a new configuration.
b.
In the connection tab, in the search bar, enter “MPS3”, and select the Cortex -M55 under Cortex-M
Prototyping System (MPS3) Cortex-M55 (SSE-300 Subsystem) as shown in the example below.
Figure 13-4 : Arm DS debug configurations - Connection
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 59 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547 c.
Next, in the Debugger tab, make sure that the run control is set to Connect only
DAI 0547C
Issue C
13 Debug
Figure 13-5 : Arm DS debug configurations - Debugger
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 60 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
DAI 0547C
Issue C
13 Debug d.
Next, a connection to the DSTREAM needs to be setup. To do this, select the connection tab, select
Browse (highlighted in red), a new window will open giving a list of all possible DSTREAM’s. Choose your DSTREAM and click select (highlighted in blue).
Figure 13-6 : Arm DS connection browser e.
Now click the Apply button followed by the Debug button to start your debug session.
3.
Program execution at this stage can be either single-stepped or set to Run .
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 61 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
13.4.2
Trace in Debug session
Follow steps in section 13.4.1 and before step 2. e. implement the following steps :
DAI 0547C
Issue C
13 Debug
1.
Click the Edit button next to “DTSL Options” shown below . Connect the debug probe to either 20-pin IDC /
Mictor 38 for trace to work.
Figure 13-7 : Arm DS debug configurations – DTSL Options
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 62 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
2.
A new window will open, on the first tab select “DSTREAM 4GB Trace Buffer” as shown below :
DAI 0547C
Issue C
13 Debug
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 63 of 64
Arm® Corstone™ SSE -300 with Cortex®M55 and Ethos™ -U55 :
Example Subsystem for MPS3 - Application Note AN547
DAI 0547C
Issue C
13 Debug
3.
On the CortexM55 tab, check the “Enable Cortex M55 core trace” box and then click Apply and then OK
Copyright © 2020, 2021 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 64 of 64
advertisement
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Related manuals
advertisement
Table of contents
- 8 1 Introduction
- 8 1.1 Intended audience
- 8 1.2 Conventions
- 8 1.2.1 Glossary
- 9 1.2.2 Typographical conventions
- 9 1.3 Additional reading
- 10 1.4 Feedback
- 10 1.4.1 Feedback on this product
- 10 1.4.2 Feedback on content
- 11 1.4.3 Other information
- 12 2 Preface
- 12 2.1 Purpose of this application note
- 12 2.2 Terms and abbreviations
- 13 2.3 Arm IP version details
- 13 2.4 Encryption key
- 14 3 Overview
- 14 3.1 System block diagram
- 15 3.2 SSE-300 Configuration
- 15 3.2.1 Render Settings
- 17 3.2.2 Subsystem static input values
- 18 3.3 SIE-300 Components
- 18 3.4 SIE-200 Components
- 18 3.5 CoreLink XHB
- 18 3.6 Memory Protection
- 19 3.7 Memory Map Overview
- 22 3.8 Expansion System peripherals
- 22 3.8.1 Manager Peripheral Expansion Low Latency Interface Memory Map (HMSTEXPPILL)
- 25 3.8.2 MSTEXPPIHL Peripheral Map
- 27 3.9 FPGA Utilization
- 27 3.9.1 Total design utilization
- 28 4 Programmers Model
- 28 4.1 ITCM
- 28 4.2 FPGA SRAM
- 28 4.3 DTCM
- 28 4.4 QSPI
- 28 4.5 DDR
- 29 4.6 AHB GPIO
- 29 4.7 SPI
- 30 4.9 UART
- 30 4.10 Color LCD parallel interface
- 31 4.11 Ethernet
- 31 4.12 USB
- 31 4.13 RTC
- 33 4.15 Audio Configuration
- 34 4.16 FPGA system control and I/O
- 35 4.17 Serial Configuration Controller (SCC)
- 37 5 Clock architecture
- 37 5.1 Clocks
- 37 5.1.1 Source clocks
- 37 5.1.2 Generated clocks
- 38 5.1.3 SSE-300 clocks
- 39 6 FPGA Secure Privilege Control
- 43 7 Interrupt Map
- 45 7.1 UART Interrupts
- 46 8 Shield Support
- 48 9 ZIP Bundle Description
- 48 9.1 Overall Structure
- 48 9.2 Bundle Directory Tree/Structure
- 50 10 Board Revision And Support
- 50 10.1 Identifying the MPS3 board revision
- 50 10.2 Bundle support for specific MPS3 board revisions
- 51 11 Using AN547 on the MPS3 Board
- 51 11.1 Pre-Requisites
- 51 11.2 Loading a prebuilt image onto the MPS3 Board
- 52 11.3 UART Serial Ports
- 52 11.4 UART Serial Port Terminal Emulator Settings
- 52 11.5 MPS3 USB Serial port drivers for Windows
- 53 11.6 MCC Memory mapping
- 54 12 Software
- 54 12.1 Rebuilding software
- 54 12.2 Loading software on the MPS3 board
- 55 13 Debug
- 55 13.1 Debug Connectivity
- 55 13.2 Debug support for Keil MDK
- 57 13.3 Trace support for Keil MDK
- 58 13.4 Debug and Trace support for Arm Development Studio
- 58 13.4.1 Establishing a Debug Session
- 62 13.4.2 Trace in Debug session