nuttx/boards/arm/kl/teensy-lc
chao.an b88561299b make/expression: improving up asm/C/C++ compile times
In the current compilation environment, the recursive assignment(=) for compile
flags will be delayed until every file is actually need to be compile.

For example:
--------------------------------------------------------------------------------
arch/arm/src/Makefile:

INCLUDES += ${shell $(INCDIR) "$(CC)" $(ARCH_SRCDIR)$(DELIM)chip}
INCLUDES += ${shell $(INCDIR) "$(CC)" $(ARCH_SRCDIR)$(DELIM)common}
INCLUDES += ${shell $(INCDIR) "$(CC)" $(ARCH_SRCDIR)$(DELIM)$(ARCH_SUBDIR)}
INCLUDES += ${shell $(INCDIR) "$(CC)" $(TOPDIR)$(DELIM)sched}

CPPFLAGS += $(INCLUDES) $(EXTRAFLAGS)
CFLAGS += $(INCLUDES) $(EXTRAFLAGS)
CXXFLAGS += $(INCLUDES) $(EXTRAFLAGS)
AFLAGS += $(INCLUDES) $(EXTRAFLAGS)
--------------------------------------------------------------------------------

All compilation options will be included recursively,
which will be delayed until the compilation options are actually used:

tools/Config.mk:

--------------------------------------------------------------------------------
define COMPILE
  @echo "CC: $1"
  $(Q) $(CC) -c $(CFLAGS) $($(strip $1)_CFLAGS) $1 -o $2
endef
--------------------------------------------------------------------------------

All compile flags to be reexecuted $(INCDIR) as long as one file needs to be compiled,
but in fact, the compilation options have not changed in the current directory.

So the we recommand to change the syntax of assignment
From
    Recursive (=)
To
    Simple    (:=)

In this way, we can ensure that all compilation options are expanded only once and reducing repeated works.

Signed-off-by: chao.an <anchao@xiaomi.com>
2020-11-02 07:53:53 -08:00
..
configs/nsh libc/stdio: Allocate file_struct dynamically 2020-09-11 17:58:17 +08:00
include Refine the preprocessor conditional guard style (#190) 2020-01-31 19:07:39 +01:00
scripts make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
src build: Remove the empty variable assignment 2020-05-24 08:24:13 -06:00
Kconfig Merged in alinjerpelea/nuttx (pull request #967) 2019-08-07 20:49:39 +00:00
README.txt Merged in alinjerpelea/nuttx (pull request #967) 2019-08-07 20:49:39 +00:00

Teensy LC README
================

  This is the README file for NuttX on the PJRC Teensy LC.  The Teensy LC
  is a DIP style breakout board for the MKL25Z64 and comes with a USB
  based bootloader.  Contributed by Michael Hope.

Development Environment
=======================

  All testing was done with the GNU ARM Embedded 4.9 toolchain on
  Linux.  See https://developer.arm.com/open-source/gnu-toolchain/gnu-rm to download.

  Once you've configured and built NuttX, flash the resulting
  nuttx.hex file to the board using the Teensy Loader Application.

LEDs
====

  The Teensy LC has a single LED. If CONFIG_ARCH_LEDS is defined, then
  NuttX will update the LED as the board boots.  The summary is:

  * LED off: board booting
  * LED on: initial stack created
  * LED flashing: panic.

  See `include/board.h` for details.

Serial Console
==============

  The serial console is mapped to UART0 and appears on pins 0 (RX) and
  1 (TX). Consider using a 3.3 V USB to serial adapter such as the
  Sparkfun #9717 FTDI cable.