Many programs, especially C programs, check pointers to see if they are "nul". That means zero. And that means you can't use it; or does it?
If your data RAM starts at zero, you will encounter bugs sooner or later since a valid pointer to zero may be misconstrued as an invalid or nul pointer.
Unfortunately, the utility functions such as printf are also prone to this hazard.
This is easily gaurded against at the epense of one location of data RAM if you cannot find or work-a-round the bug. Simply alter the link control file such that you tell the system that RAM starts at location 1, not location zero.
To change the .lcf file, if using Processor Expert, use the GUI interface of the CPU component properties (aka bean properties) to adjust the starting address and size (down one) of the RAM available to the linker.