项目简介
µPCN(Microcontroller-based Protocol Controlled Network)是免费且精简的延迟容忍网络(DTN)实现,专为微控制器和POSIX兼容操作系统设计。支持STM32F4嵌入式平台与所有POSIX兼容操作系统,提供轻量级DTN解决方案,适用于资源受限环境。
项目的主要特性和功能
- 多平台支持:支持STM32F4嵌入式平台和所有POSIX兼容的操作系统。
- 通信协议支持:实现TCPCL、MTCP和SPP等多种通信协议,保障数据在不同网络条件下可靠传输。
- 测试框架:提供Python脚本,可对uPCN的通信层、时间处理、哈希算法、内存管理等组件和功能进行测试。
- 模块化设计:核心代码位于
./components/upcn/
,便于扩展和维护。 - 调试支持:提供GDB调试命令和OpenOCD配置文件,方便不同平台的开发者调试。
安装使用步骤
1. 安装依赖
STM32F4平台
- 安装
gcc-arm-none-eabi
工具链(含newlib
)。 - 安装Open On-Chip Debugger(OpenOCD)。
- 安装FreeRTOS(当前测试版本为9)。
- 安装Python 3(版本 >= 3.6)用于测试和调试。
POSIX平台
- 安装
gcc
工具链和binutils
。 - 安装Clang和LLVM(可选,用于使用Clang编译)。
- 安装Python 3(版本 >= 3.6)用于测试和调试。
2. 配置环境
STM32F4平台
复制config.mk.example
到config.mk
,按安装路径设置变量:
- TOOLCHAIN_STM32
:设为arm-none-eabi
工具链的前缀。
- FREERTOS_PATH
:设为FreeRTOS源码的路径。
POSIX平台
若编译工具不在/usr/bin
,复制config.mk.example
到config.mk
,设置GCC_TOOLCHAIN_PREFIX_POSIX
变量为本地gcc
工具链的前缀。
3. 编译和运行
STM32F4平台
- 启动OpenOCD,自动加载配置文件
openocd.cfg
。 - 输入
make flash-stm32-openocd
编译项目并将upcn.bin
烧录到STM32F4开发板。 - 单元测试通过
make flash-unittest-stm32-openocd
烧录。 - 使用
make gdb-stm32
和make gdb-unittest-stm32
进行GDB调试。
POSIX平台
输入make run-posix
编译并运行µPCN。
4. 测试
使用提供的Python脚本测试,确保uPCN各组件和功能正常工作,测试细节见./doc/testing.md
。通过上述步骤,可在STM32F4或POSIX平台成功构建、部署和测试µPCN。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】