分类 技术代码类 下的文章

ST-LINK/V2 采用标准的 20 针连接器,每个引脚都扮演着特定的角色:

VCC: 电源输入(通常为 5V)
GND: 接地
SWCLK: 串行时钟,用于与目标器件通信
SWDIO: 串行数据输入/输出,用于与目标器件通信
NRST: 复位,用于复位目标器件
TDI: 测试数据输入,用于边界扫描测试
TDO: 测试数据输出,用于边界扫描测试
TMS: 测试模式选择,用于边界扫描测试
RTCK: 实时时钟,用于同步调试
VBK: 用于供应外部电压(例如,目标器件的 VCC 引脚)
SWO: 串行线输出,用于调试输出
3V3: 3.3V 电源输出
USB: USB 连接,用于与主机计算机通信

首先必须确保 SWO口连上了
STLINLK V2 4-PIN
1. VTref(参考电压,不是给板子的供电电压。 是接板子的电压)
2. GND
3. SWDIO
4. SWCLK
注意这里是不含SWO的

参照代码
https://www.cnblogs.com/wanban/p/11789160.html

什么是符号链接?
简单来说,符号链接在Linux中就像Windows的“快捷方式”。它是一个特殊的文件,其内容是指向另一个文件或目录的路径。在ls -l命令下,它们通常会以 l 开头,并显示一个箭头指向目标,例如:link_name -> /path/to/original_directory。

Buildroot和Linux内核中的符号链接
在复杂的编译项目(如Buildroot和Linux内核)中,符号链接被广泛使用。例如,在Buildroot的output目录中,经常会有这样的结构:

output/build/linux-custom/source 可能是一个指向项目根目录下实际内核源代码的符号链接,比如 ../../linux-5.15.4。

或者存在一些指向父目录的链接,如 parent -> ..。

scp 的问题行为
当您使用 scp -r (递归复制) 来拉取整个目录时,scp 的默认行为是“跟随”符号链接。它不会把链接本身复制过来,而是会把链接指向的实际内容复制过来。

这就是导致无限循环的根源:

假设scp正在复制 /path/to/project/output/ 目录。

它遇到了一个符号链接 source,这个链接指向了上层目录 /path/to/project/。

scp 会跟随这个链接,开始复制 /path/to/project/ 的所有内容,并把它们放到本地的 .../project/output/source/ 目录下。

在这个新复制的目录里,它又会遇到 output/ 目录和里面的 source 链接,于是再次重复这个过程。 最终形成这样的无限嵌套结构,直到您的磁盘空间被占满或达到文件系统的其他限制。


使用 rsync (最推荐的专业方案)
rsync 是一个比 scp 更强大、更智能的文件同步工具,它能完美地处理符号链接。

rsync 默认不会跟随符号链接,而是将它们作为链接本身复制过来,这正是您所需要的。

-a: 归档模式,包含了 -l (保留链接) 等一系列常用参数
-v: 显示详细过程
-z: 压缩传输,提高效率
--progress: 显示传输进度
rsync -avz --progress <用户名>@<远程服务器IP>:/path/to/remote/project /path/to/your/local/directory

rsync -avz --progress ronz@192.168.6.23:/ws ./