Files
ZhaTianRC/rx/Makefile
2026-06-26 17:57:02 +08:00

50 lines
971 B
Makefile

# ZhaTianRX - STC8H1K08 接收机固件 Makefile
# 编译器: SDCC
TARGET = ZhaTianRX
BUILD_DIR = build
# SDCC 路径
CC = sdcc
PACK = packihx
# 源文件
C_SOURCES = main.c
# 编译标志
CFLAGS = -mmcs51 --model-small --no-xinit-opt
# 输出文件
IHX = $(BUILD_DIR)/$(TARGET).ihx
HEX = $(BUILD_DIR)/$(TARGET).hex
BIN = $(BUILD_DIR)/$(TARGET).bin
# 目标
all: $(BUILD_DIR) $(HEX) $(BIN)
$(BUILD_DIR):
mkdir -p $(BUILD_DIR)
# 编译: SDCC 直接输出 .ihx
$(IHX): $(C_SOURCES) NRF24.h STC8_SDCC.H | $(BUILD_DIR)
$(CC) $(CFLAGS) -o $(IHX) $(C_SOURCES)
# 转换为 Intel HEX
$(HEX): $(IHX)
$(PACK) $(IHX) > $(HEX)
# 转换为二进制
$(BIN): $(HEX) hex2bin.py
python3 hex2bin.py $(HEX) $(BIN)
# 清理
clean:
rm -rf $(BUILD_DIR) *.asm *.lst *.rel *.rst *.sym *.map *.mem *.lk
# 烧录 (需要 stcgal)
flash: $(HEX)
@echo "烧录命令: stcgal -p /dev/ttyUSB0 -b 115200 $(HEX)"
@echo "或者使用 STC-ISP 工具手动烧录"
.PHONY: all clean flash