主题中讨论的其他器件: MSP430WARE
工具/软件:Code Composer Studio
我已将工作中的 IAR 代码迁移到 CCS、没有汇编错误。 但是、我有一个无法解决的链接器错误。
我从 TI CCS 空白 ASM 示例中复制了以下内容。
cdecls C、list、"msp430.h" ;包含器件头文件
;------------------------------------------------------------------
.def 重置 ;将程序入口点导出到
;使链接器知道它。
;------------------------------------------------------------------
.text ;汇编到程序存储器中。
.retain ;覆盖 ELF 条件链接
;并保留当前部分。
.retainrefs ;并保留具有的任何段
;对当前段的引用。
;------------------------------------------------------------------
;堆栈指针定义
;------------------------------------------------------------------
.global __stack_end
.sect .stack
重置 mov.w #_stack_end、SP ;初始化 stackpointer
然后、我使用下面相同的格式定义了我的所有变量、如下所示。 我的最后一个变量大约为0600h、这完全在 RAM 资源中。
garb .equ 0200h ;garb 表示 RAM 的开始
下面是构建错误。 没有报告的汇编错误。 使用 IAR、我从未需要查看或更改任何编译器或链接器设置、因为它会根据汇编代码和 MSP 器件自动设置这些设置。 CCS 不是这样吗???? 请告知需要更改哪些内容才能修复它由于我使用了 TI CCS 默认空白汇编设置、因此我不希望进入编译器或链接器代码。 也就是说、如果汇编代码没有报告错误、它应该根据所选 MSP 器件进行编译、链接和正确加载。 谢谢。
****为项目 G4_Build 构建配置调试****
"C:\\ti\\ccs1000\\ccs\\utils\bin\\gmake"-k -j 4 all -O
构建目标:"G4_build.out"
调用:MSP430链接器
"c:/ti/ccs1000/ccs/tools/compiler/ti-cgt-msp430_20.2.0.LTS/bin/cl430 /ti/ccs1000/ccs/ccs_base/msp430/include /ti/ccs1000/ccs/tools/compiler/ti-cgt-msp430_20.2.0.LTS/include -vmsp -code_model=small --data_model=small --use_hw_mpy=16 --advice:power-define=__MSP430F449_-g --printf_support=minimal --diag_warn=225 --display_error_number_iph="-line_display_ipt="-line_f_line_display_info-display_ram_line_display_build="-cn"-line_display_mp4 -content_infote_display_policy"-line_display_line_display_linep.xml-line_display_policy"/ti/ccs1000/ccs/tools/compiler/ti-cgt-msp430_20.2.0.LTS/lib -line_display_line_display_linep-line_display_linep-linep-line_display_linep-line_display_gu4 -linep-content_linep-content_gu4 -out.cn/secome.xml-status.cn/secome.xml-content_line_display_line_display_policy"-linep-status.cn/secome.xml-status.cn_line_display_linep-status.
"./lnk_MSP430F449.cmd"、第91行:错误#10099-D:程序不能放入可用存储器、或者该段包含需要无法为此段生成的 trampoline 的调用站点。 ".stack"大小为0x2ec2时、定位失败。 可用存储器范围:
RAM 大小:0x800 未使用:0x800 最大孔:0x800
错误#10010:链接期间遇到错误;未生成"G4_build.out"
>>编译失败
Makefile:141:目标"G4_build.out"的配方失败
gmake.1]:***[G4_build.out]错误1.
Makefile:137:目标'all'的配方失败
gmake:***[全部]错误2.
****构建完成****