1. 项目概述
在嵌入式开发中,交叉编译是常见的需求。本文将详细介绍如何在龙芯架构(LoongArch)平台上交叉编译OpenCV、libserial和ncnn这三个常用库,并移植到久久派开发板上的完整过程。这些库在计算机视觉、串口通信和神经网络推理等领域有广泛应用。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与工具链配置
2.1 硬件与软件环境
本次交叉编译的目标平台是久久派开发板,采用龙芯2K300处理器,运行LoongOS系统。开发环境为Ubuntu 20.04 LTS x86_64系统。
2.2 交叉编译工具链安装
龙芯提供了两种工具链:
- 旧世界工具链:loongson-gnu-toolchain-8.3
- 新世界工具链:loongarch64-unknown-linux-gnu
我们主要使用旧世界工具链进行OpenCV编译,新世界工具链用于libserial编译。工具链安装后,建议创建软链接方便使用:
bash复制sudo ln -s /opt/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.3-1/bin/loongarch64-linux-gnu-gcc /usr/local/bin/2k300gcc
2.3 基础依赖安装
在开始编译前,需要安装一些基础工具:
bash复制sudo apt-get update
sudo apt-get install -y build-essential cmake cmake-qt-gui git wget
sudo apt-get install -y libopenblas-dev pkg-config
3. OpenCV交叉编译详解
3.1 源码获取与准备
OpenCV官方源码可以从GitHub获取,这里选择4.10.0版本:
bash复制mkdir -p ~/opencv && cd ~/opencv
wget https://github.com/opencv/opencv/archive/refs/tags/4.10.0.tar.gz
tar zxvf 4.10.0.tar.gz
mkdir build install
