Who is Phil Coval

Demo Walkthrough

๐Ÿ“บ ๐Ÿ“บ ๐Ÿ“บ

Context

  • This demo illustrates:
  • From "Quick and dirty" demo
    • to top quality upstream code
  • Hint: Isolate changes and features
    • Smallest Atomic commits

NuttX RTOS

  • Committed to comply standards
    • POSIX, ANSI C
    • File based IO (/dev), BSD sockets (uIP)
  • Released by Gregory Nutt in 2007
  • Base of derived projects:
    • TizenRT, PX4, Sony Spresense

Getting started

Board support

  • 200+ supported boards (and configurations)

    ./tools/configure.sh -L
    
  • Several architectures from 8 to 64 bits
    • ./boards/{arm,avr,mips,risc-v,x86…}
    • … and sim for simulator

NXP Freedom Board

Board port

  • Dir "boards/arm/kinetis/freedom-k64f"
    • README.txt
    • configs/{nsh,netnsh,demo…}/defconfig
    • src/k64_bringup.c : Boot
    • src/*.c for IO / peripherals

I2C Support

Using I2C Bus

  • i2c tool is very familiar to Linux's one

    nsh> i2c bus
    Bus 0: YES
    
    nsh> i2c dev 1 0x7F
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- 1d -- --
    
    nsh> i2c get -a 1d -r 0d
    #| READ Bus: 0 Addr: 1d Subaddr: 0d Value: c7
    
  • 0x1d is F64F's onboard sensor

Sensor Module

Implement driver

Register driver

Sensor Application

Enable networking

  • Configure
  • Usage:

    nsh> ifconfig
    eth0    Link encap:Ethernet HWaddr (...) at UP
    nsh> renew eth0 && ifconfig
    eth0    Link encap (...) inet addr:192.168.1.42
    

Add network app:

Pipe stream

mkfifo /dev/fifo
fxos8700cq > /dev/fifo &
fxos8700cq [7:100]
netcat 192.168.1.55 31337  /dev/fifo

Summary

  • NuttX RTOS is
  • Supporting standards
    • Close to Linux
  • base to adapt to new hardware
    • Boards bringup
    • Peripheral drivers
  • Supporting applications
    • OS can chain them

Resources and more:

Extra Challenge

๐Ÿ“บ ๐Ÿ“บ ๐Ÿ“บ

Extra Demo

๐Ÿ“บ ๐Ÿ“บ ๐Ÿ“บ

https://nuttx.events

Questions ?
https://purl.org/rzr

Video Playback

๐Ÿ“บ ๐Ÿ“บ ๐Ÿ“บ

Upcoming

More

Related

Playlist

๐Ÿ“บ ๐Ÿ“บ ๐Ÿ“บ ๐Ÿ“บ

Created by Philippe Coval

OSZAR »