nuttx想要添加自己写的一些小应用非常方便,具体的步骤如下:
1,在apps/examples/目录下添加自己的目录。
2,添加Kconfig, Makefile, Make.defs, 以及应用的源文件。
3,通过build.sh menuconfig去选择自己添加的app即可。
4,将编译好的版本下载到板子中,在nuttx shell试图下执行?回车即可看到自己添加的小应用。在shell下输入自己添加的小应用的名字回车既可运行程序。

首先我们如果想添加一些自己的小程序需要在apps/examples/目录下添加自己的app目录,以apps/examples/hello为例:
我们需要添加hello_main.c, Kconfig, Make.defs, Makefile这四个文件。

Kconfig的内容如下。

#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#config EXAMPLES_HELLO      改名字是用来在defconfig中配置使用的。添加该配置之后,该应用会被打开。tristate "\"Hello, World!\" example"  这个是在menuconfig中看到的选项提示default n             默认是不打开---help---Enable the \"Hello, World!\" exampleif EXAMPLES_HELLO 如果打开该选项就进行下面的配置。config EXAMPLES_HELLO_PROGNAME      app的名字string "Program name"default "hello"---help---This is the name of the program that will be used when the NSH ELFprogram is installed.config EXAMPLES_HELLO_PRIORITY       设置栈的优先级int "Hello task priority"default 100config EXAMPLES_HELLO_STACKSIZE        设置栈的大小int "Hello stack size"default DEFAULT_TASK_STACKSIZEendif

Make.defs的内容如下。

############################################################################
# apps/examples/hello/Make.defs
# Adds selected applications to apps/ build
#
#   Copyright (C) 2015 Gregory Nutt. All rights reserved.
#   Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in
#    the documentation and/or other materials provided with the
#    distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
#    used to endorse or promote products derived from this software
#    without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################ifneq ($(CONFIG_EXAMPLES_HELLO),)   需要注意该名字需要和Kconfig的一致性
CONFIGURED_APPS += $(APPDIR)/examples/hello           这个是hello这个app所在的目录。
endif

Makefile的内容:

############################################################################
# apps/examples/hello/Makefile
#
#   Copyright (C) 2008, 2010-2013 Gregory Nutt. All rights reserved.
#   Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in
#    the documentation and/or other materials provided with the
#    distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
#    used to endorse or promote products derived from this software
#    without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################include $(TOPDIR)/Make.defs# Hello, World! built-in application infoPROGNAME  = $(CONFIG_EXAMPLES_HELLO_PROGNAME)  PROGNAME设置为在Kconfig中配置的名字
PRIORITY  = $(CONFIG_EXAMPLES_HELLO_PRIORITY)  优先级设置为Kconfig中的配置
STACKSIZE = $(CONFIG_EXAMPLES_HELLO_STACKSIZE) 栈大小设置为Kconfig给hello配置的大小
MODULE    = $(CONFIG_EXAMPLES_HELLO)           模块也是Kconfig中的配置名称# Hello, World! ExampleMAINSRC = hello_main.c         main src文件是hello.c文件include $(APPDIR)/Application.mk

hello_main.c的内容:

/***************************************************************************** Included Files****************************************************************************/#include <nuttx/config.h>        需要注意的一点是通常我们会在我们添加的app源文件的顶部添加该头文件的引用。
#include <stdio.h>/***************************************************************************** Public Functions****************************************************************************//***************************************************************************** hello_main****************************************************************************/int main(int argc, FAR char *argv[])
{printf("Hello, World!!\n");return 0;
}

nuttx app添加自己的小应用程序相关推荐

  1. iOS传感器开发——为APP添加手机密码、指纹进行安全验证

    iOS传感器开发--为APP添加手机密码.指纹进行安全验证 一.引言 iPhone5s之后,iPhone硬件上已支持进行指纹识别的功能,相应的,一些新的api也可以应用于APP中,进行用户安全的验证. ...

  2. HBuilder开发旅游类APP(三) ----- 给APP添加底部导航栏(底部选项卡)

    HBuilder开发旅游类APP(三) ----- 给APP添加底部导航栏(底部选项卡) 作者:班尼科 本博文是本人原创,喜欢请给我点赞,转载请注明出处哦. 标签: 旅游 HBuilder H5+ M ...

  3. android 将app添加进入文件的打开方式

    今天,简单讲讲android里如何将自己的app添加进入文件的打开方式. 最近因为换租房的原因,状态很不好.今天尝试写点android的代码的内容.其实很简单,我们只需在AndroidManifest ...

  4. macOS:给 app 添加摄像头权限

    macOS:给 app 添加摄像头权限 举例 macOS 10.15.x: macOS 11.x: 说 明: 举例 下面以微信为例说明: macOS 10.15.x: /usr/bin/sqlite3 ...

  5. 三、简单刷题APP(题库是Excel)之在APP添加题目

    在APP添加题目,其实就是获取文本框的内容后将数据添加进数据库中 熟悉使用数据库的,很简单就可以实现了,现在简单描述一下使用. 如图所示,在指定位置输入相应的数据即可,在框中选择正确答案,提交后,将数 ...

  6. Android 10.0 app添加校验锁(输入密码才能进入app)

    1.概述 最近有客户有需求要求给app添加锁,就是点击app 图标时,会弹出Dialog,需要输入密码才能进入app中,就是应用校验锁, 最开始想到在Launcher3中实现,但是如果更换了默认Lau ...

  7. 为 iOS APP 添加手机密码、指纹验证

    2019独角兽企业重金招聘Python工程师标准>>> 原文  http://my.oschina.net/u/2340880/blog/542221?fromerr=fpdpdLP ...

  8. 在stm32f103上运行nuttx,添加app和driver的流程

    以stm32f103的led(PC13)为例子 heyi@ubuntu:~/nuttx/heyi_1_nuttx/nuttx/tools$ ./configure.sh stm32f103-minim ...

  9. iOS App添加扩展App Extension

    主要参考文章 :  https://www.cnblogs.com/fengmin/p/6118592.html demo地址,里面额外添加了一个分享的扩展 :  https://github.com ...

最新文章

  1. SCSI软件层对性能的影响
  2. windows下 apache 二级域名相关配置
  3. 防止Stack smash的技术
  4. ORACLE数据库基本操作命令
  5. mysql练习_创建库与列表、增加列表信息、列表查询(包含多列表查询)_月隐学python第23课
  6. 分页请求json数据_Python爬虫入门教程 28-100 虎嗅网文章数据抓取 pyspider
  7. php 写入sql server,php将图片直接写入SQLServer2008
  8. 6、二、App Components(应用程序组件):1、Intents and Intent Filters(意图和意图过滤器)...
  9. pdf电脑地址转网络地址.txt
  10. Docker容器系列教程(三):jenkins环境搭建与插件安装
  11. python破解百度云限速_python实战小项目,多线程百度云盘下载,突破限速,超越迅雷超高速下载...
  12. python运行脚本文件的3种方法
  13. Kibana警报之索引连接器
  14. Kafka配置broker映射错误报错Discovered coordinator xxx rack: null
  15. Pikachu靶场全关攻略(超详细!)
  16. vs2017+cuda10.2+opencv4.5.0+contrib编译
  17. kali翻译插件_《Kali Linux解密》翻译-开启篇
  18. 阅读笔记 |《科学史和科学哲学导论》舒斯特
  19. 2022 Jiangsu Collegiate Programming Contest I. Cutting Suffix
  20. 毫米波雷达识别问题分析及解决措施

热门文章

  1. Ubuntu创建和编译文件
  2. 毕业设计 深度学习乳腺癌分类
  3. G盘提示无法访问参数错误,里面的资料怎么寻回
  4. 数据结构与算法(python):广度优先搜索(Breadth First Search,BFS)和深度优先算法(Depth First Search,DFS)
  5. 海信TC2900彩电功放板改制家庭音响
  6. 常用的手机号,身份号正则校验
  7. 批量修改文件和文件夹权限win10
  8. 基于PHP的学生管理系统
  9. vulhub中漏洞复现1
  10. 单词APP的工作历程复盘