CMSIS-Pack  Version 1.4.7
Delivery Mechanism for Software Packs
 All Pages
/package/create/project/target

Example target section:

<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="PACK.xsd"/>
...
<create>
<project>
...
<target Dendian="Little-endian" Dfpu="SP_FPU" Dname="STM32F429ZITx" Dvendor="STMicroelectronics:13">
<output debug="1" name="Blinky" type="exe"/>
<debugProbe coreClock="10000000" name="ST-Link" protocol="swd"/>
<memory access="rx" default="1" name="IROM1" size="0x200000" start="0x8000000" startup="1"/>
<memory access="rw" default="1" init="1" name="IRAM1" size="0x30000" start="0x20000000"/>
<memory access="rw" default="0" init="1" name="IRAM2" size="0x10000" start="0x10000000"/>
</target>
...
</project>
</create>
</package>

/target

Parents Element Chain
project /package/create/project
Attributes Description Type Use
Bvendor Board vendor name. Either a board vendor and board name with optional board revision are specified or a device vendor and a device name xs:string optional
Bname Board name. Either a board vendor and board name with optional board revision are specified or a device vendor and a device name xs:string optional
Bversion/td> Board version. Either a board vendor and board name with optional board revision are specified or a device vendor and a device name xs:string optional
Dvendor Device vendor name. Either a board vendor and board name with optional board revision are specified or a device vendor and a device name xs:string optional
Dname Device name. Either a board vendor and board name with optional board revision are specified or a device vendor and a device name xs:string optional
Pname Processor instance name. In case of multi-processor devices this processor ID is required. xs:string optional
Dfpu Selects the floating point unit option that is active for the project. Note: even if the device implements an FPU setting Dfpu=0 here, will disable FPU code generation. DfpuEnum optional
Dmpu Selects the memory protection unit to be enabled or disabled for the project. DmpuEnum optional
Dendian Selects the endianess to be used for the project. Note that selecting an endianess that is not supported by the device, will result in a build that will not run on the device. DendianEnum optional
Child Elements Description Type Occurrence
output configures the build output name, type and whether or not to include debug information OutputType 1
stack specifies the stack size in bytes allocated by the linker for the application setting the attribute size StackType 1
heap specifies the heap size in bytes allocated by the linker for the application setting the attribute size HeapType 1
memory specifies the memory configuration to be used for this application. Based on the memories, the linker script will be generated by the toolchain TargetMemoryType 0..*
algorithm selects from the list of available flash programming algorithms specified for this device in the corresponding Device Family Pack. Target and RAM memory ranges can be reconfigured from the defaults specified in the device description. TargetAlgorithmType 0..*
debugProbe selects and configures the debug probe to be used for this project. DebugProbeType 0..*

 


/package/create/project/target/algorithm

Example algorithm element

...
<project name="STM32F429_Flash" documentation="./Abstract.txt">
<target Dendian="Little-endian" Dfpu="SP_FPU" Dname="STM32F429ZITx" Dvendor="STMicroelectronics:13">
...
<algorithm name="CMSIS/Flash/STM32F4xx_1024.FLM" start="0x08000000" size="0x100000" RAMstart=0x20000000 RAMsize=0x1000/>
...
</target>
</project>
...

/algorithm

Parents Element Chain
target element_target
Attributes Description Type Use
name references the name (without path) of the flash programming algorithm as defined by the DFP/td> xs:string required
start overrides the predefined programming start address of the flash programming algorithm as specified in the DFP NonNegativeInteger optional
size overrides the predefined programming size of the flash programming algorithm as specified in the DFP NonNegativeInteger optional
RAMstart overrides the predefined start address in RAM where the flash programming algorithm is loaded into as specified in the DFP NonNegativeInteger optional
RAMsize overrides the predefined size in RAM where the flash programming algorithm is loaded into as specified in the DFP NonNegativeInteger optional
remove disables a flash programming algorithm that is specified as default algorith by the DFP xs:boolean optional
Child Elements Description Type Occurrence

 


/package/create/project/target/debugProbe

Example debugProbe element

...
<project name="STM32F429_Flash" documentation="./Abstract.txt">
<target Dendian="Little-endian" Dfpu="SP_FPU" Dname="STM32F429ZITx" Dvendor="STMicroelectronics:13">
...
<debugProbe coreClock="10000000" name="ST-Link" protocol="swd"/>
...
</target>
</project>
...

/debugProbe

Parents Element Chain
target element_target
Attributes Description Type Use
name name of of the debugProbe (e.g. "JLink", "ULink2", "ULinkPro", "CMSIS-DAP", "ST-Link")/td> xs:string required
protocol select the debug protocol to be configure (e.g. "jtag", "swd", "cjtag") DebugProtocolEnum required
coreClock clock frequency of the core once the system is initialized NonNegativeInteger required
tpiuClock clock frequency of the TPIU block of the CoreSight debug logic. Only relevant when tracing NonNegativeInteger optional
Child Elements Description Type Occurrence

 


/package/create/project/target/memory

Example memory element

...
<project name="STM32F429_Flash" documentation="./Abstract.txt">
<target Dendian="Little-endian" Dfpu="SP_FPU" Dname="STM32F429ZITx" Dvendor="STMicroelectronics:13">
...
<memory access="rx" default="1" name="IROM1" size="0x200000" start="0x8000000" startup="1"/>
<memory access="rw" default="1" init="1" name="IRAM1" size="0x30000" start="0x20000000"/>
<memory access="rw" default="0" init="1" name="IRAM2" size="0x10000" start="0x10000000"/>
...
</target>
</project>
...

/memory

Parents Element Chain
target element_target
Attributes Description Type Use
name reference to the name of the memory as defined by the DFP/td> xs:string required
start overrides the predefined memory start address NonNegativeInteger optional
size overrides the predefined memory size NonNegativeInteger optional
access overrides the predefined access permissions for the memory as specified in the DFP xs:string optional
remove removes the memory specified in the DFP xs:boolean optional
init overrides the predefined init flag as specfied in the DFP. Use for RAM only (access="rw") xs:boolean optional
default overrides the predefined default tag as specfied in the DFP. Use to define the default memory for the linker xs:boolean optional
Child Elements Description Type Occurrence

 


/package/create/project/target/output

Example output element

<project name="STM32F429_Flash" documentation="./Abstract.txt">
<target Dendian="Little-endian" Dfpu="SP_FPU" Dname="STM32F429ZITx" Dvendor="STMicroelectronics:13">
<output debug="1" name="Blinky" type="exe"/>
...
</target>
...
</project>

/output

Parents Element Chain
target element_target
Attributes Description Type Use
name name of the build target output file xs:string required
type select the build target to be "lib" = library ir "exe" = executable CompilerOutputType required
debug select whether the output will contain debug information or not xs:boolean required
Child Elements Description Type Occurrence