12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191 |
- =========================
- Detailed Platform Support
- =========================
- **Details**. The details, caveats and fine print follow. For even more
- information see the *README* files that can be found
- `here <https://cwiki.apache.org/confluence/display/NUTTX/README+Files>`__.
- Linux User Mode Simulation
- ==========================
- A user-mode port of NuttX to the x86 Linux/Cygwin platform is available.
- The purpose of this port is primarily to support OS feature development.
- ARM7TDMI
- ========
- TI TMS320-C5471
- ---------------
- (also called **C5471** or **TMS320DA180** or **DA180**)
- NuttX operates on the ARM7 of this dual core processor. This port uses
- the `Spectrum Digital <http://www.spectrumdigital.com/>`__ evaluation
- board with a GNU arm-nuttx-elf toolchain\* under Linux or Cygwin.
- NXP LPC214x
- -----------
- Support is provided for the NXP LPC214x family of
- processors. In particular, support is provided for (1) the mcu123.com
- lpc214x evaluation board (LPC2148) and (1) the The0.net ZPA213X/4XPA
- development board (with the The0.net UG-2864AMBAG01 OLED) This port also
- used the GNU arm-nuttx-elf toolchain\* under Linux or Cygwin.
- NXP LPC2378
- -----------
- Support is provided for the NXP LPC2378 MCU. In particular,
- support is provided for the Olimex-LPC2378 development board. This port
- was contributed by Rommel Marcelo is was first released in NuttX-5.3.
- This port also used the GNU arm-nuttx-elf toolchain\* under Linux or
- Cygwin.
- STMicro STR71x
- --------------
- Support is provided for the STMicro STR71x family of
- processors. In particular, support is provided for the Olimex STR-P711
- evaluation board. This port also used the GNU arm-nuttx-elf toolchain\*
- under Linux or Cygwin.
- ARM920T
- =======
- NXP/Freescale i.MX1
- -------------------
- Or MC9328MX1 – This port uses the Freescale MX1ADS
- development board with a GNU arm-nuttx-elf toolchain\* under either
- Linux or Cygwin.
- ARM926EJS
- =========
- TI TMS320-DM320
- ---------------
- (also called **DM320**)
- NuttX operates on the ARM9 of
- this dual core processor. This port uses the Neuros OSD
- with a GNU arm-nuttx-elf toolchain\* under Linux or Cygwin. The port was
- performed using the OSD v1.0, development board.
- NXP LPC3131
- -----------
- Two boards based on the NXP LPC3131 are supported:
- - First, a port for the NXP LPC3131
- on the Embedded Artists EA3131
- development board was first released in NuttX-5.1 (but was not
- functional until NuttX-5.2).
- - A second port to the NXP LPC3131
- on the `Olimex
- LPC-H3131 <https://www.olimex.com/Products/ARM/NXP/LPC-H3131/>`__
- development board was added in NuttX-6.32.
- NXP LPC315x
- -----------
- Support for the NXP LPC315x
- family has been incorporated into the code base as of NuttX-6.4. Support
- was added for the Embedded Artists EA3152 board in NuttX-6.11.
- Other ARMv4
- ===========
- Moxa NP51x0
- -----------
- A port to the Moxa NP51x0 series of 2-port advanced
- RS-232/422/485 serial device servers was contributed by Anton D.
- Kachalov in NuttX-7.11. This port includes :ref:`NSH <nsh>`
- configuration with support for the Faraday FTMAC100 Ethernet MAC Driver.
- ARM1176JZ
- =========
- Broadcom BCM2708
- ----------------
- Very basic support for the Broadcom BCM2708 was released with NuttX-7.23.
- Raspberry Pi Zero. This support was provided for the Raspberry Pi Zero
- which is based on the BCM2835. Basic logic is in place but the port is
- incomplete and completely untested as of the NuttX-7.23 released. Refer
- to the NuttX board
- `README <https://bitbucket.org/patacongo/obsoleted/src/master/nuttx/boards/pizero/README.txt>`__
- file for further information.
- **Obsoleted:**: Support for the Raspberry Pi Zero was never completed.
- The incomplete port along with all support for the BCM2708 was removed
- from the repository with the NuttX-7.28 release but can still be be
- found in the *Obsoleted* repository.
- ARM Cortex-A5
- =============
- Microchip SAMA5D2
- -----------------
- - **Microchip SAMA5D2 Xplained Ultra development board**. This is the port
- of NuttX to the Microchip SAMA5D2 Xplained Ultra development board. This
- board features the Microchip SAMA5D27 microprocessor.
- See https://www.microchip.com/Developmenttools/ProductDetails/ATSAMA5D2C-XULT
- - **Groboards Giant Board**. This is the port of NuttX to the Groboards
- Giant Board board. This board features the Microchip SAMA5D27C-D1G.
- See http://groboards.com/giant-board.
- Microchip SAMA5D3
- -----------------
- There are ports to two Microchip SAMA5D3 boards:
- - **Microchip SAMA5D3\ x-EK development boards**. This is the port of NuttX
- to the Microchip SAMA5D3\ *x*-EK development boards (where *x*\ =1,3,4,
- or 5). These boards feature the Microchip SAMA5D3\ *x* microprocessors.
- Four different SAMA5D3\ *x*-EK kits are available
- - SAMA5D31-EK with the
- `ATSAMA5D31 <http://www.atmel.com/devices/sama5d31.aspx>`__
- - SAMA5D33-EK with the
- `ATSAMA5D33 <http://www.atmel.com/devices/sama5d33.aspx>`__
- - SAMA5D34-EK with the
- `ATSAMA5D34 <http://www.atmel.com/devices/sama5d34.aspx>`__
- - SAMA5D35-EK with the
- `ATSAMA5D35 <http://www.atmel.com/devices/sama5d35.aspx>`__
- The each kit consist of an identical base board with different
- plug-in modules for each CPU. All four boards are supported by NuttX
- with a simple reconfiguration of the processor type.
- **STATUS**. Initial support for the SAMA5D3x-EK was released in
- NuttX-6.29. That initial support was minimal: There are simple test
- configurations that run out of internal SRAM and extended
- configurations that run out of the on-board NOR FLASH:
- - A barebones NuttShell (:ref:`NSH <nsh>`) configuration
- that can be used as the basis for further application development.
- - A full-loaded NuttShell (:ref:`NSH <nsh>`) configuration
- that demonstrates all of the SAMA5D3x features.
- The following support was added in NuttX 6.30:
- - DMA support, and
- - PIO interrupts,
- And drivers for
- - SPI (with DMA support),
- - AT25 Serial Flash,
- - Two Wire Interface (TWI), and
- - HSMCI memory cards.
- NuttX-6.30 also introduces full USB support:
- - High speed device controller driver,
- - OHCI (low- and full-speed) and
- - EHCI (high-speed) host controller driver support.
- With NuttX-6.31, these additional drivers were added:
- - A 10/100Base-T Ethernet (EMAC) driver,
- - A 1000Base-T Ethernet (GMAC) driver,
- - A Real Time Clock (RTC) driver and integrated with the NuttX
- system time logic
- - ``/dev/random`` using the SAMA5D3x True Random Number Generator
- (TRNG),
- - A Watchdog Timer (WDT) driver,
- - A Timer/Counter (TC) library with interface that make be used by
- other drivers that need timer support,
- - An ADC driver that can collect multiple samples using the
- sequencer, can be trigger by a timer/counter, and supports DMA
- data transfers,
- - A touchscreen driver based on the special features of the SAMA5D3
- ADC peripheral, An LCD controller (LCDC) frame buffer driver, and
- - A CAN driver (Testing of the CAN has been delayed because of
- cabling issues).
- Additional board configurations were added to test and demonstrate
- these new drivers including new graphics and NxWM configurations.
- These drivers were added in NuttX-6.32:
- - A PWM driver with DMA support
- - An SSC-based I2S driver
- - Support for Programmable clock outputs
- - NAND support including support for the PMECC hardware ECC and for
- DMA transfers.
- DBGU support was added in NuttX-7.2 (primarily for the SAMA5D3
- Xplained board).
- NuttX-7.4 added support for the on-board WM8904 CODEC chip and for
- *Tickless* operation.
- Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/sama5/sama5d3x-ek/README.txt>`__
- file for further information.
- **Microchip SAMA5D3 Xplained development board** This is the port of NuttX
- to the Microchip SAMA5D3 Xplained development board. The board features the
- Microchip SAMA5D36 microprocessor. See the `Microchip
- Website <http://www.atmel.com/devices/sama5d36.aspx>`__ for additional
- information about this board.
- **STATUS**. This port is complete as of this writing and ready for
- general use. The basic port is expected to be simple because of the
- similarity to the SAMAD3\ *x*-EK boards and is available in the NuttX
- 7.2 release.
- Most of the drivers and capabilities of the SAMA5D3x-EK boards can be
- used with the SAMA5D3 Xplained board. The primary difference between the
- ports is that the SAMA5D3x-EK supports NOR FLASH and NuttX can be
- configured to boot directly from NOR FLASH. The SAMA5D3 Xplained board
- does not have NOR FLASH and, as a consequence NuttX must boot into SDRAM
- with the help of U-Boot.
- Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/sama5/sama5d3-xplained/README.txt>`__
- file for further information.
- Microchip SAMA5D4
- -----------------
- There is a port in progress on one Microchip SAMA5D4 board:
- - **Microchip SAMA5D4-EK/MB development boards** This is the port of NuttX
- to the Microchip SAMA5D4-MB Rev C. development board (which should be
- compatible with the SAMA5D4-EK). These boards feature the Microchip
- SAMA5D44 microprocessors with compatibility with most of the SAMA5D3
- peripherals.
- **STATUS**. At the time of the release of NuttX-7.3, the basic port
- for the SAMA5D4-MB was complete. The board had basic functionality.
- But full functionality was not available until NuttX-7.4. In
- NuttX-7.4 support was added for the L2 cache, many security features,
- XDMAC, HSMCI and Ethernet integrated with XDMAC, the LCDC, TWI, SSC,
- and most of the existing SAMA5 drivers. Timers were added to support
- *Tickless* operation. The TM7000 LCDC with the maXTouch multi-touch
- controller are also fully support in a special NxWM configuration for
- that larger display. Support for a graphics media player is included
- (although there were issues with the WM8904 audio CODEC on my board).
- An SRAM bootloader was also included. Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/sama5/sama5d4-ek/README.txt>`__
- file for current status.
- **Development Environments:** 1) Linux with native Linux GNU toolchain,
- 2) Cygwin/MSYS with Cygwin GNU toolchain, 3) Cygwin/MSYS with Windows
- native toolchain, or 4) Native Windows. All testing has been performed
- with the CodeSourcery toolchain (GCC version 4.7.3) in the Cygwin
- environment under Windows.
- ARM Cortex-A8
- =============
- Allwinner A10
- -------------
- These following boards are based on the Allwinner A10
- have are supported by NuttX:
- - **pcDuino v1**. A port of NuttX to the pcDuino v1 board was first
- released in NuttX-6.33. See http://www.pcduino.com/ for information
- about pcDuino Lite, v1, and v2 boards. These boards are based around
- the Allwinner A10 Cortex-A8 CPU. This port was developed on the v1
- board, but the others may be compatible:
- Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/a1x/pcduino-a10/README.txt>`__
- file for further information.
- **STATUS**. This port was an experiment was was not completely
- developed. This configuration builds and runs an NuttShell (NSH), but
- only if a patch to work around some issues is applied. While not
- ready for "prime time", the pcDuino port is functional and could the
- basis for a more extensive development. There is, at present, no work
- in progress to extend this port, however.
- TI/Sitara AM335x
- ----------------
- These following boards are based on the TI/Sitara
- AM335x are supported by NuttX:
- - **Beaglebone Black**. A port of NuttX to the Beaglebone Black board
- was first released in NuttX-7.28. This port was contributed by Petro
- Karashchenko. This board is based on the TI/Sitara AM3358 Cortex-A8
- CPU running 1GHz.
- - **NuttX-7.28**. This initial port in NuttX-7.28 is very sparse.
- While not ready for prodcution use, the Beaglebone Black port is
- functional and will be the basis for a more extensive development.
- Additional work in progress to extend this port and more capable
- is anticipated in NuttX-7.29.
- - **NuttX-9.0** CAN support was added. Clock Configuration was
- added.
- - **NuttX-7.31**. An LCD driver was added in NuttX-7.31.
- Refer to the Beaglebone Black board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/am335x/beaglebone-black/README.txt>`__
- file for further, up-to-date information.
- ARM Cortex-A9
- =============
- NXP/Freescale i.MX6
- -------------------
- The basic port has been completed for the following i.MX6 board:
- - **Sabre-6Quad**. This is a port to the NXP/Freescale Sabre-6Quad
- board. Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/imx6/sabre-6quad/README.txt>`__
- file for further information.
- **STATUS:** The basic, minimal port is code complete and introduced
- in NuttX-7.15, but had not yet been tested at that time due to the
- inavailability of hardware. This basic port was verified in the
- NuttX-7.16 release, however. The port is still minimal and more
- device drivers are needed to make the port usable.
- Basic support of NuttX running in SMP mode on the i.MX6Q was also
- accomplished in NuttX-7.16. However, there are still known issues
- with SMP support on this platform as described in the
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/imx6/sabre-6quad/README.txt>`__
- file for the board.
- ARM Cortex-R4
- =============
- TI/Hercules TMS570LS04xx
- ------------------------
- A port is available for the Texas Instruments
- Hercules TMS570LS04x/03x LaunchPad Evaluation Kit (*LAUNCHXL-TMS57004*)
- featuring the Hercules TMS570LS0432PZ chip.
- TI/Hercules TMS570LS31xx
- ------------------------
- Architecture support for the TMS570LS3137ZWT
- part was added in NuttX 7.25 by Ivan Ucherdzhiev. Ivan also added
- support for the TI Hercules TMS570LS31x USB Kit.
- ARM Cortex-M0/M0+
- =================
- nuvoTon NUC120
- --------------
- This is a port of NuttX to the nuvoTon NuTiny-SDK-NUC120
- that features the NUC120LE3AN MCU.
- **STATUS**. Initial support for the NUC120 was released in NuttX-6.26.
- This initial support is very minimal: There is a NuttShell
- (:ref:`NSH <nsh>`) configuration that might be the basis for an
- application development. As of this writing, more device drivers are
- needed to make this a more complete port. Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/nuc1xx/nutiny-nuc120/README.txt>`__
- file for further information.
- **Memory Usage**. For a full-featured RTOS such as NuttX, providing
- support in a usable and meaningful way within the tiny memories of the
- NUC120 demonstrates the scalability of NuttX. The NUC120LE2AN comes in a
- 48-pin package and has 128KB FLASH and 16KB of SRAM. When running the
- NSH configuration (itself a full up application), there is still more
- than 90KB of FLASH and 10KB or SRAM available for further application
- development).
- Static memory usage can be shown with ``size`` command:
- NuttX, the NSH application, and GCC libraries use 34.2KB of FLASH
- leaving 93.8KB of FLASH (72%) free from additional application
- development. Static SRAM usage is about 1.2KB (<4%) and leaves 14.8KB
- (86%) available for heap at runtime. SRAM usage at run-time can be shown
- with the NSH ``free`` command:
- You can see that 10.0KB (62%) is available for further application
- development.
- **Development Environments:** 1) Linux with native Linux GNU toolchain,
- 2) Cygwin/MSYS with Cygwin GNU toolchain, 3) Cygwin/MSYS with Windows
- native toolchain, or 4) Native Windows. A DIY toolchain for Linux or
- Cygwin is provided by the NuttX
- `buildroot <https://bitbucket.org/nuttx/buildroot/downloads/>`__
- package.
- NXP/FreeScale KL25Z
- -------------------
- There are two board ports for the KL25Z parts:
- **Freedom KL25Z**. This is a port of NuttX to the Freedom KL25Z board
- that features the MKL25Z128 Cortex-M0+ MCU, 128KB of FLASH and 16KB of
- SRAM. See the
- `Freescale <http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-KL25Z&tid=vanFRDM-KL25Z>`__
- website for further information about this board.
- **PJRC Teensy-LC**. This is a port of NuttX to the PJRC Teensy-LC board
- that features the MKL25Z64 Cortex-M0+ MCU, 64KB of FLASH and 8KB of
- SRAM. The Teensy LC is a DIP style breakout board for the MKL25Z64 and
- comes with a USB based bootloader. See the
- `Freescale <http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-KL25Z&tid=vanFRDM-KL25Z>`__
- website for further information about this board.
- NXP/FreeScale KL26Z
- -------------------
- This is a port of NuttX to the Freedom KL25Z
- board that features the MK26Z128VLH4 Cortex-M0+ MCU, 128KB of FLASH and
- 16KB of SRAM. See the
- `Freescale <http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-KL26Z&tid=vanFRDM-KL26Z>`__
- website for further information about this board.
- Microchip SAMD20
- ----------------
- The port of NuttX to the Microchip SAMD20-Xplained Pro
- development board. This board features the ATSAMD20J18A MCU (Cortex-M0+
- with 256KB of FLASH and 32KB of SRAM).
- Microchip SAMD21
- ----------------
- There two boards supported for the SAMD21:
- #. The port of NuttX to the Microchip SAMD21-Xplained Pro development board
- added in NuttX-7.11, and
- #. The port of NuttX to the Arduino-M0 contributed by Alan Carvalho de
- Assis in NuttX-8.2. The initial release included *nsh* and *usbnsh*
- configurations.
- Microchip SAML21
- ----------------
- The port of NuttX to the Microchip SAML21-Xplained Pro
- development board. This board features the ATSAML21J18A MCU (Cortex-M0+
- with 256KB of FLASH and 32KB of SRAM).
- NXP LPC11xx
- -----------
- Support is provided for the NXP LPC11xx family of
- processors. In particular, support is provided for LPCXpresso LPC1115
- board. This port was contributed by Alan Carvalho de Assis.
- NXP S32K11x
- -----------
- Support is provided for the NXP S32K11x family of
- processors and, in particular, the S32K118EVB development board.
- ARM Cortex-M3
- =============
- TI/Stellaris LM3S6432
- ---------------------
- This is a port of NuttX to the Stellaris RDK-S2E
- Reference Design Kit and the MDL-S2E Ethernet to Serial module
- (contributed by Mike Smith).
- TI/Stellaris LM3S6432S2E
- ------------------------
- This port uses Serial-to-Ethernet Reference
- Design Kit and has
- similar support as for the other Stellaris family members. A
- configuration is available for the NuttShell (NSH) (see :ref:`NSH <nsh>`). The NSH
- configuration including networking support with a Telnet NSH console.
- This port was contributed by Mike Smith.
- TI/Stellaris LM3S6918
- ---------------------
- This port uses the
- `Micromint <http://www.micromint.com/>`__ Eagle-100 development board
- with a GNU arm-nuttx-elf toolchain\* under either Linux or Cygwin.
- **Development Environments:** 1) Linux with native Linux GNU toolchain,
- 2) Cygwin/MSYS with Cygwin GNU toolchain, 3) Cygwin/MSYS with Windows
- native toolchain (CodeSourcery or devkitARM), or 4) Native Windows. A
- DIY toolchain for Linux or Cygwin is provided by the NuttX
- `buildroot <https://bitbucket.org/nuttx/buildroot/downloads/>`__
- package.
- TI/Stellaris LM3S6965
- ---------------------
- This port uses the Stellaris LM3S6965 Ethernet
- Evaluation Kit with a GNU arm-nuttx-elf toolchain\* under either Linux
- or Cygwin.
- **Development Environments:** See the Eagle-100 LM3S6918 above.
- TI/Stellaris LM3S8962
- ---------------------
- This port uses the Stellaris EKC-LM3S8962
- Ethernet+CAN Evaluation Kit with a GNU arm-nuttx-elf toolchain\* under
- either Linux or Cygwin. Contributed by Larry Arnold.
- TI/Stellaris LM3S9B92
- ---------------------
- Architectural support for the LM3S9B92 was
- contributed by Lwazi Dube in NuttX 7.28. No board support for boards
- using the LM3S9B92 are currently available.
- TI/Stellaris LM3S9B96
- ---------------------
- Header file support was contributed by Tiago
- Maluta for this part. Jose Pablo Rojas V. is used those header file
- changes to port NuttX to the TI/Stellaris EKK-LM3S9B96. That port was
- available in the NuttX-6.20 release. Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/tiva/ekk-lm3s9b96/README.txt>`__
- file for further information.
- TI/SimpleLink CC13x0
- --------------------
- Basic, unverified architectural support for the
- CC13x0 was added in NuttX-7.28. This is a work in progress and, with any
- luck, a fully verified port will be available in NuttX-7.29.
- SiLabs EFM32 Gecko
- ------------------
- This is a port for the Silicon Laboratories' EFM32
- *Gecko* family. Board support is available for the following:
- #. **SiLabs EFM32 Gecko Starter Kit (EFM32-G8XX-STK)**. The Gecko
- Starter Kit features:
- - EFM32G890F128 MCU with 128 kB flash and 16 kB RAM
- - 32.768 kHz crystal (LXFO) and 32 MHz crystal (HXFO)
- - Advanced Energy Monitoring
- - Touch slider
- - 4x40 LCD
- - 4 User LEDs
- - 2 pushbutton switches
- - Reset button and a switch to disconnect the battery.
- - On-board SEGGER J-Link USB emulator
- - ARM 20 pin JTAG/SWD standard Debug in/out connector
- **STATUS**. The basic port is verified and available now. This
- includes on-board LED and button support and a serial console
- available on LEUART0. A single configuration is available using the
- NuttShell NSH and the LEUART0 serial console. DMA and USART-based SPI
- supported are included, but not fully tested.
- Refer to the EFM32 Gecko Starter Kit
- `README.txt <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/efm32/efm32-g8xx-stk/README.txt>`__
- file for further information.
- #. **Olimex EFM32G880F120-STK**. This board features:
- - EFM32G880F128 with 128 kB flash and 16 kB RAM
- - 32.768 kHz crystal (LXFO) and 32 MHz crystal (HXFO)
- - LCD custom display
- - DEBUG connector with ARM 2x10 pin layout for programming/debugging
- with ARM-JTAG-EW
- - UEXT connector
- - EXT extension connector
- - RS232 connector and driver
- - Four user buttons
- - Buzzer
- **STATUS**. The board support is complete but untested because of
- tool-related issues. An OpenOCD compatible, SWD debugger would be
- required to make further progress in testing.
- Refer to the Olimex EFM32G880F120-STK
- `README.txt <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/efm32/olimex-efm32g880f128-stk/README.txt>`__
- for further information.
- SiLabs EFM32 Giant Gecko
- ------------------------
- This is a port for the Silicon Laboratories'
- EFM32 *Giant Gecko* family. This board features the EFM32GG990F1024 MCU
- with 1 MB flash and 128 kB RAM.
- Board support is available for the following:
- - **SiLabs EFM32 Giant Gecko Starter Kit t (EFM32GG-STK3700)**. The
- Gecko Starter Kit features:
- - EFM32GG990F1024 MCU with 1 MB flash and 128 kB RAM
- - 32.768 kHz crystal (LXFO) and 48 MHz crystal (HXFO)
- - 32 MB NAND flash
- - Advanced Energy Monitoring
- - Touch slider
- - 8x20 LCD
- - 2 user LEDs
- - 2 user buttons
- - USB interface for Host/Device/OTG
- - Ambient light sensor and inductive-capacitive metal sensor
- - EFM32 OPAMP footprint
- - 20 pin expansion header
- - Breakout pads for easy access to I/O pins
- - Power sources (USB and CR2032 battery)
- - Backup Capacitor for RTC mode
- - Integrated Segger J-Link USB debugger/emulator
- **STATUS**.
- - The basic board support for the *Giant Gecko* was introduced int
- the NuttX source tree in NuttX-7.6. A verified configuration was
- available for the basic NuttShell (NSH) using LEUART0 for the
- serial console.
- - Development of USB support is in started, but never completed.
- - Reset Management Unit (RMU) was added Pierre-noel Bouteville in
- NuttX-7.7.
- STMicro STM32 L152
- ------------------
- (STM32L "EnergyLite" Line). Two boards are supported:
- - STM32L-Discovery. This is a port of NuttX to the STMicro
- STM32L-Discovery development board. The STM32L-Discovery board is
- based on the STM32L152RBT6 MCU (128KB FLASH and 16KB of SRAM).
- The STM32L-Discovery and STM32L152C DISCOVERY kits are functionally
- equivalent. The difference is the internal Flash memory size
- (STM32L152RBT6 with 128 Kbytes or STM32L152RCT6 with 256 Kbytes).
- Both boards feature:
- - An ST-LINK/V2 embedded debug tool interface,
- - LCD (24 segments, 4 commons),
- - LEDs,
- - Pushbuttons,
- - A linear touch sensor, and
- - Four touchkeys.
- - Nucleo-L152RE. Board support for the Nucleo-L152RE was contributed by
- Mateusz Szafoni in NuttX-7.28. Available configurations include NSH,
- ADC, and PWM.
- **STATUS**. Initial support for the STM32L-Discovery was released in
- NuttX-6.28. Addition (architecture-only) support for the STM32L152xC
- family was added in NuttX-7.21. Support for the Nucleo-L152RE was added
- in NuttX-7.28.
- That initial STM32L-Discovery support included a configuration using the
- NuttShell (:ref:`NSH <nsh>`) that might be the basis for an
- application development. A driver for the on-board segment LCD is
- included as well as an option to drive the segment LCD from an NSH
- "built-in" command. Refer to the STM32L-Discovery board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/stm32ldiscovery/README.txt>`__
- file for further information.
- **Memory Usage**.
- REVISIT: These numbers are out of date. Current NuttX sizing might be
- somewhat larger.
- For a full-featured RTOS such as NuttX, providing support in a usable
- and meaningful way within the tiny memories of the STM32L152RBT6
- demonstrates the scalability of NuttX. The STM32L152RBT6 comes in a
- 64-pin package and has 128KB FLASH and 16KB of SRAM.
- Static memory usage can be shown with ``size`` command:
- NuttX, the NSH application, and GCC libraries use 38.7KB of FLASH
- leaving 89.3B of FLASH (70%) free from additional application
- development. Static SRAM usage is about 1.2KB (<4%) and leaves 14.8KB
- (86%) available for heap at runtime.
- SRAM usage at run-time can be shown with the NSH ``free`` command:
- You can see that 9.9KB (62%) of SRAM heap is still available for further
- application development while NSH is running.
- STMicro STM32 L15x/16x
- ----------------------
- (STM32 L1 "EnergyLite" Medium+ Density Family).
- Support for the STM32L152 and STM32L162 Medium+ density parts from Jussi
- Kivilinna and Sami Pelkonen was included in NuttX-7.3, extending the
- basic STM32L152x support. This is *architecture-only* support, meaning
- that support for the boards with these chips is available, but no
- support for any publicly available boards is included.
- STMicro STM32 F0xx
- ------------------
- (STM32 F0, ARM Cortex-M0). Support for the STM32 F0
- family was contributed by Alan Carvalho de Assis in NuttX-7.21. There
- are ports to three different boards in this repository:
- - **STM32F0-Discovery** This board features the STM32 2F051R8 and was
- used by Alan to produce the initial STM32 F0 port. However, its very
- limited 8KB SRAM makes this port unsuitable for for usages.
- Contributed by Alan Carvalho de Assis in NuttX-7.21.
- - **Nucleo-F072RB** With 16KB of SRAM the STM32 F072RB makes a much
- more usable platform.
- - **Nucleo-F091RC** With 32KB of SRAM the STM32 F091RC this board is a
- great match for NuttX. Contributed by Juha Niskanen in NuttX-7.21.
- STMicro STM32 L0xx
- ------------------
- (STM32 L0, ARM Cortex-M0). Support for the STM32 FL
- family was contributed by Mateusz Sfafoni in NuttX-7.28. There are ports
- to two different STM32 L0 boards in the repository:
- **B-L072Z-LRWAN1** Contributed byMateusz Sfafoni in NuttX-7.28.
- **Nucleo-L073RZ** Contributed byMateusz Sfafoni in NuttX-7.28.
- STMicro STM32 G0xx
- ------------------
- (STM32 G0, ARM Cortex-M0+). Support for the STM32 FL
- family was contributed by Mateusz Sfafoni in NuttX-7.28. There are ports
- to two different STM32 L0 boards in the repository:
- - **Nucleo-G071RB** Initial support for Nucleo-G071RB was contributed
- by Mateusz Szafoni in NuttX-7.31. Refer to the board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32f0l0g0/nucleo-g071rb/README.txt>`__
- file for further information.
- - **Nucleo-G070RB** Contributed by Daniel Pereira Volpato. in
- NuttX-8.2. Refer to the board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32f0l0g0/nucleo-g070rb/README.txt>`__
- file for further information.
- **STATUS:** Status for the STM32F0xx, STM32L0xx, and STM32G0xx is shown
- together since these parts share many drivers in common.
- **NuttX-7.21**. In this initial release, the level of support for the
- STM32 F0 family is minimal. Certainly enough is in place to support a
- robust NSH configuration. There are also unverified I2C and USB device
- drivers available in NuttX-7.21.
- **NuttX-7.28** Added support for GPIO EXTI. From Mateusz Sfafoni.
- **NuttX-7.29** Added an SPI driver. From Mateusz Sfafoni.
- **NuttX-7.30** Added ADC and I2C drivers. From Mateusz Szafoni. Add AES
- and RND drivers for the L0. From Mateusz Szafoni. Add support for HS148
- for L0. From Mateusz Szafoni.
- **NuttX-8.2** Added PWM and TIM drivers for the G0. From Daniel Pereira
- Volpato.
- **NuttX-9.0** Added I2C support for F0, L0 and G0.
- STMicro STM32 F100x
- -------------------
- (STM32 F1 "Value Line"Family).
- - **Proprietary Boards** Chip support for these STM32 "Value Line"
- family was contributed by Mike Smith and users have reported that
- they have successful brought up NuttX on their proprietary boards
- using this logic.
- - **STM32VL-Discovery**. In NuttX-6.33, support for the STMicro
- STM32VL-Discovery board was contributed by Alan Carvalho de Assis.
- The STM32VL-Discovery board features an STM32F100RB MCU. Refer to the
- NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/stm32vldiscovery/README.txt>`__
- file for further information.
- STMicro STM32 F102x
- -------------------
- Architecture support (only) for the STM32 F102 family
- was contributed by the PX4 team in NuttX-7.7.
- STMicro STM32 F103C4/C8
- -----------------------
- (STM32 F1 Low- and Medium-Density Family). There
- are two ports available for this family:
- - One port is for "STM32 Tiny" development board. This board is
- available from several vendors on the net, and may be sold under
- different names. It is based on a STM32 F103C8T6 MCU, and is bundled
- with a nRF24L01 wireless communication module.
- - The other port is for a generic minimal STM32F103CBT6 "blue" board
- contributed by Alan Carvalho de Assis. Alan added support for
- numerous sensors, tone generators, user LEDs, and LCD support in
- NuttX 7.18.
- **STATUS:**
- STMicro STM32 F103x
- -------------------
- (STM32 F1 Family). Support for five board
- configurations are available. MCU support includes all of the high
- density and connectivity line families. Board supported is available
- specifically for: STM32F103ZET6, STM32F103RET6, STM32F103VCT,
- STM32F103VET6, STM32F103RBT6, and STM32103CBT6. Boards supported
- include:
- #. **STM3210E-EVAL**. A port for the `STMicro <http://www.st.com/>`__
- STM3210E-EVAL development board that features the STM32F103ZET6 MCU.
- Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/stm3210e-eval/README.txt>`__
- file for further information.
- #. **HY-Mini STM32v board**. This board is based on the STM32F103VCT
- chip. Port contributed by Laurent Latil. Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/hymini-stm32v/README.txt>`__
- file.
- #. **The M3 Wildfire development board (STM32F103VET6), version 2**. See
- http://firestm32.taobao.com (the current board is version 3). Refer
- to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/fire-stm32v2/README.txt>`__
- file for further information.
- #. **LeafLab's Maple and Maple Mini boards**. These boards are based on
- the STM32F103RBT6 chip for the standard version and on the
- STM32F103CBT6 for the mini version. See the
- `LeafLabs <http://leaflabs.com/docs/hardware/maple.html>`__ web site
- for hardware information; see the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/maple/README.txt>`__
- file for further information about the NuttX port.
- #. **Olimexino-STM32**. This port uses the Olimexino STM32 board
- (STM32F103RBT6). See the http://www.olimex.com for further
- information. Contributed by David Sidrane.
- #. **Nucleo-STM32F103RB**. This port uses the STM32F103RBT6. It was
- contributed by Mateusz Szafoni in NuttX-7.28,
- These ports uses a GNU arm-nuttx-elf toolchain\* under either Linux or
- Cygwin (with native Windows GNU tools or Cygwin-based GNU tools).
- **STATUS:**
- - **Basic Support/Drivers**. The basic STM32 port was released in NuttX
- version 0.4.12. The basic port includes boot-up logic, interrupt
- driven serial console, and system timer interrupts. The 0.4.13
- release added support for SPI, serial FLASH, and USB device.; The
- 4.14 release added support for buttons and SDIO-based MMC/SD and
- verified DMA support. Verified configurations are available for the
- NuttShell (NSH) example, the USB serial device class, and the USB
- mass storage device class example.
- - **Additional Drivers**. Additional drivers and configurations were
- added in NuttX 6.13 and later releases for the STM32 F1 and F4. F1
- compatible drivers include an Ethernet driver, ADC driver, DAC
- driver, PWM driver, IWDG, WWDG, and CAN drivers.
- - **M3 Wildfire**. Support for the Wildfire board was included in
- version 6.22 of NuttX. The board port is basically functional. Not
- all features have been verified. Support for FAT file system on an an
- SD card had been verified. The ENC28J60 network is functional (but
- required lifting the chip select pin on the W25x16 part).
- Customizations for the v3 version of the Wildfire board are
- selectable (but untested).
- - **Maple**. Support for the Maple boards was contributed by Yiran Liao
- and first appear in NuttX 6-30.
- - **Olimexino-STM32**. Contributed by David Sidrane and introduced with
- NuttX 7.9. Configurations are included for the NuttShell (NSH), a
- tiny version of the NuttShell, USB composite CDC/ACM + MSC, CAN
- support, and two tiny, small-footprint NSH configurations.
- - **Nucleo-STM32F103RB**. Contributed by Mateusz Szafoni and introduced
- with NuttX 7.28. Configurations are included for the NuttShell (NSH),
- ADC, and PWM.
- **Development Environments:** 1) Linux with native Linux GNU toolchain,
- 2) Cygwin/MSYS with Cygwin GNU toolchain, 3) Cygwin/MSYS with Windows
- native toolchain (RIDE7, CodeSourcery or devkitARM), or 4) Native
- Windows. A DIY toolchain or Linux or Cygwin is provided by the NuttX
- `buildroot <https://bitbucket.org/nuttx/buildroot/downloads/>`__
- package.
- STMicro STM32 F105x
- -------------------
- Architecture support (only) for the STM32 F105R was
- contribed in NuttX-7.17 by Konstantin Berezenko. There is currently no
- support for boards using any STM32F105x parts in the source tree.
- STMicro STM32 F107x
- -------------------
- (STM32 F1 "Connectivity Line" family). Chip support
- for the STM32 F1 "Connectivity Line" family has been present in NuttX
- for some time and users have reported that they have successful brought
- up NuttX on their proprietary boards using this logic.
- **Olimex STM32-P107** Support for the `Olimex
- STM32-P107 <https://www.olimex.com/dev/stm32-p107.html>`__ was
- contributed by Max Holtzberg and first appeared in NuttX-6.21. That port
- features the STMicro STM32F107VC MCU.
- **STATUS:** A configuration for the NuttShell (NSH) is available and
- verified. Networking is functional. Support for an external ENCX24J600
- network was added in NuttX 6.30.
- **Shenzhou IV** A port of NuttX to the Shenzhou IV development board
- (See `www.armjishu.com <http://www.armjishu.com>`__) featuring the
- STMicro STM32F107VCT MCU was added in NuttX-6.22.
- **STATUS:** In progress. The following have been verified: (1) Basic
- Cortex-M3 port, (2) Ethernet, (3) On-board LEDs. Refer to the NuttX
- board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/shenzhou/README.txt>`__
- file for further information.
- **ViewTool STM32F103/F107** Support for the Viewtool
- STM32F103/F107 board was added in
- NuttX-6.32. That board features the STMicro STM32F107VCT6 MCU.
- Networking, LCD, and touchscreen support were added in NuttX-6.33.
- Three configurations are available:
- #. A standard NuttShell (NSH) configuration that will work with either
- the STM32F103 or STM32F107 part.
- #. A network-enabled NuttShell (NSH) configuration that will work only
- with the STM32F107 part.
- #. The configuration that was used to verify the NuttX `high-priority,
- nested interrupt
- feature <https://cwiki.apache.org/confluence/display/NUTTX/High+Performance%2C+Zero+Latency+Interrupts>`__.
- **STATUS:** Networking and touchscreen support are well test. But, at
- present, neither USB nor LCD functionality have been verified. Refer to
- the Viewtool STM32F103/F107
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/viewtool-stm32f107/README.txt>`__
- file for further information.
- **Kamami STM32 Butterfly 2** Support for the `Kamami STM32 Butterfly
- 2 <https://kamami.pl/zestawy-uruchomieniowe-stm32/178507-stm32butterfly2.html>`__
- was contributed by Michał Łyszczek in NuttX-7.18. That port features the
- STMicro STM32F107VC MCU.
- **STATUS:** A configuration for the NuttShell (NSH), NSH with
- networking, and NSH with USB host are available and verified.
- STMicro STM32 F205x
- -------------------
- (STM32 F2 family). Architecture only support for the
- STM32F205RG was contributed as an anonymous contribution in NuttX-7.10.
- **Particle.io Phone**. Support for the Particle.io Photon board was
- contributed by Simon Pirious in NuttX-7.21. The Photon board features
- the STM32F205RG MCU. The STM32F205RG is a 120 MHz Cortex-M3 operation
- with 1Mbit Flash memory and 128kbytes. The board port includes support
- for the on-board Broadcom BCM43362 WiFi and fully usable FullMac network
- support.
- **STATUS:** In addition to the above-mention WiFI support, the Photon
- board support includes buttons, LEDS, IWDG, USB OTG HS, and procfs
- support. Configurations available for nsh, usbnsh, and wlan
- configurations. See the Photon
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/photon/README.txt>`__
- file for additional information.
- STMicro STM32 F207x
- -------------------
- (STM32 F2 family)
- - Support for the STMicro STM3220G-EVAL development board was
- contributed by Gary Teravskis and first released in NuttX-6.16. This
- board uses the STM32F207IG.
- - Martin Lederhilger contributed support for the Olimex STM32 P207
- board using the STM32F207ZE MCU.
- - Board support for the Nucleo-L152RE was contributed by Mateusz
- Szafoni in NuttX-7.28. Available configurations include NSH, ADC, and
- PWM.
- Microchip SAM3U
- ---------------
- This port uses the `Microchip <http://www.atmel.com/>`__
- SAM3U-EK development board that features the SAM3U4E MCU. This port uses
- a GNU arm-nuttx-elf or arm-nuttx-eabi toolchain\* under either Linux or
- Cygwin (with native Windows GNU tools or Cygwin-based GNU tools).
- **Development Environments:** 1) Linux with native Linux GNU toolchain,
- 2) Cygwin/MSYS with Cygwin GNU toolchain, 3) Cygwin/MSYS with Windows
- native toolchain (CodeSourcery or devkitARM), or 4) Native Windows. A
- DIY toolchain for inux or Cygwin is provided by the NuttX
- `buildroot <https://bitbucket.org/nuttx/buildroot/downloads/>`__
- package.
- Microchip SAM3X
- ---------------
- There are two SAM3X boards supported:
- #. The `Arduino <http://arduino.cc//>`__ Due development board that
- features the ATSAM3X8E MCU running at 84MHz. See the `Arduino
- Due <http://arduino.cc/en/Main/arduinoBoardDue>`__ page for more
- information.
- #. The Mikroelektronika `Flip&Click
- SAM3X <https://www.mikroe.com/flip-n-click-sam3x>`__ development
- board. This board is an Arduino Due *work-alike* with additional
- support for 4 mikroBUS Click boards.
- **Development Environments:** See the Microchip SAM3U discussion
- `above. <#at91sam3u>`__
- NXP LPC176x
- -----------
- NXP LPC1766, LPC1768, and LPC1769. Drivers are available for CAN, DAC,
- Ethernet, GPIO, GPIO interrupts, I2C, UARTs, SPI, SSP, USB host, and USB
- device. Additional drivers for the RTC, ADC, DAC, Timers, PWM and MCPWM
- were contributed by Max (himax) in NuttX-7.3. Verified LPC17xx
- configurations are available for these boards:
- - The Nucleus 2G board from `2G Engineering <http://www.2g-eng.com/>`__
- (LPC1768),
- - The mbed board from `mbed.org <http://mbed.org>`__ (LPC1768,
- Contributed by Dave Marples), and
- - The LPC1766-STK board from `Olimex <http://www.olimex.com/>`__
- (LPC1766).
- - The Embedded Artists base board with NXP LPCXpresso LPC1768.
- - Zilogic's ZKIT-ARM-1769 board.
- - The `Micromint <http://micromint.com/>`__ Lincoln60 board with an NXP
- LPC1769.
- - A version of the LPCXPresso LPC1768 board with special support for
- the U-Blox model evaluation board.
- - Support for the Keil MCB1700 was contributed by Alan Carvalho de
- Assis in NuttX-7.23.
- - Support for the NXP Semiconductors' PN5180 NFC Frontend Development
- Kit was contributed by Michael Jung in NuttX-7.1. This board is based
- on the NXP LPC1769 MCU.
- The Nucleus 2G board, the mbed board, the LPCXpresso, and the MCB1700
- all feature the NXP LPC1768 MCU; the Olimex LPC1766-STK board features
- an LPC1766. All use a GNU arm-nuttx-elf or arm-eabi toolchain\* under
- either Linux or Cygwin (with native Windows GNU tools or Cygwin-based
- GNU tools).
- **STATUS:** The following summarizes the features that has been
- developed and verified on individual LPC17xx-based boards. These
- features should, however, be common and available for all LPC17xx-based
- boards.
- #. **Nucleus2G LPC1768**
- - Some initial files for the LPC17xx family were released in NuttX
- 5.6, but
- - The first functional release for the NXP LPC1768/Nucleus2G
- occurred with NuttX 5.7 with Some additional enhancements through
- NuttX-5.9. Refer to the NuttX board
- `README <https://bitbucket.org/patacongo/obsoleted/src/master/configs/nucleus2g/README.txt>`__
- file for further information.
- That initial, 5.6, basic release included *timer* interrupts and a
- *serial console* and was verified using the NuttX OS test
- (``apps/examples/ostest``). Configurations available include include
- a verified NuttShell (NSH) configuration (see :ref:`NSH <nsh>`). The
- NSH configuration supports the Nucleus2G's microSD slot and
- additional configurations are available to exercise the USB serial
- and USB mass storage devices. However, due to some technical reasons,
- neither the SPI nor the USB device drivers are fully verified.
- (Although they have since been verified on other platforms; this
- needs to be revisited on the Nucleus2G).
- **Obsoleted**. Support for the Nucleus2G board was terminated on
- 2016-04-12. There has not been any activity with the commercial board
- in a few years and it no longer appears to be available from the
- 2g-eng.com website. Since the board is commercial and no longer
- publicly available, it no longer qualifies for inclusion in the open
- source repositories. A snapshot of the code is still available in the
- `Obsoleted
- repository <https://bitbucket.org/patacongo/obsoleted/src/master/boards/nucleus2g>`__
- and can easily be *reconstitued* if needed.
- #. **mbed LPC1768**
- - Support for the mbed board was contributed by Dave Marples and
- released in NuttX-5.11. Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lpc17xx_40xx/mbed/README.txt>`__
- file for further information.
- #. **Olimex LPC1766-STK**
- - Support for that Olimex-LPC1766-STK board was added to NuttX 5.13.
- - The NuttX-5.14 release extended that support with an *Ethernet
- driver*.
- - The NuttX-5.15 release further extended the support with a
- functional *USB device driver* and *SPI-based micro-SD*.
- - The NuttX-5.16 release added a functional *USB host controller
- driver* and *USB host mass storage class driver*.
- - The NuttX-5.17 released added support for low-speed USB devices,
- interrupt endpoints, and a *USB host HID keyboard class driver*.
- - Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lpc17xx_40xx/olimex-lpc1766stk/README.txt>`__
- file for further information.
- Verified configurations are now available for the NuttShell with
- networking and microSD support(NSH, see :ref:`NSH <nsh>`), for
- the NuttX network test, for the
- `THTTPD <http://acme.com/software/thttpd>`__ webserver, for USB
- serial deive and USB storage devices examples, and for the USB host
- HID keyboard driver. Support for the USB host mass storage device can
- optionally be configured for the NSH example. A driver for the *Nokia
- 6100 LCD* and an NX graphics configuration for the Olimex LPC1766-STK
- have been added. However, neither the LCD driver nor the NX
- configuration have been verified as of the NuttX-5.17 release.
- #. **Embedded Artists base board with NXP LPCXpresso LPC1768**
- An fully verified board configuration is included in NuttX-6.2. The
- Code Red toolchain is supported under either Linux or Windows.
- Verified configurations include DHCPD, the NuttShell (NSH), NuttX
- graphis (NX), THTTPD, and USB mass storage device. Refer to the NuttX
- board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lpc17xx_40xx/lpcxpresso-lpc1768/README.txt>`__
- file for further information.
- #. **Zilogic's ZKIT-ARM-1769 board**
- Zilogic System's ARM development Kit, ZKIT-ARM-1769. This board is
- based on the NXP LPC1769. The initial release was included
- NuttX-6.26. The NuttX Buildroot toolchain is used by default. Verifed
- configurations include the "Hello, World!" example application and a
- THTTPD demonstration. Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lpc17xx_40xx/zkit-arm-1769/README.txt>`__
- file for further information.
- #. **Micromint Lincoln60 board with an NXP LPC1769**
- This board configuration was contributed and made available in
- NuttX-6.20. As contributed board support, I am unsure of what all has
- been verfied and what has not. See the Microment website
- and the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lpc17xx_40xx/lincoln60/README.txt>`__
- file for further information about the Lincoln board.
- #. **U-Blox Modem Evaluation (LPCXpresso LPC1768)**
- This board configuration was contributed by Vladimir Komendantskiy
- and made available in NuttX-7.15. This is a variant of the LPCXpresso
- LPC1768 board support with special provisions for the U-Blox Model
- Evaluation board. See the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lpc17xx_40xx/u-blox-c027/README.txt>`__
- file for further information about this port.
- #. **Keil MCB1700 (LPC1768)**
- This board configuration was contributed by Alan Carvalho de Assis in
- NuttX-7.23.
- #. **PN5180 NFC Frontend Development Kit**
- This board configuration was contributed by Michael Jung in
- NuttX-7.31.
- **Development Environments:** 1) Linux with native Linux GNU toolchain,
- 2) Cygwin/MSYS with Cygwin GNU toolchain, 3) Cygwin/MSYS with Windows
- native toolchain (CodeSourcery devkitARM or Code Red), or 4) Native
- Windows. A DIY toolchain for Linux or Cygwin is provided by the NuttX
- `buildroot <https://bitbucket.org/nuttx/buildroot/downloads/>`__
- package.
- NXP LPC178x
- -----------
- The port of NuttX to the WaveShare Open1788 is a
- collaborative effort between Rommel Marcelo and myself (with Rommel
- being the leading contributor and I claiming only a support role). You
- can get more information at the Open1788 board from the WaveShare
- website.
- ON Semiconductor LC823450
- -------------------------
- (Dual core ARM Cortex-M3). In NuttX-7.22,
- Masayuki Ishikawa contributed support for both the LC823450 architecture
- and for ON Semiconductor's **LC823450XGEVK board**:
- The LC823450XGEVK is an audio processing system Evaluation Board Kit
- used to demonstrate the LC823450. This part can record and playback,
- and offers High-Resolution 32-bit & 192 kHz audio processing
- capability. It is possible to cover most of the functions necessary
- for a portable audio with only this LSI as follows. It has Dual CPU
- and DSP with High processing capability, and internal 1656K-Byte
- SRAM, which make it possible to implement large scale program. And it
- has integrated analog functions (low-power Class D HP amplifier, PLL,
- ADC etc.) so that PCB space and cost is reduced, and it has various
- interface (USB, SD, SPI, UART, etc.) to make extensibility high. Also
- it is provided with various function including SBC/AAC codec by DSP
- and UART and ASRC (Asynchronous Sample Rate Converter) for Bluetooth®
- audio. It is very small chip size in spite of the multi-funciton as
- described above and it realizes the low power consumption. Therefore,
- it is applicable to portable audio markets such as Wireless headsets
- and will show high performance.
- Further information about the LC823450XGEVK is available on from the the
- `ON
- Semiconductor <http://www.onsemi.com/PowerSolutions/evalBoard.do?id=LC823450XGEVK>`__
- website as are LC823450 `related technical
- documents <http://www.onsemi.com/PowerSolutions/supportDoc.do?type=AppNotes&rpn=LC823450>`__.
- Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lc823450/lc823450-xgevk/README.txt>`__
- file for details of the NuttX port.
- This port is intended to test LC823450 features including SMP. Supported
- peripherals include UART, TIMER, RTC, GPIO, DMA, I2C, SPI, LCD, eMMC,
- and USB device. ADC, Watchdog, IPC2, and I2S support was added by
- Masayuki Ishikawa in NuttX-7.23. Bluetooth, SPI, and *PROTECTED* build
- support were added by Masayuki Ishikawa in NuttX-7.26. Support for for
- SPI flash boot was added in NuttX-7.28.
- Maxim Integrated MAX32660
- -------------------------
- Architectural upport for the MAX32660 was added (along with partial
- support for other members of the MAX326xx family) in NuttX 7.28.
- **MAX32660-EVSYS**. Basic support for the Maxim Integrated MAC3X660
- EVSYS was included in the NuttX-7.28 release. A basic NSH configuration
- is available and is fully functional. Includes unverified support for an
- SPI0-based SD card.
- **STATUS:**
- ` <#>`__ (ARM Cortex-M3)
- ARM Cortex-M4
- =============
- Infineon XMC45xx
- ----------------
- An initial but still incomplete port to the XMC4500 Relax board was released
- with NuttX-7.21 (although it was not really ready for prime time). Basic NSH
- functionality was a serial console was added by Alan Carvahlo de Assis in
- NuttX-7.23. Alan also added an SPI driver in NuttX-7.25.
- This initial porting effort uses the Infineon XMC4500 Relax v1 board as
- described on the manufacturer's
- `website <http://www.infineon.com/cms/en/product/evaluation-boards/KIT_XMC45_RELAX_V1/productType.html?productType=db3a304437849205013813b23ac17763>`__.
- The current status of the board is available in the board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/xmc4/xmc4500-relax/README.txt>`__
- file
- Nordic Semiconductor NRF52xxx
- -----------------------------
- Initial architecture support of the NRF52
- including UART, Timer, and GPIOs was contributed by Janne Rosberg in
- NuttX-7.25. Janne also contributed board support for the NRF52-PCA10040
- development board at that time.
- The NRF52 was generalized by Hanya Zou in NuttX-7.28 for any similar
- board based on the NRF52832 MCU. Support was specifically included for
- the Adafruit NRF52 Feather board.
- Available drivers include:
- - **NuttX-7.25**. UART, Timer, and GPIOs from Janne Rosberg and a
- watchdog timer driver was added by Levin Li.
- - **NuttX-7.25**. Flash PROGMEM support was added by Alan Carvalho de
- Assis.
- - **NuttX-7.29**. Support for the 52804 family and an RNG drivers was
- added by Levin Li.
- NXP/FreeScale Kinetis K20
- -------------------------
- Used by Teensy-3.x. Architecture support (only) was
- added in NuttX-7.10. This support was taken from PX4 and is the work of
- Jakob Odersky. Support was added for the PJRC Teensy-3.1 board in
- NuttX-7.11. Backward compatible support for the Teensy-3.0 is included.
- NXP/FreeScale Kinetis K28F
- --------------------------
- Use by Freedom-K28F. Architecture support for the
- Kinetis K28F along with board support for the Freedom-K28F was added in
- NuttX-7.15. The Freedom-K28F board is based on the Kinetis
- MK28FN2M0VMI15 MCU (ARM Cortex-M4 at150 MHz, 1 MB SRAM, 2 MB flash, HS
- and FS USB, 169 MAPBGA package). More information is available from the
- `NXP
- website <https://www.nxp.com/support/developer-resources/hardware-development-tools/freedom-development-boards/mcu-boards/nxp-freedom-development-board-for-kinetis-k27-and-k28-mcus:FRDM-K28F>`__.
- NXP/FreeScale Kinetis K40
- -------------------------
- This port uses the Freescale Kinetis KwikStik
- K40. Refer to the `Freescale web
- site <http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=KWIKSTIK-K40>`__
- for further information about this board. The Kwikstik is used with the
- FreeScale Tower System (mostly just to provide a simple UART connection)
- NXP/FreeScale Kinetis K60
- -------------------------
- This port uses the **Freescale Kinetis
- TWR-K60N512** tower system. Refer to the `Freescale web
- site <http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=TWR-K60N512-KIT>`__
- for further information about this board. The TWR-K60N51 includes with
- the FreeScale Tower System which provides (among other things) a DBP
- UART connection.
- **MK60N512VLL100**. Architecture support for the MK60N512VLL100 was
- contributed by Andrew Webster in NuttX-7.14.
- NXP/FreeScale Kinetis K64
- -------------------------
- Support for the Kinetis K64 family and
- specifically for the **NXP/Freescale Freedom K64F** board was added in
- NuttX 7.17. Initial release includes two NSH configurations with support
- for on-board LEDs, buttons, and Ethernet with the on-board KSZ8081 PHY.
- SDHC supported has been integrated, but not verified. Refer to the NuttX
- board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/kinetis/freedom-k64f/README.txt>`__
- file for further information.
- **MK64FN1M0VMD12**. Architecture support for the \_MK64FN1M0VMD12 was
- contributed by Maciej Skrzypek in NuttX-7.20.
- **NXP/Freescale Kinetis TWR-K64F120M**. Support for the Freescale
- Kinetis TWR-K64F120M was contributed in NuttX-7.20 by Maciej Skrzypek.
- Refer to the `Freescale web
- site <http://www.nxp.com/products/sensors/accelerometers/3-axis-accelerometers/kinetis-k64-mcu-tower-system-module:TWR-K64F120M>`__
- for further information about this board. The board may be complemented
- by
- `TWR-SER <http://www.nxp.com/pages/serial-usb-ethernet-can-rs232-485-tower-system-module:TWR-SER>`__
- which includes (among other things), an RS232 and Ethernet connections.
- Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/kinetis/twr-k64f120m/README.txt>`__
- file for further information.
- **Driver Status**.
- - **NuttX-6.8**. Ethernet and SD card (SDHC) drivers also exist: The
- SDHC driver is partially integrated in to the NSH configuration but
- has some outstanding issues. Additional work remaining includes: (1)
- integrate th SDHC drivers, and (2) develop support for USB host and
- device. NOTE: Most of these remaining tasks are the same as the
- pending K40 tasks described above.
- - **NuttX-7.14**. The Ethernet driver became stable in NuttX-7.14
- thanks to the efforts of Andrew Webster.
- - **NuttX-7.17**. Ethernet support was extended and verified on the
- Freedom K64F. A Kinetis USB device controller driver and PWM support
- was contributed by kfazz.
- NXP/FreeScale Kinetis K66
- -------------------------
- Support for the Kinetis K64 family and
- specifically for the **NXP/Freescale Freedom K66F** board was
- contributed by David Sidrane in NuttX 7.20. Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/kinetis/freedom-k66f/README.txt>`__
- file for further information.
- **Driver Status**.
- - Most K6x drivers are compatible with the K66.
- - **NuttX-7.20**. David Sidrane also contributed support for a serial
- driver on the K66's LPUART.
- - **NuttX-7.22**. David Sidrane contributed improvements to the USB and
- I2C device drivers, RTC alarm functionality, and new SPI driver.
- - **NuttX-7.26**. David Sidrane contributed DMA support to the Kinetis
- K6x family.
- Sony CXD56xx
- ------------
- (6 x ARM Cortex-M4)
- Support for the CXD56\ *xx* was
- introduced by Nobuto Kobayashi in NuttX-7.30.
- **Sony Spresence**. Spresense is a compact development board based on
- Sony’s power-efficient multicore microcontroller CXD5602. Basic support
- for the Sony Spresense board was included in the contribution of Nobuto
- Kobayashi in NuttX-7.30. *NOTE*: That was an initial, bare bones basic
- Spresense port sufficient for running a NuttShell (NSH) and should not
- be confused with the full Spresence SDK offered from Sony. Since then
- there has been much development of the NuttX CXD56xx port.
- **Features:**
- - Integrated GPS: Embedded GNSS with support for GPS, QZSS.
- - Hi-res audio output and multi mic inputs" Advanced 192kHz/24 bit
- audio codec and amplifier for audio output, and support for up to 8
- mic input channels.
- - Multicore microcontroller: Spresense is powered by Sony's CXD5602
- microcontroller (ARM® Cortex®-M4F × 6 cores), with a clock speed of
- 156 MHz.
- **Driver Status:**
- **NuttX-3.31**. In this release, many new architectural features,
- peripheral drivers, and board configurations were contributed primarily
- through the work of Alin Jerpelea. These new architectural features
- include: Inter-core communications, power management, and clock
- management. New drivers include: GPIO, PMIC, USB, SDHC, SPI, I2C, DMA,
- RTC, PWM, Timers, Watchdog Timer, UID, SCU, ADC, eMMC, Camera CISIF,
- GNSS, and others.
- **NuttX-8.1**. Alin Jerpelea brought in ten (external) sensor drivers
- that integrate through the CXD56xx's SCU.
- **NuttX-8.2**. Masayuki Ishikawa implemented SMP operation of the
- CX56Dxx parts. Alin Jerpelea: Added support for the Altair LTE modem
- support, enabled support for accelerated format converter, rotation and
- so on using the CXD5602 image processing accelerator, added ISX012
- camera support, added audio and board audio control implementation,
- added an audio_tone_generator, added optional initialization of GNSS and
- GEOFENCE at boot if the drivers are enabled, added an lcd examples
- configuration.
- STMicro STM32 F302x
- -------------------
- (STM32 F3 family). Architecture (only) support for
- the STM32 F302 was contributed in NuttX-7.10 by Ben Dyer (via the PX4
- team and David Sidrane).
- Support for the Nucleo-F302R8 board was added by raiden00pl in
- NuttX-7.27. Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/nucleo-f302r8/README.txt>`__
- file for further information.
- STMicro STM32 F303x
- -------------------
- (STM32 F3 family)
- - **STM32F3-Discovery**. This port uses the STMicro STM32F3-Discovery
- board featuring the STM32F303VCT6 MCU (STM32 F3 family). Refer to the
- `STMicro web
- site <http://www.st.com/internet/evalboard/product/254044.jsp>`__ for
- further information about this board.
- - **STMicro ST Nucleo F303RE board**. The basic port for the Nucleo
- F303RE was contributed by Paul Alexander Patience and first released
- in NuttX-7.12. Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/nucleo-f303re/README.txt>`__
- file for further information.
- - **STMicro ST Nucleo F303ZE board**. Support for the Nucleo-F303ZE
- board was added by Mateusz Szafoni in NuttX-7.27. Refer to the NuttX
- board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/nucleo-f303ze/README.txt>`__
- file for further information.
- STMicro STM32 F334
- ------------------
- (STM32 F3 family, ARM Cortex-M4)
- Support for the STMicro **STM32F334-Disco** board was contributed by
- Mateusz Szafoni in NuttX-7.22 and for the **Nucleo-STM32F334R8** was
- contributed in an earlier release.
- STMicro STM32 F372/F373
- -----------------------
- (ARM Cortex-M4)
- Basic architecture support for the STM32F372/F373 was contributed by
- Marten Svanfeldt in NuttX 7.9. There are no STM32F*72 boards currently
- supported, however.
- STMicro STM32 F4x1
- ------------------
- (STM32 F4 family).
- **Nucleo F401RE**. This port uses the STMicro Nucleo F401RE board
- featuring the STM32F401RE MCU. Refer to the `STMicro web
- site <http://www.st.com/en/evaluation-tools/nucleo-f401re.html>`__ for
- further information about this board.
- **Nucleo F411RE**. This port uses the STMicro Nucleo F411RE board
- featuring the STM32F411RE MCU. Refer to the `STMicro web
- site <http://www.st.com/en/evaluation-tools/nucleo-f411re.html>`__ for
- further information about this board.
- **STATUS:**
- - **NuttX-7.2** The basic port for STMicro Nucleo F401RE board was
- contributed by Frank Bennett.
- - **NuttX-7.6** The basic port for STMicro Nucleo F401RE board was
- added by Serg Podtynnyi.
- - **NuttX-7.25** Architecture support (only) for STMicro STM32F401xB
- and STM32F401xC pars was added.
- - Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/nucleo-f4x1re/README.txt>`__
- file for further information.
- STMicro STM32410
- ----------------
- (STM32 F4 family)
- Architecture-only support was contributed to NuttX-7.21 by Gwenhael
- Goavec-Merou.
- STMicro STM32 F405x/407x
- ------------------------
- (STM32 F4 family).
- **STMicro STM3240G-EVAL**. This port uses the STMicro STM3240G-EVAL
- board featuring the STM32F407IGH6 MCU. Refer to the `STMicro web
- site <http://www.st.com/internet/evalboard/product/252216.jsp>`__ for
- further information about this board.
- **STATUS:**
- - **NuttX-6.12** The basic port is complete and first appeared in
- NuttX-6.12. The initial port passes the NuttX OS test and includes a
- validated configuration for the NuttShell (NSH, see :ref:`NSH <nsh>`) as well
- as several other configurations.
- - **NuttX-6.13-6.16** Additional drivers and configurations were added
- in NuttX 6.13-6.16. Drivers include an Ethernet driver, ADC driver,
- DAC driver, PWM driver, CAN driver, F4 RTC driver, Quadrature
- Encoder, DMA, SDIO with DMA (these should all be compatible with the
- STM32 F2 family and many should also be compatible with the STM32 F1
- family as well).
- - **NuttX-6.16** The NuttX 6.16 release also includes and logic for
- saving/restoring F4 FPU registers in context switches. Networking
- intensions include support for Telnet NSH sessions and new
- configurations for DHPCD and the networking test (nettest).
- - **NuttX-6.17** The USB OTG device controller driver, and LCD driver
- and a function I2C driver were added in NuttX 6.17.
- - **NuttX-6.18** STM32 IWDG and WWDG watchdog timer drivers were added
- in NuttX 6.18 (should be compatible with F1 and F2). An LCD driver
- and a touchscreen driver for the STM3240G-EVAL based on the STMPE811
- I/O expander were also added in NuttX 6.18.
- - **NuttX-6.21** A USB OTG host controller driver was added in NuttX
- 6.21.
- - **NuttX-7.3** Support for the Olimex STM32 H405 board was added in
- NuttX-7.3.
- - **NuttX-7.14** Support for the Olimex STM32 H407 board was added in
- NuttX-7.14.
- - **NuttX-7.17** Support for the Olimex STM32 E407 board was added in
- NuttX-7.17.
- - **NuttX-7.19** Support for the Olimex STM32 P407 board was added in
- NuttX-7.19.
- - **NuttX-7.21** Support for the MikroElektronika Clicker2 for STM32
- (STM32 P405) board was added in NuttX-7.21.
- - **NuttX-7.29** Support for the OmnibusF4 architecture (STM32 P405)
- board was added in NuttX-7.29.
- Refer to the STM3240G-EVAL board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/stm3240g-eval/README.txt>`__
- file for further information.
- **STMicro STM32F4-Discovery**. This port uses the STMicro
- STM32F4-Discovery board featuring the STM32F407VGT6 MCU. The
- STM32F407VGT6 is a 168MHz Cortex-M4 operation with 1Mbit Flash memory
- and 128kbytes. The board features:
- - On-board ST-LINK/V2 for programming and debugging,
- - LIS302DL, ST MEMS motion sensor, 3-axis digital output accelerometer,
- - MP45DT02, ST MEMS audio sensor, omni-directional digital microphone,
- - CS43L22, audio DAC with integrated class D speaker driver,
- - Eight LEDs and two push-buttons,
- - USB OTG FS with micro-AB connector, and
- - Easy access to most MCU pins.
- Support for the STM3F4DIS-BB base board was added in NuttX-7.5. This
- includes support for the serial communications via the on-board DB-9
- connector, Networking, and the microSD card slot.
- Refer to the `STMicro web
- site <http://www.st.com/internet/evalboard/product/252419.jsp>`__ for
- further information about this board and to
- **MikroElektronika Mikromedia for STM32F4**. This is another board
- supported by NuttX that uses the same STM32F407VGT6 MCU as does the
- STM32F4-Discovery board. This board, however, has very different
- on-board peripherals than does the STM32F4-Discovery:
- - TFT display with touch panel,
- - VS1053 stereo audio codec with headphone jack,
- - SD card slot,
- - Serial FLASH memory,
- - USB OTG FS with micro-AB connector, and
- - Battery connect and batter charger circuit.
- See the
- `Mikroelektronika <http://www.mikroe.com/mikromedia/stm32-m4/>`__
- website for more information about this board and the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/mikroe-stm32f4/README.txt>`__
- file for further information about the NuttX port.
- **Olimex STM32 H405**. Support for the Olimex STM32 H405 development
- board was contributed by Martin Lederhilger and appeared in NuttX-7.3.
- See the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/olimex-stm32-h405/README.txt>`__
- file for further information about the NuttX port.
- **Olimex STM32 H407**. Support for the Olimex STM32 H407 development
- board was contributed by Neil Hancock and appeared in NuttX-7.14. See
- the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/olimex-stm32-h407/README.txt>`__
- file for further information about the NuttX port.
- **Olimex STM32 E407**. Support for the Olimex STM32 E407 development
- board was contributed by Mateusz Szafoni and appeared in NuttX-7.17.
- Networking configurations were added in NuttX-7.18. See the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/olimex-stm32-e407/README.txt>`__
- file for further information about the NuttX port.
- **Olimex STM32 P407**. Support for the Olimex STM32 P407 development
- board appeared in NuttX-7.19. See the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/olimex-stm32-p407/README.txt>`__
- file for further information about the NuttX port.
- **MikroElektronika Clicker2 for STM32**. This is yet another board
- supported by NuttX that uses the same STM32F407VGT6 MCU as does the
- STM32F4-Discovery board. This board has been used primarily with the
- MRF24J40 Click board for the development of IEEE 802.15.4 MAC and
- 6LoWPAN support.
- See the
- `Mikroelektronika <https://shop.mikroe.com/development-boards/starter/clicker-2/stm32f4>`__
- website for more information about this board and the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/clicker2-stm32/README.txt>`__
- file for further information about the NuttX port.
- **OmnibusF4**. Initial support for the OmnibusF4 family of flight
- management units was contributed by Bill Gatliff in NuttX-7.29.
- "OmnibusF4" is not a product name *per se*, but rather a design
- specification that many product vendors adhere to. The specification
- defines the major components, and how those components are wired into
- the microcontroller. *Airbot* is one such vendor. They publish a
- `schematic <http://bit.ly/obf4pro>`__. Other software that supports the
- OmnibusF4 family include Betaflight, iNAV, and many others. PX4 recently
- added support as well, also based on NuttX. No code from those resources
- is included in this port. The OmnibusF4 specification mandates the
- InvenSense MPU6000 which is included in NuttX-7.29 along with a driver
- for the MAX7546 OSD.
- STMicro STM32 F427/F437
- -----------------------
- General architectural support was provided for
- the F427/437 family in NuttX 6.27. Specific support includes the
- STM32F427I, STM32F427Z, and STM32F427V chips. This is
- *architecture-only* support, meaning that support for the boards with
- these chips is available, but not support for any publicly available
- boards is included. This support was contributed by Mike Smith.
- The F427/437 port adds (1) additional SPI ports, (2) additional UART
- ports, (3) analog and digital noise filters on the I2C ports, (4) up to
- 2MB of flash, (5) an additional lower-power mode for the internal
- voltage regulator, (6) a new prescaling option for timer clock, (7) a
- larger FSMSC write FIFO, and (8) additional crypto modes (F437 only).
- **Axlotoi**. In NuttX-7.31, Jason Harris contributed support for the
- Axloti board. That is the board for the Axoloti open source synthesizer
- board featuring the STM32F427IGH6 MCU The STM32F427IGH6 has a 180MHz
- Cortex-M4 core with 1MiB Flash memory and 256KiB of SRAM The Axloti
- board features:
- - ADAU1961 24-bit 96 kHz stereo CODEC
- - 1/4" in/out jacks for analog audio signals
- - 3.5 mm jack for analog audio signals
- - 8 MiB of SDRAM (Alliance Memory AS4C4M16SA)
- - Serial MIDI in/out ports
- - SD Card slot
- - Two user LEDs and one (GPIO) push-button
- - USB OTG FS with Micro-AB connector (USB device mode operation)
- - USB OTG HS with Type-A connector (USB host mode operation)
- - Easy access to most IO pins
- Refer to `Axloti <http://www.axoloti.com/>`__ website for further
- information about this board.
- STMicro STM32 F429
- ------------------
- Support for STMicro STM32F429I-Discovery development
- board featuring the STM32F429ZIT6 MCU was contributed in NuttX-6.32 by
- Ken Pettit. The STM32F429ZIT6 is a 180MHz Cortex-M4 operation with 2Mbit
- Flash memory and 256kbytes.
- **STATUS**:
- - The initial release included support from either OTG FS or OTG HS in
- FS mode.
- - The F429 port adds support for the STM32F439 LCD and OTG HS (in FS
- mode).
- - In Nutt-7.6, Brennan Ashton added support for concurrent OTG FS and
- OTG HS (still in FS mode) and Marco Krahl added support for an
- SPI-based LCD .
- - In Nutt-7.7, Marco Krahl included support for a framebuffer based
- driver using the LTDC and DMA2D. Marcos's implementation included
- extensions to support more advance LTDC functions through an
- auxiliary interface.
- - Support for the uVision GCC IDE added for theSTM32F429I-Discovery
- board in NuttX 7.16. From Kha Vo.
- Refer to the STM32F429I-Discovery board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/stm32f429i-disco/README.txt>`__
- file for further information.
- STMicro STM32 F433
- ------------------
- Architecture-only support for the STM32 F433 family
- was contributed by Alan Carvalho de Assis in NuttX-7.22 (meaning that
- the parts are supported, but there is no example board supported in the
- system). This support was contributed by David Sidrane and made
- available in NuttX-7.11.
- STMicro STM32 F446
- ------------------
- Architecture-only support is available for the STM32
- F446 family (meaning that the parts are supported, but there is no
- example board supported in the system). This support was contributed by
- David Sidrane and made available in NuttX-7.11.
- STMicro STM32 F46xx
- -------------------
- Architecture-only support is available for the
- STM32 F46xx family (meaning that the parts are supported, but there is
- no example board supported in the system). This support was contributed
- by Paul Alexander Patienc and made available in NuttX-7.15.
- STMicro STM32 G474x
- -------------------
- One board is supported in this family:
- - **B-G474E-DPOW1 Discovery Kit**. Initial board support for the
- STMicro B-G474E-DPOW1 board from ST Micro was added in NuttX-9.1. See
- the `STMicro
- website <https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-discovery-kits/b-g474e-dpow1.html>`__
- and the board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/b-g474e-dpow1/README.txt>`__
- file for further information.
- **Status**:
- **NuttX-9.1**. Initial support for booting NuttX to a functional NSH
- prompt on this board.
- STMicro STM32 G431x
- -------------------
- One board is supported in this family:
- - **Nucleo-G431RB**. Initial board support for the
- Nucleo-G431RB was added in NuttX-10.0. Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/nucleo-g431rb/README.txt>`__
- file for further information.
- - **B-G431B-ESC1**. Initial board support for the
- B-G431B-ESC1 was added in NuttX-10.0. Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/b-g431b-esc1/README.txt>`__
- file for further information.
- STMicro STM32 L475
- ------------------
- One board in supported in this family:
- - **B-L475E-IOT01A Discovery Kit**. Board support for the STMicro
- B-L475E-IOT01A board from ST Micro was contributed by Simon Piriou in
- NuttX-7.22. See the `STMicro
- website <http://www.st.com/en/evaluation-tools/b-l475e-iot01a.html>`__
- and the board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32l4/b-l475e-iot01a/README.txt>`__
- file for further information.
- This board STMicro is powered by STM32L475VG Cortex-M4 and targets
- IoT nodes with a choice of connectivity options including WiFi,
- Bluetooth LE, NFC, and sub-GHZ RF at 868 or 915 MHz, as well as a
- long list of various environmental sensors.
- **Status**:
- **NuttX-7.22**. The initial board support was released. Since this board
- is highly compatible with the related, more mature STM32 L4 parts, it is
- expected that there is a high degree of compatibility and with those
- part.
- This board has been used extensive to develop NuttX PktRadio support for
- the onboard Spirit1 radio (SPSGRF-915) radio. 6LoWPAN radio
- communications are fully supported in point-to-point and in star
- topologies.
- Simon Pirou also contributed support for the on-board Macronix QuadSPI
- FLASH in NuttX 7.22.
- STMicro STM32 L476
- ------------------
- Three boards are supported in this family:
- - **Nucleo-L476RG**. Board support for the STMicro NucleoL476RG board
- from ST Micro was contributed by Sebastien Lorquet in NuttX-7.15. See
- the `STMicro website <http://www.st.com/nucleo-l476rg>`__ and the
- board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32l4/nucleo-l476rg/README.txt>`__
- file for further information.
- - **STM32L476VG Discovery**. Board support for the STMicro STM32L476VG
- Discovery board from ST Micro was contributed by Dave in NuttX-7.15.
- See the `STMicro website <http://www.st.com/stm32l476g-disco>`__ and
- the board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32l4/stm32l476vg-disco/README.txt>`__
- file for further information.
- - **STM32L476 MDK**. Very basic support for NuttX on the Motorola Moto
- Z MDK was contributed by Jim Wylder in NuttX 7.18. A simple NSH
- configuration is available for the STM32L476 chip. See the board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32l4/stm32l476-mdk/README.txt>`__
- file for further information.
- **Status**:
- **NuttX-7.15**. Only the first initial release of support for this
- family is present. It includes these basics:
- - RCC, clocking, Interrupts, System timer
- - UART, USART, Serial Console
- - GPIO, DMA, I2C, RNG, SPI
- **NuttX-7.16**. Additional drivers were contributed:
- - QSPI with DMA and memory mapped support. From Dave (ziggurat29).
- - CAN contributed by Sebastien Lorquet.
- - I2C made functional by Dave (ziggurat29).
- **NuttX-7.17**. Additional drivers/features were contributed:
- - Support for tickless mode.
- - CAN driver enhancements.
- **NuttX-7.18**. Additional drivers were contributed:
- - Oneshot timer driver.
- - Quadrature encode contributed by Sebastien Lorquet.
- **NuttX-7.20**. Additional drivers were added:
- - Serial Audio Interface (SAI).
- - Power Management.
- - LPTIM.
- - Comparator (COMP).
- **NuttX-7.21**. Additional drivers were added:
- - Internal Watchdog (IWDG).
- **NuttX-7.22**.
- - DAC and ADC drivers were contributed by Juha Niskanen.
- **NuttX-7.30**.
- - Added USB FS device driver, CRS and HSI38 support from Juha Niskanen.
- **NuttX-8.2**.
- Add DMA support for STM32L4+ series. From Jussi Kivilinna.
- Add support for LPTIM timers on the STM32L4 as PWM outputs. From Matias
- N.
- Enable OTGFS for STM32L4+ series. The OTGFS peripheral on stm32l4x6 and
- stm32l4rxxx reference manual is exactly the same. From Jussi Kivilinna.
- STMicro STM32 L4x2
- ------------------
- Architecture support for STM32 L4x2 family was
- contributed by Juha Niskanen in NuttX-7.21. Support was extended for the
- STM32L412 and STM32L422 chips in NuttX-7.27. Two boards are currently
- supported.
- - **Nucleo-L432KC**. Board support for the STMicro Nucleo-L432KC board
- from ST Micro was contributed by JSebastien Lorquet in NuttX-7.21.
- See the `STMicro
- website <http://www.st.com/en/evaluation-tools/nucleo-l432kc.html>`__
- and the board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32l4/nucleo-l432kc/README.txt>`__
- file for further information.
- - **Nucleo-L452RE**. Board support for the STMicro Nucleo-L452RE board
- from ST Micro was contributed by Juha Niskanen in NuttX-7.21. See the
- `STMicro
- website <http://www.st.com/en/evaluation-tools/nucleo-l452re.html>`__
- and the board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32l4/nucleo-l452re/README.txt>`__
- file for further information.
- See also the status above for the STM32 L476 most of which also applies
- to these parts.
- STMicro STM32 L496
- ------------------
- Architecture support for STM32 L496 was contributed
- by Juha Niskanen along with board support for the Nucleo-L496ZG in
- NuttX-7.21:
- - **Nucleo-L496ZG**. Board support for the STMicro Nucleo-L496ZG board
- from ST Micro was contributed by Juha Niskanen in NuttX-7.21. See the
- `STMicro
- website <http://www.st.com/en/evaluation-tools/nucleo-l496zg.html>`__
- and the board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32l4/nucleo-l496zg/README.txt>`__
- file for further information. See also the status above for the STM32
- L476 most of which also applies to this part.
- STMicro STM32 L4Rx
- ------------------
- Architecture support for STM32 L4+ family was
- contributed by Juha Niskanen along with board support for the
- STM32L4R9I-Discovery in NuttX-7.26. Additional support for the
- STM32L4R5ZI part was added by Jussi in NuttX-8.2.
- - **STM32L4R9I-Discovery**. Board support for the STMicro
- STM32L4R9I-Discovery board from ST Micro was contributed by Juha
- Niskanen in NuttX-7.26. That development board uses the STM32L4R9AI
- part. See the `STMicro
- website <https://www.st.com/en/evaluation-tools/32l4r9idiscovery.html>`__
- and the board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32l4/stm32l4r9ai-disco/README.txt>`__
- file for further information. See also the status above for the
- opther STM32 L4 parts, most of which also applies to this part.
- NXP LPC40xx
- -----------
- The LPC40xx family is very similar to the LPC17xx family
- except that it features a Cortex-M4F versus the LPC17xx's Cortex-M3.
- Architectural support for the LPC40xx family was built on top of the
- existing LPC17xx by jjlange in NuttX-7.31. With that architectural
- support came support for two boards also contributed by jjlange:
- **LX CPU**. Pavel Pisa add support for the PiKRON LX CPU board. This
- board may be configured to use either the LPC4088 or the LPC1788.
- **Driver Status.**
- NXP LPC43xx
- -----------
- Several board ports are available for this higher end, NXP
- Cortex-M4F part:
- **NXG Technologies LPC4330-Xplorer**. This NuttX port is for the
- LPC4330-Xplorer board from NGX Technologies featuring the NXP
- LPC4330FET100 MCU. See the `NXG
- website <http://shop.ngxtechnologies.com/product_info.php?cPath=21_37&products_id=104>`__
- for further information about this board.
- - **STATUS:** Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lpc43xx/lpc4330-xplorer/README.txt>`__
- file for more detailed information about this port.
- - **NuttX-6.20** The basic LPC4330-Xplorer port is complete. The basic
- NuttShell (NSH) configuration is present and fully verified. This
- includes verified support for: SYSTICK system time, pin and GPIO
- configuration, and a serial console.
- **NXP/Embest LPC4357-EVB**. This NuttX port is for the LPC4357-EVB from
- NXP/Embest featuring the NXP LPC4357FET256 MCU. The LPC4357 differs from
- the LPC4330 primarily in that it includes 1024KiB of on-chip NOR FLASH.
- See the `NXP
- website <http://www.nxp.com/news/news-archive/2013/nxp-development-kit-based-on-the-dual-core-lpc4357-microcontroller.html>`__
- for more detailed information about the LPC4357 and the LPC4357-EVB.
- - **STATUS:** Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lpc43xx/lpc4357-evb/README.txt>`__
- file for more detailed information about this port.
- - **NuttX-7.6**. The basic port is was contributed by Toby Duckworth.
- This port leverages from the LPC4330-Xplorer port (and, as of this
- writing, still requires some clean up of the technical discussion in
- some files). The basic NuttShell (NSH) configuration is present and
- has been verified. Support is generally the same as for the
- LPC4330-Xplorer as discussed above.
- **NXP LPC4370-Link2**. This is the NuttX port to the NXP LPC4370-Link2
- development board featuring the NXP LPC4370FET100 MCU.
- - **STATUS:** Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lpc43xx/lpc4370-link2/README.txt>`__
- file for more detailed information about this port.
- - **NuttX-7.12** The NXP LPC4370-Link2 port is was contributed by Lok
- Tep and first released in NuttX-7.12.
- **WaveShare LPC4337-WS**. This is the NuttX port to the WaveShare
- LPC4337-WS development board featuring the NXP LPC4337JBD144 MCU.
- - **STATUS:** Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lpc43xx/lpc4337-ws/README.txt>`__
- file for more detailed information about this port.
- - **NuttX-7.14** The NXP WaveShare LPC4337-WS port is was contributed
- by Lok Tep and first released in NuttX-7.14.
- - **NuttX-7.16** Support for the LPC4337JET100 chip was contribed by
- Alexander Vasiljev. Alexander also contributed an LPC43xx AES driver
- available in NuttX-7.16.
- **Driver Status**.
- - **NuttX-6.20** Several drivers have been copied from the related
- GPDMA, I2C, SPI, and SSP. The registers for these blocks are the same
- in both the LPC43xx and the LPC17xx and they should integrate into
- the LPC43xx very easily by simply adapting the clocking and pin
- configuration logic.
- Other LPC17xx drivers were not brought into the LPC43xx port because
- these peripherals have been completely redesigned: CAN, Ethernet, USB
- device, and USB host.
- So then there is no support for the following LPC43xx peripherals:
- SD/MMC, EMC, USB0,USB1, Ethernet, LCD, SCT, Timers 0-3, MCPWM, QEI,
- Alarm timer, WWDT, RTC, Event monitor, and CAN.
- Some of these can be leveraged from other MCUs that appear to support
- the same peripheral IP:
- - The LPC43xx USB0 peripheral appears to be the same as the USB OTG
- peripheral for the LPC31xx. The LPC31xx USB0 device-side driver
- has been copied from the LPC31xx port but also integration into
- the LPC43xx (clocking and pin configuration). It should be
- possible to complete porting of this LPC31xx driver with a small
- porting effort.
- - The Ethernet block looks to be based on the same IP as the STM32
- Ethernet and, as a result, it should be possible to leverage the
- NuttX STM32 Ethernet driver with a little more effort.
- - **NuttX-6.21** Added support for a SPIFI block driver and for RS-485
- option to the serial driver.
- - **NuttX-7.17** EMC support was extended to include support SDRAM by
- Vytautas Lukenska.
- - **NuttX-7.23** A CAN driver was contributed by Alexander Vasiljev in
- NuttX-7.23.
- - **NuttX-7.24** RTC and Windowed Watchdog Timer (WWDT) drivers were
- leveraged from the LPC17 and contributed by Gintaras Drukteinis.
- Leveraged the LPC54xx SD/MMC to the LPC43xx. There are still
- remaining issues with the SD/MMC driver and it is not yet functional.
- NXP LPC54xx
- -----------
- A port to the
- `LPCXpresso-LPC54628 <https://www.nxp.com/support/developer-resources/hardware-development-tools/lpcxpresso-boards/lpcxpresso54628-development-board:OM13098>`__
- was added in NuttX-7.24. Initial configurations include: A basic NSH
- configuration (nsh), a networking configuration (netnsh), and three
- graphics configurations (nxwm, fb, and lvgl).
- **LPC4508**. The port was verified on an LPC5408 by a NuttX user with
- relevant changes incorporated in NuttX-7.26.
- **Driver Status**.
- - **NuttX-7.24** The initial release for the LPC54xx in NuttX included
- the following drivers: UARTs, SysTick, SD/MMC, DMA, GPIO, GPIO
- interrupts, LEDs and buttons, LCD, WWDT, RTC, RNG, Ethernet, and SPI.
- The SPI driver is untested and there are known issues with the SD/MMC
- driver, however.
- - **NuttX-7.29** Configurations were added to verify the "Per-Window
- Framebuffer" feature also added in NuttX-7.29.
- Refer to the LPCXpresso-LPC54628 board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lpc54xx/lpcxpresso-lpc54628/README.txt>`__
- file for more detailed information about this port.
- NXP S32K14x
- -----------
- Support for the S32K14x family was added in NuttX-8.1. Two
- boards are supported
- - **S32K146EVB**. A port to the S32K146EVB was included in NuttX-8.1.
- The initial release supports two full-featured NSH configurations.
- Refer to the S32K146EVB board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/s32k1xx/s32k146evb/README.txt>`__
- file for more detailed information about this port.
- - **S32K148EVB**. A port to the S32K148EVB was also provided in
- NuttX-8.1. The initial release supports two full-featured NSH
- configurations. Refer to the S32K148EVB board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/s32k1xx/s32k148evb/README.txt>`__
- file for more detailed information about this port.
- Both boards featured two NSH configurations: One for execution out of
- FLASH and a *safe* version that executes out of SRAM and, hence, cannot
- lock up the system because of a bad FLASH image.
- **Driver Status**.
- - **NuttX-8.1** The initial release for the S32K14x boards in NuttX
- included the following verfied drivers: Basic boot up logic, clock
- configuration, LPUART console, Systick timer, and GPIO controls.
- Additional complete-but-unverified drivers were also included: GPIO
- interrupts, eDMA, LPSPI, LPI2C, and Ethernet (S32K148 only).
- TI/Stellaris LM4F120x
- ---------------------
- This port uses the TI Stellaris LM4F120 LaunchPad.
- Jose Pablo Carballo and I are doing this port.
- TI/Tiva TM4C123G
- ----------------
- This port uses the Tiva C Series TM4C123G LaunchPad
- Evaluation Kit
- `(EK-TM4C123GXL) <http://www.ti.com/tool/ek-tm4c123gxl>`__.
- **TI Tiva TM4C123H**. Architectural support for the Tiva TM4C123AH6PM
- was contributed in NuttX-8.1 by Nathan Hartman.
- **STATUS:**
- - **NuttX-7.1**. Initial architectural support for the EK-TM4C123GXL
- was implemented and was released in NuttX 7.1. Basic board support
- the EK-TM4C123GXL was also included in that release but was not fully
- tested. This basic board support included a configuration for the
- NuttShell
- :ref:`NSH <nsh>`).
- - **NuttX-7.2**. The fully verified port to the EK-TM4C123GXL was
- provided in NuttX-7.2.
- - **NuttX-7.7**. An I2C driver was added in NuttX-7.7.
- - **NuttX-8.1**. Along with TM4C123AH6PM support, Nathan Hartman also
- reinstated and extended the Tiva Quadrature Encoder driver.
- TI/Tiva TM4C1294
- ----------------
- This port uses the TI Tiva C Series TM4C1294 Connected
- LaunchPad `(EK-TM4C1294XL) <http://www.ti.com/tool/ek-tm4c1294xl>`__.
- **STATUS:**
- - Support for the EK-TM4C1294XL was contributed by Frank Sautter and
- was released in NuttX 7.9. This basic board support included a
- configuration for the NuttShell
- :ref:`NSH <nsh>`) and a
- configuration for testing IPv6. See drivers for the `TI Tiva
- TM4C129X <#titm4c129x>`__.
- - FLASH and EEPROM drivers from Shirshak Sengupta were included in
- NuttX-7.25.
- Refer to the EK-TM4C1294XL board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/tiva/tm4c1294-launchpad/README.txt>`__
- file for more detailed information about this port.
- TI/Tiva TM4C129X
- ----------------
- This port uses the TI Tiva C Series TM4C129X Connected
- Development Kit `(DK-TM4C129X) <http://www.ti.com/tool/dk-tm4c129x>`__.
- **STATUS:**
- - A mature port to the DK-TM4C129X was implemented and was released in
- NuttX 7.7.
- - At the initial release, verified drivers were available for Ethernet
- interface, I2C, and timers as well as board LEDs and push buttons.
- Other Tiva/Stellaris drivers should port to the TM4C129X without
- major difficulty.
- - This board supports included two configurations for the NuttShell
- (:ref:`NSH <nsh>`). Both
- are networked enabled: One configured to support IPv4 and one
- configured to supported IPv6. Instructions are included in the board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/tiva/dk-tm4c129x/README.txt>`__
- file for configuring both IPv4 and IPv6 simultaneously.
- - Tiva PWM and Quadrature Encoder drivers were contributed to NuttX in
- 7.18 by Young.
- Refer to the DK-TM4C129X board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/tiva/dk-tm4c129x/README.txt>`__
- file for more detailed information about this port.
- TI/SimpleLink CC13x2
- --------------------
- Basic, unverified architectural support for the
- CC13x2 was added in NuttX-7.28. Fragmentary support for very similar
- CC26x2 family is included. This is a work in progress and, with any
- luck, a fully verified port will be available in NuttX-7.29. It is
- currently code complete (minus some ROM *DriverLib* hooks) but untested.
- **TI LaunchXL-CC1312R1**. Basic board support for the TI
- LaunchXL-CC1312R1 board is in place. Board bring-up, however, cannot be
- done until the the basic CC13x2 architecture support is complete,
- hopefully in NuttX-7.29.
- Microchip SAM4L
- ---------------
- This port uses the Microchip SAM4L Xplained Pro development
- board. This board features the ATSAM4LC4C MCU running at 48MHz with
- 256KB of FLASH and 32KB of internal SRAM.
- **STATUS:** As of this writing, the basic port is code complete and a
- fully verified configuration exists for the NuttShell
- :ref:`NSH <nsh>`). The first
- fully functional SAM4L Xplained Pro port was released in NuttX-6.28.
- Support for the SAM4L Xplained modules was added in NuttX-6.29:
- - Support for the SPI-based SD card on the I/O1 module.
- - Driver for the LED1 segment LCD module.
- - Support for the UG-2832HSWEG04 OLED on the SAM4L Xplained Pro's OLED1
- module
- Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/sam34/sam4l-xplained/README.txt>`__
- file for further information.
- **Memory Usage**. The ATSAM4LC4C comes in a 100-pin package and has
- 256KB FLASH and 32KB of SRAM. Below is the current memory usage for the
- NSH configuration (June 9, 2013). This is *not* a minimal
- implementation, but a full-featured NSH configuration.
- Static memory usage can be shown with ``size`` command:
- NuttX, the NSH application, and GCC libraries use 42.6KB of FLASH
- leaving 213.4B of FLASH (83.4%) free from additional application
- development. Static SRAM usage is about 2.3KB (<7%) and leaves 29.7KB
- (92.7%) available for heap at runtime.
- SRAM usage at run-time can be shown with the NSH ``free`` command. This
- runtime memory usage includes the static memory usage *plus* all dynamic
- memory allocation for things like stacks and I/O buffers:
- You can see that 22.8KB (71.1%) of the SRAM heap is still available for
- further application development while NSH is running.
- Microchip SAM4CM
- ----------------
- General architectural support was provided for SAM4CM
- family in NuttX 7.3 This was *architecture-only* support, meaning that
- support for the boards with these chips is available, but no support for
- any publicly available boards was included. The SAM4CM port should be
- compatible with most of the SAM3/4 drivers (like HSMCI, DMAC, etc.) but
- those have not be verified on hardware as of this writing. This support
- was contributed in part by Max Neklyudov.
- **Microchip SAM4CMP-DB**. Support for the SAM4CMP-DB board was contributed
- to NuttX by Masayuki Ishikawa in NuttX-7.19. The SAM4CM is a dual-CPU
- part and SMP was included for the ARMv7-M and SAM3/4 families. The
- SAM4CMP-DB board support includes an NSH configuration that operates in
- an SMP configuration. Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/sam34/sam4cmp-db/README.txt>`__
- file for further information.
- Microchip SAM4E
- ---------------
- General architectural support was provided for the SAM4E
- family in NuttX 6.32. This was *architecture-only* support, meaning that
- support for the boards with these chips is available, but no support for
- any publicly available boards was included. This support was contributed
- in part by Mitko.
- **Microchip SAM4E-EK**. Board support was added for the SAM4E-EK development
- board in NuttX 7.1. A fully functional NuttShell (NSH) configuration is
- available (see :ref:`NSH <nsh>`). That NSH
- configuration includes networking support and support for an AT25 Serial
- FLASH file system.
- Microchip SAM4S
- ---------------
- There are ports to two Microchip SAM4S board:
- - There is a port the Microchip SAM4S Xplained development board. This
- board features the ATSAM4S16 MCU running at 120MHz with 1MB of FLASH
- and 128KB of internal SRAM.
- - There is also a port to the Microchip SAM4S Xplained *Pro* development
- board. This board features the ATSAM4S32C MCU running at 120MHz with
- 2MB of FLASH and 160KB of internal SRAM.
- Microchip SAM4E. General architectural support was provided for the SAM4E
- family in NuttX 6.32. This was *architecture-only* support, meaning that
- support for the boards with these chips is available, but no support for
- any publicly available boards was included. This support was contributed
- in part by Mitko.
- **Microchip SAM4E-EK**. Board support was added for the SAM4E-EK development
- board in NuttX 7.1. A fully functional NuttShell (NSH) configuration is
- available (see :ref:`NSH <nsh>`). That NSH
- configuration includes networking support and support for an AT25 Serial
- FLASH file system.
- **Development Environments:** 1) Linux with native Linux GNU toolchain,
- 2) Cygwin/MSYS with Cygwin GNU Cortex-M3 or 4 toolchain, 3) Cygwin/MSYS
- with Windows native GNU Cortex-M3 or M4 toolchain (CodeSourcery or
- devkitARM), or 4) Native Windows. A DIY toolchain for Linux or Cygwin is
- provided by the NuttX
- `buildroot <https://bitbucket.org/nuttx/buildroot/downloads/>`__
- package.
- ARM Cortex-M7
- =============
- Microchip SAMV71
- ----------------
- This port uses Microchip SAM V71 Xplained Ultra Evaluation Kit
- (SAMV71-XULT). This board features the ATSAMV71Q21 Cortex-M7
- microcontroller. Refer to the `Microchip web
- site <http://www.atmel.com/tools/atsamv71-xult.aspx>`__ for further
- information about this board.
- **STATUS:** The basic port is complete and there are several different,
- verified configurations available. All configurations use the NuttShell
- (NSH) and a serial console. The first release of the SAMV71-XULT port
- was available in NuttX-7.9. Support for the connect maXTouch Xplained
- Pro LCD as added in NuttX-7.10.
- Additional drivers, with status as of 2015-04-03, include:
- - PIO configuration, including PIO interrupts,
- - On-board LEDs and buttons,
- - DMA,
- - SDRAM (not yet functional),
- - UART/USART-based serial drivers, including the NuttShell serial
- console,
- - High Speed Memory Card Interface (HSMCI) with support for the on
- board SD card slot,
- - SPI (not fully tested),
- - TWIHS/I2C, with the support for the on-board serial EEPROM,
- - SSC/I2S (not fully tested),
- - Ethernet MAC,
- - USB device controller driver (complete, partially functional, but not
- well tested).
- - On-board AT24 I2C EEPROM.
- - On-board WM8904 Audio CODEC with CS2100-CP Fractional-N Multiplier
- (not yet tested).
- - Support for the (optional) maXTouch Xplained Pro LCD module.
- Additional Drivers added in NuttX-7.11 include:
- - MCAN CAN device driver (fully verified in loopback mode only).
- - SPI slave driver.
- Additional Drivers added in NuttX-7.13 include:
- - MPU and protected build mode support.
- - Timer/Counter driver, one-shot timer, free-running timer support.
- - *Tickless* mode of operation.
- - QuadSPI driver.
- - Support for programming on-chip FLASH.
- And in NuttX-7.14:
- - TRNG driver,
- - WDT driver, and
- - RSWDT driver.
- Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/samv7/samv71-xult/README.txt>`__
- file for further information.
- Microchip SAME70
- ----------------
- This port uses Microchip SAM E70 Xplained Evaluation Kit
- (ATSAME70-XPLD). This board is essentially a lower cost version of the
- SAMV71-XULT board featuring the ATSAME70Q21 Cortex-M7 microcontroller.
- See the `Microchip SAMV71 <#at91samv71>`__ for supported features. Also
- refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/samv7/same70-xplained/README.txt>`__
- file for further information.
- Microchip SAMD5x/E5x
- --------------------
- The port of NuttX to Adafruit Metro M4 development
- board was released with NuttX-7/26. This board is essentially a advanced
- version of the Adafruit Metro board based on the SAMD21, but upgraded to
- the SAMD51, specifically the SAMD51J19. See the
- `Adafruit <https://www.adafruit.com/product/3382>`__ web page for
- additional information about the board.
- A fully-function, basic NuttShell (NSH) configuration was was available
- in this initial NuttX-7.26 release. That initial port verifies clock
- configuration boot-up logic, SysTick timer, and SERCOM USART for the
- serial console. The NSH configuration also includes use of the Cortex-M
- Cache Controller (CMCC) which give the SAMD51's Cortex-M4 a performance
- boost.
- Because of the similarity in peripherals, several drivers were brought
- in from the SAML21 port. Most have not been verified as of the
- NuttX-7.26 release. These unverfied drivers include: SPI, I2C, DMA, USB.
- Also refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/samd5e5/metro-m4/README.txt>`__
- file for further information about the current state of the port.
- NuttX-9.0 added basic support for Microchip SAME54 Xplained Pro board.
- An ethernet driver was also added to the SAME5x family.
- STMicro STM32 F72x/F73x
- -----------------------
- Support for the F72x/F73x family was provided
- by Bob Feretich in NuttX-7.23. A single board is supported in this
- family:
- **STATUS**: See `below <#stm32f7drivers>`__ for STM32 F7 driver
- availability.
- STMicro STM32 F745/F746
- -----------------------
- Three boards are supported for this MCU:
- #. **STM32F746G Discovery**. One port uses the STMicro STM32F746G-DISCO
- development board featuring the STM32F746NGH6 MCU. The STM32F746NGH6
- is a 216MHz Cortex-M7 operation with 1024Kb Flash. The first release
- of the STM32F746G_DISCO port was available in NuttX-7.11. Refer to
- the `STMicro web site <http://www.st.com/stm32f7-discovery>`__ for
- further information about this board.
- #. **Nucleo-144 board with STM32F746ZG**. A basic port for the
- Nucleo-144 board with the STM32F746ZG MCU was contributed in
- NuttX-7.16 by Kconstantin Berezenko.
- STM32 F7 Driver Status:
- - **NuttX-7.11**. Serial driver and Ethernet driver support, along with
- DMA support, were available in this initial release. The STM32 F7
- peripherals are very similar to some members of the STM32 F4 and
- additional drivers can easily be ported the F7 as discussed in this
- Wiki page: `Porting Drivers to the STM32
- F7 <https://cwiki.apache.org/confluence/display/NUTTX/Porting+Drivers+to+the+STM32+F7>`__
- - **NuttX-7.17**. David Sidrane contributed PWR, RTC, BBSRAM, and
- DBGMCU support. Lok Tep contribed SPI, I2c, ADC, SDMMC, and USB
- device driver support.
- - **NuttX-7.22**. Titus von Boxberg also contributed LTDC support for
- the onboard LCD in NuttX-7.22.
- - **NuttX-7.29**. In NuttX-7.29, Valmantas Paliksa added a timer
- lowerhalf driver for STM32F7, ITM syslog support, a CAN driver with
- support for three bxCAN interfaces, and STM32F7 Quad SPI support.
- Support for DMA and USB OTG was added by Mateusz Szafoni in
- NuttX-7.29.
- - **NuttX-7.30**. From Eduard Niesner contributed a PWM driver. Added
- UID access from Valmantas Paliksa. USB High speed driver was added
- for STM32F7 series by Ramtin Amin.
- - **NuttX-9.0**. Added serial DMA support.
- STMicro STM32 F756
- ------------------
- Architecture-only support is available for the STM32
- F756 family (meaning that the parts are supported, but there is no
- example board supported in the system). This support was made available
- in NuttX-7.11. See `above <#stm32f7drivers>`__ for STM32 F7 driver
- availability.
- STMicro STM32 F76xx/F77xx
- -------------------------
- Architecture support for the STM32 F76xx and
- F77xx families was contributed by David Sidrane in NuttX 7.17. Support
- is available for two boards from this family:
- - **Nucleo-F767ZI**. This is a member of the Nucleo-144 board family.
- Support for this board was also contributed by David Sidrane in
- NuttX-7.17. See the board
- `README.txt <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32f7/nucleo-144/README.txt>`__
- file for further information.
- - **STM32F76I-DISCO**. Support for the STM32F76I-DISCO was contributed
- by Titus von Boxberg in NuttX-7.22. The STMicro STM32F769I-DISCO
- development board features the STM32F769NIH6 MCU. The STM32F769NIH6
- is a 216MHz Cortex-M7 operating with 2048K Flash memory and 512Kb
- SRAM. The board features:
- - On-board ST-LINK/V2 for programming and debugging,
- - Mbed-enabled (mbed.org)
- - 4-inch 800x472 color LCD-TFT with capacitive touch screen
- - SAI audio codec
- - Audio line in and line out jack
- - Two ST MEMS microphones
- - SPDIF RCA input connector
- - Two pushbuttons (user and reset)
- - 512-Mbit Quad-SPI Flash memory
- - 128-Mbit SDRAM
- - Connector for microSD card
- - RF-EEPROM daughterboard connector
- - USB OTG HS with Micro-AB connectors
- - Ethernet connector compliant with IEEE-802.3-2002 and PoE
- Refer to the http://www.st.com website for further information about
- this board (search keyword: stm32f769i-disco). See also the board
- `README.txt <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32f7/nucleo-144/README.txt>`__
- file for further information.
- **STATUS**: See `above <#stm32f7drivers>`__ for STM32 F7 driver
- availability.
- STMicro STM32 H7x3
- ------------------
- Architecture support for the STM32 H7x3 was added
- through efforts of several people in NuttX-7.26. Support is available
- for one board from this family:
- - **Nucleo-H743ZI**. This is a member of the Nucleo-144 board family.
- Support for this board was added in NuttX-7.26. See the board
- `README.txt <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32h7/nucleo-h743zi/README.txt>`__
- file for further information.
- The basic NSH configuration is fully, thanks to the bring-up efforts
- of Mateusz Szafoni. This port is still a work in progress and
- additional drivers are being ported from the F7 family.
- - **STMicro STM32H747I-DISCO**. Support for this board was added in
- NuttX-9.0. See the board
- `README.txt <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32h7/stm32h747i-disco/README.txt>`__
- file for further information.
- This port is still a work in progress.
- **NuttX-7.30**. Added support for Ethernet, SDMMC, and Timer drivers.
- All from Jukka Laitinen.
- **NuttX-8.1**. Added support for BBSRAM, DTCM, RTC, and UID. All from
- David Sidrane.
- **NuttX-8.2**. Added support for SDMMC and FLASH progmem. From David
- Sidrane.
- **NuttX-9.0**. Added QSPI support for the STM32H7.
- NXP/Freescale i.MX RT
- ---------------------
- The initial port to the IMXRT1050-EVKB featuring
- the MIMXRT1052DVL6A *Crossover* MCU was included initially in
- NuttX-7.25. The initial port was the joint effort of Janne Rosberg, Ivan
- Ucherdzhiev, and myself. Ivan gets credit for the bulk of the bring-up
- work and for the Hyper FLASH boot logic.
- Another port, this one for the IMXRT1060-EVKB featuring the
- MIMXRT1062DVL6A *Crossover* MCU, was added by David Sidrane in
- NuttX-7.27.
- **STATUS:**
- - The basic IMXRT1050-EVK port is complete and verified configurations
- are available. Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/imxrt/imxrt1050-evk/README.txt>`__
- file for further information.
- - The basic IMXRT1060-EVK port was complete but un-verified as of
- NuttX-7.27 but has been fully verified since NuttX-7.27 Refer to the
- NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/imxrt/imxrt1060-evk/README.txt>`__
- file for more current status information.
- - Architecture-only support for the IMXRT1020 family was contributed in
- NuttX-7.30 by Dave Marples.
- - The basic IMXRT1020-EVK port was complete with verified
- configurations in NuttX-8.2. This is again the work of Dave Marples.
- The initial release includes *nsh*, *netnsh*, and *usdhc*
- configurations. Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/imxrt/imxrt1020-evk/README.txt>`__
- file for further information.
- - The basic Teensy-4.x port is complete. Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/imxrt/teensy-4.x/README.txt>`__
- file for further information.
- **i.MX RT Driver Status:**
- - **NuttX-7.25**. The initial release in NuttX-7.25 includes UART,
- Timer, GPIO, DMA, and Ethernet support (Ethernet support was
- contributed by Jake Choy).
- - **NuttX-7.26**. NuttX-7.26 added RTC, SNVS, and Serial TERMIOS
- support.
- - **NuttX-7.27**. NuttX-7.27 added LPI2C (from Ivan Ucherdzhiev) and SD
- card support via USDHC (from Dave Marples).
- - **NuttX-7.28**. GPIO support Input daisy selection was added in
- NuttX-7.28 by David Sidrane
- - **NuttX-7.29**. XBAR and OCOTP support was added in NuttX-7.28 by
- David Sidrane. LCD Framebuffer support was added by Johannes.
- - **NuttX-7.31**. USB EHCI Host and USDHC drivers were added in
- NuttX-7.31 by Dave Marples.
- - **NuttX-8.2**. An LCD drivers was added in NuttX-8.2 by Fabio
- Balzano.
- **NuttX-9.0**. Added USB Device support.
- **Development Environments:** The same basic development environment is
- recommended for the Cortex-M7 as for the Cortex-M4. It would be wise to
- use the latest GNU toolchains for this part because as of this writing
- (2015-02-09), support for the Cortex-M7 is a very new GCC feature.
- Microchip AVR
- =============
- AVR ATMega
- ----------
- AVR ATMega128
- -------------
- This port of NuttX to the Amber Web Server from
- `SoC Robotics <http://www.soc-robotics.com/index.htm>`__ is partially
- completed. The Amber Web Server is based on an Microchip ATMega128.
- AVR ATMega1284P
- ---------------
- LowPowerLab MoteinoMEGA. This port of NuttX to the MoteinoMEGA from
- `LowPowerLab <http://www.lowpowerlab.com>`__. The MoteinoMEGA is based
- on an Microchip ATMega1284P. See the LowPowerlab
- `website <https://lowpowerlab.com/shop/index.php?_route_=Moteino/moteinomega>`__
- and the board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/avr/atmega/moteino-mega/README.txt>`__
- file for further information.
- AVR ATMega2560
- --------------
- Extension of the AVR architecture to support the
- ATMega2560 and specifi support for the Arduion MEGA2560 board were
- contributed by Dimitry Kloper and first released in NuttX-7.14.
- AVR AT90USB64x and AT90USB6128x
- -------------------------------
- **Micropendous 3 AT90USB64x** and **AT90USB6128x**. This port of NuttX
- to the Opendous Micropendous 3 board. The Micropendous3 is may be
- populated with an AT90USB646, 647, 1286, or 1287. I have only the
- AT90USB647 version for testing. This version have very limited memory
- resources: 64K of FLASH and 4K of SRAM.
- **PJRC Teensy++ 2.0 AT90USB1286**. This is a port of NuttX to the PJRC
- Teensy++ 2.0 board. This board was developed by
- `PJRC <http://pjrc.com/teensy/>`__. The Teensy++ 2.0 is based on an
- Microchip AT90USB1286 MCU.
- **AVR-Specific Issues**. The basic AVR port is solid. The biggest issue
- for using AVR is its tiny SRAM memory and its Harvard architecture.
- Because of the Harvard architecture, constant data that resides to flash
- is inaccessible using "normal" memory reads and writes (only SRAM data
- can be accessed "normally"). Special AVR instructions are available for
- accessing data in FLASH, but these have not been integrated into the
- normal, general purpose OS.
- Most NuttX test applications are console-oriented with lots of strings
- used for ``printf()`` and debug output. These strings are all stored in
- SRAM now due to these data accessing issues and even the smallest
- console-oriented applications can quickly fill a 4-8K memory. So, in
- order for the AVR port to be useful, one of two things would need to be
- done:
- #. Don't use console applications that required lots of strings. The
- basic AVR port is solid and your typical deeply embedded application
- should work fine. Or,
- #. Create a special version of printf that knows how to access strings
- that reside in FLASH (or EEPROM).
- **Development Environments:** 1) Linux with native Linux GNU toolchain,
- 2) Cygwin/MSYS with Cygwin GNU toolchain, 3) Cygwin/MSYS with Windows
- native toolchain, or 4) Native Windows. All testing, however, has been
- performed using the NuttX DIY toolchain for Linux or Cygwin is provided
- by the NuttX
- `buildroot <https://bitbucket.org/nuttx/buildroot/downloads/>`__
- package. As a result, that toolchain is recommended.
- Microchip AVR32
- ===============
- AV32DEV1. This port uses the www.mcuzone.com AVRDEV1 board based on the
- Microchip AT32UC3B0256 MCU. This port requires a special GNU avr32 toolchain
- available from atmel.com website. This is a windows native toolchain and
- so can be used only under Cygwin on Windows.
- **STATUS:** This port is has completed all basic development, but there
- is more that needs to be done. All code is complete for the basic NuttX
- port including header files for all AT32UC3\* peripherals. The untested
- AVR32 code was present in the 5.12 release of NuttX. Since then, the
- basic RTOS port has solidified:
- - The port successfully passes the NuttX OS test
- (apps/examples/ostest).
- - A NuttShell (NSH) configuration is in place (see :ref:`NSH <nsh>`).
- Testing of that configuration has been postponed (because it got
- bumped by the Olimex LPC1766-STK port). Current Status: I think I
- have a hardware problem with my serial port setup. There is a good
- chance that the NSH port is complete and functional, but I am not yet
- able to demonstrate that. At present, I get nothing coming in the
- serial RXD line (probably because the pins are configured wrong or I
- have the MAX232 connected wrong).
- The basic, port was be released in NuttX-5.13. A complete port will
- include drivers for additional AVR32 UC3 devices -- like SPI and USB ---
- and will be available in a later release, time permitting. Refer to the
- NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/avr/at32uc3/avr32dev1/README.txt>`__
- file for further information.
- Misoc
- =====
- Misoc LM32 Architectural Support. Architectural support for the Misoc
- LM32 was contributed by Ramtin Amin in NuttX 7.19
- Minerva. Architectural support for the Misoc Minoerva was contributed by
- Ramtin Amin in NuttX 7.29.
- **Drivers**. Driver support is basic in these initial releases: Serial,
- Timer, and Ethernet. "Board" support is a available for developing with
- Misoc LM32 under Qemu or on your custom FPGA.
- OpenRISC mor1kx
- ===============
- **OpenRISC mor1kx Architectural Support**. Architectural support for the
- OpenRISC mor1kx was developed by Matt Thompson Amin and released in
- NuttX 7.25. Currently only an mor1kx Qemu simulation is available for
- testing.
- Freescale M68HCS12
- ==================
- **MC9S12NE64**. Support for the MC9S12NE64 MCU and two boards are
- included:
- - The Freescale DEMO9S12NE64 Evaluation Board, and
- - The Future Electronics Group NE64 /PoE Badge board.
- Both use a GNU arm-nuttx-elf toolchain\* under Linux or Cygwin. The
- NuttX `buildroot <https://bitbucket.org/nuttx/buildroot/downloads/>`__
- provides a properly patched GCC 3.4.4 toolchain that is highly optimized
- for the m9s12x family.
- Intel 80x86
- ===========
- **QEMU/Bifferboard i486**. This port uses the
- `QEMU <http://wiki.qemu.org/Main_Page>`__ i486 and the native Linux,
- Cygwin, MinGW the GCC toolchain under Linux or Cygwin.
- **STATUS:** The basic port was code-complete in NuttX-5.19 and verified
- in NuttX-6.0. The port was verified using the OS and NuttShell (NSH)
- examples under QEMU. The port is reported to be functional on the
- `Bifferboard <http://bifferos.bizhat.com>`__ as well. In NuttX 7.1,
- Lizhuoyi contributed additional keyboard and VGA drivers. This is a
- great, stable starting point for anyone interested in fleshing out the
- x86 port! Refer to the NuttX
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/x86/qemu/qemu-i486/README.txt>`__
- file for further information.
- **QEMU/Intel64** An x86_64 flat address port was ported in NuttX-9.0. It
- consists of the following feautres:
- - - Runs in x86_64 long mode.
- - - Configurable SSE/AVX support.
- - - IRQs are managed by LAPIC(X2APIC) and IOAPIC.
- - - Used TSC_DEADLINE or APIC timer for systick.
- - - Pages are now maps the kernel at 4GB~, but changeable.
- This kernel with ostest have been tested with
- - Qemu/KVM on a Xeon 2630v4 machine.
- - Bochs with broadwell_ult emulation.
- Microchip PIC32MX
- =================
- (MIPS M4K architecture)
- Microchip PIC32MX2xx
- --------------------
- A port is in progress from the DTX1-4000L "Mirtoo"
- module from `Dimitech <http://www.dimitech.com/>`__. This module uses
- Microchip PIC32MX250F128D and the Dimitech DTX1-4000L EV-kit1 V2. See
- the `Dimitech <http://www.dimitech.com/>`__ website for further
- information.
- Microchip PIC32MX4xx
- --------------------
- **PIC32MX440F512H**. This port uses the "Advanced USB Storage Demo
- Board," Model DB-DP11215, from `Sure
- Electronics <http://www.sureelectronics.net>`__. This board features the
- Microchip PIC32MX440F512H.
- **PIC32MX460F512L**. There one two board ports using this chip:
- - **PIC32MX Board from PCB Logic Design Co**. This port is for the
- PIC32MX board from PCB Logic Design Co. and used the PIC32MX460F512L.
- The board is a very simple -- little more than a carrier for the
- PIC32 MCU plus voltage regulation, debug interface, and an OTG
- connector.
- - **UBW32 Board from Sparkfun** This is the port to the Sparkfun UBW32
- board. This port uses the `original
- v2.5 <http://www.sparkfun.com/products/8971>`__ board which is based
- on the Microchip PIC32MX460F512L. This older version has been
- replaced with this `newer
- board <http://www.sparkfun.com/products/9713>`__. See also the
- `UBW32 <http://www.schmalzhaus.com/UBW32/>`__ web site.
- Microchip PIC32MX7xx
- --------------------
- PIC32MX795F512L. There one two board ports using this chip:
- - **Microchip PIC32 Ethernet Starter Kit**. This port uses the
- Microchip PIC32 Ethernet Starter Kit (DM320004) with the Expansion
- I/O board. See the `Microchip website <http://www.microchip.com>`__
- for further information.
- - **Mikroelektronika PIC32MX7 Mulitmedia Board (MMB)**. A port has been
- completed for the Mikroelektronika PIC32MX7 Multimedia Board (MMB).
- See http://www.mikroe.com/ for further information about this board.
- **Development Environment:** These ports uses either:
- #. The *LITE* version of the PIC32MX toolchain available for download
- from the `Microchip <http://www.microchip.com>`__ website, or
- #. The Pinguino MIPS ELF toolchain available from the Pinguino
- `website <https://code.google.com/archive/p/pinguino32/>`__.
- #. The MIPS SDE toolchain available from the `Mentor
- Graphics <http://www.mentor.com>`__ website.
- Microchip PIC32MZEC
- -------------------
- PIC32MZEC Family (MIPS microAptiv). A port is in available for the
- PIC32MZ Embedded Connectivity (EC) Starter Kit. There are two
- configurations of the Microchip PIC32MZ EC Starter Kit:
- #. The PIC32MZ Embedded Connectivity Starter Kit based on the
- PIC32MZ2048ECH144-I/PH chip (DM320006), and
- #. The PIC32MZ Embedded Connectivity Starter Kit based on the
- PIC32MZ2048ECM144-I/PH w/Crypto Engine (DM320006-C).
- See the `Microchip <http://www.microchip.com>`__ website for further
- information.
- This was a collaborative effort between Kristopher Tate, David Sidrane
- and myself. The basic port is functional and a NuttShell (NSH)
- configuration is available.
- Microchip PIC32MZEF
- ===================
- (MIPS M5150 architecture).
- A port is in available for the MikroElectronika `Flip&Click
- PIC32MZ <https://www.mikroe.com/flipclick-pic32mz>`__ development board
- based on the PIC32MZ2048EFH100 MCU. This board configuration was added
- in NuttX-7.24 and is, for the most part, compatible with the PIC32MZEC
- family.
- **STATUS:**
- **NuttX-7.9**. The first official release was in NuttX-7.9. Many drivers
- port simply from the PIC32MX; others require more extensive efforts.
- Driver status as of (2015-03-29) is provided below:
- - I/O ports include I/O port interrupts
- - UART serial driver that provides the NSH console,
- - Timer,
- - I2C (untested),
- - SPI (untested),
- - On-board buttons and LEDs,
- - Ethernet (code complete, but not yet functional),
- **NuttX-7.29**. Abdelatif Guettouche contributed additional timer
- support including: Timer lower half driver, free-running, and one-shot
- timers.
- **NuttX-7.31**. Abdelatif Guettouche contributed DMA support.
- **NuttX-9.0**. Cache operations were implemented.
- Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/mips/pic32mz/pic32mz-starterkit/README.txt>`__
- file for further information.
- **Development Environment:** Same as for the PIC32MZ.
- Renesas/Hitachi SuperH
- ======================
- **SH-1 SH7032**. This port uses the Hitachi SH-1 Low-Cost Evaluation
- Board (SH1_LCEVB1), US7032EVB, with a GNU ELF toolchain\* under Linux or
- Cygwin.
- Renesas M16C/26
- ---------------
- **Renesas M16C/26 Microcontroller**. This port uses the Renesas SKP16C26
- Starter kit and the GNU M32C toolchain. The development environment is
- either Linux or Cygwin under WinXP.
- **STATUS:** Initial source files released in nuttx-0.4.2. At this point,
- the port has not been integrated; the target cannot be built because the
- GNU ``m16c-nuttx-elf-ld`` link fails with the following message:
- Where the reference line is:
- No workaround is known at this time. This is a show stopper for M16C.
- Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/renesas/m16c/skp16c26/README.txt>`__
- file for further information.
- Renesas RX65N
- -------------
- Support for the Renesas RX65N family was released in NuttX with a
- contribution from Anjana. Two boards are supported in this initial
- release:
- - **RSK RX65N-2MB**.
- - **GR-Rose**.
- **STATUS**
- - **NuttX-8.2**
- - **NuttX-9.0** RTC driver for the RX65N was added.
- RISC-V
- ======
- RISC-V Architectural Support. Basic support for the RISC-V architecture
- was contributed by Ken Pettit in NuttX-7.19.
- `Sipeed Maix bit <#k210>`__
- Initial support for the Sipeed Maix bit board was added in NuttX-9.0.
- LiteX on ARTY A7
- ----------------
- Support for the Digilent ARTY_A7 board along with CPU VexRiscV SOC were
- added in NuttX-9.0.
- ESP32 (Dual Xtensa LX6)
- =======================
- Xtensa LX6 ESP32
- ----------------
- Basic architectural support for Xtensa LX6 processors and the port for
- the Espressif ESP32 were added in NuttX-7.19. The basic ESP32 port is
- function in both single CPU and dual CPU SMP configurations.
- **Espressif ESP32 DevkitC V4 Board** The NuttX release includes support for
- Espressif ESP32 DevkitC V4 board. There is an NSH configuration for each
- CPU configuration and an OS test configuration for verification of the
- port.
- **STATUS**. ESP32 support in NuttX-7.19 is functional, but very
- preliminary. There is little yet in the way of device driver support.
- Outstanding issues include missing clock configuration logic, missing
- partition tables to support correct configuration from FLASH, and some
- serial driver pin configuration issues. The configuration is usable
- despite these limitations. Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/xtensa/esp32/esp32-devkitc/README.txt>`__
- file for further information.
- Release NuttX-10.0.0 brought a bunch of additions to the ESP32 port. This
- includes: I2C, SPI, RTC, PM, Timers, Watchdog Timer and Ethernet.
- Zilog ZNEO Z16F
- ===============
- **Zilog z16f2800100zcog development kit**. This port use the Zilog
- z16f2800100zcog development kit and the Zilog ZDS-II Windows command
- line tools. The development environment is either Windows native or
- Cygwin under Windows.
- **STATUS:** The initial release of support for the z16f was made
- available in NuttX version 0.3.7. A working NuttShell (NSH)
- configuration as added in NuttX-6.33 (although a patch is required to
- work around an issue with a ZDS-II 5.0.1 tool problem). An ESPI
- driver was added in NuttX-7.2. Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/z16/z16f/z16f2800100zcog/README.txt>`__
- file for further information.
- Zilog eZ80 Acclaim!
- ===================
- **Zilog eZ80Acclaim! Microcontroller**. There are four eZ80Acclaim!
- ports:
- - The ZiLOG ez80f0910200kitg development kit.
- - The ZiLOG ez80f0910200zcog-d development kit.
- - The MakerLisp CPU board.
- - The Z20x DIY computing system.
- All three boards are based on the eZ80F091 part and all use the Zilog
- ZDS-II Windows command line tools. The development environment is either
- Windows native or Cygwin or MSYS2 under Windows.
- It is also possible to compile using ``clang`` and the GNU ``binutils``
- toolchain. You must have a variant of ``clang`` that supports the eZ80,
- and an install of ``binutils`` built with Z80 support.
- ``clang`` with eZ80 support is available as part of the Texas Instruments
- CE 85+ unofficial `toolchain <https://ce-programming.github.io/toolchain/>`
- and requires a further `patch <https://github.com/codebje/ez80-toolchain/tree/master/clang>`
- to support GNU assembler syntax.
- GNU ``binutils`` supports the Z80 family. It will require compilation with
- appropriate configuration to enable support.
- C intrinsics are also required. Some may be found in the Zilog ZDS-II
- distribution, requiring some modification to build with the GNU assembler.
- Additional intrinsics for 64-bit support must be supplied.
- Zilog Z8Encore!
- ===============
- **Zilog Z8Encore! Microcontroller**. This port uses the either:
- - Zilog z8encore000zco development kit, Z8F6403 part, or
- - Zilog z8f64200100kit development kit, Z8F6423 part
- and the Zilog ZDS-II Windows command line tools. The development
- environment is either Windows native or Cygwin under Windows.
- **STATUS:** This release has been verified only on the ZiLOG ZDS-II
- Z8Encore! chip simulation as of nuttx-0.3.9. Refer to the NuttX board
- README files for the
- `z8encore000zco <https://github.com/apache/incubator-nuttx/blob/master/boards/z80/z8/z8encore000zco/README.txt>`__
- and for
- the\ `z8f64200100kit <https://github.com/apache/incubator-nuttx/blob/master/boards/z80/z8/z8f64200100kit/README.txt>`__
- for further information.
- Zilog Z180
- ==========
- **P112**. The P112 is a hobbyist single board computer based on a 16MHz
- Z80182 with up to 1MB of memory, serial, parallel and diskette IO, and
- realtime clock, in a 3.5-inch drive form factor. The P112 computer
- originated as a commercial product of "D-X Designs Pty Ltd"[ of
- Australia.
- Dave Brooks was successfully funded through Kickstarter for and another
- run of P112 boards in November of 2012. In addition Terry Gulczynski
- makes additional P112 derivative hobbyist home brew computers.
- **STATUS:** Most of the NuttX is in port for both the Z80182 and for the
- P112 board. Boards from Kickstarter project will not be available,
- however, until the third quarter of 2013. So it will be some time before
- this port is verified on hardware. Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/z80/z180/p112/README.txt>`__
- file for further information.
- Zilog Z80
- =========
- **Z80 Instruction Set Simulator**. This port uses the
- `SDCC <http://sdcc.sourceforge.net/>`__ toolchain under Linux or Cygwin
- (verified using version 2.6.0). This port has been verified using only a
- Z80 instruction simulator called z80sim.
- **STATUS:** This port is complete and stable to the extent that it can
- be tested using an instruction set simulator. Refer to the NuttX board
- `README <https://github.com/apache/incubator-nuttx/blob/master/boards/z80/z80/z80sim/README.txt>`__
- file for further information.
- **XTRS: TRS-80 Model I/III/4/4P Emulator for Unix**. A very similar Z80
- port is available for `XTRS <http://www.tim-mann.org/xtrs.html>`__, the
- TRS-80 Model I/III/4/4P Emulator for Unix. That port also uses the
- `SDCC <http://sdcc.sourceforge.net/>`__ toolchain under Linux or Cygwin
- (verified using version 2.6.0).
- **STATUS:** Basically the same as for the Z80 instruction set simulator.
- This port was contributed by Jacques Pelletier. Refer to the NuttX board
- `README <https://bitbucket.org/patacongo/obsoleted/src/master/configs/xtrs/README.txt>`__
- file for further information.
- **NOTE:** This port was removed from the NuttX source tree on
- 2017-11-24. It was removed because (1) it is unfinished, unverified, and
- unsupported, and (2) the TRS-80 simulation is a sub-optimal platform.i
- That platform includes a 16-bit ROM image and only a 48Kb RAM space for
- NuttX. The removed board support is still available in the ``Obsoleted``
- repository if anyone would ever like to resurrect it.
- \* A highly modified `buildroot <http://buildroot.uclibc.org/>`__ is
- available that may be used to build a NuttX-compatible ELF toolchain
- under Linux or Cygwin. Configurations are available in that buildroot
- to support ARM, Cortex-M3, avr, m68k, m68hc11, m68hc12, m9s12,
- blackfin, m32c, h8, and SuperH ports.
|