ULINKPRO Keil, ULINKPRO Datasheet - Page 33

KIT DEBUG/TRACE UNIT HIGH SPEED

ULINKPRO

Manufacturer Part Number
ULINKPRO
Description
KIT DEBUG/TRACE UNIT HIGH SPEED
Manufacturer
Keil
Type
In-Circuit, Real-Time Debugger/Programmerr
Datasheets

Specifications of ULINKPRO

Contents
Module
For Use With/related Products
ARM7, ARM9, Cortex
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
32
Coding Hints for the Cortex-Mx Architecture
Hint
When possible, use 32-bit
data types for automatic
and parameter variables.
Optimize for Size
MicroLIB
Optimize for Speed
Sleep mode features
Enhance struct pointer
access, by placing scalars
at the beginning and
arrays as sub-sequent
struct members.
Description
Parameter passing is performed in 32-bit CPU registers. All ARM
instructions operate on 32-bit values. In Thumb mode, all stack
instructions operate only on 32-bit values. By using 32-bit data types
(signed/unsigned int/long), additional data type cast operations are
eliminated.
To optimize an application for minimal program size select under
Options for Target the following toolchain:
The compiler offers a MicroLIB to be used for further reducing the
code size of an application. MicroLIB is tailored for deeply
embedded systems, but is not fully ANSI compliant.
Do not use MicroLIB when execution speed is your primary goal.
To optimize an application for maximum execution speed, under
Options for Target select the following toolchain:
To optimize power consumption of an application you may use the
WFI instruction to send the processor into Sleep Mode until the next
interrupt is received. In C programs, use the intrinsic function __wfi()
to insert this instruction into your code.
Thumb2 instructions encode a limited displacement for memory
access. When a struct is accessed via a pointer, scalar variables
at the beginning of a struct can be directly accessed. Arrays
always require address calculations. Therefore, it is more efficient to
place scalar variables at the beginning of a struct.
In the dialog page Target enable Code Generation - Use Cross-
Module Optimization
In the dialog page C/C++ select Optimization: Level 2 (-O2) and
disable the options Optimize for Time, Split Load and Store
Multiple, and One ELF Section per Function
In the dialog pageTarget enable Code Generation - Use Cross-
Module Optimization
In the dialog page C/C++ select Optimization: Level 3 (-O3),
enable Optimize for Time, and disable Split Load and Store
Multiple
Chapter 2. Microcontroller Architectures

Related parts for ULINKPRO