• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
banmaxx
博客园    首页    新随笔    联系   管理    订阅  订阅

RK3588+linux系统下交叉编译开发记录

记录利用交叉编译方式在window系统下开发运行在RK3588或树莓派硬件的Linux on arm系统的程序

基础开发路线

  • 先用树莓派验证交叉编译可行性,或者直接利用树莓派开发项目

  • 树莓派运算速度不足时考虑一下方案

    • 采用windows环境下vscode加cmake实现交叉编译,将可执行文件直接考入RK3588自带的debian系统运行

    • 采用套接字通信,可直接用linux下的网络库

开发记录

24/12/27

Tips
  • 注意在网线连接实现双击或多机通信时,要保证每台机器相应的网络防护关闭,确保连接不被防火墙之类的机制所拦截。

  • 每台机器或有多个网口网卡,注意相连接的硬件网口同软件设置中或PING中指定的IP相对应,避免ping错

  • socket程序需要稍微修改头文件包含以及函数API如下

    // #include <winsock.h>
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    #include <unistd.h>
    #include <arpa/inet.h>
    #include <sys/socket.h>
    // #include <netinet.h>
    
  • 同时修改函数名称closesocket为close即可

  • 在vscode上进行remote开发时,已经注册好了tdgc-1a@192.168.1.103为远程服务器地址,直接使用即可

  • 快捷键ctrl+k和 ctrl+o实现打开服务器端文件夹

  • 实际编译时采用的时服务器端的aarch64-linux-gnu-gcc进行编译链接,用的是树莓派的资源

阶段
  • 完成了在树莓派上部署socket服务端实现同Windows电脑客户端的回显通信

24/12/28

Tips
  • 打开vc终端,执行cmake edit对cmake-tools-kits.json文件进行修改,添加需要的编译工具链,这里我使用的网上大佬给的案例中的.cmake文件,添加后的效果如下

      {
        "name":"gcc-7.5-aarch64-linux-gnu",
        "toolchainFile":"D:/TDGC/RasbarryPi/crossBuild/arm.cmake"
      }
    
  • 同时,针对大佬给的.cmake文件中部分路径进行修改,如下

    include(CMakeForceCompiler)
    set(tools D:/TDGC/RasbarryPi/crossBuild/gcc-7.5/bin)
    SET(CMAKE_CXX_COMPILER ${tools}/aarch64-linux-gnu-g++.exe)
    SET(CMAKE_C_COMPILER ${tools}/aarch64-linux-gnu-gcc.exe)
    SET(CMAKE_FIND_ROOT_PATH D:/TDGC/RasbarryPi/crossBuild/gcc-7.5/aarch64-linux-gnu/libc)
    
  • 直接拷贝到linux系统中的可执行文件(win上交叉编译到linux平台的二进制文件)在终端中显示为白色而非绿色,说明此时该文件不具备可执行权限,需要在该文件同级路径下在终端中执行chmod +x 那个文件的名字来赋予它可执行权限,(注:chmod即change mode)

  • 当提示无法确定要使用的cmake生成器时,应ctrl+shift+p并输入settings.json并在该脚本文件中按前面的项相同的形式添加"cmake.generator":"MinGW Makefiles"来指定cmake的构建工具

  • cmakelist文件可通过ctrl+shif+p键入cmake获取快速开始,可以只保留其list文件,稍作修改即可.
    在这里附上我参考的大佬博客文章https://www.cnblogs.com/Clark-Zhang/p/16303434.html

posted @ 2025-01-18 20:26  Georgezhangx  阅读(643)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3