<?xml version="1.0" encoding="UTF-8"?>
<!--

 File Name          : CORTEX_M7.xml
 Description        : Contextual documentation of the CORTEX_M7
                      for all MCU series

 COPYRIGHT(c) 2020 STMicroelectronics

====================================================================
| version 0.1  |  F. Gohier        | Creation                      |
====================================================================

Contextual help database for CORTEX_M7 core, it contains:
    - peripheral generic information under <peripheral> node
    - information about peripheral mode under <mode> node
    - details about the peripheral configuration under <config> node

-->
<ctx_pinout_help xsi:noNamespaceSchemaLocation="../../../../../../../doc/V4/Development/Specifications/contextualDocumentation/peripherals.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <!-- serie "ref" is the MCU series you want to document e.g. STM32F0, STM32F1... -->
    <serie ref="Default">
        <peripheral>
            <!-- Title of the contextual widget -->
            <title>CORTEX_M7</title>
            <!-- Generic description displayed in the first panel of the tooltip -->
            <extract>The Cortex®-M7 core can execute high-performance tasks in parallel.</extract>
            <!-- Detailed information displayed in the expandable panel when no MCU series has been selected -->
            <help_text>The Arm® Cortex®-M7 with double-precision FPU processor is the latest generation of Arm&lt;br/&gt;
            processors for embedded systems. It was developed to provide a low-cost platform that&lt;br/&gt;
            meets the needs of MCU implementation, with a reduced pin count and optimized power&lt;br/&gt;
            consumption, while delivering outstanding computational performance and low interrupt&lt;br/&gt;
            latency.&lt;br/&gt;
            The Cortex®-M7 processor is a highly efficient high-performance featuring:&lt;br/&gt;
                • Six-stage dual-issue pipeline&lt;br/&gt;
                • Dynamic branch prediction&lt;br/&gt;
                • Harvard architecture with L1 caches (16 Kbytes of I-cache and 16 Kbytes of D-cache)&lt;br/&gt;
                • 64-bit AXI interface&lt;br/&gt;
                • 64-bit ITCM interface&lt;br/&gt;
                • 2x32-bit DTCM interfaces&lt;br/&gt;
            The following memory interfaces are supported:&lt;br/&gt;
                • Separate Instruction and Data buses (Harvard Architecture) to optimize CPU latency&lt;br/&gt;
                • Tightly Coupled Memory (TCM) interface designed for fast and deterministic SRAM&lt;br/&gt;
            accesses&lt;br/&gt;
                • AXI Bus interface to optimize Burst transfers&lt;br/&gt;
                • Dedicated low-latency AHB-Lite peripheral bus (AHBP) to connect to peripherals.&lt;br/&gt;
            The processor supports a set of DSP instructions which allow efficient signal processing and&lt;br/&gt;
            complex algorithm execution.&lt;br/&gt;
            It also supports single and double precision FPU (floating point unit) speeds up software&lt;br/&gt;
            development by using metalanguage development tools, while avoiding saturation.&lt;br/&gt;
            </help_text>
            <!-- Links that will be displayed on the help widgets:
            - filter: In case a selection needs to be made, use it as regexp on mcu name (STM32F042T6x)
            - display: string that will be displayed in front of the hyperlink
            - type: the type of file you want to display ("txt" "pdf", "chm", "html", "dynamic")
            dynamic stands for the document that have to be retrieved from the JSON database
            - reference: path to the document to be displayed (http or local path)
              If the file is dynamic, indicate the kind of file you want to display:
                * dataSheet => for datasheet document type
                * appNote => for application note document type
                * refMan => for reference manual document type
                * usrMan => for user Manual document type
                * prgMan => for Programming Manual document type
                * errSheet => for Errata Sheet document type
            - index: for pdf,html and chm type it specifies the chapter where the viewer will point
            for dynamic file it can specify a chapter except for application notes where it specifies
            the document display name (e.g. AN1015). This field may be left blank, then the full document
            is displayed -->
            <link>
            </link>
        </peripheral>
        <mode>
            <!-- @TODO Describe the mode TBD for CubeMX -->
        </mode>
        <config>
            <!-- @TODO configuration panel TBD for CubeMX -->
        </config>
    </serie>
    <serie ref="STM32H7">
        <peripheral>
            <!-- Title of the contextual widget -->
            <title>CORTEX_M7</title>
            <!-- Generic description displayed in the first panel of the tooltip -->
            <extract>The Cortex®-M7 core can execute high-performance tasks in parallel.</extract>
            <!-- Detailed information displayed in the expandable panel when no MCU series has been selected -->
            <help_text>The Arm® Cortex®-M7 with double-precision FPU processor is the latest generation of Arm&lt;br/&gt;
            processors for embedded systems. It was developed to provide a low-cost platform that&lt;br/&gt;
            meets the needs of MCU implementation, with a reduced pin count and optimized power&lt;br/&gt;
            consumption, while delivering outstanding computational performance and low interrupt&lt;br/&gt;
            latency.&lt;br/&gt;
            The Cortex®-M7 processor is a highly efficient high-performance featuring:&lt;br/&gt;
                • Six-stage dual-issue pipeline&lt;br/&gt;
                • Dynamic branch prediction&lt;br/&gt;
                • Harvard architecture with L1 caches (16 Kbytes of I-cache and 16 Kbytes of D-cache)&lt;br/&gt;
                • 64-bit AXI interface&lt;br/&gt;
                • 64-bit ITCM interface&lt;br/&gt;
                • 2x32-bit DTCM interfaces&lt;br/&gt;
            The following memory interfaces are supported:&lt;br/&gt;
                • Separate Instruction and Data buses (Harvard Architecture) to optimize CPU latency&lt;br/&gt;
                • Tightly Coupled Memory (TCM) interface designed for fast and deterministic SRAM&lt;br/&gt;
            accesses&lt;br/&gt;
                • AXI Bus interface to optimize Burst transfers&lt;br/&gt;
                • Dedicated low-latency AHB-Lite peripheral bus (AHBP) to connect to peripherals.&lt;br/&gt;
            The processor supports a set of DSP instructions which allow efficient signal processing and&lt;br/&gt;
            complex algorithm execution.&lt;br/&gt;
            It also supports single and double precision FPU (floating point unit) speeds up software&lt;br/&gt;
            development by using metalanguage development tools, while avoiding saturation.&lt;br/&gt;
            </help_text>
            <!-- Links that will be displayed on the help widgets:
            - filter: In case a selection needs to be made, use it as regexp on mcu name (STM32F042T6x)
            - display: string that will be displayed in front of the hyperlink
            - type: the type of file you want to display ("txt" "pdf", "chm", "html", "dynamic")
            dynamic stands for the document that have to be retrieved from the JSON database
            - reference: path to the document to be displayed (http or local path)
              If the file is dynamic, indicate the kind of file you want to display:
                * dataSheet => for datasheet document type
                * appNote => for application note document type
                * refMan => for reference manual document type
                * usrMan => for user Manual document type
                * prgMan => for Programming Manual document type
                * errSheet => for Errata Sheet document type
            - index: for pdf,html and chm type it specifies the chapter where the viewer will point
            for dynamic file it can specify a chapter except for application notes where it specifies
            the document display name (e.g. AN1015). This field may be left blank, then the full document
            is displayed -->
            <link display="Datasheet" type="dynamic" reference="dataSheet" index="Arm® Cortex®-M7 with FPU">
            </link>
        </peripheral>
        <mode>
            <!-- @TODO Describe the mode TBD for CubeMX -->
        </mode>
        <config>
            <!-- @TODO configuration panel TBD for CubeMX -->
        </config>
    </serie>
</ctx_pinout_help>
