You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

Work In Progress

Work In Progress

NuttX X.Y has not been released yet. These Release Notes are a work-in-progress in preparation for the next release of NuttX.  There is a board tracking the PRs that need to be looked at to add to this doc for the OS TODO ADD LINK and for the Apps TODO ADD LINK

What's New In This Release

Changes to Core OS

Sched

  • #9084 sched: add adjtime() interface
  • #9132 sched: add the CPU bitset to initialize the non-exclusive CPU
  • #9583 sched: automatically find deadlocks when assert
  • #7464 sched: fix context switching with locked scheduler
  • #8867 sched: Optimize implementation of strsignal()
  • #9030 sched/addrenv, binfmt: Always allocate address environment from heap
  • #9090 sched/addrenv: Implement re-entrancy for addrenv_select()
  • #9021 sched/addrenv: Miscellaneous clean-up and fixes
  • #9595 sched/assert: Change show_xxx to dump_xxx
  • #8955 sched/assert: Simplify the fatal detection logic
  • #9528 sched/group: Ensure that the setting of tg_members if safe in SMP
  • #9003 sched/irq: optimizing IRQMONITOR, move up_perf_convert to irq_procfs
  • #9369 sched/misc: add coredump support on assert
  • #9002 sched/pthread: repalce sched_lock to enter_critical_section
  • #9539 sched/pthread: Return ESRCH when the task is in the process of exit.
  • #9202 sched/pthread: sched_lock should replace with enter_critical_secion
  • #9091 sched/sem/sem_init: Change sem_xxx -> nxsem_xxx in kernel modules
  • #8951 sched/semaphore: rework semaphore holder check for priority inheritance
  • #9039 sched/sched: address performance concerns for sched_lock in non-SMP case
  • #8988 sched/sched_note: add function auto-tracing
  • #8786 sched/sig_timewait:changes the macro for waitticks
  • #9203 sched/signal: fix the issue of asynchronous signal processing
  • #9100 sched/spawn: remove spawn proxy thread to simplify task/posix_spawn()
  • #9527 sched/tls: remove PTHREAD_CLEANUP from Kconfig
  • #9007 sched/wqueue: fix issue about worker can't wake up thread before work_thread running

mm

  • #9417 mm: add invalid pid dump when malloc failed
  • #9561 mm: compute the heap info more accuracy
  • #9564 mm: Compute the heap info more accuracy(2)
  • #9411 mm: Correct the callsite of mm_mallinfo
  • #9435 mm: Dump all memory blocks on allocation failure
  • #9555 mm: mm leak dump build error fix and memory foreach optimization
  • #9601 mm: mm_lock.c: reformat preprocessor
  • #9151 mm: memory allocations return valid pointer when request 0 size
  • #9563 mm: Rename PID_MM_INVALID to PID_MM_LEAK
  • #9560 mm: Rename mm_memdump_s to malltask
  • #9335 mm: Support memdump can show increased memory
  • #9476 mm/kmm_map: add missing FAR qualifiers
  • #9368 mm/kmm_map: add support to dynamically map pages into kernel virtual
  • #9055 mm/mm_map: give the mm_map as parameter to the mm_map functions
  • #9488 mm/mempool: allocate a chunk for multiple mempool avoid memory fragmentation
  • #9051 mm/mempool: fix bug, use incorrect free in mempool init
  • #9418 mm/mempool: fix bug read out of bounds when realloc
  • #9337 mm/mempool: fix bug when calculating mempool delta
  • #9052 mm/mempool: fix memory consumption double counting issue
  • #9433 mm/mempool: fix seqnumber statistics error in memdump
  • #9474 mm/mempool: remove nexpend and totalsize from mempool_s
  • #9336 mm/mempool: support when malloc failed dump mempool info
  • #9416 mm/mempool: Support when malloc failed dump mempool info

libs

  • #9284 libc: add regex implementation
  • #9148 libc: Add setbuffer to stdio.
  • #9062 libc: cleanup per-thread resource in exit/quick_exit
  • #8958 libc: correct config define of arch functions
  • #9480 libc: fix build break on kernel mode
  • #9181 libc: fixed armv7-m strcmp build issue
  • #9580 libc: lib_strftime: Fix %I to avoid printing 00:xx AM/PM
  • #9557 libc: lib_syslograwstream: fix bug when iob alloc failed
  • #9106 libc: memcpy M-profile PACBTI-enablement
  • #9543 libc: netdev/upper: Optimize on quota related operations
  • #8946 libc: print error code for unknown errors in strerror/gai_strerror
  • #9585 libc: Support gcc FORTIFY_SOURCE features
  • #9513 libc: Prefer to implement memfd on top of shm
  • #9193 libc/armv8-m: fix build break if MVE is disabled
  • #9497 libc/fdcheck: add fdcheck module
  • #9547 libc/fdcheck: Fix undefined reference to `getppid'
  • #9405 libc/fdsan: add fdsan protection for all file pointers
  • #9496 libc/fdsan: keep f_tag unchanged
  • #9384 libc/libc.csv: Correct type of return value for strstr
  • #8802 libc/locale: support iconv_open,iconv,iconv_close
  • #9260 libc/misc: add Fdsan module
  • #9076 libc/mm: fix files can not be compiled incrementally
  • #9534 libc/netdb/dns: fix dns wrong response ID error
  • #9238 libc/pthread: fix nxstyle errors
  • #9199 libc/pthread: fixed pthread incorrect return values
  • #9207 libc/qsort: fix invalid-pointer-pair if enable detect_invalid_pointer_pairs=2
  • #9456 libc/regex: provide a separate kconfig for regex
  • #9138 libc/string: select arch's libc for kernel/userspace optionally
  • #9605 libc/unistd: add getpgrp function
  • #9448 libc/wchar: Implement vswprintf
  • #9061 libm/newlib: add newlib/libm support
  • #9083 libm/openlibm: add math library openlibm support.
  • #9125 libm/libmcs: add math library libmcs support
  • #9044 libxx: remove redundant code #9158 libelf: Support prioritized init and fini arrays

Misc

  • #9610 binfmt: Always include arch/elf.h in include/nuttx/elf.h
  • #9395 binfmt/elf: Support loading fully linked executables.
  • #9426 binfmt/elf/coredump: alignment stack buffer to 64 to match gdb request
  • #9376 binfmt/elf/coredump: add sanity checks for stack pointer
  • #9366 binfmt/elf/coredump: add support of dump task stack without memory segments
  • #9318 binfmt/elf/coredump: correct register offset after xcp.regs update
  • #9099 binfmt/execmodule: correct destroy flow
  • #9568 Debug:support python script auto debug nuttx kernel
  • #9600 Fix assertion of free a wrong heap
  • #9307 Fix windows compile errors because of double quotes in config
  • #9147 include/err: Enforce c linkage for err and warn functions.
  • #9459 include/nuttx/spi.h Fix SPIDEVID_TYPE macro definition
  • #9274 modify type of numbytes in audio_buf_desc_s from uint16_t to apb_samp_t
  • #9348 openamp: decoupling the transport layer and virtio device layer
  • #9553 Openamp/Kconfig: add cache and debug config for openamp
  • #9149 Remove #warning in the unnecessary places
  • #9594 Replace $(INCDIR) and ${DEFINE} with $(INCDIR_PREFIX) and $(DEFINE_PREFIX)
  • #8726 Replace the unsafe function(strcat, sprintf) with the safe one(strlcat, snprintf)
  • #9201 system/signal: in interrupting the context, regs modify logic error
  • #9142 signal: add macro NSIG

Changes to the Build System

Improvements

  • #9400 tools: Add way to get current defconfig name on runtime
  • #9572 tools: Fix CONFIG_BASE_DEFCONFIG generation
  • #9107 tools: Fix some error in Windows native build
  • #9462 tools: Support string upper/lower case in make
  • #9334 tools/mkallsyms: add exception handle
  • #9069 tools/mksymtab: Fix a compilation warning
  • #9210 tools/nuttx-gdbinit/armv7-a: reorder and synchronization registers of save/restore
  • #9198 tools/nuttx-gdbinit: improve experience of gdb backend scripts
  • #9234 tools/nuttx-gdbinit/armv7-a: add fpu support
  • #9211 tools/Unix: treat kconfig warning as failure
  • #9231 tools/refresh.sh: Add option to refresh all archs or all chips


Architectural Support

New Architecture Support


  • #9465 initial FPU support for ARMv8R AARCH32 
  • #9443 Support for ARMv8R AARCH32

Improvements

Driver Support

New Drivers

  • #9189 drivers/audio: add support for the ES8311 codec
  • #8775 drivers/audio: add audio_dma device driver.
  • #9372 drivers/lcd: add JD9851 driver
  • #8982 drivers/sensors: add support of InvenSense MPU-9250 sensor
  • #9452 drivers/sensors: add BMI270 IMU support
  • #9453 drivers/sensors: add bh1749nuc color sensor support
  • #9258 drivers/virtio: add virtio-mmio-blk driver

Audio Support

  • #9381 audio: add channels range
  • #9152 audio/pcm_decode: fix warnings regarding unused functions and vars

Board Support

New Board Support

  • #9322boards/nrf52: add initial support for Thingy:52 board
  • #9323boards/nrf53: add initial support for Thingy:53 board

Improvements

File System

Improvements 

  • #8939 fs: Flush the file system cache in BOARDIOC_POWEROFF too
  • #9521 fs: move memset to upper lever for statfs and add f_fsid field
  • #9060 fs/cromfs: Fix faulty DEBUGASSERT() check
  • #9000 fs/hostfs: align operation flags define with fcntl.h
  • #8868 fs/hostfs: switch working directory
  • #9093 fs/inode: when searching for nextname skip "/" and "./"
  • #9037 fs/littlefs: littlefs shouldn't be used without C99 BOOL
  • #9120 fs/littlefs: Add patch for littlefs to use kmm_malloc/free on kernel with MMU. Upgrade to latest littlefs
  • #9140 fs/mtd: add support for MTDIOC_ERASESECTORS ioctl
  • #9146 fs/mtd: Implement MTDIOC_ERASESTATE and MTDIOC_ERASESECTORS
  • #9144 fs/mtd: minor fix for mtd/nand driver
  • #9145 fs/mtd/nand: Add nand_raw_initialize to skip the probing
  • #9347 fs/partition: register partition device if caller doesn't provide handler
  • #9394 fs/procfs: add cpuinfo
  • #9073 fs/procfs: fix readdir loss last character
  • #9550 fs/fdcheck: Let FDCHECK depend on SCHED_HAVE_PARENT
  • #9385 fs/vfs/fs_poll: Fix wrong return value in CONFIG_BUILD_KERNEL
  • #9540 fs/vfs: Proper use of sigisemptyset
  • #9205 fs/vfs: Zero file struct field with memset


Networking

Improvements

Security Issues Fixed In This Release

Compatibility Concerns

More Information

How to Download

Release artifacts for all current and past NuttX releases can be downloaded at:

How to Clone the Git Repository

The Apache NuttX project uses Git SCM as its version control system.

There are two primary repositories:

  • nuttx - The real time operating system itself.
  • apps - Optional applications and example programs for the operating system. You can use this repository or make your own custom one.

The main "Single Source of Truth" repositories are hosted by the ASF:

These are synchronized with repositories hosted at GitHub:

How to Contact the Community

The main forum for project communication, to ask a question, get involved, or contribute to NuttX, is our mailing list, dev@nuttx.apache.org. The list is publicly archived and searchable at https://lists.apache.org/list.html?dev@nuttx.apache.orgFor more information, see NuttX Community.

Enthusiastic Contributors Welcome!

NuttX is a free open-source project. If you'd like to participate, whether it's to enhance documentation (even these release notes) or dive into the nitty gritty of some low-level drivers, please join us! You can join the conversation at our dev mailing list by emailing dev-subscribe@nuttx.apache.org. The mailing list is open to the public and archived. You can browse older messages at https://lists.apache.org/list.html?dev@nuttx.apache.org.

  • No labels