diff --git a/psdk_lib/include/dji_version.h b/psdk_lib/include/dji_version.h index db1a75d..2cadd7b 100644 --- a/psdk_lib/include/dji_version.h +++ b/psdk_lib/include/dji_version.h @@ -37,7 +37,7 @@ extern "C" { #define DJI_VERSION_MINOR 3 /*!< DJI SDK minor version num, when add functionality in a backwards compatible manner changes. Range from 0 to 99. */ #define DJI_VERSION_MODIFY 0 /*!< DJI SDK modify version num, when have backwards compatible bug fixes changes. Range from 0 to 99. */ #define DJI_VERSION_BETA 0 /*!< DJI SDK version beta info, release version will be 0, when beta version release changes. Range from 0 to 255. */ -#define DJI_VERSION_BUILD 1697 /*!< DJI SDK version build info, when jenkins trigger build changes. Range from 0 to 65535. */ +#define DJI_VERSION_BUILD 1702 /*!< DJI SDK version build info, when jenkins trigger build changes. Range from 0 to 65535. */ /* Exported types ------------------------------------------------------------*/ diff --git a/psdk_lib/lib/aarch64-himix100-linux-gcc/libpayloadsdk.a b/psdk_lib/lib/aarch64-himix100-linux-gcc/libpayloadsdk.a index df22be5..4cadcb8 100644 Binary files a/psdk_lib/lib/aarch64-himix100-linux-gcc/libpayloadsdk.a and b/psdk_lib/lib/aarch64-himix100-linux-gcc/libpayloadsdk.a differ diff --git a/psdk_lib/lib/aarch64-linux-gnu-gcc/libpayloadsdk.a b/psdk_lib/lib/aarch64-linux-gnu-gcc/libpayloadsdk.a index 0500dd0..3ee8e88 100644 Binary files a/psdk_lib/lib/aarch64-linux-gnu-gcc/libpayloadsdk.a and b/psdk_lib/lib/aarch64-linux-gnu-gcc/libpayloadsdk.a differ diff --git a/psdk_lib/lib/arm-himix100-linux-gcc/libpayloadsdk.a b/psdk_lib/lib/arm-himix100-linux-gcc/libpayloadsdk.a index 69f5513..6786066 100644 Binary files a/psdk_lib/lib/arm-himix100-linux-gcc/libpayloadsdk.a and b/psdk_lib/lib/arm-himix100-linux-gcc/libpayloadsdk.a differ diff --git a/psdk_lib/lib/arm-himix200-linux-gcc/libpayloadsdk.a b/psdk_lib/lib/arm-himix200-linux-gcc/libpayloadsdk.a index 73ccb04..73de4e7 100644 Binary files a/psdk_lib/lib/arm-himix200-linux-gcc/libpayloadsdk.a and b/psdk_lib/lib/arm-himix200-linux-gcc/libpayloadsdk.a differ diff --git a/psdk_lib/lib/arm-hisiv300-linux-gcc/libpayloadsdk.a b/psdk_lib/lib/arm-hisiv300-linux-gcc/libpayloadsdk.a index 3467400..87e73d3 100644 Binary files a/psdk_lib/lib/arm-hisiv300-linux-gcc/libpayloadsdk.a and b/psdk_lib/lib/arm-hisiv300-linux-gcc/libpayloadsdk.a differ diff --git a/psdk_lib/lib/arm-hisiv400-linux-gcc/libpayloadsdk.a b/psdk_lib/lib/arm-hisiv400-linux-gcc/libpayloadsdk.a deleted file mode 100644 index 66ee2e9..0000000 Binary files a/psdk_lib/lib/arm-hisiv400-linux-gcc/libpayloadsdk.a and /dev/null differ diff --git a/psdk_lib/lib/arm-hisiv500-linux-gcc/libpayloadsdk.a b/psdk_lib/lib/arm-hisiv500-linux-gcc/libpayloadsdk.a index 80e14f0..08e1da7 100644 Binary files a/psdk_lib/lib/arm-hisiv500-linux-gcc/libpayloadsdk.a and b/psdk_lib/lib/arm-hisiv500-linux-gcc/libpayloadsdk.a differ diff --git a/psdk_lib/lib/arm-hisiv600-linux-gcc/libpayloadsdk.a b/psdk_lib/lib/arm-hisiv600-linux-gcc/libpayloadsdk.a index 9b88a50..e3875ba 100644 Binary files a/psdk_lib/lib/arm-hisiv600-linux-gcc/libpayloadsdk.a and b/psdk_lib/lib/arm-hisiv600-linux-gcc/libpayloadsdk.a differ diff --git a/psdk_lib/lib/arm-linux-gnueabi-gcc/libpayloadsdk.a b/psdk_lib/lib/arm-linux-gnueabi-gcc/libpayloadsdk.a index 8079883..c120033 100644 Binary files a/psdk_lib/lib/arm-linux-gnueabi-gcc/libpayloadsdk.a and b/psdk_lib/lib/arm-linux-gnueabi-gcc/libpayloadsdk.a differ diff --git a/psdk_lib/lib/arm-linux-gnueabihf-gcc/libpayloadsdk.a b/psdk_lib/lib/arm-linux-gnueabihf-gcc/libpayloadsdk.a index 43709a1..8845d85 100644 Binary files a/psdk_lib/lib/arm-linux-gnueabihf-gcc/libpayloadsdk.a and b/psdk_lib/lib/arm-linux-gnueabihf-gcc/libpayloadsdk.a differ diff --git a/psdk_lib/lib/arm-none-eabi-gcc/libpayloadsdk.a b/psdk_lib/lib/arm-none-eabi-gcc/libpayloadsdk.a index edc73c5..5c74613 100644 Binary files a/psdk_lib/lib/arm-none-eabi-gcc/libpayloadsdk.a and b/psdk_lib/lib/arm-none-eabi-gcc/libpayloadsdk.a differ diff --git a/psdk_lib/lib/armcc_cortex-m4/libpayload.lib b/psdk_lib/lib/armcc_cortex-m4/libpayload.lib index 2c611d7..9ccb021 100644 Binary files a/psdk_lib/lib/armcc_cortex-m4/libpayload.lib and b/psdk_lib/lib/armcc_cortex-m4/libpayload.lib differ diff --git a/psdk_lib/lib/x86_64-linux-gnu-gcc/libpayloadsdk.a b/psdk_lib/lib/x86_64-linux-gnu-gcc/libpayloadsdk.a index 04c5789..9c6c4e9 100644 Binary files a/psdk_lib/lib/x86_64-linux-gnu-gcc/libpayloadsdk.a and b/psdk_lib/lib/x86_64-linux-gnu-gcc/libpayloadsdk.a differ diff --git a/psdk_lib/lib/xtensa-esp32-elf-gcc/libpayloadsdk.a b/psdk_lib/lib/xtensa-esp32-elf-gcc/libpayloadsdk.a index ee064b0..426b3c0 100644 Binary files a/psdk_lib/lib/xtensa-esp32-elf-gcc/libpayloadsdk.a and b/psdk_lib/lib/xtensa-esp32-elf-gcc/libpayloadsdk.a differ diff --git a/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/application/FreeRTOSConfig.h b/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/application/FreeRTOSConfig.h index f442949..31b1898 100644 --- a/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/application/FreeRTOSConfig.h +++ b/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/application/FreeRTOSConfig.h @@ -64,7 +64,7 @@ #define configTICK_RATE_HZ ((TickType_t)1000) #define configMAX_PRIORITIES ( 7 ) #define configMINIMAL_STACK_SIZE ((uint16_t)128) -#define configTOTAL_HEAP_SIZE ((size_t)64000) +#define configTOTAL_HEAP_SIZE ((size_t)75000) #define configMAX_TASK_NAME_LEN ( 16 ) #define configUSE_16_BIT_TICKS 0 #define configUSE_MUTEXES 1 diff --git a/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/application/application.c b/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/application/application.c index bbd1d56..9050c54 100644 --- a/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/application/application.c +++ b/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/application/application.c @@ -62,11 +62,11 @@ #define RUN_INDICATE_TASK_FREQ_0D1HZ 0.1f #define DJI_USE_WIDGET_INTERACTION 0 -#define DJI_EXTENSION_PORT_SUPPORT 0 /* Private types -------------------------------------------------------------*/ /* Private values -------------------------------------------------------------*/ +static bool s_isApplicationStart = false; /* Private functions declaration ---------------------------------------------*/ static T_DjiReturnCode DjiUser_PrintConsole(const uint8_t *data, uint16_t dataLen); @@ -113,8 +113,8 @@ void DjiUser_StartTask(void const *argument) UART_Init(DJI_CONSOLE_UART_NUM, DJI_CONSOLE_UART_BAUD); Led_Init(LED3); -//Attention: if you want to run payload sdk on extension port, please define the macro DJI_EXTENSION_PORT_SUPPORT. -#if DJI_EXTENSION_PORT_SUPPORT +//Attention: if you want to run payload sdk on extension port, please define the macro USE_USB_HOST_UART. +#if USE_USB_HOST_UART MX_USB_HOST_Init(); Osal_TaskSleepMs(2000); #endif @@ -169,7 +169,7 @@ void DjiUser_StartTask(void const *argument) returnCode = DjiTest_RegApplyHighPowerHandler(&applyHighPowerHandler); if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) { - USER_LOG_ERROR("regsiter apply high power handler error"); + USER_LOG_ERROR("register apply high power handler error"); } returnCode = DjiTest_PowerManagementStartService(); @@ -178,27 +178,12 @@ void DjiUser_StartTask(void const *argument) } #endif -#ifdef CONFIG_MODULE_SAMPLE_CAMERA_ON - returnCode = DjiTest_CameraEmuBaseStartService(); - if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) { - USER_LOG_ERROR("camera emu common init error"); - goto out; - } -#endif - #ifdef CONFIG_MODULE_SAMPLE_WIDGET_ON -#if DJI_USE_WIDGET_INTERACTION - returnCode = DjiTest_WidgetInteractionStartService(); - if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) { - USER_LOG_ERROR("widget sample init error"); - } -#else returnCode = DjiTest_WidgetStartService(); if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) { USER_LOG_ERROR("widget sample init error"); } #endif -#endif #ifdef CONFIG_MODULE_SAMPLE_DATA_TRANSMISSION_ON returnCode = DjiTest_DataTransmissionStartService(); @@ -214,6 +199,15 @@ void DjiUser_StartTask(void const *argument) } #endif +#if !USE_USB_HOST_UART +#ifdef CONFIG_MODULE_SAMPLE_CAMERA_ON + returnCode = DjiTest_CameraEmuBaseStartService(); + if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) { + USER_LOG_ERROR("camera emu common init error"); + goto out; + } +#endif + #ifdef CONFIG_MODULE_SAMPLE_GIMBAL_EMU_ON if (aircraftInfoBaseInfo.djiAdapterType == DJI_SDK_ADAPTER_TYPE_SKYPORT_V2 || aircraftInfoBaseInfo.djiAdapterType == DJI_SDK_ADAPTER_TYPE_NONE) { @@ -287,6 +281,7 @@ void DjiUser_StartTask(void const *argument) DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) { printf("psdk upgrade init error"); } +#endif #endif returnCode = DjiCore_ApplicationStart(); @@ -294,6 +289,8 @@ void DjiUser_StartTask(void const *argument) USER_LOG_ERROR("start sdk application error"); } + s_isApplicationStart = true; + while (1) { Osal_TaskSleepMs(500); Led_Trigger(LED3); @@ -325,8 +322,11 @@ void DjiUser_MonitorTask(void const *argument) #endif while (1) { - Osal_TaskSleepMs(1000 / RUN_INDICATE_TASK_FREQ_1HZ); + Osal_TaskSleepMs(1000 / RUN_INDICATE_TASK_FREQ_0D1HZ); + if (s_isApplicationStart == false) { + continue; + } // report UART buffer state #ifdef USING_UART_PORT_1 UART_GetBufferState(UART_NUM_1, &readBufferState, &writeBufferState); @@ -385,8 +385,8 @@ void DjiUser_MonitorTask(void const *argument) lastTaskStatusArraySize = currentTaskStatusArraySize; #endif } - USER_LOG_DEBUG("used heap size: %d/%d.\r\n", configTOTAL_HEAP_SIZE - xPortGetFreeHeapSize(), - configTOTAL_HEAP_SIZE); + USER_LOG_INFO("Used heap size: %d/%d.\r\n", configTOTAL_HEAP_SIZE - xPortGetFreeHeapSize(), + configTOTAL_HEAP_SIZE); } } diff --git a/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/application/dji_sdk_config.h b/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/application/dji_sdk_config.h index 0388adb..c3298f1 100644 --- a/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/application/dji_sdk_config.h +++ b/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/application/dji_sdk_config.h @@ -36,19 +36,19 @@ extern "C" { /* Exported constants --------------------------------------------------------*/ #define CONFIG_MODULE_SAMPLE_POWER_MANAGEMENT_ON +#define CONFIG_MODULE_SAMPLE_WIDGET_ON + #define CONFIG_MODULE_SAMPLE_DATA_TRANSMISSION_ON -#define CONFIG_MODULE_SAMPLE_WIDGET_ON +#define CONFIG_MODULE_SAMPLE_FC_SUBSCRIPTION_ON #define CONFIG_MODULE_SAMPLE_GIMBAL_EMU_ON #define CONFIG_MODULE_SAMPLE_CAMERA_ON -#define CONFIG_MODULE_SAMPLE_FC_SUBSCRIPTION_ON - #define CONFIG_MODULE_SAMPLE_XPORT_ON -//#define CONFIG_MODULE_SAMPLE_UPGRADE_ON +#define CONFIG_MODULE_SAMPLE_UPGRADE_ON /*!< Attention: Please uncomment it in gps environment. * */ diff --git a/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/application/main.c b/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/application/main.c index 299fcf1..5803cef 100644 --- a/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/application/main.c +++ b/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/application/main.c @@ -29,7 +29,7 @@ #include "task.h" /* Private constants ---------------------------------------------------------*/ -#define USER_START_TASK_STACK_SIZE 1024 +#define USER_START_TASK_STACK_SIZE 2048 #define USER_START_TASK_PRIORITY 0 #define USER_RUN_INDICATE_TASK_STACK_SIZE 256 #define USER_RUN_INDICATE_TASK_PRIORITY 0 diff --git a/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/drivers/BSP/uart.c b/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/drivers/BSP/uart.c index 80382b9..18ef160 100644 --- a/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/drivers/BSP/uart.c +++ b/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/drivers/BSP/uart.c @@ -34,19 +34,17 @@ /* Private typedef -----------------------------------------------------------*/ - /* Private define ------------------------------------------------------------*/ //uart uart buffer size define -#define UART1_READ_BUF_SIZE 1024 -#define UART1_WRITE_BUF_SIZE 4096 -#define UART2_READ_BUF_SIZE 2048 +#define UART1_READ_BUF_SIZE 64 +#define UART1_WRITE_BUF_SIZE 64 +#define UART2_READ_BUF_SIZE 64 #define UART2_WRITE_BUF_SIZE 2048 -#define UART3_READ_BUF_SIZE 1024 -#define UART3_WRITE_BUF_SIZE 1024 +#define UART3_READ_BUF_SIZE 4096 +#define UART3_WRITE_BUF_SIZE 2048 /* Private macro -------------------------------------------------------------*/ - /* Private variables ---------------------------------------------------------*/ #ifdef USING_UART_PORT_1 //UART1 read ring buffer structure @@ -58,9 +56,9 @@ static T_RingBuffer s_uart1WriteRingBuffer; //USART1 write buffer state static T_UartBufferState s_uart1WriteBufferState; //UART1 read buffer -static uint8_t s_uart1ReadBuf[UART1_READ_BUF_SIZE]; +CCMRAM static uint8_t s_uart1ReadBuf[UART1_READ_BUF_SIZE]; //UART1 write buffer -static uint8_t s_uart1WriteBuf[UART1_WRITE_BUF_SIZE]; +CCMRAM static uint8_t s_uart1WriteBuf[UART1_WRITE_BUF_SIZE]; //UART1 mutex static T_DjiMutexHandle s_uart1Mutex; @@ -73,8 +71,8 @@ static T_RingBuffer s_uart2ReadRingBuffer; static T_UartBufferState s_uart2ReadBufferState; static T_RingBuffer s_uart2WriteRingBuffer; static T_UartBufferState s_uart2WriteBufferState; -static uint8_t s_uart2ReadBuf[UART2_READ_BUF_SIZE]; -static uint8_t s_uart2WriteBuf[UART2_WRITE_BUF_SIZE]; +CCMRAM static uint8_t s_uart2ReadBuf[UART2_READ_BUF_SIZE]; +CCMRAM static uint8_t s_uart2WriteBuf[UART2_WRITE_BUF_SIZE]; static T_DjiMutexHandle s_uart2Mutex; static UART_HandleTypeDef s_uart2Handle; @@ -85,8 +83,8 @@ static T_RingBuffer s_uart3ReadRingBuffer; static T_UartBufferState s_uart3ReadBufferState; static T_RingBuffer s_uart3WriteRingBuffer; static T_UartBufferState s_uart3WriteBufferState; -static uint8_t s_uart3ReadBuf[UART3_READ_BUF_SIZE]; -static uint8_t s_uart3WriteBuf[UART3_WRITE_BUF_SIZE]; +CCMRAM static uint8_t s_uart3ReadBuf[UART3_READ_BUF_SIZE]; +CCMRAM static uint8_t s_uart3WriteBuf[UART3_WRITE_BUF_SIZE]; static T_DjiMutexHandle s_uart3Mutex; static UART_HandleTypeDef s_uart3Handle; diff --git a/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h b/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h index 209864d..424878d 100644 --- a/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h +++ b/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h @@ -280,6 +280,8 @@ void HAL_DisableMemorySwappingBank(void); * @} */ /* Private macros ------------------------------------------------------------*/ +#define CCMRAM __attribute__((section(".ccmram"))) + /* Private functions ---------------------------------------------------------*/ /** * @} @@ -287,8 +289,8 @@ void HAL_DisableMemorySwappingBank(void); /** * @} - */ - + */ + #ifdef __cplusplus } #endif diff --git a/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c b/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c index aea73ae..8e87499 100644 --- a/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c +++ b/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c @@ -146,8 +146,8 @@ USBH_ClassTypeDef CDC_Class = QueueHandle_t ACMDataRecvQueue; QueueHandle_t ACMDataSendQueue; -#if DJI_EXTENSION_PORT_SUPPORT -static uint8_t cdcBuff[1024]; +#if USE_USB_HOST_UART +CCMRAM static uint8_t cdcBuff[1024]; #endif void USBH_CDC_DataQueueInit(void) @@ -372,7 +372,7 @@ static USBH_StatusTypeDef USBH_CDC_Process(USBH_HandleTypeDef *phost) CDC_HandleTypeDef *CDC_Handle = (CDC_HandleTypeDef *) phost->pActiveClass->pData; if (CDC_Handle->data_rx_state == CDC_IDLE) { -#if DJI_EXTENSION_PORT_SUPPORT +#if USE_USB_HOST_UART USBH_CDC_Receive(phost, cdcBuff, sizeof(cdcBuff)); #endif } diff --git a/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/project/armgcc/stm32f4discovery.cfg b/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/project/armgcc/stm32f4discovery.cfg index 6a218ee..0a1f0a6 100644 --- a/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/project/armgcc/stm32f4discovery.cfg +++ b/samples/sample_c/platform/rtos_freertos/stm32f4_discovery/project/armgcc/stm32f4discovery.cfg @@ -1,9 +1,9 @@ # This is an STM32F4 discovery board with a single STM32F407VGT6 chip. # http://www.st.com/internet/evalboard/product/252419.jsp -source [find interface/stlink-v2-1.cfg] +source [find interface/jlink.cfg] -transport select hla_swd +transport select swd # increase working area to 64KB set WORKAREASIZE 0x10000