ULINKPRO Keil, ULINKPRO Datasheet - Page 31

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
30
Coding Hints for C166, XE166, XC2000 Architectures
Hint
When possible, use 16-bit data
types for automatic and
parameter variables.
Replace long with int data types
when possible.
Use the bit data type for boolean
variables.
Use the SMALL or MEDIUM
memory model when possible.
When using other memory
models, apply the near, idata, or
sdata memory type to frequently
used variables.
Use the memory model
HCOMPACT/HLARGE instead
of COMPACT/LARGE.
Use near pointers when
possible.
Description
Parameter passing is performed in 16-bit CPU registers (many
16-bit registers are available for automatic variables). More 16-
bit variables (signed/unsigned int/short) can be assigned to
CPU registers. This generates code that is more efficient.
Operations that use 16-bit types (like int and unsigned int) are
much more efficient than operations using long types.
These CPUs have efficient bit instructions that are fully
supported by the Keil C166 Compiler with the bit data type.
In these memory models, the default location of a variable is in
near memory, accessible through16-bit direct addresses
encoded in the CPU instructions. You can locate large objects
(array or struct) into huge or xhuge using explicit memory
types.
Variables in the near, idata, or sdata address space are
accessed through a 16-bit address that is encoded directly into
a single C166/XE166/XC2000 instruction. These memory types
generate the most efficient code.
The memory models COMPACT and LARGE use the obsolete
far memory type and have an object size limit of 16KB. The
memory models HCOMACT and HLARGE use the huge
memory type that feature a 64KB object size limit. Even cast
operations from near to huge pointers are more optimal.
Check if a near pointer is sufficient for accessing the memory,
since near pointers can access variables in the near, idata, or
sdata address space. Near pointers generate faster and
smaller code.
Chapter 2. Microcontroller Architectures

Related parts for ULINKPRO