nuttx linux 编译,Linux下编译nuttx模拟系统
********************************************
编译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模拟系统相关推荐
- Linux(CentOS6.5)下编译安装Nginx1.10.1
原文出自:http://www.cnblogs.com/comexchan/p/5815753.html Linux(CentOS6.5)下编译安装Nginx1.10.1 首先在特权账号(root)下 ...
- [C++]Linux之Ubuntu下编译C程序出现错误:“ stray ‘\302‘或者‘\240‘ in program”的解决方案
[C++]Linux之Ubuntu下编译C程序出现错误:" stray '\302'或者'\240' in program"的解决方案 参考文章: (1)[C++]Linux之Ub ...
- FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译
FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译 什么是Firmament? Firmament (FMT) 是一款基于模型设计 (Model-Based-Design, M ...
- 安卓9.0刷linux,Ubuntu系统下编译Android 9.0系统
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 前言 在Ubuntu系统下编译Android系统.哎呀不知道是不是换了新电脑的缘故,这次编译居然从安装JDK和配置环境下 ...
- soc eds能 编译linux,SoCEDS环境下编译和更新preloader和uboot程序的方法
在SoCEDS环境下编译和更新preloader和uboot程序的方法 前面有介绍preloader在HPS boot过程中的的作用,接下来 从Terasic网站下下载的SD image是在13.1环 ...
- linux mplayer 编译,RHEL6下编译Mplayer
在Red Hat Enterprise Linux 6下编译Mplayer过程很忐忑,特记录一下: 首先 # wget http://www1.mplayerhq.hu/MPlayer/release ...
- Linux及Windows下编译exosip和osip2源码
eXosip库及编译流程简介 1.eXosip库的简介 1.1.osip简介 osip2是一个开放源代码的sip协议栈,是开源代码中不多使用C语言写的协议栈之一,它具有短小简洁的特点,专注于sip底层 ...
- linux重新编译mysql_linux下编译安装mysql++ | 学步园
版本为3.1.0 先解压源代码 tar -xzvf mysql++-3.1.0.tar.gz >>../configure >>make 发现下面编译make不过: /usr/ ...
- 如何编译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 ...
- Linux下编译build的命令,Linux命令行下编译Android NDK的示例代码
这几天琢磨写一个Android的Runtime用来加速HTML5 Canvas,让GameBuilder+CanTK 不但开发速度快,运行速度也能接近原生应用.所以花了点时间研究Android NDK ...
最新文章
- ionic app 开发和生产环境的配置
- 记一次订单号的重复事故
- P1852 [国家集训队]跳跳棋
- mysql迫切连接_SQL水平迫切进阶
- python中用来回溯异常的模块_python学习笔记(异常)
- maven工程如何引用css和js文件
- java静态局部变量_java中成员变量,局部变量,静态变量的辨析
- android studio如何设置输出值的小数点_C语言基础知识:printf的输出格式,C/C++语言编程讲解...
- Smack+OpenFire搭建IM通信,包含心跳和自动重连(Android实现)
- storyboard 苹果启动图_iOS LaunchScreen.storyboard启动图更新
- Android 屏幕旋转的多种状态
- python为何排名越来越前_为什么C#排名和Python相差越来越大?
- .net core——打造自己的 dotnet new 微服务解决方案模板
- 终端安全防护技术研究(一)
- Openstack日常运维
- 教你怎样查询快递查询单号并保存物流信息
- java医院管理系统源码_医院管理信息系统
- Spartan6系列之时钟资源详解
- 如何创建批处理文件?
- 学物联网必须要知道的云平台ThingsBoard
热门文章
- 网络营销实验二网站搜索引擎友好性分析
- 游轮、游艇船用控制系统NMEA2000航空插头连接器
- 使用python tkinter做window窗体界面程序,以及python多线程处理解决tk界面卡死
- 【工程化系列】软件版本号的命名规则
- 基于Python机器学习、深度学习技术提升气象、海洋、水文领域实践应用
- android微信第三方支付,Android第三方sdk加入App微信支付解决方案
- 美国人为Google宽带狂
- python中常用的加密算法
- JAVA三维可视化组件:Matplot 3D for JAVA(V2.0) 发布 欢迎使用JAVA平台 类似 Python 的 matplotlib
- 通常划分计算机发展时代是以,通常划分计算机发展时代是以 为标准的。