Hello
I tried to build an executable version based on DJI code, according to the instructions specified in https://developer.dji.com/onboard-sdk/documentation/development-workflow/sample-setup.html (“STM32 Onboard Computer” branch). I’ve encountered the following obstacles: • I started from a basic stm32 project via stm32cube and added the modules that appear in DJI project file (OnBoardSDK_STM32.uvprojx) along with the specified flags. I get linking errors I am not sure how to recover from. Here are a few examples: - · Module: dji_legacy_linker.cpp, line:
o cmdInfo.sender = linker->getLocalSenderId(); // no implementation exists o if (linker->isUSBPlugged()) linker->send(&cmdInfo, (uint8_t *) &data); // no implementation exists o E_OsdkStat ret = vehicle->linker->sendSync(&cmdInfo, (uint8_t *) pdata, &ackInfo, ackData, timeout, retry_time); // no such prototype exists o The same problem with sendAsync API - · Similar errors reported with other modules as well
Q.1 : Is there anything I miss here / mishandled? Other issues I’ve noticed: · - linking to DJI external library files - osdk-core.lib, sdk-linker.lib . I’m using stm32cubeIde. I’ve managed to link to only files named under the following convention: “libMY_LIBRARY_FNAME.a” , while providing to the linker as a library name: MY_LIBRARY_FNAME. But .lib & .a formats are different. · - Finally, I failed to open DJI demo project file (OnBoardSDK_STM32.uvprojx) and got an error about an improper project file. · - There were other minor compilation errors I handled manually. Q.2 : Is there an ‘.a’ file versions in addition to the lib files? Q.3 : Is there a mismatch between the keil SW and the uvprojx file? Prompt help would be appreciated. Thanks Ron
h
|