在联盛德W600 SDK上添加C文件并实现GCC编译

以下基于官网上最新的3.04版本(http://www.winnermicro.com/html/1/156/158/497.html)的SDK WM_SDK_W60X_G3.04.00 为例来详细说明。

标准开发包支持KEIL编译和GCC编译两种编译方式,通常来说,开发者使用前者的较多,包括我自己。因为它比较方便,简单,添加自己的C文件时,只需要在项目里右键添加到组即可,再在工程选项里设置一下自己的头文件的目录,就可以进行编译。如下图所示,分别是向工程中添加文件及设置头文件路径的操作步骤。

以下主要介绍一下在使用GCC编译工程时,如何向GCC工程中添加自己的C文件;

SDK根目录结构如下图所示:

现在我在App目录下添加几个文件,并新建一个文件夹,同时在文件夹内存放几个自己写的应用文件,如下图:

若要将以上文件加入GCC工程,可按以下步骤实现:

1,编写dir_demo目录下的makefile,内容如下:

#/**************************************************************************
# * Kevin 2014-02-24                                                       *
# **************************************************************************/

#---------------------------------------------------------------------------
# Constant Variable definition
#---------------------------------------------------------------------------

ifeq ($(COMPILER_OS_CYGWIN),1)
TOPDIR=../../
endif

include $(TOPDIR)/Tools/toolchain.def

#---------------------------------------------------------------------------
# Target definition (User)
#---------------------------------------------------------------------------
GOAL  = $(LIB_DIR)/wmdir_demo.$(LIBTYPE)

#---------------------------------------------------------------------------
# Source section (User)
#---------------------------------------------------------------------------
ASM_SRC			+= 
C_SRC			+= file_1.c       
C_SRC			+= file_2.c       
#---------------------------------------------------------------------------
# Implicit rules
#---------------------------------------------------------------------------
.c.o:
	$(CC) $(CFLAGS) -c -o $*.o $< $(INCLUDES)

.s.o:
	$(ASM) $(ASMFLAGS) -c -o $*.o $< $(INCLUDES)

#---------------------------------------------------------------------------
# Explicit ruls
#---------------------------------------------------------------------------
OBJ_FILES	= $(C_SRC:%.c=%.o) $(ASM_SRC:%.s=%.o)

all: $(GOAL)

$(GOAL): $(OBJ_FILES)
	$(AR) $(ARFLAGS) $@ $(OBJ_FILES)
	
.PHONY: clean
clean:
	$(RM) -f $(GOAL)
	$(RM) -f $(OBJ_FILES:.o=.d) $(OBJ_FILES)
	

2,修改Tools/GNU/目录下的makefile,修改内容如下,

3,修改Tools目录下subdir.mk文件;

4,修改Tools目录下toolchain.def文件;

5,完成以上修改后,就修改成功了。然后就可以到GNU目录下执行make命令来编译GCC工程了;

发布了63 篇原创文章 · 获赞 95 · 访问量 41万+

猜你喜欢

转载自blog.csdn.net/zwl1584671413/article/details/102792789