I'm trying to create a custom bootloader for my CC2640 chip.
This is my wanted settup in flash.
*********************************************
-------------- 0x0000 --------------------
Bootloader
-------------- 0x4000 --------------------
App
-------- ICALL_STACK0_ADDR --------
Stack
**********************************************
When I configure my binarys to be placed like this I noticed that the linker still placed some drivercode in spaces 0x0100-0x0600
And I found this file confirming that. cc26xx_rtos_rom.icf
place at address mem:0x00000538 {readonly section .const_xdc_runtime_IModule_Interface__BASE__C};
place at address mem:0x0000058c {readonly section .const_xdc_runtime_Error_policy__C};....
.......
...place at address mem:0x20000100 {readwrite section .data_ti_sysbios_knl_Task_Module__state__V};
place at address mem:0x20000200 {readwrite section .data_xdc_runtime_Memory_Module__state__V};
place at address mem:0x200001f8 {readwrite section .data_xdc_runtime_System_Module__state__V};
place at address mem:0x20000144 {readwrite section .data_ti_sysbios_family_arm_m3_Hwi_Module__state__V};
place at address mem:0x200001e4 {readwrite section .data_ti_sysbios_family_arm_cc26xx_Timer_Module__state__V};
I guess that these driver-things must be placed there because of things in ROM must know where things are.
Am I right? or could these things be moved?
If they can't be moved should my custom boot be placed at end of Flash? Or how could my problem be solved?
If it should be placed at end. Is there any suggestions how to make chip start execute boot at startup?
Is there any documents describing anything about custom boots, static area in flash for drivers used by ROM, how to solve issues like this and create a custom boot?