运行示例程序
在注册 PSDK 企业账号后,请下载 PSDK 提供的示例代码并在示例代码中补充应用信息,通过编译、调试和烧录等操作获得示例程序。在 DJI Assistant 2 上绑定 DJI 的硬件平台后,即可运行示例程序,借助示例程序了解使用 PSDK 开发负载设备的方法。
提示: 如需将 RTOS 或 Linux 的示例代码运行在其他开发板或操作系统中,请参考 跨平台移植。
获取示例代码
在 注册成为 DJI PSDK 的企业用户后,即可下载 DJI PSDK 开发包,在 PSDK 开发包中获取 DJI 提供的示例代码,借助示例代码了解使用 PSDK 开发负载设备的方法,使用示例代码快速开发出功能完善的出负载设备。
创建负载应用
获取使用 PSDK 开发负载产品的权限 后,请在用户中心 创建负载应用,获取应用 ID 和应用秘钥,如 图. 填写应用信息 所示。
图. 填写应用信息

注意: 为提高您的开发效率,请在示例代码中正确填写应用的名称、ID、Key和开发者账号,否则编译后的示例程序将无法正常运行。
运行 RTOS 示例代码
说明: 本文以STM32F4 Discovery 开发板为例,介绍运行 RTOS 示例代码的步骤和方法。
烧录 Bootloader
- 使用 Keil MDK IDE 打开位于
sample/sample_c/platform/rtos_freertos/stm32f4_discovery/project/mdk_bootloader/
目录下的工程文件mdk_bootloader.uvprojx
。 - 使用 Keil MDK IDE 编译工程为示例程序。
- 将编译后的示例程序烧录到负载设备中(如 STM32F4_discovery 开发板)。
相关参考
- 实现 Bootloader:
platform/rtos_freertos/stm32f4_discovery/bootloader
- Bootloader 工程目录:
platform/rtos_freertos/stm32f4_discovery/project/mdk_bootloader
补充应用信息
- 使用 Keil IDE 打开位于
sample/sample_c/platform/rtos_freertos/stm32f4_discovery/project/mdk/
目录下的工程文件mdk_app.uvprojx
。 - 在
sample/sample_c/platform/rtos_freertos/application/dji_sdk_app_info.h
文件中补充应用的名称、ID、Key、License、开发者账号和指定波特率。
#define USER_APP_NAME "your_app_name"
#define USER_APP_ID "your_app_id"
#define USER_APP_KEY "your_app_key"
#define USER_APP_LICENSE "your_app_license"
#define USER_DEVELOPER_ACCOUNT "your_developer_account"
#define USER_BAUD_RATE "460800"
编译并烧录
- 使用 Keil MDK IDE 编译示例代码为示例程序。
- 编译示例代码后,将编译后的程序烧录到负载设备中(如 STM32F4_discovery 开发板)。
- 如需调试示例程序,请将串口调试工具的波特率设置为:
921600
。
运行 Linux 示例代码
说明: 本文以 Manifold 2-C 为例,介绍运行 Linux 示例代码的步骤和方法。
补充应用信息
- 在
samples/sample_c/platform/linux/manifold2/application/dji_sdk_app_info.h
文件中替换应用的名称、ID、Key、License、开发者账号和指定波特率。
#define USER_APP_NAME "your_app_name"
#define USER_APP_ID "your_app_id"
#define USER_APP_KEY "your_app_key"
#define USER_APP_LICENSE "your_app_license"
#define USER_DEVELOPER_ACCOUNT "your_developer_account"
#define USER_BAUD_RATE "460800"
- 在
samples/sample_c/platform/linux/manifold2/hal/hal_uart.h
文件的LINUX_UART_DEV1
和LINUX_UART_DEV2
宏中填写对应的串口名称。
#define LINUX_UART_DEV1 "/dev/your_com"
#define LINUX_UART_DEV2 "/dev/your_com"
- 通过
ifconfig
命令,查看当前与无人机通讯的网口设备名称,并填写到samples/sample_c/platform/linux/manifold2/hal/hal_network.h
文件的LINUX_NETWORK_DEV
宏中。
#define LINUX_NETWORK_DEV "your_network_name"
编译示例程序
编译示例代码
进入示例代码工程的根目录下:
Payload-SDK/
,使用如下命令将示例代码编译为示例程序。mkdir build
cd build
cmake ..
make
根目录位置说明:
Payload-SDK/
├── CMakeLists.txt
├── EULA.txt
├── LICENSE.txt
├── README.md
├── build/
├── doc/
├── psdk_lib/
├── samples/
└── tools/
执行 C 语言示例程序
- 进入示例程序的目录:
cd build/bin/
- 使用
sudo ./dji_sdk_demo_linux
命令运行示例程序
- 进入示例程序的目录:
执行 C++ 语言示例程序
- 进入示例程序的目录:
cd build/bin/
- 使用
sudo ./dji_sdk_demo_linux_cxx
命令运行示例程序
- 进入示例程序的目录:
应用绑定(使用 Xport、SkyPort V2 或 SDK 认证芯片)
通过 DJI Assistant 2 将 SkyPort V2 与示例程序绑定后,当负载设备挂载在无人机上时,负载设备将自动运行开发者编译或烧录的示例程序。
说明
- 使用 DJI Assistant 2 绑定或调试负载设备时,请先在软件右上角的 “配置” 标签中打开 “数据授权” 开关,否则 DJI Assistant 2 将无法正常绑定或调试负载设备。
- 初次绑定 SkyPort V2 后,在不同的无人机上使用同一个 SkyPort V2 时,无需重新绑定示例程序。
- 将负载设备(如 Manifold 2-C)或开发板(如 STM32F407IGH6-EVAL)挂载在 DJI 的无人机上,同时将 DJI 的无人机连接到计算机。
- 使用应用信息中的账号登陆 DJI Assistant 2 ,单击 “Payload SDK ” 选项卡,进入 PSDK 硬件平台界面。
- 在 PSDK 硬件平台界面,单击 “绑定” 按钮,绑定硬件平台、示例程序和 DJI 无人机。
- 绑定成功后,PSDK 硬件平台界面中的绑定状态将显示为
已绑定
,如 图. 应用绑定 所示。
图. 应用绑定

- 确认 PSDK 适配器与 PSDK 负载通信波特率为 460800(PSDK 示例程序通信波特率为 460800)。
图. 设置通信波特率

- 应用绑定成功后,负载设备将自动运行示例程序。
图. 自动运行示例

绑定故障排查
1. SkyPort V2 故障排查
错误代码 | 错误说明 | 解决方案 |
---|---|---|
1 | 无法获取负载信息 | 1. 确认硬件平台正常连接 2. 确认基于 PSDK 开发的负载设备控制程序已正常运行 |
2 | 开发者账号非法 | 请确认负载设备控制程序中的用户信息与所绑定的转接环的用户信息相同 |
3 | 无法获取认证信息 | 请将负载设备中的日志信息提交给 DJI 技术支持团队排查相应的问题 |
4 | SkyPort 校验失败 | |
5 | 认证信息错误 | |
6 | 存储绑定信息失败 | |
7 | 无法获取 SN 号 |
2. 应用服务故障排查
错误代码 | 错误说明 | 解决方案 |
---|---|---|
400 | SN 不存在 | 请将负载设备中的日志信息提交给 DJI 技术支持团队排查相应的问题 |
500 | 服务器异常 | |
700 | 未找到负载设备的应用程序 | |
701 | 数据校验失败 | |
702 | 绑定关系错误 |
3. 调参软件故障排查
错误代码 | 错误说明 | 解决方案 |
---|---|---|
3 | 网络异常 | 请确认您的计算机能够访问互联网 |
4 | 调参软件错误 | 重新安装调参软件或重新启动计算机 |
5 | FTP 错误 |
编译故障排查
使用 Keil MDK 编译示例代码时报错:“error:L6050U”
- 故障原因:Keil MDK 未激活。
- 解决方法:使用 Keil MDK 编译示例代码前请先激活 Keil MDK。