This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi,
I have posted one topic.
I tried to modify the link cmd file to expand the memory blocks used by .text section.
RAMGS2 : origin = 0x00E000, length = 0x001000 RAMGS3 : origin = 0x00F000, length = 0x001000 RAMGS4 : origin = 0x010000, length = 0x00C000 .text : >> RAMGS2 | RAMGS3 | RAMGS4, PAGE = 1
The project was built successfully if the RAMGS4 was big enough. But I noticed that the RAMGS3 was NOT used at all.
And when I reduced the length of RAMGS to 0x00200 and the sum length of RAMGS3 and RAMGS4 was big enough to allocate the .text section the project could NOT be built successfully.
I check the SPRU513 8.5.5.7 and it says as below.
I don't understand why.
Looking forward to your reply.
Best regards,
Di
Sorry for the delay.
From what I see here, I cannot be certain about what has gone wrong. My guess is some .text input section from one file exceeds 0x1000 words in size. Such an input section cannot be split. Output sections are split only on input section boundaries. This means the large input section can only go into a memory range with enough room to hold it. Only RAMGS4 is big enough. The map file (created with the linker option --map_file=filename) shows how input sections are collected into output sections, and how those output sections are allocated to memory.
For background on terms like input section and output section, and other related details, please see this wiki article.
Thanks and regards,
-George