树莓派3B+ 运行大疆 DJI PSDK2.1.0

一、开发前准备:

1.申请PSDK ID与KEY

申请链接:https://developer.dji.com/payload-sdk/apply/

2.申请通过后可以在用户中心中下载PSDK2.1.0的开发包

二、对PSDK2.1.0进行初步适配

1.下载安装包,并解压

unzip Payload_SDK_V2.1.0.zip

大家可以看下文件架构

doc/psdk_other_docs/psdk_code_style: Template files described code style of Payload SDK.
doc/simple_model: Some structural models of Skyport 1/Skyport 2/X-Port and aircraft. The structure models provide convenience for users to design payload structure.
psdk_lib/api_headers: Header files of Payload SDK, describing all API of Payload SDK. Users can understand features provided by Payload SDK and its usages relying on the header files.
psdk_lib/lib: Library files of Payload SDK. Users select appropriate library file to use based on target platform.
sample/api_sample: Sample code used to demonstrate usage of Payload SDK features.
sample/platform: Sample code related to specific platform, including Linux and FreeRTOS platforms.
sample/platform/linux/common/osal: OSAL layer implementation of Linux operation system.
sample/platform/linux/manifold2: Sample project used on Manifold 2.
sample/platform/rtos_freertos/common/osal: OSAL layer implementation of FreeRTOS operation system.
sample/platform/rtos_freertos/psdk_development_board_1.0: Sample project used on Payload SDK development board 1.0.
tools: Some tools used with Payload SDK.

2.我们先修改Cmakelist.txt文件,位于Payload_SDK_V2.1.0-build.189/sample/platform/linux/manifold2/project

修改两个地方,第一处是编译链版本,将原来的gcc g++改为arm-linux-gnueabihf-gcc arm-linux-gnueabihf-g++

 

set(CMAKE_C_COMPILER "arm-linux-gnueabihf-gcc")
set(CMAKE_CXX_COMPILER "arm-linux-gnueabihf-g++")

第二处修改PSDK链接库(如下直接注释原来的,添加以下两行)

 树莓派3B+ 运行大疆 DJI PSDK2.1.0_第1张图片

link_directories(${CMAKE_CURRENT_LIST_DIR}/../../../../../psdk_lib/lib/arm-linux-gnueabihf-gcc)
link_libraries(${CMAKE_CURRENT_LIST_DIR}/../../../../../psdk_lib/lib/arm-linux-gnueabihf-gcc/libpayloadsdk.a)

3.在app_info.h中填写申请的用户信息(文件路径/Payload_SDK_V2.1.0-build.189/sample/platform/linux/manifold2/application)

树莓派3B+ 运行大疆 DJI PSDK2.1.0_第2张图片

4.我们先注释掉一些不好适配的功能先让这个PSDK跑起来

注释psdk_config.h文件中的所有预定义:如图所示

树莓派3B+ 运行大疆 DJI PSDK2.1.0_第3张图片

注释main.c中的234-237行 289-297行 416-422行(可能随着版本变化 位置不一样请对照下面图片进行注释)

树莓派3B+ 运行大疆 DJI PSDK2.1.0_第4张图片

树莓派3B+ 运行大疆 DJI PSDK2.1.0_第5张图片

树莓派3B+ 运行大疆 DJI PSDK2.1.0_第6张图片

注释psdk_media_file_mp4.c文件中207-213行(可能随着版本变化 位置不一样请对照下面图片进行注释)

树莓派3B+ 运行大疆 DJI PSDK2.1.0_第7张图片

注释psdk_media_file_jpg.c文件170-176行(可能随着版本变化 位置不一样请对照下面图片进行注释)

树莓派3B+ 运行大疆 DJI PSDK2.1.0_第8张图片

注释osal.c文件63-68行(可能随着版本变化 位置不一样请对照下面图片进行注释)

树莓派3B+ 运行大疆 DJI PSDK2.1.0_第9张图片

到这里初步已经适配完成了,我们进行编译和试跑。

在project中新建文件夹build 

mkdir build

进行编译

cd build
cmake ..
make

运行可执行文件

./psdk_demo

 

你可能感兴趣的:(DJI,SDK,linux小白编程)