工具/软件:Code Composer Studio
您好!
我们使用 SimpleLink MSP-EXP432E401Y LaunchPad 和 CCS 版本10 来探索在 MQTT 系统中使用 EXP432E401Y 的方法。 探索中包含的任务之一是能够升级现场固件。 我们的串行引导加载程序示例正在工作、现在正在尝试迁移 MQTT 示例、以便串行引导加载程序可以通过 BSL 工具安装该示例。 在查看 了 boot_serial_flash_App2_MSP_EXP432E401Y_nortos_CCS 示例之后、我们修改 了 MSP_EXP432E401Y_TIRTOS.cmd 链接器脚本 、如下所示(由 AMS 更改了荧光笔):
/*
*==== MSP_EXP432E401Y_TIRTOS。cmd ===
*定义 MSP_EXP432E401Y M4F 的存储器块开始/长度
*
--retain=interruptVectors //AMS
--stack_size=1024 // C 栈也用于 ISR 堆栈*/
#define APP_BASE 0x00004000 // AMS
HEAPSIZE = 0x20000;HeapMem 使用的堆缓冲区的大小*/
存储器
{
闪存(RX):origin = APP_BASE,length = 0x000FC000 // AMS
//FLASH (RX):origin = 0x00000000,length = 0x00100000
SRAM (rwx):origin = 0x20000000,length = 0x00040000
}
/*内存中的段分配*/
部分
{
.intvecs:> app_base // AMS
.text:> FLASH
.const:> FLASH
.rodata:> FLASH
.cinit:>闪存
.pinit:> FLASH
init_array:> FLASH
.TI.ramfunc:{} load=flash,run=SRAM,table (BINIT)
.data :> SRAM
.bss:> SRAM
.sysmem:> SRAM
/* HeapMem 使用的堆缓冲区*/
.priheap:{
_primary_heap_start__=.;
。 += HEAPSIZE;
__primary_heap_end__=.;
}> SRAM 对齐8
.stack:> SRAM (高)
}
当我们构建该文件时、我们会得到以下内容:
****项目 mqttclient_MSP_EXP432E401Y_tirtos_ccs 的配置调试构建****
"C:\\ti\\ccs1000\\ccs\\utils\bin\\gmake"-k -j 8 all -O
构建目标:"mqttclient_MSP_EXP432E401Y_tirtos_ccs.out"
调用:ARM 链接器
"c:/ti/ccs1000/ccs/tools/compiler/ti-cgt-arm_20.2.0.LTS/bin/armcl /ti/simplelink_msp432e4_sdk_4_10_00_13/source /ti/ccs1000/ccs/tools/compiler/ti-cgt-arm_20.2.0.LTS/lib -mv7M4 -code_state=16 --float_support=FPv4SPD16 -me --advice:power=none -g -diag_warning=225 --gen_warning=255 --diag_wrap=off --display_error_number --diag_func_msp=on -z -tag_warne-ex-m_ips"-"-tim_ips"-"_ipsection_ips"-"-tex_ips"-"-tex_trad_ips"-"-tex_trad_ips"-"-tex_ips"-"-tim_iptos_iptex-tex_iptos"-tex-tex-tos_iptex-tex-tex-tos_iptex-tex-tex-tex-401y"-tex_/ti/simplelink_msp432e4_sdk_4_10_00_13/kernel/tirtos/packages rom_model -o "mqttclient_MSP_EXP432E401Y_tirtos_ccs.out"../client_tirtos.obj "../mqttclients.obj"../mqttClients.obj "./mqtt_client_app.obj /syscfg/ti_net_config.obj "."./syscfg/ti_ndk_config.obj ""/content/textrl_rtos/crc/serial_br/ap.trad.s/rtos./ap.trl.trl./rtos/crc/rtc./rtc./rtc./rts.htm"/syscfg/ti_drivers_config.obj /r./ap_s/rts/sr.trl.trl_s/rtc./rts./rtc.obj "/sr.trl_s/rts./rts/rts./rts./r.trl_s/rtc./rts./rts./rts/rtc./rtc.obj "/sr.trl.cn/serial_ex/ap./ap.trl.trl./ap.trl./ap./ap.trl.cn/serial_ex/ap.trads.htm"/Users/Andrew
"C:/Users/Andrew Spencer/workspace_v10/tirtos_builds_MSP_EXP432E401Y_RELEASE_CCS/Debug/configPkg/linker.cmd"、第136行:警告#10096-D:指定的地址位于存储器映射之外
错误#10264:默认存储器范围与现有存储器范围闪存重叠
错误#10264:默认存储器范围与现有存储器范围 SRAM 重叠
错误#10010:链接期间遇到错误;未生成"mqttclient_MSP_EXP432E401Y_tirtos_ccs.out"
>>编译失败
Makefile:184:目标'mqttclient_MSP_EXP432E401Y_tirtos_ccs.out'的配方失败
gmake[1]:***[mqttclient_MSP_EXP432E401Y_tirtos_ccs.out]错误1.
gmake[1]:目标"辅助输出"不会由于错误而重新生成。
Makefile:177:目标“全部”的配方失败
gmake:***[全部]错误2.
****构建完成****
在 Google 上研究此错误时、其他人在其他产品和 CCS 的其他版本上看到了此问题、我们看到需要在另一个位置更改基址的引用、但我们很难看到这些修复如何应用于我们的示例。
我提前感谢您为解决此问题提供的任何帮助。
此致、Andrew Spencer