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.
当我尝试在 SlickEdit 中为 MSP430 GCC 构建简单的 Hello 世界项目时,我收到了“未定义`WDTCTL`的引用”错误,尽管我已定义了__MSP430FR2675__。 我的源文件,makefile 和 build 输出如下所示。 有什么想法吗?
#include <stdio.h>
#包括“MSP4C.h”
Int main (无效)
{
//停止看门狗计时器以防止超时重置
WDTCTL = WDTPW + WDTHOLD;
对于(int i = 0;+i){
printf("Hello world!\n");
}
返回0;
}
#许可编辑生成的文件。 除非在指定区域,否则不要编辑此文件。
# make 命令用于相关性
make = make
rm=rm
mkdir=mkdir
编号----- 开始用户可编辑的区域-----
编号----- 最终用户可编辑的区域---
#如果未指定配置,将使用“调试”
ifnCFG 定义
cfg=调试
恩迪夫
#
#配置:调试
#
ifeq“$(CFG)”“调试”
OUTDIR=调试
OUFILE=$(OUTDIR)/SlickEditHello
cfg_INC=-I...//ti/MSP430-gcc/包括\
-I/Applications/ti/MSP/MSP430Ware_3_80_13_03/driverlib
cfg_LIB=
cfg_obj=
common_obj=$(OUTDIR)/SlickEditHello
OBJ=$(common_OBJ)$(CFG_OBJ)
all_obj=$(OUTDIR)/SlickEditHello
编译=/Users/pcpro178/ti/MSP430-gcc/bin/MSP430-elf -gcc -c -v "-D_MSP430FR2675_"-g -o "$(OUTDIR)/$(*F.O"$(INC_CFG)$<
link=/users/pcpro178/ti/MSP430-gcc/bin/MSP430-elf -v -g -o "$(OUTFILE)"$(all_obj)
编译_ADA=gnat -g -c -o "$(OUTDIR)/$(*F).o""$<"
编译_adb=gnat -g -c -o "$(OUTDIR)/$(*F).o""$<"
编译_F=gfortran -c -g -o "$(OUTDIR)/$(*F).o""$<"
编译_F90=gfortran -c -g -o "$(OUTDIR)/$(*F).o""$<"
compane_d=gDC -c -g -o "$(OUTDIR)/$(*F).o""$<"
#模式规则
$(OUTDIR)/%.o:%.d.
$(编译_D)
$(OUTDIR)/%.o:%.f90
$(编译_F90)
$(OUTDIR)/%.o:%.f
$(编译_F)
$(OUTDIR)/%.o:%.ada
$(编译_ADA)
$(OUTDIR)/%.o:%.c.
$(编译)
$(OUTDIR)/%.o:%.adb
$(编译_ADB)
#构建规则
所有:$(OUTFILE)
$(OUTFILE):$(OUTDIR)$(OBJ)
$(链接)
$(OUTDIR):
$(MKDIR)-p "$(OUTDIR)"
#重建此项目
重建:清洁
@$(make)-f“$(strip $(Makefile_list)”$(MAKEFLAGS)
#清理此项目
清洁:
$(RM)-f $(OUTFILE)
$(RM)-f $(obj)
#清除此项目和所有依赖项
清洁:清洁
恩迪夫
#
#配置:版本
#
ifeq“$(CFG)”“释放”
OUTDIR=释放
OUFILE=$(OUTDIR)/SlickEditHello
cfg_INC=-I...//ti/MSP430-gcc/包括\
-I/Applications/ti/MSP/MSP430Ware_3_80_13_03/driverlib
cfg_LIB=
cfg_obj=
common_obj=$(OUTDIR)/SlickEditHello
OBJ=$(common_OBJ)$(CFG_OBJ)
all_obj=$(OUTDIR)/SlickEditHello
编译=/Users/pcpro178/ti/MSP430-gcc/bin/MSP430-elf -gcc -c -v -o "$(OUTDIR)/$(*F).o"$(CFG_INC)$<
link=/users/pcpro178/ti/MSP430-gcc/bin/MSP430-elf -ld -v -o "$(OUTFILE)"$(all_obj)
编译_ADA=gnat -O -c -o "$(OUTDIR)/$(*F).o""$<"
编译_ADB=gnat -O -c -o "$(OUTDIR)/$(*F).o""$<"
编译_F=gfortran -O -g -o "$(OUTDIR)/$(*F).o""$<"
编译_F90=gfortran -O -g -o "$(OUTDIR)/$(*F).o""$<"
compane_d=gDC -c -g -o "$(OUTDIR)/$(*F).o""$<"
#模式规则
$(OUTDIR)/%.o:%.d.
$(编译_D)
$(OUTDIR)/%.o:%.f90
$(编译_F90)
$(OUTDIR)/%.o:%.f
$(编译_F)
$(OUTDIR)/%.o:%.ada
$(编译_ADA)
$(OUTDIR)/%.o:%.c.
$(编译)
$(OUTDIR)/%.o:%.adb
$(编译_ADB)
#构建规则
所有:$(OUTFILE)
$(OUTFILE):$(OUTDIR)$(OBJ)
$(链接)
$(OUTDIR):
$(MKDIR)-p "$(OUTDIR)"
#重建此项目
重建:清洁
@$(make)-f“$(strip $(Makefile_list)”$(MAKEFLAGS)
#清理此项目
清洁:
$(RM)-f $(OUTFILE)
$(RM)-f $(obj)
#清除此项目和所有依赖项
清洁:清洁
恩迪夫
#
#包括依赖项:
#
$(OUTDIR)/SlickEditHello:SlickEditHello .c ./../ti/MSP430-gcc/include/msp430.h
[se pcpro178@MBP-C02FD3MPMD6T SlickEditHello ]$/Applications/SlickEditPro202.app/Contents/MacOS/vsbuild rebuild -v -c Debug -hidevep /Users/pcpro178/Desktop/SlickEditHello /SlickEditHello .vpw /Users/pcmspic/edv81.
vsbuild:对/users/pcpro178/Desktop/SlickEditHello /SlickEditHello .vpj 没有依赖性
vsbuild:----- “重建”项目:“单击编辑 Hello .vpj”-“错误”-->
VSLICKERRORPATH=/Users/pcpro178/Desktop/SlickEditHello
vsbuild:make -f "/Users/pcpro178/Desktop/SlickEditHello /SlickEditHello.ma" rebuild CFG =调试
rm -f Debugge/SlickEditHello
rm -f Debugge/SlickEditHello
/users/pcpro178/ti/MSP430-gcc/bin/MSP430-elf -c -v "-D_MSP430FR2675_"-g -o "Debugge/SlickEditHello.o"-I..//ti/MSP430-gcc/ include -I/Applications/ti/MSP/MSP430Ware_303_Sdrive_03.80
使用内置规格。
collect_gc=/users/pcpro178/ti/MSP430-gcc/bin/MSP430-elf-gcc
目标:MSP430-elf
配置为:./../gcc/配置--target=MSP430-elf --enable-languages =c,c++--disable-NLS --enable-initfini-array --enable-target-optspace --enable-newlib-nano 格式化的-IO --with -pkgversion='系统有限-MSP430-gcc.1.11'
螺纹模型:单个
GCC 9.3.1版(Mitto Systems Limited - MSP430-gcc 9.3.1.11)
collect_gcc_options='-c''-v''-D''__MSP430FR2675'-g'-o''Debug/SlickEditHello'-I'./././././MSP-gcc/include'-i'/Applications/MSP/MSP/303'/drivi_3'-MSP430-3'/csv_3_3'.csv_DEVICES/e-3_3_13_msv_3_msv_3_csv.csv.csv_c_包括 器件。
/users/pcpro178/ti/MSP430-gcc/bin./libexec/gcc/MSP430Ware-ele/9.3.1/CC1 -quiet -v -i ./../ti/Edit-gccc/include -i /Applications/ti/MSP430Ware_3_80_13_driverebo/ devices.csv
GNU C17 (Mitto Systems Limited - MSP430-gcc 9.3.1.11)版本9.3.1 (MSP430-elf)
由 GNU C 4.2.1版编译,兼容 Apple LLVM 11.0.3 (clang-1103.0.32.59),GMP 6.1.0版,MPFR 3.1.4版,MPC 1.0.3版,ISL ISL-0.18-GMP 版
GGC 启发法:--param GC-min-expand=100 --param GC-min-heapsize=131072
忽略不存在的目录"/Users/pcpro178/ti/MSP430-gcc/bin./lib/gcc/gcc/MSP430-elf /9.3.1/..//../../MSP430-elf /sys-include"
忽略重复的目录"/Users/pcpro178/ti/MSP430-gcc/bin./lib/gcc/./././lib/gcc/MSP430-elf /9.3.1/include
忽略重复的目录"/Users/pcpro178/ti/MSP430-gcc/bin./lib/gcc/./././lib/gcc/MSP430-ele/9.3.1/include-fixed"
忽略不存在的目录"/Users/pcpro178/ti/MSP430-gcc/bin./lib/gcc/./././lib/gcc/MSP430-elf /9.3.1/..//../../MSP430-elf /sys-include"
忽略重复的目录"/Users/pcpro178/ti/MSP430-gcc/bin./lib/gcc/./././lib/gcc/MSP430-ele/9.3.1/..//../../../MSP430-ele/include
#include "...搜索从此处开始:
#include <...>搜索从此处开始:
.//./ti/MSP430-gcc/包括
/Applications/ti/MSP/MSP430Ware_3_80_13_03/driverlib
/users/pcpro178/ti/MSP430-gcc/bin/../lib/gcc/MSP430-elf /9.3.1/ include
/users/pcpro178/ti/MSP430-gcc/bin/../lib/gcc/MSP430-elf /9.3.1/include-fixed
/users/pcpro178/ti/MSP430-gcc/bin/../lib/gcc/MSP430-elf /9.3.1/..
搜索列表结束。
GNU C17 (Mitto Systems Limited - MSP430-gcc 9.3.1.11)版本9.3.1 (MSP430-elf)
由 GNU C 4.2.1版编译,兼容 Apple LLVM 11.0.3 (clang-1103.0.32.59),GMP 6.1.0版,MPFR 3.1.4版,MPC 1.0.3版,ISL ISL-0.18-GMP 版
GGC 启发法:--param GC-min-expand=100 --param GC-min-heapsize=131072
编译器可执行校验和:423dcf60864bff94c13c4735bcdcee2b
collect_gcc_options='-c''-v''-D''__MSP430FR2675'-g'-o''Debug/SlickEditHello'-I'./././././MSP-gcc/include'-i'/Applications/MSP/MSP/303'/drivi_3'-MSP430-3'/csv_3_3'.csv_DEVICES/e-3_3_13_msv_3_msv_3_csv.csv.csv_c_包括 器件。
/users/pcpro178/ti/MSP430-gcc/bin/../gcc/MSP430-elf /9.3.1/..//../../MSP430-elf /bin/as -传统格式-MP -o Debugge/SlickEditHello。o /var/folders/qb/05p9wx70dllbs/hcckdllbd/
Compiler_path=/Users/pcpro178/ti/MSP430-gcc/bin./libexec/gcc/gcc/MSP430-ele/9.3.1/:/Users/pcpro178/ti/MSP430-gcc/bin././libexec/gcc/:/:/Users/pcpro178/ti/MSP430-gbin/./././././././gcc/././././././././././././././././././././././.
library_path=/users/pcpro178/ti/MSP430-gcc/bin./lib/gcc/MSP430-ele/9.3.1/:/users/pcpro178/ti/MSP430-gcc/bin/..
collect_gcc_options='-c''-v''-D''__MSP430FR2675'-g'-o''Debug/SlickEditHello'-I'./././././MSP-gcc/include'-i'/Applications/MSP/MSP/303'/drivi_3'-MSP430-3'/csv_3_3'.csv_DEVICES/e-3_3_13_msv_3_msv_3_csv.csv.csv_c_包括 器件。
/users/pcpro178/ti/MSP430-gcc/bin/MSP430-elf -v -g -o“Debugge/SlickEditHello”Debugge/SlickEditHello
GNU ld (Mitto Systems Limited - MSP430-gcc 9.3.1.11) 2.34
`m用户/pcpro178/ti/MSP430-gcc/bin/MSP430-elf:debug/SlickEditHello.o:In function‘ain’(函数‘主’):
`/pcpro178/Desktop/SlickEditHello //SlickEditHello .c:5:未定义对“WDTCTL”的引用
`用户/pcpro178/ti/MSP430-gcc/bin/MSP430-elf:/Users/pcpro178/Desktop/SlickEditHello //SlickEditHello .c:5:未定义对“放置”的引用
Make [1]:***[Debugge/SlickEditHello ]错误1
品牌:***[重建]错误2.
vsbuile:程序返回2.
[SE pcpro178@MBP-C02FD3MPMD6T ClickEditHello ]$
我不知道 SlickEdit 是什么,但定义符号并不是告诉 GCC 您使用的设备的常用方法。 请改用-mmcu=。 如中所示:
make -k /usr/ti/gcc/bin/msp430-elf-gcc -g -mmcu=msp430g2253 -I /usr/ti/gcc/include -Wall -Wl,--gc-sections timer.c
链接程序脚本中定义了 WDTCTL 等特殊函数寄存器的符号。 由于您没有告诉编译器您使用的是哪种设备,所以这个符号没有得到解决也不足为奇。 有关将 GCC 用于 MSP430的详细信息,请参阅 sla646。