基于Linux操作系统的结构光单目扫描焊缝跟踪器——使用交叉开发的方式开发程序
所有开发程序均在luckfox_Lura_Pi开发板上远行,为了适配大恒相机sdk库的使用环境我们在开发板上烧入buildshoot小型嵌入式开发系统
一 镜像烧录
Lyra 系列开发板支持在 Windows、Linux(x86_64) 和 macOS 环境下进行镜像烧录。请根据所使用的主机操作系统选择对应的烧录方式。
| 主机系统 | 支持烧录介质 | 烧录工具 |
|---|---|---|
| Windows | SPI Flash、eMMC、TF 卡 | RKDevTool、SDDiskTool |
| Linux(x86_64) | SPI Flash、eMMC | Upgrade_Tool |
| macOS | SPI Flash、eMMC | upgrade_tool |
1. 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
测试是否安装成功:
ubuntu@ubuntu:~$ sudo upgrade_tool -v
Upgrade Tool v2.17
运行程序烧录固件:
luckfox@luckfox:~$ 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.100
2. 串口登录
将串口模块一端连接电脑,另一端连接 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位可执行文件。登入开发板系统后./(可执行文件)即可运行。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)