单片机
返回首页

stm32 makefile

2025-09-17 来源:cnblogs

# toolchain

CC           = arm-none-eabi-gcc

CP           = arm-none-eabi-objcopy

AS           = arm-none-eabi-gcc -x assembler-with-cpp

 

# all the files will be generated with this name 

PROJECT_NAME=stm32f10x_project

 

# user specific

SRC      += ./user/main.c

# startup

ASM_SRC  += ./user/startup_stm32f103xe.s

 

OBJECTS  = $(ASM_SRC:.s=.o) $(SRC:.c=.o)

# Define optimisation level here

MC_FLAGS = -mcpu=cortex-m3

AS_FLAGS = $(MC_FLAGS) -g  -mthumb  

CP_FLAGS = $(MC_FLAGS)  -g  -mthumb  -Wall -fverbose-asm 

LD_FLAGS = $(MC_FLAGS) -g  -mthumb  -Xlinker --gc-sections -T STM32F103ZETx_FLASH.ld 

 

# makefile rules

all: $(OBJECTS) $(PROJECT_NAME).elf  $(PROJECT_NAME).hex $(PROJECT_NAME).bin

arm-none-eabi-size $(PROJECT_NAME).elf

 

%.o: %.c

$(CC) -c $(CP_FLAGS) -I . $(INC_DIR) $< -o $@

 

%.o: %.s

$(AS) -c $(AS_FLAGS) $< -o $@

 

%.elf: $(OBJECTS)

$(CC) $(OBJECTS) $(LD_FLAGS) -o $@

 

%.hex: %.elf

$(CP) -O ihex $< $@

 

%.bin: %.elf

$(CP) -O binary -S  $< $@

 

clean:

rm -rf  $(PROJECT_NAME).elf $(PROJECT_NAME).hex $(PROJECT_NAME).bin *.o

 


main.c


//#include 'stm32f10x.h' // Device header

 

int main()

{

 

    return 0;

}


进入单片机查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

  • 直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  • 基于灵动MM32W0系列MCU的指夹血氧仪控制及OTA升级应用方案分享

精选电路图
  • 1瓦线性调频增强器

  • 1瓦四级调频发射机

  • 500W MOS场效应管电源逆变器,12V转110V/220V

  • 红外开关

  • LM317过压保护

  • 0-30V/20A 大功率稳压电源(采用LM338)

    相关电子头条文章