香橙派 瑞芯微 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 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

// # define _GLIBCXX_USE_CXX11_ABI 0
#include 

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

过了就没管了

你可能感兴趣的:(嵌入式,随笔,rk3588,嵌入式硬件,rknn)