Skip to main content

运行示例程序

在申请到开发者账号后,请下载 PSDK 提供的示例代码并在示例代码中补充应用信息,通过编译、调试和烧录等操作获得示例程序。移植到目标开发板后即可运行示例程序。

提示:

  • 如需将 RTOS 或 Linux 的示例代码运行在其他开发板或操作系统中,请参考跨平台移植

获取示例代码

可以直接通过开发者网站的下载链接下载 PSDK 开发包,在 PSDK 开发包中可获取相关的示例代码,借助示例代码了解使用 PSDK 开发负载设备的方法,并快速开发出功能完善的负载设备。

创建负载应用

请参考 注册 PSDK 开发者账号 章节,填写必要的信息并申请开发者账号;审核通过后,我们会以邮件的形式告知生成的账号信息。

注意:

  • 为提高您的开发效率,请在示例代码中正确填写应用的名称、ID、Key和开发者账号,否则编译后的示例程序将无法正常运行。

运行 RTOS 示例代码

说明:

  • 本文以 HC32F460 芯片开发板为例,介绍运行 RTOS 示例代码的步骤和方法。

烧录 Bootloader

烧录发布版本,在 samples\sample_c\platform\rtos_freertos\hc32f460\04_tools\release目录下ModelX.MODEXTHROWV2-boot_V1.0.0.0_app_Vx.x.x.x.bin 文件。

相关参考:

  • 实现 Bootloader:samples\sample_c\platform\rtos_freertos\hc32f460\03_boot\
  • Bootloader 工程目录:samples\sample_c\platform\rtos_freertos\hc32f460\03_boot\projects
  • Bootloader 编译脚本:samples\sample_c\platform\rtos_freertos\hc32f460\04_tools\all_make.bat

补充应用信息

  • 使用 Keil IDE 打开位于 samples\sample_c\platform\rtos_freertos\hc32f460\02_app\projects 目录下的工程文件 app.uvprojx
  • samples\module_sample\uav_sdk_app_info.c 文件中替换应用的名称、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_app_account"
#define USER_BAUDRATE_RATE "460800"

编译并烧录

  • 使用 Keil MDK IDE 编译示例代码为示例程序。
  • 编译示例代码后,将编译后的程序烧录到负载设备中。
  • 如需调试示例程序,请将串口调试工具的波特率设置为:115200
  • 如需使用示例程序中升级接口进行升级,则需要使用 Bootloader 构建脚本生成 bin 文件并烧录。仅进行功能调试时可以直接使用 Keil MDK IDE 进行烧录调试。

运行 Linux 示例代码

说明:

  • 本文以树莓派 4B 为例,介绍运行 Linux 示例代码的步骤和方法。

补充应用信息

  • example/uav_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_app_account"
#define USER_BAUDRATE_RATE "460800"
  • example/timesync.cxx 示例代码中的 main 函数中修改串口通信信息。
UAV_Uart_Init("/dev/pts/20",115200);
  • 通过 ifconfig 命令,查看当前与无人机通讯的网口设备名称,并填写到 include/uav_platform.h 文件的 LOCALHOST_ETHERNET_TEST 宏中。注意实际开发中以 UAV_Network_Init 函数传参为准。
#define LOCALHOST_ETHERNET std::string("your_network_name")

执行示例程序

  • 配置运行环境后执行时间同步示例。
export LD_LIBRARY_PATH=./lib:$LD_LIBRARY_PATH
./example/timesync ./config/logger.yaml