增加 RTT 控制说明.

Signed-off-by: rick.chan <cy@sina.com>
This commit is contained in:
rick.chan 2024-04-29 19:41:11 +08:00
parent d09244db12
commit 8706026679
2 changed files with 43 additions and 6 deletions

View File

@ -2,10 +2,11 @@
## 1. 基本命令
- erase
- load
- gdbserver
- list列出已连接的调试器。
- erase擦除 Flash
- load烧写 Flash带擦除和校验
- gdbserver启动 GDB Server 服务器;
- list列出已连接的调试器
- rtt控制 SEGGER RTT 兼容接口。
## 2. pack 管理
@ -38,7 +39,7 @@ pyocd erase --chip --target <Target Chip Name> --pack <"/Path/To/Nationstech.N32
## 5. 烧写芯片
使用 load 命令烧写新,需要指定烧写的起始地址和要烧写的程序。
使用 load 命令烧写新,需要指定烧写的起始地址和要烧写的程序。load 命令会自动擦除 Flash 并校验,可以指定擦除和校验方法。
```bash
pyocd.exe load --trust-crc --base-address <Program Start Address> <"/Path/To/Program.hex"> --target <Target Chip Name> --frequency {Examples: "1000", "2.5khz", "10m"} --erase {auto,chip,sector} --pack <"/Path/To/Nationstech.N32L40x_DFP.0.9.0.pack">
@ -52,6 +53,42 @@ pyocd.exe load --trust-crc --base-address <Program Start Address> <"/Path/To/Pro
pyocd gdbserver --port 50000 --telnet-port 50001 --target <Target Chip Name> --pack <"/Path/To/Nationstech.N32L40x_DFP.0.9.0.pack">
```
## 7. 外部参考资料
## 7. RTT 控制
项目中如果兼容 RTT 接口,则可以通过 PyOCD 查看 RTT 输出。集成 RTT 的方法为,将 [RTT 接口](./RTT.zip) 文件解压后添加到项目中,代码中增加:
```c
#include "SEGGER_RTT.h"
SEGGER_RTT_ConfigUpBuffer(0, "RTTUP0", NULL, 0,
SEGGER_RTT_MODE_NO_BLOCK_SKIP);
SEGGER_RTT_ConfigDownBuffer(0, "RTTDOWN", NULL, 0,
SEGGER_RTT_MODE_NO_BLOCK_SKIP);
SEGGER_RTT_SetTerminal(0);
```
进行配置,使用:
```c
SEGGER_RTT_printf(0, "Hello\r\n");
```
进行打印。
该方法不但支持 Jtag还支持 CMSIS-DAP/DAPLink 等调试器。
```bash
pyocd.exe rtt --target <Target Chip Name> --pack <"/Path/To/Nationstech.N32L40x_DFP.0.9.0.pack">
```
其他参数:
- --help
- --address
- --up-channel-id
- --down-channel-id
- --log-file
## 8. 外部参考资料
1. [PyOCD Command reference](https://pyocd.io/docs/command_reference.html)

Binary file not shown.