Using ST-Link/V2 and MDK 5 with Discovery/Nucleo Boards
This hands-on lab demonstrates the use of the STMicroelectronics ST-Link/V2
debug adapter and Keil uVision. The lab uses the STM32F401C Discovery Kit
but it can be adapted to use other STMicroelectronics processors that work
with the ST-Link/V2 adapter. The program examples provided in the
Keil.STM32F4xx_DFP device family software pack may be downloaded from the
Keil MDK5 Software Packs website. All examples are compliant to Cortex
Microcontroller Software Interface Standard (CMSIS v4.5). These examples
demonstrate the use of Serial Wire Viewer (SWV) and Debug Access Port (DAP)
debug technology, memory reads and writes, Instrumentaiton Trace Macrocell
(ITM) and the RTX Kernel Awareness Viewer.
CompCert is a formally verified optimizing C compiler. Its intended use is compiling safety-critical
and mission-critical software written in C and meeting high levels of assurance. It accepts most of
the ISO C 99 language, with some exceptions and a few extensions. It produces machine code for ARM,
PowerPC, and x86 architectures.
TimingProfiler helps developers identify application parts that are causing unsatisfactory execution times.
It is ideally suited for constantly monitoring timing behavior during software development and in modelbased
development environments. TimingProfiler delivers results as soon as there is compiled code. It can
be used early in the process when measurements on physical hardware are costly or not even possible.
Why do you need StackAnalyzer?
Stack memory has to be allocated statically by the programmer. Underestimating stack usage can lead to serious
errors due to . Overestimating stack overflows stack usage means a waste of memory resources.
· StackAnalyzer provides automatic tool support to calculate the stack usage of your application. The analysis
results are valid for all inputs and each task execution.
· StackAnalyzer analyzes the binary executable and does not rely on debug information, nor on instrumentation.
· Inline assembly code and library function calls are taken into account.
· Recursions and function pointers are taken into account.
· Automatic visualization of call /control-flow graphs with stack usage.
· Current safety standards (DO-178B/C, ISO-26262, IEC-61508, EN-50128, etc.) require to ensure that no stack
overflows can occur. With StackAnalyzer you can prove the absence of stack overflows. AbsInt's Qualification
Support Kits enable a tool qualification up to the highest criticality levels.
Astrée is a parametric static analyzer designed to prove the absence of runtime errors and
data races in software programs written in C. Astrée is parameterizable and can be specialized
to the program under analysis – key features to enable high analysis precision.
Astrée is developed and distributed by AbsInt, under license from the CNRS/ENS. It has been
successfully used on safety-critical software projects from various industry sectors, including
aerospace, automotive, and nuclear energy.