Hello,
When we used (RT1060) freertos+lwip+sdmmc+fatfs and many other features, we encountered a problem.
As follows:
1、Based on SDK_2.6.2_EVK-MIMXRT1060.
2、When I choose not to use optimization:
3、optinos use $PROJ_DIR$\MIMXRT1062xxxxx_ram.icf:
define symbol m_interrupts_start = 0x00000000;
define symbol m_interrupts_end = 0x000003FF;
define symbol m_text_start = 0x00000400;
define symbol m_text_end = 0x0001FFFF;
define symbol m_data_start = 0x20000000;
define symbol m_data_end = 0x2001FFFF;
define symbol m_data2_start = 0x20200000;
define symbol m_data2_end = 0x202BFFFF;
4、IAR compilation ram result:
122 737 bytes of readonly code memory
22 331 bytes of readonly data memory
87 615 bytes of readwrite data memory
5、error:IAR compilation fails and can only be passed when optimization is used.
unable to allocate space for sections/blocks with a total estimated minimum size of 0x2'32ac bytes (max align 0x8) in <[0x0-0x3ff], [0x400-0x1'ffff]> (total uncommitted space 0x1'fc00).
6、The project size now does not exceed the memory of RT1060:
1)RT1060:1MB On-Chip SRAM - up to 512KB configurable as Tightly Coupled Memory (TCM)
7、question:
1)Why is this problem? --------------nable to allocate space for sections/blocks with a total estimated minimum size of 0x2'32ac bytes (max align 0x8) in <[0x0-0x3ff], [0x400-0x1'ffff]> (total uncommitted space 0x1'fc00).
2)How to solve the problem of iar compilation failure?
3)Do you have any better suggestions?
Thank you very mach.
MIMXRT1062xxxxx_ram.icf:
define symbol m_text_start = 0x00000400;
define symbol m_text_end = 0x0002FFFF;//0x0001FFFF;
Hi Liu,
Yes, the total RAM size is 1M, but among these banks, 512KB OCRAM shared between
ITCM/DTCM and OCRAM, as well as dedicated 512KB OCRAM. In default, ITCM is 128k, DTCM is 128k and OCRAM is 256k+512k. If you hope to put more code into ITCM, please config in IOMUXC_GPR_GPR17 register, or set into eFuse directly.
Regards,
Jing