跳到主要内容

IPC SDK用户指南

开发环境硬件配置建议

  • 64位CPU
  • Ubuntu 20.04系统
  • 8GB内存
  • 40GB编译空闲空间

软件配置

SDK获取

发送邮件至[support@neardi.com](mailto:support@neardi.com)获取相关开发资料。

下载后,在解压前检查MD5码,看是否与LKD3588-SDK-Linux-IPC-V1.0.tar.gz.md5sum中的一致:

$ md5sum LKD3588-SDK-Linux-IPC-V1.0.tar.gz
******************************** LKD3588-SDK-Linux-IPC-V1.0.tar.gz

解压:

tar zxvf LKD3588-SDK-Linux-IPC-V1.0.tar.gz

初始化:

cd LKD3588-SDK-Linux-IPC-V1.0
git reset --hard

编译SDK

选择配置

./build.sh lunch

You're building on Linux
Lunch menu...pick a combo:


0. BoardConfig-rk3588-neardi-linux-ipc-lkd3588-f1.mk

Which would you like? [0]: 0

全自动编译

全自动编译将执行所有构建。

./build.sh

部分编译

  • 编译u-boot
./build.sh clean uboot
./build.sh uboot

生成镜像文件:output/image/download.bin、output/image/idblock.img和output/image/uboot.img

  • 编译内核
/build.sh clean kernel
./build.sh kernel

生成镜像文件:output/image/boot.img

  • 编译rootfs
./build.sh clean rootfs
./build.sh rootfs

编译后,使用./build.sh firmware命令将其打包为rootfs.img 生成镜像文件:output/image/rootfs.img

  • 编译media
./build.sh clean media
./build.sh media

生成文件的存储目录:output/out/media_out

  • 更多编译选项,请参考LKD3588-IPC-Software Development Documentation/LKD3588-IPC-Linux Original Development Documentation/Rockchip_Quick_Start_Linux_IPC_SDK_CN.pdf

刷写镜像

SDK提供Windows刷写工具<SDK>/Tools/windows/SocToolKit/SocToolKit.exe

运行演示

网络配置

ifconfig enP2p33s0 up

udhcpc -i enP2p33s0

执行结果:

udhcpc: started, v1.27.2
udhcpc: sending discover
udhcpc: sending select for 192.168.1.237
udhcpc: lease of 192.168.1.237 obtained, lease time 86400
deleting routers
adding dns 192.168.1.1

复制OV13855摄像头文件

adb push <SDK>/media/isp/release_camera_engine_rkaiq_rk3588_aarch64-rockchip1031-linux-gnu/isp_iqfiles/ov13855_CMK-OT2016-FV1_default.json /oem/usr/share/iqfiles

运行3A服务器

默认情况下,IPC APP已经在运行。在运行IPC之前,需要手动运行3A服务器。因此,首先杀死IPC APP:

ps | grep rkipc
395 root 3482m S rkipc -a /oem/usr/share/iqfiles
622 root 2396 S grep rkipc

kill -9 395

注意这里的395是IPC进程号,需要根据实际显示结果进行更改。

  • 启动3A服务
rkaiq_3A_server &

执行结果:

Cound not find rkisp dev names, skipped /dev/media0
ERR: Bad media topology for: /dev/media0
Cound not find rkisp dev names, skipped /dev/media1
ERR: Bad media topology for: /dev/media1
DBG: get rkisp-isp-subdev devname: /dev/v4l-subdev3
DBG: get rkisp-input-params devname: /dev/video30
DBG: get rkisp-statistics devname: /dev/video29
DBG: get rkisp_mainpath devname: /dev/video22
rkaiq log level ff0

************************** VERSION INFOS **************************
version release date: 2022-09-20
AIQ: AIQ v3.0x9.1
IQ PARSER: Calib v1.4.8,magicCode:1170944
************************ VERSION INFOS END ************************
DBG: get rkisp-isp-subdev devname: /dev/v4l-subdev7
DBG: get rkisp-input-params devname: /dev/video39
DBG: get rkisp-statistics devname: /dev/video38
DBG: get rkisp_mainpath devname: /dev/video31
DBG: subscribe events from /dev/video30 success !
DBG: device manager start
DBG: rkisp_init engine succeed
DBG: /dev/media2: wait stream start event...
  • 重启IPC APP
rkipc -a /oem/usr/share/iqfiles/ &

执行结果:

# [rkipc.c][main]:main begin
[rkipc.c][main]:rkipc_ini_path_ is (null), rkipc_iq_file_path_ is /oem/usr/share/iqfiles/, rkipc_log_level is 3
[param.c][rk_param_init]:rk_param_init
[param.c][rk_param_init]:g_ini_path_ is /userdata/rkipc.ini
[param.c][rk_param_dump]:section_num is 35
[param.c][rk_param_dump]:section_name is audio.0
[param.c][rk_param_dump]:audio.0:enable = 1

......

[DEBUG rtsp_msg.c:865:rtsp_msg_parse_from_array]
TEARDOWN rtsp://192.168.1.237:554/live/0 RTSP/1.0
CSeq: 6
User-Agent: LibVLC/3.0.17.3 (LIVE555 Streaming Media v2016.11.28)
Session: 12345678

[DEBUG rtsp_demo.c:1048:rtsp_handle_TEARDOWN]
[DEBUG rtsp_msg.c:998:rtsp_msg_build_to_array]
RTSP/1.0 200 OK
CSeq: 6
Date: Fri Jan 1 12:19:35 2021
Session: 12345678
Server: rtsp_demo
  • 访问IPC视频流

在PC上安装VLC

打开网络流

使用IQ工具

参考<SDK>LKD3588-SDK-Linux-IPC-V1.0/tools/windows/ISP_AIQ_Tool/AIQTool-v2.0.f-20220826/Doc