1. 程式人生 > >nuttx 新增應用程式

nuttx 新增應用程式

在apps-7.15資料夾中有許多Nuttx的例程,具體位於apps-7.15/example中,這裡以hello 這個例程為例,來看看如何新增程式到Nuttx中。 
開啟apps-7.15/example/hello會看到如下幾個檔案: 
hello 
其中hello_main.c是原始檔,其餘三個是配置相關檔案。開啟hello_main.c: 
hello_c 
可以看到只有標頭檔案不一樣,自己寫只需注意標頭檔案就行。下面開始寫自己的程式。

1.在apps-7.15資料夾中建立名為projects的資料夾,然後拷貝hello資料夾到此。

$ mkdir projects
$ cp -a apps-7.15/example/hello apps-7.15
/projects/test $ cd apps-7.15/projects/test $ mv hello_main.c test_hello.c
  • 1
  • 2
  • 3
  • 4

2.修改自己程式的配置檔案。修改test資料夾中的Makefile Make.defs Kconfig三個檔案。首先開啟Makefile檔案.

test_makefile 
修改以CONFIG*開頭的巨集定義和MAINSRC對應的原始檔。 
開啟Make.defs檔案 
test_makdefs 
同樣修改以CONFIG*開頭的巨集定義,同時CONFIGURED_APPS要修改為你程式的目錄。 
開啟Kconfig檔案 
test_kconfig 
主要修改巨集定義,其餘可選。

3.編寫源程式,開啟test_hello.c
修改如下:

test_hello_c

4.將apps-7.15/eamples中的Makefile Make.defs Kconfig三個檔案拷貝到apps-7.15/projects中:

$ cp apps-7.15/examples/Makefile apps-7.15/projects/
$ cp apps-7.15/examples/Make.defs apps-7.15/projects/
$ cp apps-7.15/examples/Kconfig apps-7.15/projects/
  • 1
  • 2
  • 3

這次只需修改兩個檔案Make.defsKconfig。開啟Kconfig,修改如下: 
test_kconfig 
開啟Make.defs,修改如下: 
test_makedefs

5.修改apps-7.15
資料夾中的Kconfig檔案,修改如下:

apps_kconfig

所有這些修改完後就可以編譯了。進入nuttx-7.15資料夾中:

$ make apps_distclean
$ make menuconfig
  • 1
  • 2

翻到最後,選擇Application Configuration
menuconfig-ap 
又翻到最後,選擇projects: 
menuconfig_projects 
選中即可: 
menuconfig_hello 
然後儲存退出,make即可。

通過資料線連線到stm32f4discovery上,通過nsh輸入help可以看到,在Builtin Apps裡多了個hello程式,直接輸入hello就可以看到效果了: 
final