瑞芯微RK3568处理器凭借在性能、功耗和接口扩展性之间的良好平衡,成为了中端AIoT市场的标杆芯片之一,上市以来取得了出色的市场表现。RK3568是一款64位处理器,飞凌嵌入式为其提供的交叉编译器也是64位的,然而部分用户可能需要在RK3568开发板上运行32位应用。本文将详细阐述如何使用32位交叉编译器,编译出32位应用,并使其能够在飞凌嵌入式RK3568开发板上顺利运行。
我们将以gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf交叉编译工具为例进行演示。
1、方法步骤
(1) 内核配置
飞凌嵌入式RK3568开发板内核出厂时默认已打开EL0,因此无需进行额外的内核配置。
(2) 运行库准备
由于缺少32位运行库,我们需要进行以下操作:
① 打包交叉编译工具链中的libc目录下的lib目录,具体路径为:
gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc
② 在飞凌嵌入式RK3568开发板根目录手动创建/lib32文件夹。
③ 执行以下命令,将打包的库文件复制到开发板根目录的/lib32目录下,作为运行库:cp ./* /lib32/ -rf
④ 添加环境变量,将/lib32加入查找路径:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib32
⑤ 创建软连接:
ln -s /lib32/ld-linux-armhf.so.3 /lib
(3) 应用测试
① 使用ld-linux-armhf.so.3 --list命令代替ldd命令,检测测试程序所需的库文件。

如果发现库文件都存在,则可执行测试程序。

执行test可执行文件成功。
② 在开发环境中查看测试程序,确认其为32位ELF格式。

③ 如果需要手动指定库的位置,可以使用以下命令:/lib/ld-linux-armhf.so.3 --library-path /lib32 --list /home/forlinx/test
2、注意事项
(1) glibc版本匹配
在自行查找的交叉编译工具链中,使用的glibc版本需符合应用需求的glibc版本,否则无法正常运行。
(2) 操作准确性
在操作过程中,务必确保命令的正确性,避免因操作失误导致开发板系统出现问题。
(3) 开发环境检查
在编译和测试过程中,我们需要确保开发环境已正确配置,包括交叉编译工具链的安装和环境变量的设置。
通过以上步骤,用户可以在飞凌嵌入式RK3568开发板上成功运行32位应用,充分发挥其高性能和低功耗的优势,满足多样化的嵌入式开发需求。
3、RK3568开发板简介
在嵌入式开发领域,开发平台的选择对项目成败至关重要。飞凌嵌入式基于瑞芯微RK3568处理器设计推出的OK3568-C开发板,凭借其高性能、低功耗及丰富的功能接口,已成为众多工程师的首选。

RK3568处理器采用四核64位Cortex-A55架构,主频高达2.0GHz,并集成1TOPS算力的瑞芯微自研NPU。还支持多种高清视频解码和多路显示输出,能满足从工业控制到智能安防等多样化应用需求。

对于工程师而言,飞凌嵌入式RK3568开发板不仅可以提供强大的硬件基础,还配备了完善的开发工具和丰富的文档资料,为从硬件设计、软件开发到性能优化和项目落地的全流程提供全方位支持,有效简化开发流程,缩短项目周期。
-
嵌入式
+关注
关注
5160文章
19739浏览量
318807 -
开发板
+关注
关注
25文章
5737浏览量
105743 -
交叉编译
+关注
关注
0文章
35浏览量
12881 -
瑞芯微
+关注
关注
25文章
620浏览量
52582 -
RK3568
+关注
关注
5文章
591浏览量
6565
发布评论请先 登录
【飞凌嵌入式OK3568-C开发板试用体验】运行Demo例程加载Forlinx Embedded 1
【飞凌RK3568开发板试用体验】开箱
【飞凌RK3568开发板试用体验】编写OK3568 linux helloworld
【ROC-RK3568-PC开发板试用体验】Firefly ROC-RK3568-PC开发板初探

评论