# 烧录脚本使用说明

## 问题：PowerShell 执行策略限制

如果遇到 "已停用指令碼執行" 错误，有以下解决方案：

## 解决方案

### 方案 1：使用批处理脚本（推荐，最简单）

已创建 `flash.bat` 文件，可以直接双击运行，或使用：

```cmd
flash.bat
```

**优点**：
- 不需要修改 PowerShell 执行策略
- 可以直接双击运行
- 更简单

### 方案 2：临时允许执行脚本（仅当前会话）

在 PowerShell 中运行：

```powershell
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
.\flash.ps1
```

**注意**：这只对当前 PowerShell 会话有效，关闭后恢复原设置。

### 方案 3：修改执行策略（需要管理员权限）

1. **以管理员身份运行 PowerShell**
2. 运行以下命令：

```powershell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
```

**说明**：
- `RemoteSigned`：允许运行本地脚本，远程脚本需要签名
- `CurrentUser`：只影响当前用户，不需要管理员权限

### 方案 4：直接使用命令（无需脚本）

如果不想使用脚本，可以直接运行：

```powershell
# 擦除设备
nrfjprog --eraseall

# 烧录固件
nrfjprog --program build\zephyr\zephyr.hex --chiperase --verify --reset
```

## 推荐方法

**推荐使用 `flash.bat`**，因为：
- 不需要修改系统设置
- 可以直接双击运行
- 兼容性好

## 快速烧录命令

如果经常烧录，可以在 PowerShell 中创建别名：

```powershell
# 添加到 PowerShell profile
function Flash-NCS {
    nrfjprog --eraseall
    nrfjprog --program build\zephyr\zephyr.hex --chiperase --verify --reset
}

# 使用方法
Flash-NCS
```

