# Firmware NCS 版本

基于 nRF Connect SDK (NCS) + Zephyr RTOS 的固件项目。

## 项目信息

- **MCU**: nRF52832
- **SDK**: nRF Connect SDK (最新版本)
- **RTOS**: Zephyr
- **协议**: ANT + BLE
- **语言**: C

## 环境要求

### 1. 安装 NCS

参考 Nordic 官方文档：
https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/getting_started.html

**Windows 快速安装**：
```bash
# 1. 安装 Python 3.8+
# 2. 安装 Git
# 3. 安装 West
pip3 install west

# 4. 初始化 NCS
west init -m https://github.com/nrfconnect/sdk-nrf --mr main
cd nrf
west update
```

### 2. 安装 VSCode 扩展

安装 **nRF Connect for VS Code** 扩展包：
- nRF Connect Extension Pack

### 3. 配置 VSCode

1. 打开 VSCode
2. 打开 `firmware-ncs` 目录
3. 按 `Ctrl+Shift+P`，输入 "nRF Connect: Set up nRF Connect SDK"
4. 选择 NCS 安装路径（通常是 `nrf` 目录）

## 编译和烧录

### 使用 VSCode

1. 按 `Ctrl+Shift+P`
2. 输入 "nRF Connect: Build"
3. 选择目标板：`nrf52832dk_nrf52832` 或 `nrf52dk_nrf52832`
4. 等待编译完成

### 使用命令行

```bash
# 进入项目目录
cd firmware-ncs

# 编译
west build -b nrf52832dk_nrf52832

# 烧录
west flash
```

## 项目结构

```
firmware-ncs/
├── CMakeLists.txt      # CMake 配置
├── prj.conf           # Kconfig 配置（Zephyr 配置）
├── Kconfig            # 自定义 Kconfig（可选）
├── src/
│   └── main.c         # 主程序
└── README.md          # 本文件
```

## 配置说明

### ANT 配置

在 `prj.conf` 中：
```kconfig
CONFIG_ANT_STACK_ENABLE=y
CONFIG_ANT_CHANNELS=8
CONFIG_ANT_LICENSE_KEY="4d0a-05de-fa63-d21f-53b6-d8ea-3421-c91a"
```

### BLE 配置

在 `prj.conf` 中：
```kconfig
CONFIG_BT=y
CONFIG_BT_PERIPHERAL=y
```

## 迁移计划

### 阶段 1：基础框架 ✅
- [x] 创建项目结构
- [x] 配置 NCS + Zephyr
- [x] 创建空的 main.c
- [x] 配置 VSCode

### 阶段 2：基础模块（待进行）
- [ ] 迁移 config.c/h
- [ ] 迁移 model.h
- [ ] 迁移 utils.c/h

### 阶段 3：驱动层（待进行）
- [ ] 迁移 led.c/h
- [ ] 迁移 adc.c/h
- [ ] 迁移 imu.c/h

### 阶段 4：数据采集层（待进行）
- [ ] 迁移 sma.c/h
- [ ] 迁移 acq.c/h

### 阶段 5：通信层（待进行）
- [ ] 迁移 BLE services
- [ ] 迁移 ANT services

### 阶段 6：应用层（待进行）
- [ ] 迁移状态机
- [ ] 迁移主程序逻辑

## 注意事项

1. **ANT License Key**: 已配置在 `prj.conf` 中
2. **原项目**: 保留在 `../firmware/` 目录，不影响
3. **逐步迁移**: 按依赖关系从底层到上层迁移

## 参考文档

- [NCS 文档](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/index.html)
- [Zephyr 文档](https://docs.zephyrproject.org/)
- [nRF52832 数据手册](https://infocenter.nordicsemi.com/)

