Hi,
The PC uses PPAGE and offset to address program space. The offset can be between 0000~FFFF.
On the basis of offset address the Core recognizes whether program is addresses by short or far address.
If the offset is between range 8000~BFFF then program address consist of PPAGE_OFFSET. Otherwise, near address is used.
If the address is not implemented internally then it is moved to external lines. (https://community.nxp.com/docs/DOC-93594)
If you have connected external RAM or another type of memory to the external bus and the bus is enabled then you can run the code out of external space
(00~BF)_(8000 ~ BFFF) \CS0 is active
For data access (not program) there are more accessible spaces because in this case we can use global addressing for R/W.
As a program RAM you can use internally:
- Buffer RAM 0C00-0FFF if not used for another purposes
- RAM 4000~FFFF accessible by XGATE as well as CPU
- RAM ..RPAGE address (F8~FF)_(1000~1FFF). It is visible only half of them for CPU as described in previous item. For XGATE it is visible entire but at XGATE addresses 8000~FFFF.
So if you need more RAM for code execution I would suggest you to go to XGATE and start required functions by SWI. (XGATE is interrupt driven peripheral)
If you want to see address space in global, look into attachment.
best regards,
Ladislav