nuttx/boards/arm/stm32/nucleo-f303ze
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 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

Nucleo-144 Boards:
================

The Nucleo-F303ZE is a member of the Nucleo-144 board family.  The Nucleo-144
is a standard board for use with several STM32 parts in the LQFP144 package.
Variants include

  Order code      Targeted STM32
  -------------   --------------
  NUCLEO-F207ZG   STM32F207ZGT6
  NUCLEO-F303ZE   STM32F303ZET6
  NUCLEO-F412ZG   STM32F412ZGT6
  NUCLEO-F413ZH   STM32F413ZHT6
  NUCLEO-F429ZI   STM32F429ZIT6
  NUCLEO-F439ZI   STM32F439ZIT6
  NUCLEO-F446ZE   STM32F446ZET6
  NUCLEO-F722ZE   STM32F722ZET6
  NUCLEO-F746ZG   STM32F746ZGT6
  NUCLEO-F756ZG   STM32F756ZGT6
  NUCLEO-F767ZI   STM32F767ZIT6
  NUCLEO-H743ZI   STM32H743ZIT6
  NUCLEO-L496ZG   STM32L496ZGT6
  NUCLEO-L496ZG-P STM32L496ZGT6P
  NUCLEO-L4A6ZG   STM32L4A6ZGT6
  NUCLEO-L4R5ZI   STM32L4R5ZIT6
  NUCLEO-L4R5ZI-P STM32L4R5ZIT6-P