Applications Engineering
Table 5-3: RAM Memory Usage
RAM Address Range
Usage
0x2380-0x23FF
FoUSB Monitor Area
0x2000-0x237F
User global variable space (896 bytes)
0x0400-0x1FFF
ZbROM area, user task stack <100 bytes
0x0000-0x03FF
MCU Register Area
We strongly recommend that you use the ZEK C start-up files located in the
C:\Renesas\RZB_CC16C_ZDK\Sample_Code\ZEK_Demo
directory for your project. These start-up
files will greatly minimize the complexity of correctly initializing the MCU and locating your user program
code and data into the available memory areas.
5.2.5. MAC Address Area
Every 802.15.4 radio needs a globally unique 64-bit MAC address. Therefore, your ZDK boards have
been pre-programmed with such an address.
Please do not erase the Flash block that contains this
address
. If you accidentally do erase the MAC address, you can find .mot files with replacement
addresses in the
C:\Renesas\RZB_CC16C_ZDK\Demos\Replacement MAC Addresses
directory.
Program one of those addresses into your board using the FoUSB programming software. Please make
sure that the address you pick is unique and different from any address used by your other ZDK boards.
5.2.6. ZbROM Flash Size
The ZbROM area contains the ZigBee protocol stack and the RTOS used by the stack. The ZbROM
image occupies the two lower 32kBytes MCU Flash memory blocks for a total of 64kBytes. This allocation
was done to prevent the code from being erased by the debugger when downloading your user code. The
actual Flash memory size used by the ZigBee stack and RTOS will be less depending on ZigBee stack
configuration settings when using the full development environment.
5.2.7. ZbROM RAM Size
The RAM allocated for use by the ZigBee stack and RTOS is the maximum amount that would be used if
the device were to function as a ZigBee coordinator. The actual RAM size used by the ZigBee stack and
RTOS will be less for other ZigBee stack configurations when using the full development environment.
5.2.8. User Task Stack RAM
Your user code main program will run as an independent task of the RTOS, which means that your stack
is located in the same RAM area as the ZbROM RAM. Therefore, the user stack size available to you for
function calls and local variable storage is limited to under 100 bytes.
5.2.9. User Global Variable RAM
The amount of RAM left over after the allocation of RAM for the ZigBee stack, RTOS and the FoUSB In-
Circuit Debugger is 896 bytes at address
0x2000-0x237F
. This address range can be used to store
global variables. The C-startup files for the compiler have been configured to create an ERROR message
if you try to allocate too much RAM at compile time.
RZB-CC16C-ZDK User’s Manual Rev 1.1
14/ 39
December 2006