香橙派 瑞芯微 RK3588 上手自记

环境搭建Day 1

ubuntu 22.04 下载安装
打开ftp 服务
sudo apt-get install vsftpd
sudo vi /etc/vsftpd.conf
找下面两行开注释
local_enable=YES
write_enable=YES
重启
sudo /etc/init.d/vsftpd restart

tar -zxvf 解压SDK 包 和toolchain 包(toolchain 路径 D:\project\rk3588\Rk3588-linux-v110\RK3588_LINUX_NVR_SDK_Release_V1.1.0_20220418\build)

向系统添加toolchain 作为环境变量( vim ~/.bashrc export PATH=“xxx”:$PATH)

使用 arrch-ro xxxxx-gcc helloworld.c

上板运行测试 可以打印说明截止目前 可用

下一步,编译rknn中的Yolov5 example

环境搭建 Day 2

直接把rknpu2-master copy 过去,改.sh,里面加export toolchain,改gcc前面的工具链宏名 然后运行

编译结果在同级的build里

既然能编译了,下一步要确保能debug,简单功能就可以开发了

首先,在虚拟机上安装ssh server
udo apt-get install openssh-server

编译gdb gdb server
./configure --prefix=/home/rui/rk3588/yolo5/gdb-10.2/rk3588 --host=arm-linux CC=aarch64-rockchip1031-linux-gnu-gcc CXX=aarch64-rockchip1031-linux-gnu-g++ LD=aarch64-rockchip1031-linux-gnu-ld AR=aarch64-rockchip1031-linux-gnu-ar

环境搭建 Day3

给ubuntu上安装c/c++ esten
发现对面的orangepi是可以直接编译C、C++ 的,很尴尬 ,我编出来的gdbserver没有用,我PC甚至可以在上面装vscode扩展。

环境搭建 Day4

opencv 4.5.5 编译结束,挺简单的,大概干了两个事,一个是指定编译工具,
因为嫌麻烦,所以直接在板子上编译的,

cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc ..

中间有一个部分失败了,是因为png的库检测成他自己出厂带的库了,版本有点低把他自带的usr/lib/libpngxxx.so 干掉了 然后把usr/lib/aarchxxxgnu 里面的16版本的库拷贝出来,再编译,就没有问题了

编译成功后 sudo make install
安装之后随便写了个main.c 测试,makefile 如下:


CC = /usr/bin/aarch64-linux-gnu-gcc
CXX=/usr/bin/aarch64-linux-gnu-g++
CFLAGS=-c -Wall -g
CXXFLAGS=-c -Wall -g
OBJS=main.cpp

main: main.cpp
	$(CXX)  -o main  $(OBJS) -L/usr/local/lib -lopencv_highgui -lopencv_features2d -lopencv_flann -lopencv_calib3d -lopencv_objdetect -lopencv_imgcodecs -lopencv_imgproc -lopencv_videoio -lopencv_dnn -lopencv_core
.PHONY: clean
clean:
	rm main

然后main.cpp 如下

#include <opencv2/core.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/features2d.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/calib3d.hpp>
#include <vector>
#include <string>
#include <algorithm>
#include <iostream>
#include <iterator>
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

// # define _GLIBCXX_USE_CXX11_ABI 0
#include <iostream>

using namespace cv;
using namespace std;
int main(){
    Mat image = imread("./1.jpg") ;
    printf("hello the fuck world!\r\n");
}

过了就没管了

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

define_mine

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值