基于Linux操作系统的结构光单目扫描焊缝跟踪器——使用交叉开发的方式开发程序
所有开发程序均在luckfox_Lura_Pi开发板上远行为了适配大恒相机sdk库的使用环境我们在开发板上烧入buildshoot小型嵌入式开发系统一 镜像烧录Lyra 系列开发板支持在Windows、Linuxx86_64和macOS环境下进行镜像烧录。请根据所使用的主机操作系统选择对应的烧录方式。主机系统支持烧录介质烧录工具WindowsSPI Flash、eMMC、TF 卡RKDevTool、SDDiskToolLinuxx86_64SPI Flash、eMMCUpgrade_ToolmacOSSPI Flash、eMMCupgrade_tool1. Windows 镜像烧录打开瑞芯微烧录工具RKDevTool确认设备已进入MASKROM或LOADER模式。点击Firmware选择系统镜像路径并打开update.img镜像文件。等待镜像加载完成后点击升级Upgrade开始烧录。烧录完成后软件界面显示下载成功表示镜像已成功烧录。2. 镜像烧录Linux 环境2.1 开发板进入烧录模式按住BOOT按键的同时连接主机使开发板进入烧录模式。执行 lsusb 命令后可通过以下示例对比开发板在 烧录模式 与 正常运行模式 下的设备识别信息。开发板处于烧录模式开发板成功进入系统2.2 独立镜像烧录无需 SDK下载、解压和安装upgrade_tool sudo unzip upgrade_tool_v2.17.zip cd upgrade_tool_v2.17_for_linux/ sudo cp upgrade_tool /usr/local/bin sudo chmod x /usr/local/bin/upgrade_tool测试是否安装成功ubuntuubuntu:~$ sudo upgrade_tool -v Upgrade Tool v2.17运行程序烧录固件luckfoxluckfox:~$ sudo upgrade_tool uf update.img Loading firmware... Support Type:1106 FW Ver:0.0.00 FW Time:2023-11-16 16:24:18 Loader ver:1.01 Loader Time:2023-11-16 16:22:58 Start to upgrade firmware... Download Boot Start Download Boot Success Wait For Maskrom Start Wait For Maskrom Success Test Device Start Test Device Success Check Chip Start Check Chip Success Get FlashInfo Start Get FlashInfo Success Prepare IDB Start Prepare IDB Success Download IDB Start Download IDB Success Download Firmware Start Download Image... (100%) Download Firmware Success Upgrade firmware ok.效果如下2.3 使用 SDK 脚本一键烧录镜像按住BOOT按键的同时连接主机使开发板进入烧录模式。以管理员工权限执行脚本。$ sudo ./rkflash.sh update [sudo] password for ubuntu: Using /home/ubuntu/Luckfox/rk3506/luckfox-lyra-sdk/tools/linux/Linux_Upgrade_Tool/Linux_Upgrade_Tool/config.ini Loading firmware... Support Type:350F FW Ver:8.1.00 FW Time:2024-12-13 19:40:06 Loader ver:1.01 Loader Time:2024-12-13 18:35:14 Start to upgrade firmware... Test Device Start Test Device Success Check Chip Start Check Chip Success Get FlashInfo Start Get FlashInfo Success Prepare IDB Start Prepare IDB Success Download IDB Start Download IDB Success Download Firmware Start Download Image... (100%) Download Firmware Success Upgrade firmware ok.效果如下二 登录登入最小系统后可以正常执行程序1. 准备工作• Luckfox Lyra 开发板 • USB Type-A to Type-C 数据线 • 100M/1000M 以太网线缆及路由器 • USB 转 TTL 模块 注意RK3506 默认的波特率是 1500000有些 USB 转串口芯片波特率无法达到 1500000同一芯片的不同系列也可能会有差异所以在选购之前一定要确认是否支持。推荐使用 CH343、FT232、CP2102 串口模块不推荐使用 PL2303 和 CH340 等串口模块。• Buildroot 默认用户帐户登录名root 登录密码luckfox USB 静态IP地址192.168.123.1002. 串口登录将串口模块一端连接电脑另一端连接 Lyra 底板的引脚 TX、GND 和 RX 上接线如下图打开电脑设置搜索设备管理器查看设备管理器对应的 COM 口并记录下来。下载MobaXterm远程登录软件,解压即可使用。打开MobaXterm远程登录软件选择Session-Serial设置串口的波特率波特率为1500000(1.5Mbps)。点击OK按下回车输入登录名和登录密码就可以登陆了。三、交叉编译可执行程序为了开发便捷我们在Linux系统上安装对应开发板架构的编译器 arm-linux-gnueabihf在Linux系统中编译出可执行程序后在开发板上运行。集体操作如下。3.1 选择并安装工具链Ubuntu 官方源提供了多种ARM交叉编译工具链推荐使用 gcc-arm-linux-gnueabihf 包它包含了编译器、链接器、标准库等完整套件。sudo apt update sudo apt install gcc-arm-linux-gnueabihf binutils-arm-linux-gnueabihf安装完成后检查工具链是否可用arm-linux-gnueabihf-gcc --version输出类似arm-linux-gnueabihf-gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 ...3.2 交叉编译程序使用交叉编译器编译arm-linux-gnueabihf-gcc -o hello_arm hello.c -static参数说明-o hello_arm指定输出文件名。-static静态链接生成完全独立的可执行文件不依赖开发板上的动态库推荐初学者使用避免库版本不一致问题。若希望动态链接可去掉此选项但需确保开发板上有对应的动态库。编译后使用file命令查看文件类型file hello_arm输出应显示hello_arm: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, ...这表示生成的是ARM 32位可执行文件。登入开发板系统后./可执行文件即可运行。