IPC SDK User Guide

Hardware Configuration Recommendations for Development Environment

  • 64-bit CPU

  • Ubuntu 20.04 system

  • 8GB RAM

  • 40GB free space for compilation

Software Configuration

SDK Acquisition

Send an email to support@neardi.com to obtain the relevant development materials.

After downloading, check the MD5 code before extracting to see if it matches the one in 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

Extract:

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

Initialize:

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

Switch branch:

branch explain
lz16000003 Neardi master branch
git checkout lz16000003

Compiling the SDK

Select Configuration

./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

Full Automatic Compilation

Full automatic compilation will execute all builds.

./build.sh

Partial Compilation

  • Compile u-boot

./build.sh clean uboot
./build.sh uboot

Generates image files: output/image/download.bin, output/image/idblock.img, and output/image/uboot.img

  • Compile kernel

/build.sh clean kernel
./build.sh kernel

Generates image file: output/image/boot.img

  • Compile rootfs

./build.sh clean rootfs
./build.sh rootfs

After compilation, use the ./build.sh firmware command to package it into rootfs.img Generates image file: output/image/rootfs.img

  • Compile media

./build.sh clean media
./build.sh media

Storage directory for generated files: output/out/media_out

  • For more compilation options, LKD3588-IPC-Software Development Documentation/LKD3588-IPC-Linux Original Development Documentation/Rockchip_Quick_Start_Linux_IPC_SDK_CN.pdf

Flashing the Image

The SDK provides a Windows flashing tool <SDK>/Tools/windows/SocToolKit/SocToolKit.exe

../../_images/Soc_ToolKit.png

Running the Demo

Network Configuration

ifconfig enP2p33s0 up

udhcpc -i enP2p33s0

Execution result:

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

Copy OV13855 Camera Files

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

Run 3A Server

By default, the IPC APP is already running. Before running the IPC, manually run the 3A server. Therefore, kill the IPC APP first:

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

kill -9 395

Note that 395 here is the IPC process number, which needs to be changed according to the actual display result.

  • Start the 3A service

rkaiq_3A_server &

Execution result:

 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...
  • Restart IPC APP

rkipc -a /oem/usr/share/iqfiles/ &

Execution result:

# [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
  • Access IPC Video Stream

Install VLC on PC

../../_images/vlc-ipc-address.png

Open Network Stream

../../_images/vlc-rtsp.png

Using IQ Tools

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