網頁

2014年8月24日 星期日

Pixhawk Autopilot 第二步 建立一個應用程式


  1. 檔案設定
    1. 若有更新OS程式碼,至少執行一次make archives
    2. 在Eclipse開發環境下,進入 Firmware/src/modules資料夾中,建立一個新資料夾,例如"px4_test_app",

      在這個資料夾中建立一個新make檔,檔名為"module.mk"。
      在module.mk中加入下列程式碼:
         MODULE_COMMAND = px4_test_app
         SRCS                            = px4_test_app.c
  2. 撰寫程式
    1. 在 Firmeware/src/module/px4_test.app/ 新增C程式碼檔。例如"px4_test_app"。

      Firmware
             └   src
                     └  module
                               └  px4_test_app
                                                └  module.mk
                                                └  px4_test_app.c
    2. 編輯C程式碼,最小程式碼須包含下列程式碼:
      /**
      * @file px4_test_app.c
      * Minimal appliction example for PX4 autopilot
      */
      #include <nuttx/config.h>
      #include <stdio.h>
      #include <errno.h>

      __EXPORT int px4_test_app_main(int argc, char *argv[]);

      int px4_test_app_main(int argc, char *argv[])
      {
           printf("Hello BC!\n");
           return OK;
      }
  3. 向NuttShell註冊應用程式並編譯
    1. 打開 "Firmware/makefiles/" 資料夾中 "config_px4fmu-v2_default.mk" 文件。
    2. 在文件中新增一行程式碼:
      MODULES         += moudles/px4_test_app
    3. 編譯程式碼:執行 clean → px4fmu-v2_defualt。如果沒有註冊新應用程式,只須執行px4fmu-v2_defualt。
    4. 上傳:執行 upload px4fmu-v2_defualt。當出現以下訊息的時候,重置Pixhawk飛控板(FMU Reset 按鈕長押 or USB重新拔插):
          Generating/Users/user/src/Firmware/Images/px4fmu.px4
          Loaded firmware for 9,0, waiting for the bootloader...

      出現以下訊息代表上傳成功:
          Found board 5,0 on /dev/tty.usbmodem1
          erase...
          program...
          verify...
          done, rebooting.
  4. 執行應用程式
    開啟TeraTerm,NSH> 下輸入 px4_test_app。

    註:此範例程式可參考 px4\Firmware\src\example\px4_simple_app資料夾下。完整程式請參考範例。

沒有留言:

張貼留言