We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi,
I working on a project and I need to split my module into sections in the scatter file to easily update any of these sections with only the module bin file.
And I was able to allocate my modules into specific addresses with their ro-data.
But still facing an issue for adding (.data) data to these sections.
I want to add the module (.data) load base to the module section.
But when I do that and run the code, I got a hard fault.
I assumed that the hard fault I got, from trying to assign a value to any of the global variables.
Here Scatter file.
LR_IROM1 (_MEMORY_FLASH_BEGIN_+MEMORY_FLASH_APP_OFFSET) _MEMORY_FLASH_SIZE_ { ; load region size_region REGION_FLASH (_MEMORY_FLASH_BEGIN_ + MEMORY_FLASH_APP_OFFSET) (MEMORY_FLASH_APP_SIZE) { ; load address = execution address *.o (.intvec, +First) *(InRoot$$Sections) .ANY (+RO) } MODULE_A_SECTION 0x10078800 FIXED 2048{ module1.o (+RO +RW) module1.o (.rodata) } MODULE_B_SECTION 0x10079000 FIXED 2048{ module2.o (+RO +RW) module2.o (.rodata) } END_SECTION 0x10079800 FIXED EMPTY 0{} REGION_RAM2 (_MEMORY_RAM_BEGIN_ + MEMORY_RAM_APP_OFFSET) (_MEMORY_RAM_SIZE_ - MEMORY_RAM_APP_OFFSET) { ; RW data .ANY (+RW, +BSS) } REGION_RAM3 +0 UNINIT (_MEMORY_RAM_SIZE_ - MEMORY_RAM_APP_OFFSET) { ; RW data not initialized *.o (.noinit.data) } REGION_ROM _MEMORY_ROM_BEGIN_ EMPTY _MEMORY_ROM_SIZE_ { } ARM_LIB_STACKHEAP (_MEMORY_RAM_END_+1) EMPTY -_STACK_MEM_SIZE_ { } }