#树莓派构建大疆PSDK3.3环境新固件
烧录系统
使用官方软件Raspberry Pi Imager v1.7.3
选择推荐系统,要安装系统的SD卡,提前设置一些配
系统用户名使用pi
配置SSH和VNC
烧完系统ssh是没有开启的,需要手动开启
在终端输入sudo raspi-config打开树莓派配置界面
选择第三项 Interface Options
打开接口设置
依次打开SSH和VNC
重启树莓派
配置编译工具
安装c编译器
GCC 5.4.0/5.5.0版本
sudo apt install build-essential
gcc -v查看版本
CMake:2.8及以上版本
sudo apt install cmake
Cmake –version查看版本
拷贝3.3版本psdk并编译
https://github.com/dji-sdk/Payload-SDK/tree/master
下载3.3版本
使用终端次数多,安装一个terminator
sudo apt install terminator
进入官网注册成为开发者
https://developer.dji.com/cn/
获取PSDK的APP ID 和 KEY
更改dji_sdk_app_info.h内容
#define USER_APP_NAME “用自己申请的”
#define USER_APP_ID “用自己申请的”
#define USER_APP_KEY “用自己申请的”
#define USER_APP_LICENSE “用自己申请的”
#define USER_DEVELOPER_ACCOUNT “用自己申请的”
#define USER_BAUD_RATE “460800”
更改hal_uart.h里的串口号
//User can config dev based on there environmental conditions
#define LINUX_UART_DEV1 “/dev/ttyAMA1”
屏蔽main.h里与usb传输配置相关
找到
/* Private functions definition-----------------------------------------------/
static T_DjiReturnCode DjiUser_PrepareSystemEnvironment(void)
屏蔽如下
/
returnCode = DjiPlatform_RegHalNetworkHandler(&networkHandler);
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
printf(“register hal network handler error”);
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
}
*/
//Attention: if you want to use camera stream view function, please uncomment it.
// returnCode = DjiPlatform_RegSocketHandler(&socketHandler);
// if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
// printf(“register osal socket handler error”);
// return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
// }
进入示例代码的目录: sample/platform/linux/manifold2/project,使用如下命令将示例代码编译为示例程序。
mkdir build
cd build
cmake …
make
执行C语言示例程序
进入示例程序的目录: cd build/bin/
使用sudo ./dji_sdk_demo_linux命令运行示例程序
编译过程遇到问题及解决
1,cmake里错误
找到CMakeLists.txt 文件,发现报错是这个地方
按X86设置
set(TOOLCHAIN_NAME x86_64-linux-gnu-gcc)
add_definitions(-DPLATFORM_ARCH_x86_64=1)
2 ,fatal error: libusb-1.0/libusb.h
sudo apt install libusb-1.0-0-dev
sudo apt install libopus-dev
sudo apt install libusb-dev