stm32 Makefile

Makefile

单片机头部信息

#用于stm32f103rctx

CC:=arm-none-eabi-gcc
OBJCOPY:=arm-none-eabi-objcopy
#ARM芯片内核型号
CORE:=3
#-mthumb 表明使用的指令集(必需)
#-mcpu=cortex-m3 表明芯片内核(必需)
CPUFLAGS:=-mthumb -mcpu=cortex-m$(CORE)
#-T 指定链接文件
LDFLAGS:=-T STM32F103RCTx_FLASH.ld \
			-specs=nosys.specs -static -Wl,-cref,-u,Reset_Handler \
			-Wl,-Map=test.map \
			-Wl,--gc-sections -Wl,--defsym=malloc_getpagesize_P=0x80 -Wl,--start-group -lc -lm -Wl,--end-group

将XXX目录下所有的.c文件转换为.o文件

#U8G2
U8G2_INCLUDE:=-I./u8g2  #u8g2下所有的.h文件
U8G2:=./u8g2/           #u8g2文件目录
U8G2_LIBS = $(wildcard $(U8G2)*.c)   #可以使用如下命令获取当前目录下所有 .c 文件的文件列表
U8G2_OBJ:= $(subst ./u8g2/,$(OBJ),$(U8G2_LIBS)) #将./u8g2/xxx.c 替换为 ./OBJ/xxx.c  
U8G2_OBJ:= $(subst .c,.o,$(U8G2_OBJ))           #将./OBJ/xxx.c  替换为 ./OBJ/xxx.o 

编译U8G2文件


#编译U8G2
$(U8G2_OBJ):$(OBJ)%.o:$(U8G2)%.c 
	$(CC) -c $(CPUFLAGS) -O0 -g -Wa,--warn $^ -o $@ $(include) 

所有.o文件转换为.elf后转化为.hex文件

$(OBJ)sxpi.hex:$(OBJ)sxpi.elf
	$(OBJCOPY) $^ -Oihex $@
#所有的.o文件
OBJ_CODE:=$(U8G2_OBJ) \
       
all : sxpi.elf

$(OBJ)sxpi.elf:$(OBJ_CODE)
	$(CC) $^ -o $@ $(CPUFLAGS) $(LDFLAGS)

烧录代码

#烧录代码
	
OPENCDE:=openocd

START = start ""

STLINK:=C:\xpack-openocd-0.11.0-4\scripts\interface\stlink.cfg

STM32f10x:=C:\xpack-openocd-0.11.0-4\scripts\target\stm32f1x.cfg

# flash:
# 	$(OPENCDE) -f $(STLINK) -f $(STM32f10x) -c "program $(OBJ)sxpi.hex" -c "reset" -c "shutdown"
#stm32c8t6

flash:
	$(OPENCDE) -f $(STLINK) -c "set CPUTAPID 0x1ba01477" -f $(STM32f10x) -c "program $(OBJ)sxpi.hex" -c "reset" -c "shutdown"
clean:
	del /s *.o *.elf *.hex
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值