嵌入式Linux-几分钟快速构建RV110X的开发环境(以及4G和USB摄像头操作)

一、环境

1.虚拟机

官方推荐Ubuntu22,我使用的Ubuntu1804目前也正常

2.软件环境安装

# 需要安装工具
sudo apt-get install gperf cmake git device-tree-compiler flex bison build-essential libssl-dev libelf-dev python3 python curl -y

3.拉取工程

我是基于幸狐科技的开发板测试的,所以拉取的幸狐官方库

拉取使用gitee,国内好用一点

sudo git clone https://gitee.com/LuckfoxTECH/luckfox-pico.git

二、配置

1.选择对应的代码存储介质和硬件型号

./build.sh lunch 

2.取消摄像头保留内存,以及修改编译拉取Gitee

vi project/cfg/BoardConfig_IPC/BoardConfig-***.mk

export RK_BOOTARGS_CMA_SIZE=“66M” # 可以改为1M

......

LF_SUBMODULES_BY=gitee # 文件末尾新增

三、编译和生成下载文件

1.编译

./build.sh

2.生成镜像

./build.sh firmware

3.其他命令说明

# 1.选择开发板
./build.sh lunch 
# 2.编译
./build.sh
# 3.生成镜像,目录:output/image
./build.sh firmware

# 4.kernel的menuconfig
./build.sh kernelconfig
# 5.buildroot的menuconfig
./build.sh buildrootconfig

四、烧录

1.安装驱动

2.进入下载模式:按住boot,短按reset,放开boot

3.打开烧录工具软件:SocToolKit

(1)选择芯片

(2)软件上能看见USB设备,如果看不见,重复步骤2.

(4)下载

使用out文件夹中的:update.img

4.确认升级成功

uname -v

查看内核编译时间

五、编译可执行文件

1.环境配置(基于buildroot)

(1)创建一个.sh

#!/bin/bash

# 设置工具链路径
TOOLCHAIN_PATH="/你的存放路径/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin"

# 检查路径是否存在
if [ ! -d "$TOOLCHAIN_PATH" ]; then
    echo "错误:路径不存在 '$TOOLCHAIN_PATH'"
    echo "请修改脚本中的 TOOLCHAIN_PATH 为实际路径"
    exit 1
fi

# 添加到PATH并导出
export PATH="$TOOLCHAIN_PATH:$PATH"
echo "环境变量已设置:PATH=$PATH"

(2)修改

vim ~/.bashrc

添加到末尾:

alias lfox='source /你的存放路径/你的脚本名.sh:$PATH'

(3)使能环境:

source ~/.bashrc

(4)以后只需要使用命令,自动设置环境:

lfox

2.编写代码

#include <stdio.h>
#include <stdlib.h>

int main()
{
    printf("hello world\n");
    return 0;
}

4.编译

arm-rockchip830-linux-uclibcgnueabihf-gcc hello.c -o hello

5.拷贝到开发板运行

六、APP开发(4G模块和USB摄像头)

1.4G模块(USB+EC20)

迅为干货 | Linux系统移远EC20 4G模块移植方法 - topeet - 博客园

(99+ 封私信 / 94 条消息) 正点原子Linux第七十一章Linux 4G通信实验 - 知乎

(1)配置系统

a.设备树,将USB设置为host

b.buildroot设置uqmi工具包

Target packages

        -> Networking applications

                [*] uqmi

c.kernel启用PPP拨号上网

d.kernel启用CDC调制器

Device Drivers

        -> USB support

        -> USB Modem (CDC ACM) support [*]

                -> USB Network Adapters

                        [*] CDC Wireless Mobile Network Device Support (QMI_WWAN)

(2)插入USB-4G网卡,等待显示:

(3)测试

echo -e "AT+ICCID\r" > /dev/ttyUSB2 && cat /dev/ttyUSB2

查看模块能力

uqmi -d /dev/cdc-wdm0 --get-capabilities

(4)PPP拨号

Raspberrypi —— 实现 EC20 4G模块PPP拨号上网_4g模块 pppd拨号流程-优快云博客

基于官方脚本,我测试了一个EC20的,目前使用正常,不复杂,我这里就略过了

2.摄像头UVC

(1)设备树和内核

主要是USB主机设置

(2)软件包V4L

buildroot中设置,默认已经启用

(3)查看设备列表

 v4l2-ctl --list-devices

(4)查看设备信息

# 设备参数
v4l2-ctl --device /dev/video0 --info

# 支持的格式
v4l2-ctl --device /dev/video0 --list-formats-ext

(5)拍照(RAW格式)

# 使用 1280x1024 分辨率(需注意低帧率 7fps)
v4l2-ctl --device /dev/video0 \
  --set-fmt-video=width=1280,height=1024,pixelformat=YUYV \
  --stream-mmap \
  --stream-count=1 \
  --stream-to=frame.raw

# 转换(文件大小应为 1280x1024x2=2,621,440 字节)
ffmpeg -f rawvideo -pix_fmt yuyv422 -s 1280x1024 -i frame.raw photo.jpg -y

(6)使用MJPG

如果(4)查看设备信息中支持的话

v4l2-ctl --device /dev/video0 \
  --set-fmt-video=width=1280,height=720,pixelformat=MJPG \
  --stream-mmap --stream-count=1 --stream-to=photo.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值