mosquitto移植到AM335x+Linux系统

mosquitto移植到AM335x+Linux系统

1. 概述

本文档详细介绍如何将mosquitto 2.0.14版本移植到基于AM335x处理器的Linux系统中。mosquitto是一个实现了MQTT协议版本5.0、3.1.1和3.1的开源消息代理和客户端实现库。本文将介绍mosquitto库的配置、编译以及运行过程,包括依赖库的处理、交叉编译环境的配置等内容。整个项目使用CMake作为构建系统。

1.1 开发环境

  • 硬件平台:AM335x处理器
  • 操作系统:Linux 3.2
  • mosquitto版本:2.0.14
  • 构建工具:CMake 3.16+
  • 交叉编译工具链:arm-arago-linux-gnueabi-gcc 4.5.3
  • 依赖库:
    • OpenSSL 1.1.1w(用于TLS支持)
    • cJSON 1.7.15(用于WebSocket支持)
  • 项目源码:https://gitcode.com/am335xt3/lvgl/tree/main/thirdpart/mosquitto

2. 交叉编译环境配置

2.1 工具链配置

项目使用arm-arago-linux-gnueabi工具链进行交叉编译。在toolchain.cmake中配置如下:

# toolchain.cmake

# 设置目标系统名称
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm)

# 指定交叉编译器的路径
set(CROSS_SYSROOT /opt/am335xt3-cross-devkit/arm-arago-linux-gnueabi)
set(CROSS_COMPILE_PATH /opt/am335xt3-cross-devkit/bin)
set(CROSS_PREFIX /opt/am335xt3-cross-devkit/bin/arm-arago-linux-gnueabi-)
set(CMAKE_C_COMPILER /opt/am335xt3-cross-devkit/bin/arm-arago-linux-gnueabi-gcc)
set(CMAKE_CXX_COMPILER /opt/am335xt3-cross-devkit/bin/arm-arago-linux-gnueabi-g++)
set(CMAKE_ASM_COMPILER /opt/am335xt3-cross-devkit/bin/arm-arago-linux-gnueabi-as)
set(CMAKE_AR  /opt/am335xt3-cross-devkit/bin/arm-arago-linux-gnueabi-ar)
set(CROSS_COMPILE_INCLUDE_PATH /opt/am335xt3-cross-devkit/arm-arago-linux-gnueabi/sysroot/usr/include)

set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/am335xt3_install)
set(CMAKE_INTERNAL_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/am335xt3_internal_install)

set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lm -ldl")

# 指定库的查找路径
set(CMAKE_LIBRARY_PATH ${CMAKE_INTERNAL_INSTALL_PREFIX}/lib)

# 设置查找路径
set(CMAKE_FIND_ROOT_PATH ${CJSON_ROOT} ${OPENSSL_ROOT})

# 指定查找规则
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)

# 禁用 CMake 的默认查找路径(如系统路径 /usr 和 /lib)
set(CMAKE_FIND_NO_PACKAGE_PREFIX_PATH TRUE)

3. 依赖库移植

3.1 cJSON库移植

cJSON库是一个轻量级的JSON解析库,在本项目中使用CMake进行构建。

3.1.1 CMake配置

在thirdpart/cJSON-1.7.15/CMakeLists.txt中已经包含了完整的构建配置,无需额外修改。主要

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值