CMSIS-Zone: Generator Data Model

| CMSIS-Zone Version 1.0.0 System Resource Management

- Main Page
- Usage and Description

All Files Pages
Generator Data Model

The Generator Data Model defines the resource and partition data structure for code generators. This data structure is connected to a FreeMarker template engine and file templates allow to generate various files that can be used to configure development tools or hardware components.

FreeMarker Template Engine

# FreeMarker top-level format

system element provides memory layout and TrustZone configuration of the complete system. zone element setup information of a zone (or system partition) along with related peripherals.

# FreeMarker basics

The variable types relevant for CMSIS-Zone are:

scalar: variable that stores a single value of a scalar type scalar-types:

- string
- int
- bool

hash: variable that that stores one or more variables with a unique lookup name

sequence: variable that stores sub-variables without names but instead are selected via index (myVariable[index])

A variable is accessed using the dollar character followed by a variable or expression in brackets:

${...}

Output the name of the zone:

${zone.name}

A sequence gets iterated:

<#list zone.memory as mem>
Memory region name $mem.name
</#list>

Printing a sorted list of all available memory entries by start address

<#list zone.memory?sort_by("start") as mem>
${mem.start} ${mem.name}
</#list>