在 SWD 线路上运行 TCP/IP
关于这个项目的博客文章可以在这里找到:https://bogdanthegeek.github.io/blog/projects/vapeserver/ 烟具托管在这里:http://ewaste.fka.wtf/ 如果它不工作:https://web.archive.org/web/20250914222638/http://ewaste.fka.wtf/ # 在SWD上运行Web服务器 在一个可用烟具中玩了一下小型的py32微控制器上的半主机服务后,我发现pyocd可以将半主机服务的标准输出/标准输入转发到TCP端口。
这就是使用 UART 会使事情变得更容易的地方,但我希望看看是否可以通过 SWD 来实现。大多数调制解调器驱动程序都期望看到一个串行设备(/dev/ttyACM0 或类似的),但我们可以使用 socat 让任何 Unix 套接字看起来像一个串行设备:
现在我们有一个 /home/me/customTTY 设备,我们可以将其用作串行设备。如果您更喜欢使用像 picocom 或 minicom 这样的工具来与串行设备进行交互,这也是一个不错的技巧。好了,我们已经有了一个串行设备,那么该如何在上面运行 TCP/IP?我们需要一个网络层,因为我们不是在以太网或 WiFi 上运行。我遇到的最简单的协议是 SLIP (Serial Line Internet Protocol)。它的性能不如 PPP,但设置非常简单,而且作为一个附加优势,我使用的 IP 堆栈 (uIP) 具有内置的 SLIP 支持。
对于 TCP/IP 堆栈,我使用了 uIP v9.0,因为它非常流行,易于移植,而且非常小,并且有很好的示例。我使用 picosoc-uip 项目作为设置最小 Web 服务器的参考。我唯一的更改是稍微优化了 SLIP 序列化,以减少 semihosting 的开销。
暂无开放 Issues,或尚未同步最近议题。