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/MSP430F5529:自定义BSL:跳过.asm文件中的部分

Guru**** 2079090 points
Other Parts Discussed in Thread: MSP430F5418, MSP430F5529
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/574317/ccs-msp430f5529-custom-bsl-skipped-sections-in-asm-file

部件号:MSP430F5529
主题中讨论的其他部件:MSP430F5418

工具/软件:Code Composer Studio

您好,  

我正在使用CCS v 6.2 和 MSP430定制BSL的v1_00_12_00 创建自己的引导加载程序,以满足我的通信需求。 我将MSP430F5418示例项目修改为MSP430F5529,其中还包括对链接器文件的一些更改。 但是,当我构建项目时,我注意到在BSL430_LOW_LEVE_INIT.asm文件中创建的部分不会出现在生成的TI-HEX文件中,也不会在链接过程中列出。 特别是,我计划用于“跳进”引导加载程序的“.ZAREA”部分缺失。

链接程序正在创建十六进制文件:

正在转换为TI-TXT格式...
“MSP430_BSL.OUT”.BSL430_VERSION_VENDOR =>.BSL430_VERSION_VENDOR
“MSP430_BSL.OUT”.BSL_VERSION_CI
“ISR_BSL_BSL.OUT”.BSL_MSP430_VERSION_API=.B430_MSP430_IS1.B240.B_MSP4_MSP40.0_MSP40.0_ST_IS1.B=.B240.B240.0_MSP_ST_ST_STP_STP_STP_OUT.B=.B240.B240.B=.B240.B240.B=
“MSP40.0_MSP40.0_MSP_MSP_MSP_MSP_STP4.B240.BUL_OUT.B240.BUL_ST_OUT.B=”=“MSP40.0_STP4.B240.BSI_OUT.BSI_OUT.B=.BSI_ST_ST_MSP40.0= OUT.B=.B240.B= OUT.BSI_OUT.BSI_OUT.BSI_ST








==>USCI_A1
"MSP430_BSL.OUTP" port1 ==> port1
"MSP430_BSL.OUTP" Timer1_A1 ==> Timer1_A1
"MSP430_BSL.OUTP" Timer1_DT => Timer1_A0
"MSP430_BSL.OUTP" DMA "DMI_B0_IMP_IMS1.OUTP"







= MSP0_USB_UT0= OUTS_USB0= MSP0_CEB0= MSP_CEB0_CEB0= OUTS_CE_UT_UT0= OUTS_CEB0= OUTS_UT0= MSP0= OUTS_CEB0= MSP0_CEB0= OUTS_CEB0= OUTS_BUST_CEB0= MSP0= OUTP0= OUTS_BUST_BUST_BUST_DE0 = OUTS_DE0 = OUT.B0= MSP0= MSP0= MSP0= MSP0= MSP0= OUTS_CE0= OUTS_CE0= OUTS_CE0= OUTS_CE0= OUTS_DE0= OUTS_CE0=
"MSP4S_BSL.OUT TIMER0_B0 ==> TIMER0_B0
"MSP430_BSL.OUT COMP_B
"MSP430_BSL.OUT " UNMI ==> UNMI
"MSP430_BSL.OUT "SYSNMI ==> SYSNMI
"MSP430_BSL.OUT ".UNSTER=复位= 

请求十六进制文件:

@1010
00 08 08 04
@1042
32 D0 10 00 FD 3F 03 43 6A 15 21 83 0E 41 3E 80
00 1C 3F 40 FE 1B 0F 5E 8F 43 00 00 00 2F 83 2E 83
FB 23 82 43 0E 1D B2 40 00 A5 10 1D B2 40 00 1C
04 1D B2 40 00 1C 06 1D B2 40 41 03 0A 1D B2 40
... 

如上所示,没有为ZAREA (0x1000)部分分配代码

链接程序文件可在此处找到: e2e.ti.com/.../lnk_5F00_msp430f5529.txt

在链接程序文件中更改此部分时:  

.ZAREA :{}> ZAREA 

为此:

.ZAREA{
BSL430_Low_LEVE_Init.obj(.ZAREA)
}> ZAREA 

链接器在指定输入对象的行上返回以下警告:“#1.0068万-D no matching section”。

我使用dis430转储BSL430_Low_leve_Init.obj,并且部分似乎已正确创建:

BSL430_Low_LEVE_Init.obj的拆卸:

文本部分.ZAREA,0x10字节,0x0万
:.ZAREA:
0万:BSL_Entry_JMP:
0万:053C JMP (C_Branch)
0.0002万:8000 BRA #sysctl
0.0004万:6亿
:FF3F JMP (SBSLLoc)
000008:FF3F JMP (0x0008) 0万C

,邮编



:0x000ANE 0万

000000:BSL_ACTION0:
0万:3D90 cmp.W #0xdead,R1300.0002万
:Adde
0.0004万:0420 JNE (RETURE_ERROR)
000006:3E90 cmp.W #0xbeef,R1400.0008万
:EFBE
00000a:0120 JNE (RETURE_ERROR)
0万c:033C JMP #0.0012万:R14_CL_0.0013万00014





:0.0014万:REW:0000B14_00001300014 CLR0.0013万 CLR 000013000140.0014万 00001300014:0.0013万:C0013_0010_0010_00W:000013000140.0014万C0013_0010_0010_00W:00001300014 CL_1_0013 CL_1_返回0010返回
:0010:</s>0.0013万 0.0014万














字节RETA 0.0001万a:BSL_PROTECT:0.0001万a:0C43 CLR.W R1200001c:B2D0 BIS.W #0x8003,&sysctl 00001e:3.8亿:2.2亿:B2B0 bit.W #0x0010,&sysctl 0.0024万:10亿:2.8亿:0124 JEQ (B000020:000022) BIS:0x2B1:B
00000:C00003:B:B:0:B:1
B:1 B:0:2 B:1 B:0:1 B:2 B:0 B:0 B:0 FFFF .word 0xFFff
0.0002万:BslProtectVecLoc:
0.0002万:0000 .word 0x4亿
:PBSLSigLoc:
000004:3ca5 .word 0x3ca5000006
:SBSLCK SignLoc:
000006:c35a .word 0xc35a
000008:FFFF .word 0xTAFFFF
0万a:Bsl0000_TA0000K:0000:




关键字:0xG0万FF0000000FF0000_K:0万:关键0000关键字:0xG0万FF0000_TA0000000FF00000002:0000:关键0万关键字00000002字:


FFFF .word 0xFFFF 

此问题是否与项目配置相关? 第一次尝试生成此项目时,环境提示我更改编译器版本,因为项目中使用的编译器版本已过时。

感谢您在何处查找问题的任何帮助或提示。

Tom

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Tamasz:

    我们正在对此进行调查,并将很快回复给您。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Tamasz:

    旧的示例项目似乎需要转换才能与输出为EABI格式的新编译器版本一起使用。 但是,您应该能够下载较旧的编译器版本,并使用COFF输出格式进行编译,以使您的设置工作正常。 CC7 (但CCS 6应该是相同的)和较旧的编译器(CCS.8)都尝试了这种方法4.4。 旧版编译器(v4…) 可以编译COFF输出格式,然后包含zArea (@0x1000)。

    要安装旧的编译器,请转到“帮助”,“安装新软件…”。
    “使用:”“--所有可用站点--”
    取消选中“Show only the latest versions of available software (仅显示可用软件的最新版本)”
    搜索“MSP430编译器工具”,您将看到所有版本。 选择v4项(例如 CCS.8)并安装它。您必须重新启动4.4 才能显示它。