From 5c05ea2031777298d32ec5faeb44fee1332e392a Mon Sep 17 00:00:00 2001 From: lion187 Date: Wed, 16 Jan 2019 16:48:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=96=87=E4=BB=B6=20nuttx=5F?= =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E9=85=8D=E7=BD=AE=E5=92=8C=E7=BC=96=E8=AF=91?= =?UTF-8?q?.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RTOS/Nuttx/nuttx_基本配置和编译.md | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/Software/OperatingSystem/RTOS/Nuttx/nuttx_基本配置和编译.md b/Software/OperatingSystem/RTOS/Nuttx/nuttx_基本配置和编译.md index 076b28f..3621a37 100644 --- a/Software/OperatingSystem/RTOS/Nuttx/nuttx_基本配置和编译.md +++ b/Software/OperatingSystem/RTOS/Nuttx/nuttx_基本配置和编译.md @@ -1,5 +1,7 @@ # nuttx 基本配置和编译 +## 基本配置和编译 + 至少要克隆 nuttx,apps 和 tools 三个仓库,tools 只需要编译和安装一次,在编译和配置 nuttx 时需要用到 tools 下的程序。nuttx 目录下也有 tools 文件夹,需要注意区分。 git clone https://bitbucket.org/nuttx/nuttx.git nuttx @@ -26,3 +28,32 @@ 选择编译环境为 linux 等,之后 save、exit。 make -j4 + +## Makefile 文件树 + +```sh + |<--.config + | + | |<--.config + | |<--tools/Config.mk + |<--Makefile.unix-| +Makefile-| | |<--.config + | |<--Make.defs-|<--tools/Config.mk + | |<--arch/arm/src/armv7-m/Toolchain.defs + | + |<--Makefile.win-(略) +``` + +能够看出,《nuttx 配置系统》中所生成的 .config 文件被包括在 Makefile 文件里。各级子文件夹下的 Makefile、 Make.defs 和 Make.dep 并非通过 include 包括的。而是在运行 Makefile 文件里的 make 命令时调用的。 + +## 构建目标和选项 + +all - 默认目标,按已选择的输出格式构建 NuttX 可运行文件。 + +clean - 移除派生对象文件、静态库文件、可运行文件和暂时文件,但保留配置和上下文的文件和文件夹。还保留 Make.dep 文件。 + +distclean - 除了完毕 “clean” 的工作之外,还包含移除全部配置和上下文的文件。本质是将文件夹结构还原为其原始的、未配置的状态。 + +apps_clean - 仅对用户应用程序文件夹运行 clean 操作。 + +apps_distclean - 仅对用户应用程序文件夹运行 distclean 操作。 apps/.config 文件被保留,所以这不是一个全然的 distclean。但多于配置复位。