如何将源文件编译成.a库文件跑在Cortex-M 芯片上

本文档详细记录了如何在Cortex-M0芯片上编译源文件为库文件的过程。使用了gcc-arm-none-eabi-5_4-2016q3-20160926-win32交叉编译环境,通过Makefile配置,成功将源码编译成.a静态库。编译步骤包括设置编译选项,生成.o目标文件,然后使用ar工具创建库文件。同时,文章提到了在工程Makefile中添加库路径和包含文件的注意事项。
摘要由CSDN通过智能技术生成

最近项目需要将源文件编译成库文件,然后跑在Cortex-M0芯片上,遇到了一些问题需要记录一下。

编译环境:交叉编译环境  gcc-arm-none-eabi-5_4-2016q3-20160926-win32

先整理完整的源文件,封装好接口在头文件中

编译方法:

Makefile :

GCC_ARM_PATH :=D:\bat\gcc-arm-none-eabi-5_4-2016q3-20160926-win32
CROSS_COMPILE := $(GCC_ARM_PATH)\bin\arm-none-eabi-

sbcenc.o: sbc.h sbcenc.c
	$(CROSS_COMPILE)gcc -c *.c *.h -mthumb -mcpu=cortex-m0
	$(CROSS_COMPILE)gcc-ar -rcs libsbcenc.a *.o 

clean:
	del /Q /S .\*.o
	del /Q /S .\*.a
	del /Q /S .\*.gch

这样就能把源码编译成lib前缀的.a文件

注意:在整个工程的makefile 文件中要指明库路径及包含:

LIBFILES := -lm -I${INC} -lc
LIBDIR   := -L.
LIBDIR   += -L $(GCC_ARM_PATH)\lib\gcc\arm-none-eabi\5.4.1\armv6-m
LIBDIR   += -L $(GCC_ARM_PATH)\arm-none-eabi\lib\armv6-m
LIBDIR	 += -L $(THUMB_PATH)
LIBDIR	 += -L $(SDK_ROOT)\drivers\sbc -lsbcenc

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值