********************************************
    编译Linux系统下的可执行NUTTX系统:
********************************************

1.给Linux系统安装gcc编译器;
2.将nuttx和app目录放到同一个子目录下面;
3.从nuttx/configs/sim/* 复制到nuttx目录下面;
4.如果系统是64位则不需要修改配置文件,否则则需要修改defconfig中的部分配置:
   注释下面配置:
   # CONFIG_HOST_X86_64 = y
   使能下面配置:
   CONFIG_HOST_X86=y
5:将defconfig文件名称变为 .configs/sim/*
6:在nuttx目录下面,运行make
7:通过./nuttx运行生成的目标程序
8:在nsh里面,输入poweroff来退出模拟程序;
9:默认情况下,应用程序所在分区是没有被挂载的,所以需要手动挂载一下:
  mount -t binfs /bin
 
 
********************************************
    示例程序的添加:
********************************************
如果想要打开更多的example程序,则需要修改defconfig文件;里面有很多CONFIG_EXAMPLES_***,
这些都与app/example下的示例相对应;
********************************************
    自定义示例程序的添加(以名称为:mytest为例)
********************************************
1.在app/examples目录下面建立自已的程序的目录
2.目录下面至少有4个文件:
     mytest_main.c ----主函数入口所在源文件;
     Kconfig -------内核配置接口文件;
     Make.defs -----将程序接入到系统的配置文件;
     Makefile ------如果编译该程序的配置文件;
3.Kconfig文件如下:
          config EXAMPLES_MYTEST
            bool "\"Mytest!\" example"
            default n
            ---help---
                Enable the \"Mytest!\" example

        if EXAMPLES_MYTEST

        config EXAMPLES_MYTEST_PROGNAME
            string "Program name"
            default "mytest"
            depends on BUILD_KERNEL
            ---help---
                This is the name of the program that will be use when the NSH ELF
                program is installed.

        endif
        
4.Make.defs内容如下:
        ifeq ($(CONFIG_EXAMPLES_MYTEST),y)
        CONFIGURED_APPS += examples/mytest
        endif

5.Makefile内容如下:
        -include $(TOPDIR)/Make.defs

        # Mytest! built-in application info

        APPNAME = mytest
        PRIORITY = SCHED_PRIORITY_DEFAULT
        STACKSIZE = 1048

        # mytest, World! Example

        ASRCS =
        CSRCS =
        MAINSRC = mytest_main.c

        CONFIG_EXAMPLES_MYTEST_PROGNAME ?= mytest$(EXEEXT)
        PROGNAME = $(CONFIG_EXAMPLES_MYTEST_PROGNAME)

        include $(APPDIR)/Application.mk
        
6:修改apps/examples目录下的Kconfig文件
  添加一行:
  source "$APPSDIR/examples/mytest/Kconfig"
  以告诉内核来这里加载Kconfig文件;

7:在nuttx目录下的.config文件加入:
  CONFIG_EXAMPLES_MYTEST=y

8:在nuttx目录下执行make命令;

********************************************
    通过make menuconfig配置系统
********************************************
如果安装了kconfig-frontends工具包,则可以通过make menuconfig来对系统进行
自定义的配置;
10-03 08:55