云飞科技RTU-LINUX数据板通用代码模块封装,使用C和GO语言混编: +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 一、模块介绍 01、./docs 技术文档资料库 02、./swapi C语言通用函数基础封装库 03、./baseapp GOLANG语言通用应用父类 04、./rtufuns 基于RTU板块功能, 使用GOLANG封装常用函数, 提高复用与可维护性 05、./scripts SHELL脚本封装库, 后台守护软件运行等功能, 可以平替硬件看门狗 06、./air720u 通过串口指令控制合宙"Air720U"硬件模块, 实现移动网络通信功能 07、./air530u 通过串口指令控制合宙"Air530Z"硬件模块, 实现地理坐标定位功能 08、./netmgrd 实现联网检测、自动切换有线与移动网络及时间同步等基础网管功能 09、./mvs_u_takephoto 海康机器人工业相机-U口, 通过海康提供的SDK, 封装实现拍照功能 10、./mvs_g_takephoto (Todo: 待实现) 海康机器人工业相机-G口, 通过海康提供的SDK, 封装实现拍照功能 11、./ec200u 通过串口指令控制移远-"EC200U"硬件模块, 实现移动网络通信功能 二、编译说明 1, export交叉编译工具链"gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf"的位置到PATH环境变量 2, make target=armv7hf 3, make clean 注释: 主要编译C语言时使用, Go语言不需要, 通过Makefile文件联合在一起编译 三、附加说明 1, 含C代码的模块一般都带有C编写的单元测试程序,可以在上位机上运行以下命令: "valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes a.out" 进行内存泄露检查,通过检查后的模块代码才能放心使用 2, 判断生成的armv7hf可执行文件依赖哪些依赖库,可以在上位机上运行以下命令: arm-linux-gnueabihf-readelf -d ./a.out | grep NEEDED