feat: 完善Mesh继电器OTA与地址协议
- 增加STM8 Bootloader工程及出厂固件恢复流程\n- 增加W25Q64外部Flash驱动和OTA分包接收、CRC16校验、断点续传状态管理\n- 增加固件版本查询、升级结果上报与主机确认机制\n- 将业务帧从55 AA帧头调整为发送方Mesh短地址+CMD+LEN+DATA+CRC16\n- 修正JDY-28M外层地址与业务发送方地址的职责划分,支持广播请求定向应答\n- 同步更新硬件引脚、存储分区、OTA流程和主机通信协议文档\n- 已使用SDCC重新编译,应用代码大小为5512字节,链接地址为0x8800
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
PROJECT := stm8_bootloader
|
||||
BUILD_DIR := build
|
||||
SRC_DIR := src
|
||||
INC_DIR := include
|
||||
|
||||
CC := sdcc
|
||||
OBJCOPY := packihx
|
||||
|
||||
# Bootloader 固定放在 STM8S003F3P6 的 Flash 起始地址 0x8000。
|
||||
CFLAGS := -mstm8 --std-c99 --opt-code-size -I$(INC_DIR)
|
||||
LDFLAGS := -mstm8 --out-fmt-ihx --code-loc 0x8000 --data-loc 0x0000
|
||||
|
||||
SOURCES := $(shell find $(SRC_DIR) -name '*.c' -print)
|
||||
OBJECTS := $(patsubst $(SRC_DIR)/%.c,$(BUILD_DIR)/%.rel,$(SOURCES))
|
||||
IHX := $(BUILD_DIR)/$(PROJECT).ihx
|
||||
HEX := $(BUILD_DIR)/$(PROJECT).hex
|
||||
|
||||
.PHONY: all clean size
|
||||
|
||||
all: $(HEX)
|
||||
|
||||
$(HEX): $(IHX)
|
||||
@mkdir -p $(dir $@)
|
||||
$(OBJCOPY) $< > $@
|
||||
|
||||
$(IHX): $(OBJECTS)
|
||||
@mkdir -p $(dir $@)
|
||||
$(CC) $(LDFLAGS) -o $@ $(OBJECTS)
|
||||
|
||||
$(BUILD_DIR)/%.rel: $(SRC_DIR)/%.c
|
||||
@mkdir -p $(dir $@)
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
size: $(IHX)
|
||||
@ls -lh $(IHX) $(HEX)
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
Reference in New Issue
Block a user