
DAPLink + OpenOCD 烧录笔记
使用 DAPLink 和 OpenOCD 烧录固件记录
EPD-nRF5 是一款专为电子墨水屏设计的开源固件,支持通过蓝牙传输图像、设置日历模式(包括农历、节气、节假日及调休显示)等功能。项目配套了一个基于浏览器的网页版上位机,用户可以通过手机或电脑轻松实现图片传输、屏幕控制和个性化设置。
该项目适用于多种主控芯片(如 nRF51822、nRF51802、nRF52811、nRF52810)和墨水屏驱动(如 UC8176、UC8276、SSD1619、SSD1683、JD79668),兼容黑白、三色、四色等多种墨水屏类型。可通过JLink,DAPLink烧写。
以下是上述项目使用 DAPLink 和 OpenOCD 烧录固件的记录,适用于 nRF51822 或类似目标设备(如墨水屏控制器)。教程以烧录EPD_128K_full.hex
为例。固件可在项目Releases处下载。
1. 准备工作
(1)下载所需工具
-
OpenOCD:
- 下载地址:xPack OpenOCD Releases
- 解压后将
bin
目录添加到系统的PATH
环境变量中。
-
固件文件:
- 下载地址:EPD-nRF5 Releases
- 下载适合你设备的固件文件(如
EPD_128K_full.hex
)。
-
DAPLink 调试器:
- 确保你的 DAPLink 调试器已正确安装驱动程序,并能够被系统识别。
2. 硬件连接
根据目标设备的引脚定义,按照以下方式连接 DAPLink 和目标设备:
DAPLink 引脚 | 目标设备引脚 |
---|---|
SWCLK | CLK |
SWDIO | DIO |
GND | GND |
VCC (3.3V) | VCC |
注意:
- 驱动板上的方形孔为 1 脚(Pin 1)。
- 如果有其他引脚(如
TXD
),不需要连接。- 确保目标设备已正确供电(可以通过 DAPLink 提供 3.3V 电源,或使用外部电源)。
3. 配置 OpenOCD
(1)检查 OpenOCD 的默认路径
OpenOCD 的配置文件通常位于安装目录下的 scripts
文件夹中。
确保该目录包含以下文件:
interface/cmsis-dap.cfg
(调试接口配置文件)target/nrf51.cfg
(目标设备配置文件)
如果这些文件不存在,请重新安装 OpenOCD。
4. 烧录固件
(1)擦除芯片
运行以下命令擦除目标设备的 Flash:
openocd -f interface/cmsis-dap.cfg -f target/nrf51.cfg -c "init" -c "reset halt" -c "nrf51 mass_erase" -c "exit"
说明:
nrf51 mass_erase
命令会擦除整个芯片的 Flash 和设置。- 如果目标设备被保护或锁定,此命令可能会失败。
(2)烧录 .hex
文件
运行以下命令烧录 EPD_128K_full.hex
文件:
openocd -f interface/cmsis-dap.cfg -f target/nrf51.cfg -c "init" -c "reset halt" -c "program C:/path/to/EPD_128K_full.hex verify reset exit"
说明:
program
命令用于烧录固件。verify
参数会在烧录完成后验证数据是否正确写入。reset
参数会在烧录完成后重启目标设备。exit
参数会在操作完成后退出 OpenOCD。
(3)日志输出示例
如果一切正常,你会看到类似以下日志:
Info : CMSIS-DAP: Interface Initialised (SWD)
Info : SWD DPIDR 0x0bb11477
Info : [nrf51.cpu] Cortex-M0 r0p0 processor detected
Info : [nrf51.cpu] Examination succeed
Info : Programming Finished
Info : Verify OK
Info : Resetting Target
5. 验证刷机结果
(1)检查屏幕显示
- 刷机完成后,注意:墨水屏不会有任何变化,请打开蓝牙上位机查看,通常可检索到新设备类似
NRF_EPD_XXXX
。
(2)蓝牙连接测试
-
打开支持蓝牙的设备(电脑或手机)。
-
在浏览器中打开以下链接:
https://tsl0922.github.io/EPD-nRF5/
-
按照页面说明连接到墨水屏设备,测试传图、设置日历模式等功能。
6. 唤醒设备
如果设备进入低功耗模式,可以通过以下方法唤醒:
(1)NFC 唤醒
- 手机开启 NFC 功能,并保持在扫描界面。
- 将手机靠近墨水屏设备的 NFC 区域。
- 唤醒成功后:
- 三色版本:LED 灯会闪一下。
- 双色版本:没有 LED 灯,只能通过蓝牙确认是否唤醒成功(蓝牙名称格式为
NRF_EPD_XXXX
)。
(2)蓝牙唤醒
- 打开手机或电脑的蓝牙功能,搜索设备名称(如
NRF_EPD_XXXX
)。 - 连接成功即可唤醒设备。
7. 常见问题及解决方法
无法找到 .cfg
文件
-
确保 OpenOCD 的
scripts
文件夹路径正确。 -
使用绝对路径指定
.cfg
文件。例如:
openocd -f "path/to/scripts/interface/cmsis-dap.cfg" -f "path/to/scripts/target/nrf51.cfg" -c "init" -c "reset halt"
Comments
Leave a comment