- 作者收集一次性电子烟,发现它们包含一个PUYA PY32微控制器(ARM Cortex-M0+)。
- 该芯片是PY32F002B,配备24 MHz Cortex M0+、24 KiB闪存和3 KiB RAM。
- 他们使用半主机(调试器系统调用)和SLIP通过串口模拟调制解调器,从而实现IP网络连接。
- 该设置涉及pyOCD、socat、slattach和一个虚拟TTY来创建网络接口。
- 他们移植了uIP TCP/IP协议栈并修复了内存对齐问题。
- 初始性能较差(页面加载20秒),但在添加环形缓冲区后,页面加载时间改善到约160毫秒。
- 网络服务器使用约20%的闪存和45%的RAM,为其他任务留出空间。
- 该服务器可以运行动态C代码,并包含一个用于请求计数和芯片ID的JSON API。