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.

CCS/MSP-EXP432E401Y: #10264: DEFAULT memory range overlaps existing memory range FLASH when trying to make mqttclient example installable via serial bootloader

Part Number: MSP-EXP432E401Y

Tool/software: Code Composer Studio

Hello,

We are using the SimpleLink MSP-EXP432E401Y LaunchPad and CCS version 10  to explore the use of the EXP432E401Y  in an MQTT system.  One of the tasks included in the exploration is the ability to upgrade the firmware in the field. We have the serial bootloader examples working and now are trying to migrate the mqtt example so that it can be installed by the serial bootloader via the BSL tool.   Having looked at boot_serial_flash_app2_MSP_EXP432E401Y_nortos_ccs example we modified the MSP_EXP432E401Y_TIRTOS.cmd linker script   as below (changes highlighter by AMS):

/*
* ======== MSP_EXP432E401Y_TIRTOS.cmd ========
* Define the memory block start/length for the MSP_EXP432E401Y M4F
*/
--retain=interruptVectors //AMS
--stack_size=1024 /* C stack is also used for ISR stack */

#define APP_BASE 0x00004000 //AMS

HEAPSIZE = 0x20000; /* Size of heap buffer used by HeapMem */

MEMORY
{
FLASH (RX) : origin = APP_BASE, length = 0x000FC000 //AMS
//FLASH (RX) : origin = 0x00000000, length = 0x00100000
SRAM (RWX) : origin = 0x20000000, length = 0x00040000
}

/* Section allocation in memory */

SECTIONS
{
.intvecs: > APP_BASE // AMS
.text : > FLASH
.const : > FLASH
.rodata : > FLASH
.cinit : > FLASH
.pinit : > FLASH
.init_array : > FLASH

.TI.ramfunc : {} load=FLASH, run=SRAM, table(BINIT)
.data : > SRAM
.bss : > SRAM
.sysmem : > SRAM

/* Heap buffer used by HeapMem */
.priheap : {
__primary_heap_start__ = .;
. += HEAPSIZE;
__primary_heap_end__ = .;
} > SRAM align 8

.stack : > SRAM (HIGH)
}

When we build the file we get the following:


**** Build of configuration Debug for project mqttclient_MSP_EXP432E401Y_tirtos_ccs ****

"C:\\ti\\ccs1000\\ccs\\utils\\bin\\gmake" -k -j 8 all -O

Building target: "mqttclient_MSP_EXP432E401Y_tirtos_ccs.out"
Invoking: ARM Linker
"C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-arm_20.2.0.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --advice:power=none -g --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on -z -m"mqttclient_MSP_EXP432E401Y_tirtos_ccs.map" -i"C:/ti/simplelink_msp432e4_sdk_4_10_00_13/source" -i"C:/ti/simplelink_msp432e4_sdk_4_10_00_13/kernel/tirtos/packages" -i"C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-arm_20.2.0.LTS/lib" --diag_wrap=off --display_error_number --warn_sections --xml_link_info="mqttclient_MSP_EXP432E401Y_tirtos_ccs_linkInfo.xml" --rom_model -o "mqttclient_MSP_EXP432E401Y_tirtos_ccs.out" "./client_cbs.obj" "./main_tirtos.obj" "./mqttClientHooks.obj" "./mqtt_client_app.obj" "./syscfg/ti_net_config.obj" "./syscfg/ti_ndk_config.obj" "./syscfg/ti_drivers_config.obj" "./startsntp.obj" "./ap_serial_src/crc_8.obj" "./ap_serial_src/helpers.obj" "./ap_serial_src/memory.obj" "./ap_serial_src/pw_driver.obj" "./ap_serial_src/pw_hal.obj" "./ap_serial_src/serial_client.obj" "./ap_serial_src/timer1ms.obj" "../MSP_EXP432E401Y_TIRTOS.cmd" -l"ti/net/lib/ccs/m4f/slnetsock_release.a" -l"ti/net/sntp/lib/ccs/m4f/sntp_release.a" -l"ti/net/mqtt/lib/ccs/m4f/mqtt_release.a" -l"ti/net/http/lib/ccs/m4f/httpclient_release.a" -l"ti/net/http/lib/ccs/m4f/httpserver_release.a" -l"ti/ndk/slnetif/lib/slnetifndk_msp432e4.aem4f" -l"third_party/mbedtls/ti/lib/ccs/m4f/mbedtls_msp432e4.a" -l"ti/ndk/hal/timer_bios/lib/hal_timer.aem4f" -l"ti/ndk/hal/eth_stub/lib/hal_eth_stub.aem4f" -l"ti/ndk/tools/hdlc/lib/hdlc.aem4f" -l"ti/ndk/tools/console/lib/console_min_ipv4.aem4f" -l"ti/ndk/netctrl/lib/netctrl_min_ipv4.aem4f" -l"ti/ndk/nettools/lib/nettool_ipv4.aem4f" -l"ti/ndk/hal/ser_stub/lib/hal_ser_stub.aem4f" -l"ti/ndk/hal/userled_stub/lib/hal_userled_stub.aem4f" -l"ti/ndk/stack/lib/stk.aem4f" -l"ti/ndk/os/lib/os.aem4f" -l"ti/display/lib/display.aem4f" -l"ti/grlib/lib/ccs/m4f/grlib.a" -l"third_party/spiffs/lib/ccs/m4f/spiffs.a" -l"ti/drivers/lib/drivers_msp432e4.aem4f" -l"third_party/fatfs/lib/ccs/m4f/fatfs.a" -l"ti/dpl/lib/dpl_msp432e4.aem4f" -l"C:/Users/Andrew Spencer/workspace_v10/tirtos_builds_MSP_EXP432E401Y_release_ccs/Debug/configPkg/linker.cmd" -l"ti/devices/msp432e4/driverlib/lib/ccs/m4f/msp432e4_driverlib.a" -llibc.a
<Linking>
"C:/Users/Andrew Spencer/workspace_v10/tirtos_builds_MSP_EXP432E401Y_release_ccs/Debug/configPkg/linker.cmd", line 136: warning #10096-D: specified address lies outside memory map
error #10264: DEFAULT memory range overlaps existing memory range FLASH
error #10264: DEFAULT memory range overlaps existing memory range SRAM
error #10010: errors encountered during linking; "mqttclient_MSP_EXP432E401Y_tirtos_ccs.out" not built

>> Compilation failure
makefile:184: recipe for target 'mqttclient_MSP_EXP432E401Y_tirtos_ccs.out' failed
gmake[1]: *** [mqttclient_MSP_EXP432E401Y_tirtos_ccs.out] Error 1
gmake[1]: Target 'secondary-outputs' not remade because of errors.
makefile:177: recipe for target 'all' failed
gmake: *** [all] Error 2

**** Build Finished ****

In researching this error on google, others have seen this issue on other products and other versions of ccs and we see references to needing to change the base address in another place but we are struggling to see how to those fixes apply to the examples we have.

My thanks in advance for any help in resolving this issue.

Best Regards, Andrew Spencer