研究了四天怎么添加新的應用程式,前幾天都嘗試著添加.cpp檔案的應用程式,跟著網上的方法都失敗了,結果今天試著添加一個.c檔案的應用程式居然成功了,
先把.c的添加方法寫一寫,以后學會了怎么添加.cpp了再來修改吧,
這是官方手冊給的添加方法,也是我參考的:
https://dev.px4.io/master/zh/apps/hello_sky.html
一、新建檔案
在src下想要的檔案夾(如/src/modules 或 /src/examples)中新建一個檔案夾,我這里選擇在/src/modules中新建一個名為Data_link_read的檔案夾,
然后在Data_link_read檔案夾中新建一個.c檔案和一個CMakeLists.txt檔案:

這里建議檔案夾名和.c檔案名相同
二、寫.c和CMakeLists.txt檔案
.c如下寫:
__EXPORT int Data_link_read_main(int argc, char *argv[]);
int Data_link_read_main(int argc, char *argv[]) { return OK; }
為了避免添加頭檔案的困擾,我先把官方手冊中的 PX4_INFO("Hello Sky!"); 這條陳述句刪了,畢竟我們的目的是新建一個應用程式而以,先追求編譯通過,再來考慮讓這個應用程式實作一些功能吧!
CMakeLists.txt如下寫:
px4_add_module(
MODULE modules__Data_link_read
MAIN Data_link_read
STACK_MAIN 2000
SRCS
Data_link_read.c
DEPENDS
)
*注意:CMakeLists.txt第二行MODULE后面跟著的“modules”是因為我選擇了src下的modules檔案夾,如果你選擇examples,那么就應該寫:
MODULE examples__Data_link_read
*題外話:在/PX4-Autopilot/cmake檔案夾下的若干個px4_XXX.cmake檔案中都有一些關于格式的解釋,可以參考一下
三、填寫.cmake檔案
為了保證我們添加的這個應用程式可以被運行,你首先需要確保編譯器會將它作為 PX4 韌體的一部分進行編譯,
因此要把我們的應用程式添加到/PX4-Autopilot/boards/px4/fmu-v5檔案夾中的default.cmake檔案中:

這里我們在MODULES下添加我們的應用程式,(如果你的應用程式寫在了在examples檔案夾中,那么需要就把應用程式添加到EXAMPLES下),
*注意:這里我選擇的是/px4/fmu-v5檔案夾下的default.cmake檔案,這是因為我在終端(terminal)中編譯時用到的陳述句是make px4_fmu-v5_default,因此,如果你編譯時用到的不是px4_fmu-v5,請選擇對應檔案夾下的default.cmake添加應用程式!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/206157.html
標籤:其他
