Work In Progress

NuttX 9.1 has not been released yet. These Release Notes are a work-in-progress in preparation for the next release of NuttX.

What's New In This Release

Major Changes to Core OS

Bug Fixes

New Features

Compatibility Concerns

Changes to Build System

If you have are building NuttX for a custom board, you must make the following two changes in build-related files for your board:

Rename EXTRADEFINES to EXTRAFLAGS

In your custom board's scripts/Make.defs file, rename EXTRADEFINES to EXTRAFLAGS.

See git commit # 459ad9937377a42785692098ff0d73baaa9551e6 in the main NuttX repository.

If you forget to do this, memory allocations on the heap probably won't work and your user tasks won't start.

To see why, tools/Config.mk assigns a value to KDEFINE such that the preprocessor symbol __KERNEL__ will be defined when certain source files are compiled. KDEFINE is passed to nested invocations of 'make' as EXTRAFLAGS. If your board's scripts/Make.defs still attempts to use EXTRADEFINES, the preprocessor symbol __KERNEL__ will not be defined in some of the places that it should be. Suppose you're building a FLAT build. In this case, include/nuttx/mm/mm.h will not define MM_KERNEL_USRHEAP_INIT like it should, which will cause nx_start.c not to call up_allocate_heap() at startup. Therefore, any attempt to allocate memory on the heap will fail.

Rename src/Makefile to src/Make.defs and Modify

Rename your custom board's src/Makefile to src/Make.defs.

Near the end of that file, replace this line, which usually appears at the end:

include $(TOPDIR)/boards/Board.mk

with these three lines:

DEPPATH += --dep-path board
VPATH += :board
CFLAGS += $(shell $(INCDIR) $(INCDIROPT) "$(CC)" $(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)board)

See git commit # 6ca46520df38854bf660f9be54957cceede39ded in the main NuttX repository.

If you forget to do this, 'make' will report no rule to make libboard.a and the build will fail.

Major Changes to the Build System

Architectural Support

New Architecture Support

Architectures With Significant Improvements

Driver Support

New Driver Support

Drivers With Significant Improvements

Networking

Applications

Improvements

Bug Fixes

Security Issues Fixed In This Release

Known Problems In This Release

More Information

Call To Action