February 3, 2020

353 words 2 mins read

NuttX for Embedded Linux Developers

NuttX for Embedded Linux Developers

NuttX is an open source POSIX-compliant RTOS suitable for resource constrained devices and real-time systems (such as Drones and robotics) where Linux can be difficult to use. However, NuttX has rich …

Talk Title NuttX for Embedded Linux Developers
Speakers Masayuki Ishikawa (Senior Software Engineer, Sony Home Entertainment & Sound Products Inc.)
Conference Open Source Summit + ELC Europe
Conf Tag
Location Lyon, France
Date Oct 27-Nov 1, 2019
URL Talk Page
Slides Talk Slides
Video

NuttX is an open source POSIX-compliant RTOS suitable for resource constrained devices and real-time systems (such as Drones and robotics) where Linux can be difficult to use. However, NuttX has rich features such as shell, libc, pipe, poll, signal, vfs, pthread, networking, and smp and includes many example applications. You can easily port many Linux applications to NuttX and use the same code to target both OSes. Drivers are accessed with open, read, write, ioctl and close operations, the same as in Linux.In this talk, I will describe how Sony uses NuttX in shipped audio products (since 2015) and in research for future products including SMP systems and Networking (USB RNDIS and Bluetooth PAN). We were able to confirm Linux application portability to NuttX, by porting the Alexa/AVS device SDK to NuttX on an LC823450XGEVK board - a Cortex-M3 with 1.6MB SRAM, 16 MB flash running at 160 MHZ. The SDK consists of several pieces, such as curl, libc++, sqlite3, nghttp2, mbedtls. We found that by reducing run-time memory, this SDK could run on such a small device. We also implemented NuttX on a Sony Spresense board, a 6-core Cortex-M4F processor, and are in the process of upstreaming this work to the NuttX mainline.Finally, I’ll report on the 1st NuttX international workshop held in the Netherlands in July of this year. We found that many developers write and test their application code on Linux then deploy it to NuttX. We will describe this useful approach for targeting systems where it is infeasible to use Linux.P.S. We are going to hold a NuttX meetup on October 31. If you are interested in the meetup, please register at https://www.meetup.com/ja-JP/NuttX-meetup/events/264153415/

comments powered by Disqus