# 日志输出说明

## 当前状态

从 RTT Viewer 的输出可以看到：

### ✅ 系统正常运行
- 看到了线程创建和运行的日志
- 看到了 `main: Main thread running...`（INF 级别）
- 看到了 `main: worker_thread_entry: Worker thread running...`（DBG 级别）

### 📝 日志级别说明

从输出可以看到两种日志级别：

1. **`<inf>`** - INFO 级别（信息）
   - `[00:00:20.501,953] <inf> main: Main thread running...`
   - 这是正常的应用日志

2. **`<dbg>`** - DEBUG 级别（调试）
   - `[00:00:17.961,822] <dbg> main: worker_thread_entry: Worker thread running...`
   - 这是调试信息，包括 MPU、线程栈等系统信息

### 🔍 为什么看不到启动日志？

启动时的 `LOG_INF` 消息可能因为以下原因丢失：

1. **日志系统初始化时机**：在 `main()` 函数调用时，日志系统可能还没完全初始化
2. **缓冲区溢出**：启动时大量系统日志可能覆盖了应用日志
3. **RTT 连接时机**：RTT Viewer 可能在启动日志输出后才连接

### ✅ 验证系统正常运行

从输出可以确认：

1. **主线程正在运行**：
   ```
   <inf> main: Main thread running...
   ```
   每 5 秒输出一次（`k_sleep(K_SECONDS(5))`）

2. **工作线程正在运行**：
   ```
   <dbg> main: worker_thread_entry: Worker thread running...
   ```
   每 2 秒输出一次（`k_sleep(K_SECONDS(2))`）

3. **系统功能正常**：
   - 线程创建成功
   - 线程调度正常
   - 日志系统工作正常

## 如何查看完整的启动日志

### 方法 1：使用 UART Serial Monitor

在 VSCode 中打开 Serial Monitor：
1. 按 `Ctrl+Shift+P`
2. 输入 "Serial Monitor"
3. 选择串口，波特率 115200
4. 重新烧录固件，立即查看启动日志

### 方法 2：在代码中添加更多日志

可以在关键位置添加 `printk()` 来确保输出：

```c
printk("=== Application Starting ===\n");
LOG_INF("System starting...");
```

### 方法 3：减少系统调试日志

如果想减少 MPU 等系统日志，可以：

```kconfig
# 在 prj.conf 中
CONFIG_MPU_REQUIRES_NON_OVERLAPPING_REGIONS=n
CONFIG_MPU_LOG_LEVEL_WRN=y  # 只显示警告
```

## 当前系统状态

✅ **系统正常运行**：
- 主线程每 5 秒输出一次
- 工作线程每 2 秒输出一次
- 所有模块已初始化

✅ **日志系统正常**：
- INF 级别日志正常输出
- DBG 级别日志正常输出
- RTT 连接正常

## 下一步

系统已经正常运行，可以开始：
1. 迁移更多模块（LED、ADC、IMU 等）
2. 实现状态机
3. 添加 BLE 和 ANT 功能

