ULINKPRO Keil, ULINKPRO Datasheet - Page 30

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
Getting Started: Creating Applications with µVision
Coding Hints for the 8051 Architecture
Hint
Use the smallest possible data
type for variables. Favor
unsigned char and bit.
Use unsigned data types
whenever possible.
Favor the SMALL memory
model.
When using other memory
models, apply the memory type
data to frequently used
variables.
Learn how to use pdata memory
type on your device.
Use memory-typed pointers
when possible.
Reduce the usage of Reentrant
Functions.
Use the LX51 Linker/Locater
and Linker Code Packing to
reduce program size.
Description
The 8051 uses an 8-bit CPU with extensive bit support. Most
instructions operate on 8-bit values or bits. Consequently, small
data types generate code that is more efficient.
The 8051 has no direct support for signed data types. Signed
operations require additional instructions whereas unsigned
data types are directly supported by the architecture.
Most applications may be written using the SMALL memory
model. You can locate large objects, as arrays or structures,
into xdata or pdata memory using explicit memory types. Note,
the Keil C51 run-time library uses generic pointers and can work
with any memory type.
Variables in the data address space are directly accessed by an
8-bit address that is encoded into the 8051 instruction set. This
memory type generates the most efficient code.
The pdata memory provides efficient access to 256 bytes using
MOVX @Ri instructions with 8-bit addressing. However, pdata
behaves differently on the various 8051 devices, since it may
require setting up a paging register. The xdata memory type is
generic and accesses large memory spaces (up to 64KB).
By default, the Keil C51 Compiler uses generic pointers that
may access any memory type. Memory-typed pointers can
access only a fixed memory space, but generate faster and
smaller code.
The 8051 lacks support for stack variables. Reentrant functions
are implemented by the Keil C51 Compiler using a compile-time
stack with data overlaying for maximum memory utilization.
Reentrant functions on the 8051 require simulation of the stack
architecture. Since reentrant code is rarely needed in
embedded applications, you should minimize the usage of the
reentrant attributes.
The extended LX51 Linker/Locator (available only in the PK51
Professional Developer’s Kit) analyzes and optimizes your
entire program. Code is reordered in memory to maximize 2-
byte AJMP and ACALL instructions (instead of 3-byte LJMP
and LCALL). Linker Code Packing (enabled in C51
OPTIMIZE level 8 and above) generates subroutines for
common code blocks.
29

Related parts for ULINKPRO