|ARM Technical Support Knowledge Articles|
Applies to: C51 C Compiler
Information in this article applies to:
I have a project using an 8051 with 32KB external RAM. If I use SMALL memory model with some variable explicitly defined to use external data memory like:
int xdata aaa;
everything complies OK and works fine. But, if I use compact or large memory model, my program complies ok but the board just won't work.
All the memory model option controls is the default location of variables declared without a memory specifier. Small memory model will put unspecified variables in DATA, Compact uses PDATA, and Large uses XDATA. If your hardware is having trouble with builds under other memory models, chances are the board is not set up properly to handle the accesses you're now performing.
Article last edited on: 2000-09-10 00:00:00
Did you find this article helpful? Yes No
How can we improve this article?