C Language Development Kit/Application development/Memory maps

From OptiWiki

Jump to: navigation, search

The handheld terminal uses three kinds of memory, internal RAM in the microprocessor, external RAM in RAM ICs on the terminal's printed circuit board, and flash ROM in ICs on the printed circuit board.
The internal RAM is used for some operating system variables and for the stack. The stack size cannot be increased. Dynamic variables of the operating system and of the user application are placed on the stack.

The external RAM has a section used for storing static variables of the operating system and a section used for storing static variables of the user application.
The heap uses the rest of the external RAM. The heap is used by malloc(), far_malloc() and by the file system.

Finally, the flash ROM is where the program code resides. The flash ROM is divided into two parts, one part where the operating system code is, the other part where the user application code is.
The following tables summarize this information and also show the memory map of the various handheld terminals.
The information provided herein is for general information and may assist in debugging, but is not essential to write an application.

Choose one of the terminals below to view its memory map:

Contents

Memory map of the OPH1004 and H13

Memory map Start address End address Size Used for
Internal RAM 20000000 2000FFFF 64kB stack and data for operating system
Flash ROM 60000000 600FFFFF 1 MB operating system program code
Flash ROM 60100000 603EFFFF 2.9 MB user application program code
Flash ROM 603F0000 603FFFFF 64 kB terminal configuration block
External RAM 62000000 6201FFFF 128 kB (static) Application data
External RAM 6201FFFF 62FFFFFF 15.8 MB heap and file system

Memory map of the OPH1003

Memory map Start address End address Size Used for
Internal RAM 00000000 0000FFFF 64kB stack and data for operating system
flash ROM 1C000000 1C07FFFF 512 kB operating system program code
flash ROM 1C080000 1C1EFFFF 1.4 MB user application program code
External RAM 04000000 04017FFF 96 kB (static) Application data
External RAM 04018000 0401FFFF 32 kB Stack area
External RAM 04020000 0402FFFF 64 kB (static) Operating system data
External RAM 04030000 041FFFFF 1.8 MB heap and file system

Memory map of the PHL1700 1 MB

Memory map Start address End address Size Used for
Internal RAM > 1.7 kB stack for operating system and user application
flash ROM 010000 02FFFF 128 kB operating system program code
flash ROM 030000 04FFFF 128 kB user application program code
External RAM 100000 102FFF 12 kB (static) operating system data
External RAM 103000 11BFFF 100 kB (static) application data
External RAM 11C000 1FFFFF 912 kB heap and file system

Memory map of the PHL1700 2 MB

Memory map Start address End address Size Used for
Internal RAM > 1.7 kB stack for operating system and user application
flash ROM 010000 02FFFF 128 kB operating system program code
flash ROM 030000 04FFFF 128 kB user application program code
External RAM 800000 803FFF 12 kB (static) operating system data
External RAM 804000 81BFFF 100 kB (static) application data
External RAM 81C000 9FFFFF 8112 kB heap and file system

Memory map of the PHL1300 and PHL2700

Memory map Start address End address Size Used for
Internal RAM > 1.7 kB stack for operating system and user application
flash ROM 200000 23FFFF 256 kB operating system program code
flash ROM 240000 27FFFF 256 kB user application program code
External RAM 800000 803FFF 12 kB (static) operating system data
External RAM 804000 81CFFF 100 kB (static) application data
External RAM 81D000 FFFFFF 8112 kB heap and file system

Memory map of the DWT7133

Memory map Start address End address Size Used for
Internal RAM > 1.7 kB stack for operating system and user application
flash ROM 200000 20FFFF 64 kB operating system program code
flash ROM 210000 27FFFF 448 kB user application program code
External RAM 140000 1427FF 10 kB (static) operating system data
External RAM 142800 1447FF 8 kB (static) application data
External RAM 144800 15FFFF 110 kB heap and file system

Memory map of the OPL97xx

Memory map Start address End address Size Used for
Internal RAM 1000 1FFFF 4 kB stack for operating system and user application
flash ROM C00000 C1FFFF 128 kB operating system program code
flash ROM C20000 C3FFFF 128 kB user application program code
External RAM 80000 814FF 5 kB (static) operating system data
External RAM 81500 87FFF 27 kB (static) application data
External RAM 88000 9FFFF 96 kB heap and file system (128K version)
FFFFF 480 kB heap and file system (512K version)
17FFFF 992 kB heap and file system ( 1Mb version)

Memory map of the DCL153x

Memory map Start address End address Size Used for
Internal RAM 1000 1FFFF 4 kB stack for operating system and user application
flash ROM C00000 C1FFFF 128 kB operating system program code
flash ROM C20000 C3FFFF 128 kB user application program code
External RAM 80000 814FF 5 kB (static) operating system data
External RAM 81500 87FFF 27 kB (static) application data
External RAM 88000 FFFFF 480 kB heap and file system (512K version)

Memory map of the OPN2002

Memory map Start address End address Size Used for
Internal RAM 20000000 2000FFFF 64 kB stack and data for bootloader and Operating System
Internal flash ROM 40000000 4000FFFF 64kB bootloader program code
Internal flash ROM 40010000 4003FFFF 192kB Application program code
Internal flash ROM 400C0000 400C3FFF 16kB storage of non-volatile OS settings
Flash ROM 60000000 6005FFFF 374 kB Operating System program code
Flash ROM 60060000 600FFFFF 640 kB User application program code
External RAM 62000000 62003FFF 16 kB Application data
External RAM 62004000 6200FFFF 48 kB Heap (non-filesystem)
External RAM 62010000 620FFFFF 960 kB Operating System data and filesystem

Memory map of the OPN2003

Memory map Start address End address Size Used for
Internal RAM 20000000 2000FFFF 64 kB stack and data for bootloader and Operating System
Internal flash ROM 40000000 4000FFFF 64kB bootloader program code
Internal flash ROM 40010000 4003FFFF 192kB Application program code
Internal flash ROM 400C0000 400C3FFF 16kB storage of non-volatile OS settings
Flash ROM 60000000 6003FFFF 256 kB Operating System program code
Flash ROM 60040000 6007FFFF 256 kB User application program code
External RAM 62000000 62003FFF 16 kB Application data
External RAM 62004000 6200FFFF 48 kB Heap (non-filesystem)
External RAM 62010000 6203FFFF 192 kB Operating System data and filesystem

Memory map of the PX25

Memory map Start address End address Size Used for
Internal RAM 20000000 2000FFFF 64 kB stack and data for bootloader and Operating System
Internal flash ROM 40000000 4000FFFF 64kB bootloader program code
Flash ROM 60000000 6007FFFF 512 kB Operating System program code
Flash ROM 60080000 603EFFFF ~3.5 MB User application program code
Flash ROM 603F0000 603FFFFF 64 kB storage of non-volatile OS settings
External RAM 62000000 6201FFFF 128 kB Application data
External RAM 62020000 621FFFFF ~1.9 MB Heap and filesystem

Memory map of the PX30

Memory map Start address End address Size Used for
Internal RAM 20000000 2000FFFF 64 kB stack and data for bootloader and Operating System
Internal flash ROM 40000000 4000FFFF 64kB bootloader program code
Flash ROM 60000000 6007FFFF 512 kB Operating System program code
Flash ROM 60080000 603EFFFF ~3.5 MB User application program code
Flash ROM 603F0000 603FFFFF 64 kB storage of non-volatile OS settings
External RAM 62000000 6200FFFF 64 kB Application data
External RAM 62010000 6203FFFF 192 kB Heap and filesystem
Views
Personal tools