********************************************

编译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来对系统进行

自定义的配置;

阅读(1513) | 评论(0) | 转发(1) |

nuttx linux 编译,Linux下编译nuttx模拟系统相关推荐

  1. Linux(CentOS6.5)下编译安装Nginx1.10.1

    原文出自:http://www.cnblogs.com/comexchan/p/5815753.html Linux(CentOS6.5)下编译安装Nginx1.10.1 首先在特权账号(root)下 ...

  2. [C++]Linux之Ubuntu下编译C程序出现错误:“ stray ‘\302‘或者‘\240‘ in program”的解决方案

    [C++]Linux之Ubuntu下编译C程序出现错误:" stray '\302'或者'\240' in program"的解决方案 参考文章: (1)[C++]Linux之Ub ...

  3. FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译

    FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译 什么是Firmament? Firmament (FMT) 是一款基于模型设计 (Model-Based-Design, M ...

  4. 安卓9.0刷linux,Ubuntu系统下编译Android 9.0系统

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 前言 在Ubuntu系统下编译Android系统.哎呀不知道是不是换了新电脑的缘故,这次编译居然从安装JDK和配置环境下 ...

  5. soc eds能 编译linux,SoCEDS环境下编译和更新preloader和uboot程序的方法

    在SoCEDS环境下编译和更新preloader和uboot程序的方法 前面有介绍preloader在HPS boot过程中的的作用,接下来 从Terasic网站下下载的SD image是在13.1环 ...

  6. linux mplayer 编译,RHEL6下编译Mplayer

    在Red Hat Enterprise Linux 6下编译Mplayer过程很忐忑,特记录一下: 首先 # wget http://www1.mplayerhq.hu/MPlayer/release ...

  7. Linux及Windows下编译exosip和osip2源码

    eXosip库及编译流程简介 1.eXosip库的简介 1.1.osip简介 osip2是一个开放源代码的sip协议栈,是开源代码中不多使用C语言写的协议栈之一,它具有短小简洁的特点,专注于sip底层 ...

  8. linux重新编译mysql_linux下编译安装mysql++ | 学步园

    版本为3.1.0 先解压源代码 tar -xzvf mysql++-3.1.0.tar.gz >>../configure >>make 发现下面编译make不过: /usr/ ...

  9. 如何编译android的linux 内核,ubuntu下编译android内核(arm-none-linux-gnueabi-)

    解压缩内核: $ mkdir -p android $ cd android $ tar xzvf ../linux-2.6.23-android-m3-rc20.tar.gz 会解压出来一个叫做ke ...

  10. Linux下编译build的命令,Linux命令行下编译Android NDK的示例代码

    这几天琢磨写一个Android的Runtime用来加速HTML5 Canvas,让GameBuilder+CanTK 不但开发速度快,运行速度也能接近原生应用.所以花了点时间研究Android NDK ...

最新文章

  1. ionic app 开发和生产环境的配置
  2. 记一次订单号的重复事故
  3. P1852 [国家集训队]跳跳棋
  4. mysql迫切连接_SQL水平迫切进阶
  5. python中用来回溯异常的模块_python学习笔记(异常)
  6. maven工程如何引用css和js文件
  7. java静态局部变量_java中成员变量,局部变量,静态变量的辨析
  8. android studio如何设置输出值的小数点_C语言基础知识:printf的输出格式,C/C++语言编程讲解...
  9. Smack+OpenFire搭建IM通信,包含心跳和自动重连(Android实现)
  10. storyboard 苹果启动图_iOS LaunchScreen.storyboard启动图更新
  11. Android 屏幕旋转的多种状态
  12. python为何排名越来越前_为什么C#排名和Python相差越来越大?
  13. .net core——打造自己的 dotnet new 微服务解决方案模板
  14. 终端安全防护技术研究(一)
  15. Openstack日常运维
  16. 教你怎样查询快递查询单号并保存物流信息
  17. java医院管理系统源码_医院管理信息系统
  18. Spartan6系列之时钟资源详解
  19. 如何创建批处理文件?
  20. 学物联网必须要知道的云平台ThingsBoard

热门文章

  1. 网络营销实验二网站搜索引擎友好性分析
  2. 游轮、游艇船用控制系统NMEA2000航空插头连接器
  3. 使用python tkinter做window窗体界面程序,以及python多线程处理解决tk界面卡死
  4. 【工程化系列】软件版本号的命名规则
  5. 基于Python机器学习、深度学习技术提升气象、海洋、水文领域实践应用
  6. android微信第三方支付,Android第三方sdk加入App微信支付解决方案
  7. 美国人为Google宽带狂
  8. python中常用的加密算法
  9. JAVA三维可视化组件:Matplot 3D for JAVA(V2.0) 发布 欢迎使用JAVA平台 类似 Python 的 matplotlib
  10. 通常划分计算机发展时代是以,通常划分计算机发展时代是以 为标准的。