前言
正点原子rk3568学习,rk官方RKNN_MODEL_ZOO文件中 rknn_model_zoo-main/examples/mobilenet/cpp/main.cc
从执行命令:./build-linux.sh -t rk3568 -a aarch64 -d mobilenet
到:
cmake ../../examples/mobilenet/cpp \
-DTARGET_SOC=rk356x\
-DCMAKE_SYSTEM_NAME=Linux \
-DCMAKE_SYSTEM_PROCESSOR=aarch64\
-DCMAKE_BUILD_TYPE=Release\
-DENABLE_ASAN=OFF\
-DDISABLE_RGA=OFF\
-DDISABLE_LIBJPEG=OFF\
-DCMAKE_INSTALL_PREFIX=/home/hlf/rknn_model_zoo-main/install/rk356x_linux_aarch64/rknn_mobilenet_demo
到可执行文件rknn_mobilenet_demo的源文件 main.cc和examples/mobilenet/cpp/rknpu2/mobilenet.cc
解析
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
标准c/c++ 头文件导入
#include "mobilenet.h"
#include "image_utils.h"
#include "file_utils.h"
/home/hlf/rknn_model_zoo-main/examples/mobilenet/cpp/mobilenet.h 对应mobilenet.cc,且定义数据结构。
/home/hlf/rknn_model_zoo-main/examples/mobilenet/cpp/rknpu2/mobilenet.cc 中实现了函数声明,main.cc中需要用到。
/home/hlf/rknn_model_zoo-main/utils/file_utils.h 与文件操作相关
和 /home/hlf/rknn_model_zoo-main/utils/image_utils.h 与图像操作相关
#if defined(RV1106_1103)
#include "dma_alloc.cpp"
#endif
#define IMAGENET_CLASSES_FILE "./model/synset.txt"
rknn_model_zoo-main/examples/mobilenet/cpp/CMakeLists.txt 中的add_definitions(-DRV1106_1103)有关。
int main(int argc, char** arg