在联盛德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=../../
endifinclude $(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工程了;
在联盛德W600 SDK上添加C文件并实现GCC编译相关推荐
- 联盛德 HLK-W806 (八): 4线SPI驱动SSD1306/SSD1315 128x64 OLED液晶屏
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...
- 联盛德 HLK-W806 (五): W801开发板上手报告
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...
- 联盛德 HLK-W806 (六): I2C驱动SSD1306 128x64 OLED液晶屏
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...
- 联盛德 HLK-W806 (十一): 软件SPI和硬件SPI驱动ST7567液晶LCD
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...
- 联盛德 HLK-W806 (九): 软件SPI和硬件SPI驱动ST7789V液晶LCD
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...
- 联盛德 HLK-W801(三):在SDK粥中盛出UART
联盛德 HLK-W801的UART的使用 这sdk有些乱,有的外设历程也乱,其中这个uart的相关api就挺乱的 文章目录 联盛德 HLK-W801的UART的使用 1. 开发环境 2. 使用sdk初 ...
- 联盛德 HLK-W801(二):SDK启动分析
联盛德 HLK-W801(二):SDK启动分析 声明:这是学习的时候记录的笔记,可能存在错误,另外我有一篇针对这个开发板打开串口复位问题进行了硬件修改,相关问题请看我的另一篇博客 文章目录 联盛德 H ...
- 联盛德W800开发板|SDK|make menuconfig|工具链|本地命令行编译|Windows11|msys|清华源|(4)、联盛德W800开发板命令行编译指南
目录 W800 芯片介绍: W800开发板 主要接口如下: 1 概述 2 准备工作 3.SDK目录结构如下: 4 W800编译固件编译 4.1 安装MSYS到本地: 4.2增加国内软件更新源 编辑4 ...
- W80X|联盛德|nulllab空想实验室|Arduino适配|学习(6):w80x_arduino环境安装
文章目录 概述 官方推荐安装方法(实测未成功) readme中的安装步骤: 手动安装方法: clone项目至本地 手动新建w80x_arduino管理器存放目录 w80x_arduino开发进展 说明 ...
最新文章
- python上海培训哪里比较好-上海python培训哪家好 Python需要多久学会
- session过期重新登陆_深入分析Session和Cookie-前端面试题
- 刷题bingo挑战赛1
- 增加堆大小–谨防眼镜蛇效应
- 基于FPGA的红外遥控解码与PC串口通信
- `object.__new__`应用
- 关于flink的时间处理不正确的现象复现原因分析
- python和java选择哪个-观点|Java 与 Python:你应该选择哪个?
- js实现类似微博根据发布时间,给信息加上“刚刚”“一分钟前”“一小时前”
- python mp4提取音频,利用python提取视频中的音频
- 微信公众号--素材管理
- 猜数字游戏:随机生成一个1-100之间的数据,提示用户猜测,猜大提示过大,猜小提示过小,直到猜中结束游戏
- 2020年国家扶贫日“三产联动扶贫论坛”在京召开,杭州复杂美科技有限公
- 怎么把ppt文字大小设置一致_学会这个方法,轻松制作海报级别的霓虹灯PPT!
- Go语言处理Windows系统的图标ICO文件(中)
- 个人总结-网络安全学习和CTF必不可少的一些网站
- Docker、Docker、Docker
- 反常积分(Anomalous Integrals)
- win 8 store app 圆通快递查询 隐私声明
- 二叉排序树查找成功和不成功的平均查找长度
热门文章
- Syn Bot /OSCOVA 快速回复(11)
- 对接口运用扩展方法 Applying Extension Methods to an Interface 精通ASP-NET-MVC-5-弗瑞曼 Listing 4-15...
- 内核调试和系统调用劫持
- hdu 3613 扩展kmp+回文串
- Transaction And Lock--事务中使用return会回滚事务吗?
- struts2前台获取setattribute为空指针异常_告诉你,这样设计 Java 异常更优雅,更牛逼!...
- html post后404,为什么在vue-cli脚手架下启动的服务器POST返回404呢?WebStorm启动没有问题?...
- Ardino基础教程 17_四位数码管
- STM32 电机教程 28 - ST MCLIB实战之 位置闭环控制
- tortoisegit 常见错误disconnected no supported authentication methods available(server sent: publickey)