SiK 开源项目教程
SiKTools and firmware for the Si1000项目地址:https://gitcode.com/gh_mirrors/si/SiK
1. 项目的目录结构及介绍
SiK 项目的目录结构如下:
SiK/
├── Firmware/
│ ├── Config/
│ ├── Tools/
│ ├── common/
│ ├── hal/
│ ├── protocols/
│ ├── radio/
│ ├── telemetry/
│ ├── Makefile
│ └── README.md
├── Radio/
│ ├── Config/
│ ├── Tools/
│ ├── common/
│ ├── hal/
│ ├── protocols/
│ ├── radio/
│ ├── telemetry/
│ ├── Makefile
│ └── README.md
├── Tools/
│ ├── Config/
│ ├── Tools/
│ ├── common/
│ ├── hal/
│ ├── protocols/
│ ├── radio/
│ ├── telemetry/
│ ├── Makefile
│ └── README.md
└── README.md
目录结构介绍
-
Firmware/: 包含固件相关的代码和配置文件。
- Config/: 存放固件的配置文件。
- Tools/: 包含固件编译和调试工具。
- common/: 公共代码模块。
- hal/: 硬件抽象层代码。
- protocols/: 通信协议代码。
- radio/: 无线电模块代码。
- telemetry/: 遥测模块代码。
- Makefile: 编译固件的Makefile文件。
- README.md: 固件目录的说明文档。
-
Radio/: 包含无线电相关的代码和配置文件。
- Config/: 存放无线电的配置文件。
- Tools/: 包含无线电编译和调试工具。
- common/: 公共代码模块。
- hal/: 硬件抽象层代码。
- protocols/: 通信协议代码。
- radio/: 无线电模块代码。
- telemetry/: 遥测模块代码。
- Makefile: 编译无线电的Makefile文件。
- README.md: 无线电目录的说明文档。
-
Tools/: 包含工具相关的代码和配置文件。
- Config/: 存放工具的配置文件。
- Tools/: 包含工具编译和调试工具。
- common/: 公共代码模块。
- hal/: 硬件抽象层代码。
- protocols/: 通信协议代码。
- radio/: 无线电模块代码。
- telemetry/: 遥测模块代码。
- Makefile: 编译工具的Makefile文件。
- README.md: 工具目录的说明文档。
-
README.md: 项目根目录的说明文档。
2. 项目的启动文件介绍
SiK 项目的启动文件主要位于 Firmware/
目录下的 Makefile
文件。该文件负责编译和构建固件。以下是 Makefile
文件的主要内容:
# 编译目标
TARGET = firmware
# 源文件目录
SRC_DIR = ./common ./hal ./protocols ./radio ./telemetry
# 编译器
CC = gcc
# 编译选项
CFLAGS = -Wall -O2
# 链接选项
LDFLAGS = -lm
# 源文件
SRC = $(wildcard $(addsuffix /*.c, $(SRC_DIR)))
# 目标文件
OBJ = $(patsubst %.c, %.o, $(SRC))
# 默认目标
all: $(TARGET)
# 编译规则
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
# 链接规则
$(TARGET): $(OBJ)
$(CC) $(LDFLAGS) $^ -o $@
# 清理规则
clean:
rm -f $(OBJ) $(TARGET)
启动文件介绍
- TARGET: 定义编译目标为
firmware
。 - SRC_DIR: 定义源文件目录。
- CC: 定义编译器为
gcc
。 - CFLAGS: 定义编译选项。
- LDFLAGS: 定义链接选项。
- SRC:
SiKTools and firmware for the Si1000项目地址:https://gitcode.com/gh_mirrors/si/SiK