nuttx/boards/arm/stm32/stm32f334-disco
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 libc/stdio: Allocate file_struct dynamically 2020-09-11 17:58:17 +08:00
include Fix nxstyle warnings 2020-10-10 12:24:28 -06:00
scripts make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
src Fix nxstyle warnings 2020-10-10 12:24:28 -06:00
Kconfig
README.txt

README
======

This README discusses issues unique to NuttX configurations for the
STMicro 32F3348DISCOVERY development board featuring the STM32F334C8
MCU. The STM32F334C8 is a 72MHz Cortex-M4 operation with 64kB Flash
memory and 16KB RAM. The board features:

  - On-board ST-LINK/V2 for programming and debugging,
  - High brightness LED dimming with buck converter
  - One buck/boost converter
  - Four user LEDs and two push-buttons,
  - Easy access to most MCU pins.

Refer to http://www.st.com/en/evaluation-tools/32f3348discovery.html for
further information about this board.

Configurations
==============

  nsh:
  ----

    Configures the NuttShell (nsh) located at apps/examples/nsh.

  powerled:
  ---------

    This is a configuration for onboard high brightness LED dimming.

  buckboost:
  ---------

    This configuration uses apps/examples/smps and onboard buck/boost converter.

    WARNING: current limit is not implemented!