58
FX3 Programmers Manual, Doc. # 001-64707 Rev. *C
FX3 Firmware
__exidx_start = .;
.ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
__exidx_end = .;
}
The contents of each section of the memory map are explained below.
5.1.3.1
I-TCM
All instructions that are recommended to be placed under I-TCM are labeled under section
CYU3P_ITCM_SECTION. This contains all the interrupt handlers for the system. If the application
requires to place a different set of instructions it is possible. Only restriction is that first 256 bytes are
reserved.
5.1.3.2
D-TCM
SVC, IRQ, FIQ and SYS stacks are recommended to be located in the D-TCM. This gives maximum
performance from RTOS. These stacks are automatically initialized by the library inside the
CyU3PFirmwareEntry location with the following allocation:
SYS_STACK Base: 0x10000000 Size 2KB
ABT_STACK Base: 0x10000800 Size 256B
UND_STACK Base: 0x10000900 Size 256B
FIQ_STACK Base: 0x10000A00 Size 512B
IRQ_STACK Base: 0x10000C00 Size 1KB
SVC_STACK Base: 0x10001000 Size 4KB
If for any reason the application needs to modify this, it can be done before invoking
CyU3PDeviceInit() inside the main() function. Changing this is not recommended.
5.1.3.3
Code Area
The code can be placed in the 512KB SYS_MEM area. It is recommended to place the code area in
the beginning and then the data / heap area. Code area starts after the reserved 12KB and here
180KB is allocated for code area in the linker script file. Note that this 180KB allocation can be
changed in this file (fx3.ld).
5.1.3.4
Data Area
The global data area and the uninitialized data area follow the code area. Here in the above linker
script file, 32KB is allocated for this.
5.1.3.5
RTOS managed heap area
This area is where the thread memory and also other dynamically allocated memory to be used by
the application are placed. The memory allocated for this is done inside the RTOS port helper file
cyfxtx.c.
To modify this memory size / location change the definition for:
#define CY_U3P_MEM_HEAP_BASE ((uint8_t *)0x40038000)
#define CY_U3P_MEM_HEAP_SIZE (0x8000)
32KB is allocated for RTOS managed heap. The size of this area can be changed in
cyfxtx.c.
Содержание EX-USB FX3
Страница 8: ...8 FX3 Programmers Manual Doc 001 64707 Rev C Contents...
Страница 12: ...12 FX3 Programmers Manual Doc 001 64707 Rev C Introduction...
Страница 48: ...48 FX3 Programmers Manual Doc 001 64707 Rev C FX3 Overview...
Страница 74: ...74 FX3 Programmers Manual Doc 001 64707 Rev C FX3 Firmware...
Страница 76: ...76 FX3 Programmers Manual Doc 001 64707 Rev C FX3 APIs...
Страница 84: ...84 FX3 Programmers Manual Doc 001 64707 Rev C FX3 Application Examples...
Страница 98: ...98 FX3 Programmers Manual Doc 001 64707 Rev C FX3 Application Structure...
Страница 148: ...148 FX3 Programmers Manual Doc 001 64707 Rev C FX3 P Port Register Access...
Страница 153: ...FX3 Programmers Manual Doc 001 64707 Rev C 153 FX3 Development Tools 2 Select General Existing projects into Workspace...
Страница 165: ...FX3 Programmers Manual Doc 001 64707 Rev C 165 FX3 Development Tools Click next...
Страница 178: ...178 FX3 Programmers Manual Doc 001 64707 Rev C FX3 Development Tools Click on Apply...
Страница 180: ...180 FX3 Programmers Manual Doc 001 64707 Rev C FX3 Development Tools d Start the GDB server...
Страница 185: ...FX3 Programmers Manual Doc 001 64707 Rev C 185 FX3 Development Tools...
Страница 186: ...186 FX3 Programmers Manual Doc 001 64707 Rev C FX3 Development Tools...
Страница 187: ...FX3 Programmers Manual Doc 001 64707 Rev C 187 FX3 Development Tools...
Страница 188: ...188 FX3 Programmers Manual Doc 001 64707 Rev C FX3 Development Tools...
Страница 192: ...192 FX3 Programmers Manual Doc 001 64707 Rev C GPIF II Designer...