feat: complete assembly mesh relay control path

- synchronize STM8 application and external flash layout updates\n- add assembly bootloader and assembly application test projects\n- add UART1 interrupt receive ring buffer\n- parse JDY-28M Mesh outer frames and source addresses\n- add CRC-16/MODBUS validation\n- implement relay control command 0x01 and response 0x81\n- support unicast and broadcast relay control frames\n- update host protocol, OTA documents, and serial tools
This commit is contained in:
十七
2026-11-05 16:12:51 +08:00
parent df1aad3d16
commit ebef6a8694
40 changed files with 2133 additions and 307 deletions
+45
View File
@@ -0,0 +1,45 @@
# STM8S003F3P6TR PB5独立LED测试工程。
# 本工程不包含Bootloader;测试主程序按0x8500链接,用于和汇编Bootloader合并。
PROJECT := pb5_led_test
BUILD_DIR := build
CC := sdcc
PACKIHX := packihx
CFLAGS := -mstm8 --std-c99 --opt-code-size -Iinclude
LDFLAGS := -mstm8 --out-fmt-ihx --code-loc 0x8000
APP_LDFLAGS := -mstm8 --out-fmt-ihx --code-loc 0x8500
OBJECT := $(BUILD_DIR)/main.rel
IHX := $(BUILD_DIR)/$(PROJECT).ihx
HEX := $(BUILD_DIR)/$(PROJECT).hex
APP_IHX := $(BUILD_DIR)/$(PROJECT)_app.ihx
APP_HEX := $(BUILD_DIR)/$(PROJECT)_app.hex
.PHONY: all app clean
all: app
# 生成供Bootloader跳转测试使用的主程序镜像,链接地址必须为0x8500。
app: $(APP_HEX)
$(APP_HEX): $(APP_IHX)
$(PACKIHX) $< > $@
$(APP_IHX): $(OBJECT)
@mkdir -p $(BUILD_DIR)
$(CC) $(APP_LDFLAGS) -o $@ $<
$(HEX): $(IHX)
$(PACKIHX) $< > $@
$(IHX): $(OBJECT)
@mkdir -p $(BUILD_DIR)
$(CC) $(LDFLAGS) -o $@ $<
$(OBJECT): src/main.c
@mkdir -p $(BUILD_DIR)
$(CC) $(CFLAGS) -c $< -o $@
clean:
rm -rf $(BUILD_DIR)