# 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