detailed_support.rst 125 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191
  1. =========================
  2. Detailed Platform Support
  3. =========================
  4. **Details**. The details, caveats and fine print follow. For even more
  5. information see the *README* files that can be found
  6. `here <https://cwiki.apache.org/confluence/display/NUTTX/README+Files>`__.
  7. Linux User Mode Simulation
  8. ==========================
  9. A user-mode port of NuttX to the x86 Linux/Cygwin platform is available.
  10. The purpose of this port is primarily to support OS feature development.
  11. ARM7TDMI
  12. ========
  13. TI TMS320-C5471
  14. ---------------
  15. (also called **C5471** or **TMS320DA180** or **DA180**)
  16. NuttX operates on the ARM7 of this dual core processor. This port uses
  17. the `Spectrum Digital <http://www.spectrumdigital.com/>`__ evaluation
  18. board with a GNU arm-nuttx-elf toolchain\* under Linux or Cygwin.
  19. NXP LPC214x
  20. -----------
  21. Support is provided for the NXP LPC214x family of
  22. processors. In particular, support is provided for (1) the mcu123.com
  23. lpc214x evaluation board (LPC2148) and (1) the The0.net ZPA213X/4XPA
  24. development board (with the The0.net UG-2864AMBAG01 OLED) This port also
  25. used the GNU arm-nuttx-elf toolchain\* under Linux or Cygwin.
  26. NXP LPC2378
  27. -----------
  28. Support is provided for the NXP LPC2378 MCU. In particular,
  29. support is provided for the Olimex-LPC2378 development board. This port
  30. was contributed by Rommel Marcelo is was first released in NuttX-5.3.
  31. This port also used the GNU arm-nuttx-elf toolchain\* under Linux or
  32. Cygwin.
  33. STMicro STR71x
  34. --------------
  35. Support is provided for the STMicro STR71x family of
  36. processors. In particular, support is provided for the Olimex STR-P711
  37. evaluation board. This port also used the GNU arm-nuttx-elf toolchain\*
  38. under Linux or Cygwin.
  39. ARM920T
  40. =======
  41. NXP/Freescale i.MX1
  42. -------------------
  43. Or MC9328MX1 – This port uses the Freescale MX1ADS
  44. development board with a GNU arm-nuttx-elf toolchain\* under either
  45. Linux or Cygwin.
  46. ARM926EJS
  47. =========
  48. TI TMS320-DM320
  49. ---------------
  50. (also called **DM320**)
  51. NuttX operates on the ARM9 of
  52. this dual core processor. This port uses the Neuros OSD
  53. with a GNU arm-nuttx-elf toolchain\* under Linux or Cygwin. The port was
  54. performed using the OSD v1.0, development board.
  55. NXP LPC3131
  56. -----------
  57. Two boards based on the NXP LPC3131 are supported:
  58. - First, a port for the NXP LPC3131
  59. on the Embedded Artists EA3131
  60. development board was first released in NuttX-5.1 (but was not
  61. functional until NuttX-5.2).
  62. - A second port to the NXP LPC3131
  63. on the `Olimex
  64. LPC-H3131 <https://www.olimex.com/Products/ARM/NXP/LPC-H3131/>`__
  65. development board was added in NuttX-6.32.
  66. NXP LPC315x
  67. -----------
  68. Support for the NXP LPC315x
  69. family has been incorporated into the code base as of NuttX-6.4. Support
  70. was added for the Embedded Artists EA3152 board in NuttX-6.11.
  71. Other ARMv4
  72. ===========
  73. Moxa NP51x0
  74. -----------
  75. A port to the Moxa NP51x0 series of 2-port advanced
  76. RS-232/422/485 serial device servers was contributed by Anton D.
  77. Kachalov in NuttX-7.11. This port includes :ref:`NSH <nsh>`
  78. configuration with support for the Faraday FTMAC100 Ethernet MAC Driver.
  79. ARM1176JZ
  80. =========
  81. Broadcom BCM2708
  82. ----------------
  83. Very basic support for the Broadcom BCM2708 was released with NuttX-7.23.
  84. Raspberry Pi Zero. This support was provided for the Raspberry Pi Zero
  85. which is based on the BCM2835. Basic logic is in place but the port is
  86. incomplete and completely untested as of the NuttX-7.23 released. Refer
  87. to the NuttX board
  88. `README <https://bitbucket.org/patacongo/obsoleted/src/master/nuttx/boards/pizero/README.txt>`__
  89. file for further information.
  90. **Obsoleted:**: Support for the Raspberry Pi Zero was never completed.
  91. The incomplete port along with all support for the BCM2708 was removed
  92. from the repository with the NuttX-7.28 release but can still be be
  93. found in the *Obsoleted* repository.
  94. ARM Cortex-A5
  95. =============
  96. Microchip SAMA5D2
  97. -----------------
  98. - **Microchip SAMA5D2 Xplained Ultra development board**. This is the port
  99. of NuttX to the Microchip SAMA5D2 Xplained Ultra development board. This
  100. board features the Microchip SAMA5D27 microprocessor.
  101. See https://www.microchip.com/Developmenttools/ProductDetails/ATSAMA5D2C-XULT
  102. - **Groboards Giant Board**. This is the port of NuttX to the Groboards
  103. Giant Board board. This board features the Microchip SAMA5D27C-D1G.
  104. See http://groboards.com/giant-board.
  105. Microchip SAMA5D3
  106. -----------------
  107. There are ports to two Microchip SAMA5D3 boards:
  108. - **Microchip SAMA5D3\ x-EK development boards**. This is the port of NuttX
  109. to the Microchip SAMA5D3\ *x*-EK development boards (where *x*\ =1,3,4,
  110. or 5). These boards feature the Microchip SAMA5D3\ *x* microprocessors.
  111. Four different SAMA5D3\ *x*-EK kits are available
  112. - SAMA5D31-EK with the
  113. `ATSAMA5D31 <http://www.atmel.com/devices/sama5d31.aspx>`__
  114. - SAMA5D33-EK with the
  115. `ATSAMA5D33 <http://www.atmel.com/devices/sama5d33.aspx>`__
  116. - SAMA5D34-EK with the
  117. `ATSAMA5D34 <http://www.atmel.com/devices/sama5d34.aspx>`__
  118. - SAMA5D35-EK with the
  119. `ATSAMA5D35 <http://www.atmel.com/devices/sama5d35.aspx>`__
  120. The each kit consist of an identical base board with different
  121. plug-in modules for each CPU. All four boards are supported by NuttX
  122. with a simple reconfiguration of the processor type.
  123. **STATUS**. Initial support for the SAMA5D3x-EK was released in
  124. NuttX-6.29. That initial support was minimal: There are simple test
  125. configurations that run out of internal SRAM and extended
  126. configurations that run out of the on-board NOR FLASH:
  127. - A barebones NuttShell (:ref:`NSH <nsh>`) configuration
  128. that can be used as the basis for further application development.
  129. - A full-loaded NuttShell (:ref:`NSH <nsh>`) configuration
  130. that demonstrates all of the SAMA5D3x features.
  131. The following support was added in NuttX 6.30:
  132. - DMA support, and
  133. - PIO interrupts,
  134. And drivers for
  135. - SPI (with DMA support),
  136. - AT25 Serial Flash,
  137. - Two Wire Interface (TWI), and
  138. - HSMCI memory cards.
  139. NuttX-6.30 also introduces full USB support:
  140. - High speed device controller driver,
  141. - OHCI (low- and full-speed) and
  142. - EHCI (high-speed) host controller driver support.
  143. With NuttX-6.31, these additional drivers were added:
  144. - A 10/100Base-T Ethernet (EMAC) driver,
  145. - A 1000Base-T Ethernet (GMAC) driver,
  146. - A Real Time Clock (RTC) driver and integrated with the NuttX
  147. system time logic
  148. - ``/dev/random`` using the SAMA5D3x True Random Number Generator
  149. (TRNG),
  150. - A Watchdog Timer (WDT) driver,
  151. - A Timer/Counter (TC) library with interface that make be used by
  152. other drivers that need timer support,
  153. - An ADC driver that can collect multiple samples using the
  154. sequencer, can be trigger by a timer/counter, and supports DMA
  155. data transfers,
  156. - A touchscreen driver based on the special features of the SAMA5D3
  157. ADC peripheral, An LCD controller (LCDC) frame buffer driver, and
  158. - A CAN driver (Testing of the CAN has been delayed because of
  159. cabling issues).
  160. Additional board configurations were added to test and demonstrate
  161. these new drivers including new graphics and NxWM configurations.
  162. These drivers were added in NuttX-6.32:
  163. - A PWM driver with DMA support
  164. - An SSC-based I2S driver
  165. - Support for Programmable clock outputs
  166. - NAND support including support for the PMECC hardware ECC and for
  167. DMA transfers.
  168. DBGU support was added in NuttX-7.2 (primarily for the SAMA5D3
  169. Xplained board).
  170. NuttX-7.4 added support for the on-board WM8904 CODEC chip and for
  171. *Tickless* operation.
  172. Refer to the NuttX board
  173. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/sama5/sama5d3x-ek/README.txt>`__
  174. file for further information.
  175. **Microchip SAMA5D3 Xplained development board** This is the port of NuttX
  176. to the Microchip SAMA5D3 Xplained development board. The board features the
  177. Microchip SAMA5D36 microprocessor. See the `Microchip
  178. Website <http://www.atmel.com/devices/sama5d36.aspx>`__ for additional
  179. information about this board.
  180. **STATUS**. This port is complete as of this writing and ready for
  181. general use. The basic port is expected to be simple because of the
  182. similarity to the SAMAD3\ *x*-EK boards and is available in the NuttX
  183. 7.2 release.
  184. Most of the drivers and capabilities of the SAMA5D3x-EK boards can be
  185. used with the SAMA5D3 Xplained board. The primary difference between the
  186. ports is that the SAMA5D3x-EK supports NOR FLASH and NuttX can be
  187. configured to boot directly from NOR FLASH. The SAMA5D3 Xplained board
  188. does not have NOR FLASH and, as a consequence NuttX must boot into SDRAM
  189. with the help of U-Boot.
  190. Refer to the NuttX board
  191. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/sama5/sama5d3-xplained/README.txt>`__
  192. file for further information.
  193. Microchip SAMA5D4
  194. -----------------
  195. There is a port in progress on one Microchip SAMA5D4 board:
  196. - **Microchip SAMA5D4-EK/MB development boards** This is the port of NuttX
  197. to the Microchip SAMA5D4-MB Rev C. development board (which should be
  198. compatible with the SAMA5D4-EK). These boards feature the Microchip
  199. SAMA5D44 microprocessors with compatibility with most of the SAMA5D3
  200. peripherals.
  201. **STATUS**. At the time of the release of NuttX-7.3, the basic port
  202. for the SAMA5D4-MB was complete. The board had basic functionality.
  203. But full functionality was not available until NuttX-7.4. In
  204. NuttX-7.4 support was added for the L2 cache, many security features,
  205. XDMAC, HSMCI and Ethernet integrated with XDMAC, the LCDC, TWI, SSC,
  206. and most of the existing SAMA5 drivers. Timers were added to support
  207. *Tickless* operation. The TM7000 LCDC with the maXTouch multi-touch
  208. controller are also fully support in a special NxWM configuration for
  209. that larger display. Support for a graphics media player is included
  210. (although there were issues with the WM8904 audio CODEC on my board).
  211. An SRAM bootloader was also included. Refer to the NuttX board
  212. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/sama5/sama5d4-ek/README.txt>`__
  213. file for current status.
  214. **Development Environments:** 1) Linux with native Linux GNU toolchain,
  215. 2) Cygwin/MSYS with Cygwin GNU toolchain, 3) Cygwin/MSYS with Windows
  216. native toolchain, or 4) Native Windows. All testing has been performed
  217. with the CodeSourcery toolchain (GCC version 4.7.3) in the Cygwin
  218. environment under Windows.
  219. ARM Cortex-A8
  220. =============
  221. Allwinner A10
  222. -------------
  223. These following boards are based on the Allwinner A10
  224. have are supported by NuttX:
  225. - **pcDuino v1**. A port of NuttX to the pcDuino v1 board was first
  226. released in NuttX-6.33. See http://www.pcduino.com/ for information
  227. about pcDuino Lite, v1, and v2 boards. These boards are based around
  228. the Allwinner A10 Cortex-A8 CPU. This port was developed on the v1
  229. board, but the others may be compatible:
  230. Refer to the NuttX board
  231. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/a1x/pcduino-a10/README.txt>`__
  232. file for further information.
  233. **STATUS**. This port was an experiment was was not completely
  234. developed. This configuration builds and runs an NuttShell (NSH), but
  235. only if a patch to work around some issues is applied. While not
  236. ready for "prime time", the pcDuino port is functional and could the
  237. basis for a more extensive development. There is, at present, no work
  238. in progress to extend this port, however.
  239. TI/Sitara AM335x
  240. ----------------
  241. These following boards are based on the TI/Sitara
  242. AM335x are supported by NuttX:
  243. - **Beaglebone Black**. A port of NuttX to the Beaglebone Black board
  244. was first released in NuttX-7.28. This port was contributed by Petro
  245. Karashchenko. This board is based on the TI/Sitara AM3358 Cortex-A8
  246. CPU running 1GHz.
  247. - **NuttX-7.28**. This initial port in NuttX-7.28 is very sparse.
  248. While not ready for prodcution use, the Beaglebone Black port is
  249. functional and will be the basis for a more extensive development.
  250. Additional work in progress to extend this port and more capable
  251. is anticipated in NuttX-7.29.
  252. - **NuttX-9.0** CAN support was added. Clock Configuration was
  253. added.
  254. - **NuttX-7.31**. An LCD driver was added in NuttX-7.31.
  255. Refer to the Beaglebone Black board
  256. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/am335x/beaglebone-black/README.txt>`__
  257. file for further, up-to-date information.
  258. ARM Cortex-A9
  259. =============
  260. NXP/Freescale i.MX6
  261. -------------------
  262. The basic port has been completed for the following i.MX6 board:
  263. - **Sabre-6Quad**. This is a port to the NXP/Freescale Sabre-6Quad
  264. board. Refer to the NuttX board
  265. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/imx6/sabre-6quad/README.txt>`__
  266. file for further information.
  267. **STATUS:** The basic, minimal port is code complete and introduced
  268. in NuttX-7.15, but had not yet been tested at that time due to the
  269. inavailability of hardware. This basic port was verified in the
  270. NuttX-7.16 release, however. The port is still minimal and more
  271. device drivers are needed to make the port usable.
  272. Basic support of NuttX running in SMP mode on the i.MX6Q was also
  273. accomplished in NuttX-7.16. However, there are still known issues
  274. with SMP support on this platform as described in the
  275. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/imx6/sabre-6quad/README.txt>`__
  276. file for the board.
  277. ARM Cortex-R4
  278. =============
  279. TI/Hercules TMS570LS04xx
  280. ------------------------
  281. A port is available for the Texas Instruments
  282. Hercules TMS570LS04x/03x LaunchPad Evaluation Kit (*LAUNCHXL-TMS57004*)
  283. featuring the Hercules TMS570LS0432PZ chip.
  284. TI/Hercules TMS570LS31xx
  285. ------------------------
  286. Architecture support for the TMS570LS3137ZWT
  287. part was added in NuttX 7.25 by Ivan Ucherdzhiev. Ivan also added
  288. support for the TI Hercules TMS570LS31x USB Kit.
  289. ARM Cortex-M0/M0+
  290. =================
  291. nuvoTon NUC120
  292. --------------
  293. This is a port of NuttX to the nuvoTon NuTiny-SDK-NUC120
  294. that features the NUC120LE3AN MCU.
  295. **STATUS**. Initial support for the NUC120 was released in NuttX-6.26.
  296. This initial support is very minimal: There is a NuttShell
  297. (:ref:`NSH <nsh>`) configuration that might be the basis for an
  298. application development. As of this writing, more device drivers are
  299. needed to make this a more complete port. Refer to the NuttX board
  300. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/nuc1xx/nutiny-nuc120/README.txt>`__
  301. file for further information.
  302. **Memory Usage**. For a full-featured RTOS such as NuttX, providing
  303. support in a usable and meaningful way within the tiny memories of the
  304. NUC120 demonstrates the scalability of NuttX. The NUC120LE2AN comes in a
  305. 48-pin package and has 128KB FLASH and 16KB of SRAM. When running the
  306. NSH configuration (itself a full up application), there is still more
  307. than 90KB of FLASH and 10KB or SRAM available for further application
  308. development).
  309. Static memory usage can be shown with ``size`` command:
  310. NuttX, the NSH application, and GCC libraries use 34.2KB of FLASH
  311. leaving 93.8KB of FLASH (72%) free from additional application
  312. development. Static SRAM usage is about 1.2KB (<4%) and leaves 14.8KB
  313. (86%) available for heap at runtime. SRAM usage at run-time can be shown
  314. with the NSH ``free`` command:
  315. You can see that 10.0KB (62%) is available for further application
  316. development.
  317. **Development Environments:** 1) Linux with native Linux GNU toolchain,
  318. 2) Cygwin/MSYS with Cygwin GNU toolchain, 3) Cygwin/MSYS with Windows
  319. native toolchain, or 4) Native Windows. A DIY toolchain for Linux or
  320. Cygwin is provided by the NuttX
  321. `buildroot <https://bitbucket.org/nuttx/buildroot/downloads/>`__
  322. package.
  323. NXP/FreeScale KL25Z
  324. -------------------
  325. There are two board ports for the KL25Z parts:
  326. **Freedom KL25Z**. This is a port of NuttX to the Freedom KL25Z board
  327. that features the MKL25Z128 Cortex-M0+ MCU, 128KB of FLASH and 16KB of
  328. SRAM. See the
  329. `Freescale <http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-KL25Z&tid=vanFRDM-KL25Z>`__
  330. website for further information about this board.
  331. **PJRC Teensy-LC**. This is a port of NuttX to the PJRC Teensy-LC board
  332. that features the MKL25Z64 Cortex-M0+ MCU, 64KB of FLASH and 8KB of
  333. SRAM. The Teensy LC is a DIP style breakout board for the MKL25Z64 and
  334. comes with a USB based bootloader. See the
  335. `Freescale <http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-KL25Z&tid=vanFRDM-KL25Z>`__
  336. website for further information about this board.
  337. NXP/FreeScale KL26Z
  338. -------------------
  339. This is a port of NuttX to the Freedom KL25Z
  340. board that features the MK26Z128VLH4 Cortex-M0+ MCU, 128KB of FLASH and
  341. 16KB of SRAM. See the
  342. `Freescale <http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-KL26Z&tid=vanFRDM-KL26Z>`__
  343. website for further information about this board.
  344. Microchip SAMD20
  345. ----------------
  346. The port of NuttX to the Microchip SAMD20-Xplained Pro
  347. development board. This board features the ATSAMD20J18A MCU (Cortex-M0+
  348. with 256KB of FLASH and 32KB of SRAM).
  349. Microchip SAMD21
  350. ----------------
  351. There two boards supported for the SAMD21:
  352. #. The port of NuttX to the Microchip SAMD21-Xplained Pro development board
  353. added in NuttX-7.11, and
  354. #. The port of NuttX to the Arduino-M0 contributed by Alan Carvalho de
  355. Assis in NuttX-8.2. The initial release included *nsh* and *usbnsh*
  356. configurations.
  357. Microchip SAML21
  358. ----------------
  359. The port of NuttX to the Microchip SAML21-Xplained Pro
  360. development board. This board features the ATSAML21J18A MCU (Cortex-M0+
  361. with 256KB of FLASH and 32KB of SRAM).
  362. NXP LPC11xx
  363. -----------
  364. Support is provided for the NXP LPC11xx family of
  365. processors. In particular, support is provided for LPCXpresso LPC1115
  366. board. This port was contributed by Alan Carvalho de Assis.
  367. NXP S32K11x
  368. -----------
  369. Support is provided for the NXP S32K11x family of
  370. processors and, in particular, the S32K118EVB development board.
  371. ARM Cortex-M3
  372. =============
  373. TI/Stellaris LM3S6432
  374. ---------------------
  375. This is a port of NuttX to the Stellaris RDK-S2E
  376. Reference Design Kit and the MDL-S2E Ethernet to Serial module
  377. (contributed by Mike Smith).
  378. TI/Stellaris LM3S6432S2E
  379. ------------------------
  380. This port uses Serial-to-Ethernet Reference
  381. Design Kit and has
  382. similar support as for the other Stellaris family members. A
  383. configuration is available for the NuttShell (NSH) (see :ref:`NSH <nsh>`). The NSH
  384. configuration including networking support with a Telnet NSH console.
  385. This port was contributed by Mike Smith.
  386. TI/Stellaris LM3S6918
  387. ---------------------
  388. This port uses the
  389. `Micromint <http://www.micromint.com/>`__ Eagle-100 development board
  390. with a GNU arm-nuttx-elf toolchain\* under either Linux or Cygwin.
  391. **Development Environments:** 1) Linux with native Linux GNU toolchain,
  392. 2) Cygwin/MSYS with Cygwin GNU toolchain, 3) Cygwin/MSYS with Windows
  393. native toolchain (CodeSourcery or devkitARM), or 4) Native Windows. A
  394. DIY toolchain for Linux or Cygwin is provided by the NuttX
  395. `buildroot <https://bitbucket.org/nuttx/buildroot/downloads/>`__
  396. package.
  397. TI/Stellaris LM3S6965
  398. ---------------------
  399. This port uses the Stellaris LM3S6965 Ethernet
  400. Evaluation Kit with a GNU arm-nuttx-elf toolchain\* under either Linux
  401. or Cygwin.
  402. **Development Environments:** See the Eagle-100 LM3S6918 above.
  403. TI/Stellaris LM3S8962
  404. ---------------------
  405. This port uses the Stellaris EKC-LM3S8962
  406. Ethernet+CAN Evaluation Kit with a GNU arm-nuttx-elf toolchain\* under
  407. either Linux or Cygwin. Contributed by Larry Arnold.
  408. TI/Stellaris LM3S9B92
  409. ---------------------
  410. Architectural support for the LM3S9B92 was
  411. contributed by Lwazi Dube in NuttX 7.28. No board support for boards
  412. using the LM3S9B92 are currently available.
  413. TI/Stellaris LM3S9B96
  414. ---------------------
  415. Header file support was contributed by Tiago
  416. Maluta for this part. Jose Pablo Rojas V. is used those header file
  417. changes to port NuttX to the TI/Stellaris EKK-LM3S9B96. That port was
  418. available in the NuttX-6.20 release. Refer to the NuttX board
  419. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/tiva/ekk-lm3s9b96/README.txt>`__
  420. file for further information.
  421. TI/SimpleLink CC13x0
  422. --------------------
  423. Basic, unverified architectural support for the
  424. CC13x0 was added in NuttX-7.28. This is a work in progress and, with any
  425. luck, a fully verified port will be available in NuttX-7.29.
  426. SiLabs EFM32 Gecko
  427. ------------------
  428. This is a port for the Silicon Laboratories' EFM32
  429. *Gecko* family. Board support is available for the following:
  430. #. **SiLabs EFM32 Gecko Starter Kit (EFM32-G8XX-STK)**. The Gecko
  431. Starter Kit features:
  432. - EFM32G890F128 MCU with 128 kB flash and 16 kB RAM
  433. - 32.768 kHz crystal (LXFO) and 32 MHz crystal (HXFO)
  434. - Advanced Energy Monitoring
  435. - Touch slider
  436. - 4x40 LCD
  437. - 4 User LEDs
  438. - 2 pushbutton switches
  439. - Reset button and a switch to disconnect the battery.
  440. - On-board SEGGER J-Link USB emulator
  441. - ARM 20 pin JTAG/SWD standard Debug in/out connector
  442. **STATUS**. The basic port is verified and available now. This
  443. includes on-board LED and button support and a serial console
  444. available on LEUART0. A single configuration is available using the
  445. NuttShell NSH and the LEUART0 serial console. DMA and USART-based SPI
  446. supported are included, but not fully tested.
  447. Refer to the EFM32 Gecko Starter Kit
  448. `README.txt <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/efm32/efm32-g8xx-stk/README.txt>`__
  449. file for further information.
  450. #. **Olimex EFM32G880F120-STK**. This board features:
  451. - EFM32G880F128 with 128 kB flash and 16 kB RAM
  452. - 32.768 kHz crystal (LXFO) and 32 MHz crystal (HXFO)
  453. - LCD custom display
  454. - DEBUG connector with ARM 2x10 pin layout for programming/debugging
  455. with ARM-JTAG-EW
  456. - UEXT connector
  457. - EXT extension connector
  458. - RS232 connector and driver
  459. - Four user buttons
  460. - Buzzer
  461. **STATUS**. The board support is complete but untested because of
  462. tool-related issues. An OpenOCD compatible, SWD debugger would be
  463. required to make further progress in testing.
  464. Refer to the Olimex EFM32G880F120-STK
  465. `README.txt <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/efm32/olimex-efm32g880f128-stk/README.txt>`__
  466. for further information.
  467. SiLabs EFM32 Giant Gecko
  468. ------------------------
  469. This is a port for the Silicon Laboratories'
  470. EFM32 *Giant Gecko* family. This board features the EFM32GG990F1024 MCU
  471. with 1 MB flash and 128 kB RAM.
  472. Board support is available for the following:
  473. - **SiLabs EFM32 Giant Gecko Starter Kit t (EFM32GG-STK3700)**. The
  474. Gecko Starter Kit features:
  475. - EFM32GG990F1024 MCU with 1 MB flash and 128 kB RAM
  476. - 32.768 kHz crystal (LXFO) and 48 MHz crystal (HXFO)
  477. - 32 MB NAND flash
  478. - Advanced Energy Monitoring
  479. - Touch slider
  480. - 8x20 LCD
  481. - 2 user LEDs
  482. - 2 user buttons
  483. - USB interface for Host/Device/OTG
  484. - Ambient light sensor and inductive-capacitive metal sensor
  485. - EFM32 OPAMP footprint
  486. - 20 pin expansion header
  487. - Breakout pads for easy access to I/O pins
  488. - Power sources (USB and CR2032 battery)
  489. - Backup Capacitor for RTC mode
  490. - Integrated Segger J-Link USB debugger/emulator
  491. **STATUS**.
  492. - The basic board support for the *Giant Gecko* was introduced int
  493. the NuttX source tree in NuttX-7.6. A verified configuration was
  494. available for the basic NuttShell (NSH) using LEUART0 for the
  495. serial console.
  496. - Development of USB support is in started, but never completed.
  497. - Reset Management Unit (RMU) was added Pierre-noel Bouteville in
  498. NuttX-7.7.
  499. STMicro STM32 L152
  500. ------------------
  501. (STM32L "EnergyLite" Line). Two boards are supported:
  502. - STM32L-Discovery. This is a port of NuttX to the STMicro
  503. STM32L-Discovery development board. The STM32L-Discovery board is
  504. based on the STM32L152RBT6 MCU (128KB FLASH and 16KB of SRAM).
  505. The STM32L-Discovery and STM32L152C DISCOVERY kits are functionally
  506. equivalent. The difference is the internal Flash memory size
  507. (STM32L152RBT6 with 128 Kbytes or STM32L152RCT6 with 256 Kbytes).
  508. Both boards feature:
  509. - An ST-LINK/V2 embedded debug tool interface,
  510. - LCD (24 segments, 4 commons),
  511. - LEDs,
  512. - Pushbuttons,
  513. - A linear touch sensor, and
  514. - Four touchkeys.
  515. - Nucleo-L152RE. Board support for the Nucleo-L152RE was contributed by
  516. Mateusz Szafoni in NuttX-7.28. Available configurations include NSH,
  517. ADC, and PWM.
  518. **STATUS**. Initial support for the STM32L-Discovery was released in
  519. NuttX-6.28. Addition (architecture-only) support for the STM32L152xC
  520. family was added in NuttX-7.21. Support for the Nucleo-L152RE was added
  521. in NuttX-7.28.
  522. That initial STM32L-Discovery support included a configuration using the
  523. NuttShell (:ref:`NSH <nsh>`) that might be the basis for an
  524. application development. A driver for the on-board segment LCD is
  525. included as well as an option to drive the segment LCD from an NSH
  526. "built-in" command. Refer to the STM32L-Discovery board
  527. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/stm32ldiscovery/README.txt>`__
  528. file for further information.
  529. **Memory Usage**.
  530. REVISIT: These numbers are out of date. Current NuttX sizing might be
  531. somewhat larger.
  532. For a full-featured RTOS such as NuttX, providing support in a usable
  533. and meaningful way within the tiny memories of the STM32L152RBT6
  534. demonstrates the scalability of NuttX. The STM32L152RBT6 comes in a
  535. 64-pin package and has 128KB FLASH and 16KB of SRAM.
  536. Static memory usage can be shown with ``size`` command:
  537. NuttX, the NSH application, and GCC libraries use 38.7KB of FLASH
  538. leaving 89.3B of FLASH (70%) free from additional application
  539. development. Static SRAM usage is about 1.2KB (<4%) and leaves 14.8KB
  540. (86%) available for heap at runtime.
  541. SRAM usage at run-time can be shown with the NSH ``free`` command:
  542. You can see that 9.9KB (62%) of SRAM heap is still available for further
  543. application development while NSH is running.
  544. STMicro STM32 L15x/16x
  545. ----------------------
  546. (STM32 L1 "EnergyLite" Medium+ Density Family).
  547. Support for the STM32L152 and STM32L162 Medium+ density parts from Jussi
  548. Kivilinna and Sami Pelkonen was included in NuttX-7.3, extending the
  549. basic STM32L152x support. This is *architecture-only* support, meaning
  550. that support for the boards with these chips is available, but no
  551. support for any publicly available boards is included.
  552. STMicro STM32 F0xx
  553. ------------------
  554. (STM32 F0, ARM Cortex-M0). Support for the STM32 F0
  555. family was contributed by Alan Carvalho de Assis in NuttX-7.21. There
  556. are ports to three different boards in this repository:
  557. - **STM32F0-Discovery** This board features the STM32 2F051R8 and was
  558. used by Alan to produce the initial STM32 F0 port. However, its very
  559. limited 8KB SRAM makes this port unsuitable for for usages.
  560. Contributed by Alan Carvalho de Assis in NuttX-7.21.
  561. - **Nucleo-F072RB** With 16KB of SRAM the STM32 F072RB makes a much
  562. more usable platform.
  563. - **Nucleo-F091RC** With 32KB of SRAM the STM32 F091RC this board is a
  564. great match for NuttX. Contributed by Juha Niskanen in NuttX-7.21.
  565. STMicro STM32 L0xx
  566. ------------------
  567. (STM32 L0, ARM Cortex-M0). Support for the STM32 FL
  568. family was contributed by Mateusz Sfafoni in NuttX-7.28. There are ports
  569. to two different STM32 L0 boards in the repository:
  570. **B-L072Z-LRWAN1** Contributed byMateusz Sfafoni in NuttX-7.28.
  571. **Nucleo-L073RZ** Contributed byMateusz Sfafoni in NuttX-7.28.
  572. STMicro STM32 G0xx
  573. ------------------
  574. (STM32 G0, ARM Cortex-M0+). Support for the STM32 FL
  575. family was contributed by Mateusz Sfafoni in NuttX-7.28. There are ports
  576. to two different STM32 L0 boards in the repository:
  577. - **Nucleo-G071RB** Initial support for Nucleo-G071RB was contributed
  578. by Mateusz Szafoni in NuttX-7.31. Refer to the board
  579. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32f0l0g0/nucleo-g071rb/README.txt>`__
  580. file for further information.
  581. - **Nucleo-G070RB** Contributed by Daniel Pereira Volpato. in
  582. NuttX-8.2. Refer to the board
  583. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32f0l0g0/nucleo-g070rb/README.txt>`__
  584. file for further information.
  585. **STATUS:** Status for the STM32F0xx, STM32L0xx, and STM32G0xx is shown
  586. together since these parts share many drivers in common.
  587. **NuttX-7.21**. In this initial release, the level of support for the
  588. STM32 F0 family is minimal. Certainly enough is in place to support a
  589. robust NSH configuration. There are also unverified I2C and USB device
  590. drivers available in NuttX-7.21.
  591. **NuttX-7.28** Added support for GPIO EXTI. From Mateusz Sfafoni.
  592. **NuttX-7.29** Added an SPI driver. From Mateusz Sfafoni.
  593. **NuttX-7.30** Added ADC and I2C drivers. From Mateusz Szafoni. Add AES
  594. and RND drivers for the L0. From Mateusz Szafoni. Add support for HS148
  595. for L0. From Mateusz Szafoni.
  596. **NuttX-8.2** Added PWM and TIM drivers for the G0. From Daniel Pereira
  597. Volpato.
  598. **NuttX-9.0** Added I2C support for F0, L0 and G0.
  599. STMicro STM32 F100x
  600. -------------------
  601. (STM32 F1 "Value Line"Family).
  602. - **Proprietary Boards** Chip support for these STM32 "Value Line"
  603. family was contributed by Mike Smith and users have reported that
  604. they have successful brought up NuttX on their proprietary boards
  605. using this logic.
  606. - **STM32VL-Discovery**. In NuttX-6.33, support for the STMicro
  607. STM32VL-Discovery board was contributed by Alan Carvalho de Assis.
  608. The STM32VL-Discovery board features an STM32F100RB MCU. Refer to the
  609. NuttX board
  610. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/stm32vldiscovery/README.txt>`__
  611. file for further information.
  612. STMicro STM32 F102x
  613. -------------------
  614. Architecture support (only) for the STM32 F102 family
  615. was contributed by the PX4 team in NuttX-7.7.
  616. STMicro STM32 F103C4/C8
  617. -----------------------
  618. (STM32 F1 Low- and Medium-Density Family). There
  619. are two ports available for this family:
  620. - One port is for "STM32 Tiny" development board. This board is
  621. available from several vendors on the net, and may be sold under
  622. different names. It is based on a STM32 F103C8T6 MCU, and is bundled
  623. with a nRF24L01 wireless communication module.
  624. - The other port is for a generic minimal STM32F103CBT6 "blue" board
  625. contributed by Alan Carvalho de Assis. Alan added support for
  626. numerous sensors, tone generators, user LEDs, and LCD support in
  627. NuttX 7.18.
  628. **STATUS:**
  629. STMicro STM32 F103x
  630. -------------------
  631. (STM32 F1 Family). Support for five board
  632. configurations are available. MCU support includes all of the high
  633. density and connectivity line families. Board supported is available
  634. specifically for: STM32F103ZET6, STM32F103RET6, STM32F103VCT,
  635. STM32F103VET6, STM32F103RBT6, and STM32103CBT6. Boards supported
  636. include:
  637. #. **STM3210E-EVAL**. A port for the `STMicro <http://www.st.com/>`__
  638. STM3210E-EVAL development board that features the STM32F103ZET6 MCU.
  639. Refer to the NuttX board
  640. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/stm3210e-eval/README.txt>`__
  641. file for further information.
  642. #. **HY-Mini STM32v board**. This board is based on the STM32F103VCT
  643. chip. Port contributed by Laurent Latil. Refer to the NuttX board
  644. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/hymini-stm32v/README.txt>`__
  645. file.
  646. #. **The M3 Wildfire development board (STM32F103VET6), version 2**. See
  647. http://firestm32.taobao.com (the current board is version 3). Refer
  648. to the NuttX board
  649. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/fire-stm32v2/README.txt>`__
  650. file for further information.
  651. #. **LeafLab's Maple and Maple Mini boards**. These boards are based on
  652. the STM32F103RBT6 chip for the standard version and on the
  653. STM32F103CBT6 for the mini version. See the
  654. `LeafLabs <http://leaflabs.com/docs/hardware/maple.html>`__ web site
  655. for hardware information; see the NuttX board
  656. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/maple/README.txt>`__
  657. file for further information about the NuttX port.
  658. #. **Olimexino-STM32**. This port uses the Olimexino STM32 board
  659. (STM32F103RBT6). See the http://www.olimex.com for further
  660. information. Contributed by David Sidrane.
  661. #. **Nucleo-STM32F103RB**. This port uses the STM32F103RBT6. It was
  662. contributed by Mateusz Szafoni in NuttX-7.28,
  663. These ports uses a GNU arm-nuttx-elf toolchain\* under either Linux or
  664. Cygwin (with native Windows GNU tools or Cygwin-based GNU tools).
  665. **STATUS:**
  666. - **Basic Support/Drivers**. The basic STM32 port was released in NuttX
  667. version 0.4.12. The basic port includes boot-up logic, interrupt
  668. driven serial console, and system timer interrupts. The 0.4.13
  669. release added support for SPI, serial FLASH, and USB device.; The
  670. 4.14 release added support for buttons and SDIO-based MMC/SD and
  671. verified DMA support. Verified configurations are available for the
  672. NuttShell (NSH) example, the USB serial device class, and the USB
  673. mass storage device class example.
  674. - **Additional Drivers**. Additional drivers and configurations were
  675. added in NuttX 6.13 and later releases for the STM32 F1 and F4. F1
  676. compatible drivers include an Ethernet driver, ADC driver, DAC
  677. driver, PWM driver, IWDG, WWDG, and CAN drivers.
  678. - **M3 Wildfire**. Support for the Wildfire board was included in
  679. version 6.22 of NuttX. The board port is basically functional. Not
  680. all features have been verified. Support for FAT file system on an an
  681. SD card had been verified. The ENC28J60 network is functional (but
  682. required lifting the chip select pin on the W25x16 part).
  683. Customizations for the v3 version of the Wildfire board are
  684. selectable (but untested).
  685. - **Maple**. Support for the Maple boards was contributed by Yiran Liao
  686. and first appear in NuttX 6-30.
  687. - **Olimexino-STM32**. Contributed by David Sidrane and introduced with
  688. NuttX 7.9. Configurations are included for the NuttShell (NSH), a
  689. tiny version of the NuttShell, USB composite CDC/ACM + MSC, CAN
  690. support, and two tiny, small-footprint NSH configurations.
  691. - **Nucleo-STM32F103RB**. Contributed by Mateusz Szafoni and introduced
  692. with NuttX 7.28. Configurations are included for the NuttShell (NSH),
  693. ADC, and PWM.
  694. **Development Environments:** 1) Linux with native Linux GNU toolchain,
  695. 2) Cygwin/MSYS with Cygwin GNU toolchain, 3) Cygwin/MSYS with Windows
  696. native toolchain (RIDE7, CodeSourcery or devkitARM), or 4) Native
  697. Windows. A DIY toolchain or Linux or Cygwin is provided by the NuttX
  698. `buildroot <https://bitbucket.org/nuttx/buildroot/downloads/>`__
  699. package.
  700. STMicro STM32 F105x
  701. -------------------
  702. Architecture support (only) for the STM32 F105R was
  703. contribed in NuttX-7.17 by Konstantin Berezenko. There is currently no
  704. support for boards using any STM32F105x parts in the source tree.
  705. STMicro STM32 F107x
  706. -------------------
  707. (STM32 F1 "Connectivity Line" family). Chip support
  708. for the STM32 F1 "Connectivity Line" family has been present in NuttX
  709. for some time and users have reported that they have successful brought
  710. up NuttX on their proprietary boards using this logic.
  711. **Olimex STM32-P107** Support for the `Olimex
  712. STM32-P107 <https://www.olimex.com/dev/stm32-p107.html>`__ was
  713. contributed by Max Holtzberg and first appeared in NuttX-6.21. That port
  714. features the STMicro STM32F107VC MCU.
  715. **STATUS:** A configuration for the NuttShell (NSH) is available and
  716. verified. Networking is functional. Support for an external ENCX24J600
  717. network was added in NuttX 6.30.
  718. **Shenzhou IV** A port of NuttX to the Shenzhou IV development board
  719. (See `www.armjishu.com <http://www.armjishu.com>`__) featuring the
  720. STMicro STM32F107VCT MCU was added in NuttX-6.22.
  721. **STATUS:** In progress. The following have been verified: (1) Basic
  722. Cortex-M3 port, (2) Ethernet, (3) On-board LEDs. Refer to the NuttX
  723. board
  724. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/shenzhou/README.txt>`__
  725. file for further information.
  726. **ViewTool STM32F103/F107** Support for the Viewtool
  727. STM32F103/F107 board was added in
  728. NuttX-6.32. That board features the STMicro STM32F107VCT6 MCU.
  729. Networking, LCD, and touchscreen support were added in NuttX-6.33.
  730. Three configurations are available:
  731. #. A standard NuttShell (NSH) configuration that will work with either
  732. the STM32F103 or STM32F107 part.
  733. #. A network-enabled NuttShell (NSH) configuration that will work only
  734. with the STM32F107 part.
  735. #. The configuration that was used to verify the NuttX `high-priority,
  736. nested interrupt
  737. feature <https://cwiki.apache.org/confluence/display/NUTTX/High+Performance%2C+Zero+Latency+Interrupts>`__.
  738. **STATUS:** Networking and touchscreen support are well test. But, at
  739. present, neither USB nor LCD functionality have been verified. Refer to
  740. the Viewtool STM32F103/F107
  741. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/viewtool-stm32f107/README.txt>`__
  742. file for further information.
  743. **Kamami STM32 Butterfly 2** Support for the `Kamami STM32 Butterfly
  744. 2 <https://kamami.pl/zestawy-uruchomieniowe-stm32/178507-stm32butterfly2.html>`__
  745. was contributed by Michał Łyszczek in NuttX-7.18. That port features the
  746. STMicro STM32F107VC MCU.
  747. **STATUS:** A configuration for the NuttShell (NSH), NSH with
  748. networking, and NSH with USB host are available and verified.
  749. STMicro STM32 F205x
  750. -------------------
  751. (STM32 F2 family). Architecture only support for the
  752. STM32F205RG was contributed as an anonymous contribution in NuttX-7.10.
  753. **Particle.io Phone**. Support for the Particle.io Photon board was
  754. contributed by Simon Pirious in NuttX-7.21. The Photon board features
  755. the STM32F205RG MCU. The STM32F205RG is a 120 MHz Cortex-M3 operation
  756. with 1Mbit Flash memory and 128kbytes. The board port includes support
  757. for the on-board Broadcom BCM43362 WiFi and fully usable FullMac network
  758. support.
  759. **STATUS:** In addition to the above-mention WiFI support, the Photon
  760. board support includes buttons, LEDS, IWDG, USB OTG HS, and procfs
  761. support. Configurations available for nsh, usbnsh, and wlan
  762. configurations. See the Photon
  763. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/photon/README.txt>`__
  764. file for additional information.
  765. STMicro STM32 F207x
  766. -------------------
  767. (STM32 F2 family)
  768. - Support for the STMicro STM3220G-EVAL development board was
  769. contributed by Gary Teravskis and first released in NuttX-6.16. This
  770. board uses the STM32F207IG.
  771. - Martin Lederhilger contributed support for the Olimex STM32 P207
  772. board using the STM32F207ZE MCU.
  773. - Board support for the Nucleo-L152RE was contributed by Mateusz
  774. Szafoni in NuttX-7.28. Available configurations include NSH, ADC, and
  775. PWM.
  776. Microchip SAM3U
  777. ---------------
  778. This port uses the `Microchip <http://www.atmel.com/>`__
  779. SAM3U-EK development board that features the SAM3U4E MCU. This port uses
  780. a GNU arm-nuttx-elf or arm-nuttx-eabi toolchain\* under either Linux or
  781. Cygwin (with native Windows GNU tools or Cygwin-based GNU tools).
  782. **Development Environments:** 1) Linux with native Linux GNU toolchain,
  783. 2) Cygwin/MSYS with Cygwin GNU toolchain, 3) Cygwin/MSYS with Windows
  784. native toolchain (CodeSourcery or devkitARM), or 4) Native Windows. A
  785. DIY toolchain for inux or Cygwin is provided by the NuttX
  786. `buildroot <https://bitbucket.org/nuttx/buildroot/downloads/>`__
  787. package.
  788. Microchip SAM3X
  789. ---------------
  790. There are two SAM3X boards supported:
  791. #. The `Arduino <http://arduino.cc//>`__ Due development board that
  792. features the ATSAM3X8E MCU running at 84MHz. See the `Arduino
  793. Due <http://arduino.cc/en/Main/arduinoBoardDue>`__ page for more
  794. information.
  795. #. The Mikroelektronika `Flip&Click
  796. SAM3X <https://www.mikroe.com/flip-n-click-sam3x>`__ development
  797. board. This board is an Arduino Due *work-alike* with additional
  798. support for 4 mikroBUS Click boards.
  799. **Development Environments:** See the Microchip SAM3U discussion
  800. `above. <#at91sam3u>`__
  801. NXP LPC176x
  802. -----------
  803. NXP LPC1766, LPC1768, and LPC1769. Drivers are available for CAN, DAC,
  804. Ethernet, GPIO, GPIO interrupts, I2C, UARTs, SPI, SSP, USB host, and USB
  805. device. Additional drivers for the RTC, ADC, DAC, Timers, PWM and MCPWM
  806. were contributed by Max (himax) in NuttX-7.3. Verified LPC17xx
  807. configurations are available for these boards:
  808. - The Nucleus 2G board from `2G Engineering <http://www.2g-eng.com/>`__
  809. (LPC1768),
  810. - The mbed board from `mbed.org <http://mbed.org>`__ (LPC1768,
  811. Contributed by Dave Marples), and
  812. - The LPC1766-STK board from `Olimex <http://www.olimex.com/>`__
  813. (LPC1766).
  814. - The Embedded Artists base board with NXP LPCXpresso LPC1768.
  815. - Zilogic's ZKIT-ARM-1769 board.
  816. - The `Micromint <http://micromint.com/>`__ Lincoln60 board with an NXP
  817. LPC1769.
  818. - A version of the LPCXPresso LPC1768 board with special support for
  819. the U-Blox model evaluation board.
  820. - Support for the Keil MCB1700 was contributed by Alan Carvalho de
  821. Assis in NuttX-7.23.
  822. - Support for the NXP Semiconductors' PN5180 NFC Frontend Development
  823. Kit was contributed by Michael Jung in NuttX-7.1. This board is based
  824. on the NXP LPC1769 MCU.
  825. The Nucleus 2G board, the mbed board, the LPCXpresso, and the MCB1700
  826. all feature the NXP LPC1768 MCU; the Olimex LPC1766-STK board features
  827. an LPC1766. All use a GNU arm-nuttx-elf or arm-eabi toolchain\* under
  828. either Linux or Cygwin (with native Windows GNU tools or Cygwin-based
  829. GNU tools).
  830. **STATUS:** The following summarizes the features that has been
  831. developed and verified on individual LPC17xx-based boards. These
  832. features should, however, be common and available for all LPC17xx-based
  833. boards.
  834. #. **Nucleus2G LPC1768**
  835. - Some initial files for the LPC17xx family were released in NuttX
  836. 5.6, but
  837. - The first functional release for the NXP LPC1768/Nucleus2G
  838. occurred with NuttX 5.7 with Some additional enhancements through
  839. NuttX-5.9. Refer to the NuttX board
  840. `README <https://bitbucket.org/patacongo/obsoleted/src/master/configs/nucleus2g/README.txt>`__
  841. file for further information.
  842. That initial, 5.6, basic release included *timer* interrupts and a
  843. *serial console* and was verified using the NuttX OS test
  844. (``apps/examples/ostest``). Configurations available include include
  845. a verified NuttShell (NSH) configuration (see :ref:`NSH <nsh>`). The
  846. NSH configuration supports the Nucleus2G's microSD slot and
  847. additional configurations are available to exercise the USB serial
  848. and USB mass storage devices. However, due to some technical reasons,
  849. neither the SPI nor the USB device drivers are fully verified.
  850. (Although they have since been verified on other platforms; this
  851. needs to be revisited on the Nucleus2G).
  852. **Obsoleted**. Support for the Nucleus2G board was terminated on
  853. 2016-04-12. There has not been any activity with the commercial board
  854. in a few years and it no longer appears to be available from the
  855. 2g-eng.com website. Since the board is commercial and no longer
  856. publicly available, it no longer qualifies for inclusion in the open
  857. source repositories. A snapshot of the code is still available in the
  858. `Obsoleted
  859. repository <https://bitbucket.org/patacongo/obsoleted/src/master/boards/nucleus2g>`__
  860. and can easily be *reconstitued* if needed.
  861. #. **mbed LPC1768**
  862. - Support for the mbed board was contributed by Dave Marples and
  863. released in NuttX-5.11. Refer to the NuttX board
  864. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lpc17xx_40xx/mbed/README.txt>`__
  865. file for further information.
  866. #. **Olimex LPC1766-STK**
  867. - Support for that Olimex-LPC1766-STK board was added to NuttX 5.13.
  868. - The NuttX-5.14 release extended that support with an *Ethernet
  869. driver*.
  870. - The NuttX-5.15 release further extended the support with a
  871. functional *USB device driver* and *SPI-based micro-SD*.
  872. - The NuttX-5.16 release added a functional *USB host controller
  873. driver* and *USB host mass storage class driver*.
  874. - The NuttX-5.17 released added support for low-speed USB devices,
  875. interrupt endpoints, and a *USB host HID keyboard class driver*.
  876. - Refer to the NuttX board
  877. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lpc17xx_40xx/olimex-lpc1766stk/README.txt>`__
  878. file for further information.
  879. Verified configurations are now available for the NuttShell with
  880. networking and microSD support(NSH, see :ref:`NSH <nsh>`), for
  881. the NuttX network test, for the
  882. `THTTPD <http://acme.com/software/thttpd>`__ webserver, for USB
  883. serial deive and USB storage devices examples, and for the USB host
  884. HID keyboard driver. Support for the USB host mass storage device can
  885. optionally be configured for the NSH example. A driver for the *Nokia
  886. 6100 LCD* and an NX graphics configuration for the Olimex LPC1766-STK
  887. have been added. However, neither the LCD driver nor the NX
  888. configuration have been verified as of the NuttX-5.17 release.
  889. #. **Embedded Artists base board with NXP LPCXpresso LPC1768**
  890. An fully verified board configuration is included in NuttX-6.2. The
  891. Code Red toolchain is supported under either Linux or Windows.
  892. Verified configurations include DHCPD, the NuttShell (NSH), NuttX
  893. graphis (NX), THTTPD, and USB mass storage device. Refer to the NuttX
  894. board
  895. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lpc17xx_40xx/lpcxpresso-lpc1768/README.txt>`__
  896. file for further information.
  897. #. **Zilogic's ZKIT-ARM-1769 board**
  898. Zilogic System's ARM development Kit, ZKIT-ARM-1769. This board is
  899. based on the NXP LPC1769. The initial release was included
  900. NuttX-6.26. The NuttX Buildroot toolchain is used by default. Verifed
  901. configurations include the "Hello, World!" example application and a
  902. THTTPD demonstration. Refer to the NuttX board
  903. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lpc17xx_40xx/zkit-arm-1769/README.txt>`__
  904. file for further information.
  905. #. **Micromint Lincoln60 board with an NXP LPC1769**
  906. This board configuration was contributed and made available in
  907. NuttX-6.20. As contributed board support, I am unsure of what all has
  908. been verfied and what has not. See the Microment website
  909. and the NuttX board
  910. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lpc17xx_40xx/lincoln60/README.txt>`__
  911. file for further information about the Lincoln board.
  912. #. **U-Blox Modem Evaluation (LPCXpresso LPC1768)**
  913. This board configuration was contributed by Vladimir Komendantskiy
  914. and made available in NuttX-7.15. This is a variant of the LPCXpresso
  915. LPC1768 board support with special provisions for the U-Blox Model
  916. Evaluation board. See the NuttX board
  917. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lpc17xx_40xx/u-blox-c027/README.txt>`__
  918. file for further information about this port.
  919. #. **Keil MCB1700 (LPC1768)**
  920. This board configuration was contributed by Alan Carvalho de Assis in
  921. NuttX-7.23.
  922. #. **PN5180 NFC Frontend Development Kit**
  923. This board configuration was contributed by Michael Jung in
  924. NuttX-7.31.
  925. **Development Environments:** 1) Linux with native Linux GNU toolchain,
  926. 2) Cygwin/MSYS with Cygwin GNU toolchain, 3) Cygwin/MSYS with Windows
  927. native toolchain (CodeSourcery devkitARM or Code Red), or 4) Native
  928. Windows. A DIY toolchain for Linux or Cygwin is provided by the NuttX
  929. `buildroot <https://bitbucket.org/nuttx/buildroot/downloads/>`__
  930. package.
  931. NXP LPC178x
  932. -----------
  933. The port of NuttX to the WaveShare Open1788 is a
  934. collaborative effort between Rommel Marcelo and myself (with Rommel
  935. being the leading contributor and I claiming only a support role). You
  936. can get more information at the Open1788 board from the WaveShare
  937. website.
  938. ON Semiconductor LC823450
  939. -------------------------
  940. (Dual core ARM Cortex-M3). In NuttX-7.22,
  941. Masayuki Ishikawa contributed support for both the LC823450 architecture
  942. and for ON Semiconductor's **LC823450XGEVK board**:
  943. The LC823450XGEVK is an audio processing system Evaluation Board Kit
  944. used to demonstrate the LC823450. This part can record and playback,
  945. and offers High-Resolution 32-bit & 192 kHz audio processing
  946. capability. It is possible to cover most of the functions necessary
  947. for a portable audio with only this LSI as follows. It has Dual CPU
  948. and DSP with High processing capability, and internal 1656K-Byte
  949. SRAM, which make it possible to implement large scale program. And it
  950. has integrated analog functions (low-power Class D HP amplifier, PLL,
  951. ADC etc.) so that PCB space and cost is reduced, and it has various
  952. interface (USB, SD, SPI, UART, etc.) to make extensibility high. Also
  953. it is provided with various function including SBC/AAC codec by DSP
  954. and UART and ASRC (Asynchronous Sample Rate Converter) for Bluetooth®
  955. audio. It is very small chip size in spite of the multi-funciton as
  956. described above and it realizes the low power consumption. Therefore,
  957. it is applicable to portable audio markets such as Wireless headsets
  958. and will show high performance.
  959. Further information about the LC823450XGEVK is available on from the the
  960. `ON
  961. Semiconductor <http://www.onsemi.com/PowerSolutions/evalBoard.do?id=LC823450XGEVK>`__
  962. website as are LC823450 `related technical
  963. documents <http://www.onsemi.com/PowerSolutions/supportDoc.do?type=AppNotes&rpn=LC823450>`__.
  964. Refer to the NuttX board
  965. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lc823450/lc823450-xgevk/README.txt>`__
  966. file for details of the NuttX port.
  967. This port is intended to test LC823450 features including SMP. Supported
  968. peripherals include UART, TIMER, RTC, GPIO, DMA, I2C, SPI, LCD, eMMC,
  969. and USB device. ADC, Watchdog, IPC2, and I2S support was added by
  970. Masayuki Ishikawa in NuttX-7.23. Bluetooth, SPI, and *PROTECTED* build
  971. support were added by Masayuki Ishikawa in NuttX-7.26. Support for for
  972. SPI flash boot was added in NuttX-7.28.
  973. Maxim Integrated MAX32660
  974. -------------------------
  975. Architectural upport for the MAX32660 was added (along with partial
  976. support for other members of the MAX326xx family) in NuttX 7.28.
  977. **MAX32660-EVSYS**. Basic support for the Maxim Integrated MAC3X660
  978. EVSYS was included in the NuttX-7.28 release. A basic NSH configuration
  979. is available and is fully functional. Includes unverified support for an
  980. SPI0-based SD card.
  981. **STATUS:**
  982. ` <#>`__ (ARM Cortex-M3)
  983. ARM Cortex-M4
  984. =============
  985. Infineon XMC45xx
  986. ----------------
  987. An initial but still incomplete port to the XMC4500 Relax board was released
  988. with NuttX-7.21 (although it was not really ready for prime time). Basic NSH
  989. functionality was a serial console was added by Alan Carvahlo de Assis in
  990. NuttX-7.23. Alan also added an SPI driver in NuttX-7.25.
  991. This initial porting effort uses the Infineon XMC4500 Relax v1 board as
  992. described on the manufacturer's
  993. `website <http://www.infineon.com/cms/en/product/evaluation-boards/KIT_XMC45_RELAX_V1/productType.html?productType=db3a304437849205013813b23ac17763>`__.
  994. The current status of the board is available in the board
  995. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/xmc4/xmc4500-relax/README.txt>`__
  996. file
  997. Nordic Semiconductor NRF52xxx
  998. -----------------------------
  999. Initial architecture support of the NRF52
  1000. including UART, Timer, and GPIOs was contributed by Janne Rosberg in
  1001. NuttX-7.25. Janne also contributed board support for the NRF52-PCA10040
  1002. development board at that time.
  1003. The NRF52 was generalized by Hanya Zou in NuttX-7.28 for any similar
  1004. board based on the NRF52832 MCU. Support was specifically included for
  1005. the Adafruit NRF52 Feather board.
  1006. Available drivers include:
  1007. - **NuttX-7.25**. UART, Timer, and GPIOs from Janne Rosberg and a
  1008. watchdog timer driver was added by Levin Li.
  1009. - **NuttX-7.25**. Flash PROGMEM support was added by Alan Carvalho de
  1010. Assis.
  1011. - **NuttX-7.29**. Support for the 52804 family and an RNG drivers was
  1012. added by Levin Li.
  1013. NXP/FreeScale Kinetis K20
  1014. -------------------------
  1015. Used by Teensy-3.x. Architecture support (only) was
  1016. added in NuttX-7.10. This support was taken from PX4 and is the work of
  1017. Jakob Odersky. Support was added for the PJRC Teensy-3.1 board in
  1018. NuttX-7.11. Backward compatible support for the Teensy-3.0 is included.
  1019. NXP/FreeScale Kinetis K28F
  1020. --------------------------
  1021. Use by Freedom-K28F. Architecture support for the
  1022. Kinetis K28F along with board support for the Freedom-K28F was added in
  1023. NuttX-7.15. The Freedom-K28F board is based on the Kinetis
  1024. MK28FN2M0VMI15 MCU (ARM Cortex-M4 at150 MHz, 1 MB SRAM, 2 MB flash, HS
  1025. and FS USB, 169 MAPBGA package). More information is available from the
  1026. `NXP
  1027. 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>`__.
  1028. NXP/FreeScale Kinetis K40
  1029. -------------------------
  1030. This port uses the Freescale Kinetis KwikStik
  1031. K40. Refer to the `Freescale web
  1032. site <http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=KWIKSTIK-K40>`__
  1033. for further information about this board. The Kwikstik is used with the
  1034. FreeScale Tower System (mostly just to provide a simple UART connection)
  1035. NXP/FreeScale Kinetis K60
  1036. -------------------------
  1037. This port uses the **Freescale Kinetis
  1038. TWR-K60N512** tower system. Refer to the `Freescale web
  1039. site <http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=TWR-K60N512-KIT>`__
  1040. for further information about this board. The TWR-K60N51 includes with
  1041. the FreeScale Tower System which provides (among other things) a DBP
  1042. UART connection.
  1043. **MK60N512VLL100**. Architecture support for the MK60N512VLL100 was
  1044. contributed by Andrew Webster in NuttX-7.14.
  1045. NXP/FreeScale Kinetis K64
  1046. -------------------------
  1047. Support for the Kinetis K64 family and
  1048. specifically for the **NXP/Freescale Freedom K64F** board was added in
  1049. NuttX 7.17. Initial release includes two NSH configurations with support
  1050. for on-board LEDs, buttons, and Ethernet with the on-board KSZ8081 PHY.
  1051. SDHC supported has been integrated, but not verified. Refer to the NuttX
  1052. board
  1053. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/kinetis/freedom-k64f/README.txt>`__
  1054. file for further information.
  1055. **MK64FN1M0VMD12**. Architecture support for the \_MK64FN1M0VMD12 was
  1056. contributed by Maciej Skrzypek in NuttX-7.20.
  1057. **NXP/Freescale Kinetis TWR-K64F120M**. Support for the Freescale
  1058. Kinetis TWR-K64F120M was contributed in NuttX-7.20 by Maciej Skrzypek.
  1059. Refer to the `Freescale web
  1060. site <http://www.nxp.com/products/sensors/accelerometers/3-axis-accelerometers/kinetis-k64-mcu-tower-system-module:TWR-K64F120M>`__
  1061. for further information about this board. The board may be complemented
  1062. by
  1063. `TWR-SER <http://www.nxp.com/pages/serial-usb-ethernet-can-rs232-485-tower-system-module:TWR-SER>`__
  1064. which includes (among other things), an RS232 and Ethernet connections.
  1065. Refer to the NuttX board
  1066. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/kinetis/twr-k64f120m/README.txt>`__
  1067. file for further information.
  1068. **Driver Status**.
  1069. - **NuttX-6.8**. Ethernet and SD card (SDHC) drivers also exist: The
  1070. SDHC driver is partially integrated in to the NSH configuration but
  1071. has some outstanding issues. Additional work remaining includes: (1)
  1072. integrate th SDHC drivers, and (2) develop support for USB host and
  1073. device. NOTE: Most of these remaining tasks are the same as the
  1074. pending K40 tasks described above.
  1075. - **NuttX-7.14**. The Ethernet driver became stable in NuttX-7.14
  1076. thanks to the efforts of Andrew Webster.
  1077. - **NuttX-7.17**. Ethernet support was extended and verified on the
  1078. Freedom K64F. A Kinetis USB device controller driver and PWM support
  1079. was contributed by kfazz.
  1080. NXP/FreeScale Kinetis K66
  1081. -------------------------
  1082. Support for the Kinetis K64 family and
  1083. specifically for the **NXP/Freescale Freedom K66F** board was
  1084. contributed by David Sidrane in NuttX 7.20. Refer to the NuttX board
  1085. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/kinetis/freedom-k66f/README.txt>`__
  1086. file for further information.
  1087. **Driver Status**.
  1088. - Most K6x drivers are compatible with the K66.
  1089. - **NuttX-7.20**. David Sidrane also contributed support for a serial
  1090. driver on the K66's LPUART.
  1091. - **NuttX-7.22**. David Sidrane contributed improvements to the USB and
  1092. I2C device drivers, RTC alarm functionality, and new SPI driver.
  1093. - **NuttX-7.26**. David Sidrane contributed DMA support to the Kinetis
  1094. K6x family.
  1095. Sony CXD56xx
  1096. ------------
  1097. (6 x ARM Cortex-M4)
  1098. Support for the CXD56\ *xx* was
  1099. introduced by Nobuto Kobayashi in NuttX-7.30.
  1100. **Sony Spresence**. Spresense is a compact development board based on
  1101. Sony’s power-efficient multicore microcontroller CXD5602. Basic support
  1102. for the Sony Spresense board was included in the contribution of Nobuto
  1103. Kobayashi in NuttX-7.30. *NOTE*: That was an initial, bare bones basic
  1104. Spresense port sufficient for running a NuttShell (NSH) and should not
  1105. be confused with the full Spresence SDK offered from Sony. Since then
  1106. there has been much development of the NuttX CXD56xx port.
  1107. **Features:**
  1108. - Integrated GPS: Embedded GNSS with support for GPS, QZSS.
  1109. - Hi-res audio output and multi mic inputs" Advanced 192kHz/24 bit
  1110. audio codec and amplifier for audio output, and support for up to 8
  1111. mic input channels.
  1112. - Multicore microcontroller: Spresense is powered by Sony's CXD5602
  1113. microcontroller (ARM® Cortex®-M4F × 6 cores), with a clock speed of
  1114. 156 MHz.
  1115. **Driver Status:**
  1116. **NuttX-3.31**. In this release, many new architectural features,
  1117. peripheral drivers, and board configurations were contributed primarily
  1118. through the work of Alin Jerpelea. These new architectural features
  1119. include: Inter-core communications, power management, and clock
  1120. management. New drivers include: GPIO, PMIC, USB, SDHC, SPI, I2C, DMA,
  1121. RTC, PWM, Timers, Watchdog Timer, UID, SCU, ADC, eMMC, Camera CISIF,
  1122. GNSS, and others.
  1123. **NuttX-8.1**. Alin Jerpelea brought in ten (external) sensor drivers
  1124. that integrate through the CXD56xx's SCU.
  1125. **NuttX-8.2**. Masayuki Ishikawa implemented SMP operation of the
  1126. CX56Dxx parts. Alin Jerpelea: Added support for the Altair LTE modem
  1127. support, enabled support for accelerated format converter, rotation and
  1128. so on using the CXD5602 image processing accelerator, added ISX012
  1129. camera support, added audio and board audio control implementation,
  1130. added an audio_tone_generator, added optional initialization of GNSS and
  1131. GEOFENCE at boot if the drivers are enabled, added an lcd examples
  1132. configuration.
  1133. STMicro STM32 F302x
  1134. -------------------
  1135. (STM32 F3 family). Architecture (only) support for
  1136. the STM32 F302 was contributed in NuttX-7.10 by Ben Dyer (via the PX4
  1137. team and David Sidrane).
  1138. Support for the Nucleo-F302R8 board was added by raiden00pl in
  1139. NuttX-7.27. Refer to the NuttX board
  1140. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/nucleo-f302r8/README.txt>`__
  1141. file for further information.
  1142. STMicro STM32 F303x
  1143. -------------------
  1144. (STM32 F3 family)
  1145. - **STM32F3-Discovery**. This port uses the STMicro STM32F3-Discovery
  1146. board featuring the STM32F303VCT6 MCU (STM32 F3 family). Refer to the
  1147. `STMicro web
  1148. site <http://www.st.com/internet/evalboard/product/254044.jsp>`__ for
  1149. further information about this board.
  1150. - **STMicro ST Nucleo F303RE board**. The basic port for the Nucleo
  1151. F303RE was contributed by Paul Alexander Patience and first released
  1152. in NuttX-7.12. Refer to the NuttX board
  1153. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/nucleo-f303re/README.txt>`__
  1154. file for further information.
  1155. - **STMicro ST Nucleo F303ZE board**. Support for the Nucleo-F303ZE
  1156. board was added by Mateusz Szafoni in NuttX-7.27. Refer to the NuttX
  1157. board
  1158. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/nucleo-f303ze/README.txt>`__
  1159. file for further information.
  1160. STMicro STM32 F334
  1161. ------------------
  1162. (STM32 F3 family, ARM Cortex-M4)
  1163. Support for the STMicro **STM32F334-Disco** board was contributed by
  1164. Mateusz Szafoni in NuttX-7.22 and for the **Nucleo-STM32F334R8** was
  1165. contributed in an earlier release.
  1166. STMicro STM32 F372/F373
  1167. -----------------------
  1168. (ARM Cortex-M4)
  1169. Basic architecture support for the STM32F372/F373 was contributed by
  1170. Marten Svanfeldt in NuttX 7.9. There are no STM32F*72 boards currently
  1171. supported, however.
  1172. STMicro STM32 F4x1
  1173. ------------------
  1174. (STM32 F4 family).
  1175. **Nucleo F401RE**. This port uses the STMicro Nucleo F401RE board
  1176. featuring the STM32F401RE MCU. Refer to the `STMicro web
  1177. site <http://www.st.com/en/evaluation-tools/nucleo-f401re.html>`__ for
  1178. further information about this board.
  1179. **Nucleo F411RE**. This port uses the STMicro Nucleo F411RE board
  1180. featuring the STM32F411RE MCU. Refer to the `STMicro web
  1181. site <http://www.st.com/en/evaluation-tools/nucleo-f411re.html>`__ for
  1182. further information about this board.
  1183. **STATUS:**
  1184. - **NuttX-7.2** The basic port for STMicro Nucleo F401RE board was
  1185. contributed by Frank Bennett.
  1186. - **NuttX-7.6** The basic port for STMicro Nucleo F401RE board was
  1187. added by Serg Podtynnyi.
  1188. - **NuttX-7.25** Architecture support (only) for STMicro STM32F401xB
  1189. and STM32F401xC pars was added.
  1190. - Refer to the NuttX board
  1191. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/nucleo-f4x1re/README.txt>`__
  1192. file for further information.
  1193. STMicro STM32410
  1194. ----------------
  1195. (STM32 F4 family)
  1196. Architecture-only support was contributed to NuttX-7.21 by Gwenhael
  1197. Goavec-Merou.
  1198. STMicro STM32 F405x/407x
  1199. ------------------------
  1200. (STM32 F4 family).
  1201. **STMicro STM3240G-EVAL**. This port uses the STMicro STM3240G-EVAL
  1202. board featuring the STM32F407IGH6 MCU. Refer to the `STMicro web
  1203. site <http://www.st.com/internet/evalboard/product/252216.jsp>`__ for
  1204. further information about this board.
  1205. **STATUS:**
  1206. - **NuttX-6.12** The basic port is complete and first appeared in
  1207. NuttX-6.12. The initial port passes the NuttX OS test and includes a
  1208. validated configuration for the NuttShell (NSH, see :ref:`NSH <nsh>`) as well
  1209. as several other configurations.
  1210. - **NuttX-6.13-6.16** Additional drivers and configurations were added
  1211. in NuttX 6.13-6.16. Drivers include an Ethernet driver, ADC driver,
  1212. DAC driver, PWM driver, CAN driver, F4 RTC driver, Quadrature
  1213. Encoder, DMA, SDIO with DMA (these should all be compatible with the
  1214. STM32 F2 family and many should also be compatible with the STM32 F1
  1215. family as well).
  1216. - **NuttX-6.16** The NuttX 6.16 release also includes and logic for
  1217. saving/restoring F4 FPU registers in context switches. Networking
  1218. intensions include support for Telnet NSH sessions and new
  1219. configurations for DHPCD and the networking test (nettest).
  1220. - **NuttX-6.17** The USB OTG device controller driver, and LCD driver
  1221. and a function I2C driver were added in NuttX 6.17.
  1222. - **NuttX-6.18** STM32 IWDG and WWDG watchdog timer drivers were added
  1223. in NuttX 6.18 (should be compatible with F1 and F2). An LCD driver
  1224. and a touchscreen driver for the STM3240G-EVAL based on the STMPE811
  1225. I/O expander were also added in NuttX 6.18.
  1226. - **NuttX-6.21** A USB OTG host controller driver was added in NuttX
  1227. 6.21.
  1228. - **NuttX-7.3** Support for the Olimex STM32 H405 board was added in
  1229. NuttX-7.3.
  1230. - **NuttX-7.14** Support for the Olimex STM32 H407 board was added in
  1231. NuttX-7.14.
  1232. - **NuttX-7.17** Support for the Olimex STM32 E407 board was added in
  1233. NuttX-7.17.
  1234. - **NuttX-7.19** Support for the Olimex STM32 P407 board was added in
  1235. NuttX-7.19.
  1236. - **NuttX-7.21** Support for the MikroElektronika Clicker2 for STM32
  1237. (STM32 P405) board was added in NuttX-7.21.
  1238. - **NuttX-7.29** Support for the OmnibusF4 architecture (STM32 P405)
  1239. board was added in NuttX-7.29.
  1240. Refer to the STM3240G-EVAL board
  1241. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/stm3240g-eval/README.txt>`__
  1242. file for further information.
  1243. **STMicro STM32F4-Discovery**. This port uses the STMicro
  1244. STM32F4-Discovery board featuring the STM32F407VGT6 MCU. The
  1245. STM32F407VGT6 is a 168MHz Cortex-M4 operation with 1Mbit Flash memory
  1246. and 128kbytes. The board features:
  1247. - On-board ST-LINK/V2 for programming and debugging,
  1248. - LIS302DL, ST MEMS motion sensor, 3-axis digital output accelerometer,
  1249. - MP45DT02, ST MEMS audio sensor, omni-directional digital microphone,
  1250. - CS43L22, audio DAC with integrated class D speaker driver,
  1251. - Eight LEDs and two push-buttons,
  1252. - USB OTG FS with micro-AB connector, and
  1253. - Easy access to most MCU pins.
  1254. Support for the STM3F4DIS-BB base board was added in NuttX-7.5. This
  1255. includes support for the serial communications via the on-board DB-9
  1256. connector, Networking, and the microSD card slot.
  1257. Refer to the `STMicro web
  1258. site <http://www.st.com/internet/evalboard/product/252419.jsp>`__ for
  1259. further information about this board and to
  1260. **MikroElektronika Mikromedia for STM32F4**. This is another board
  1261. supported by NuttX that uses the same STM32F407VGT6 MCU as does the
  1262. STM32F4-Discovery board. This board, however, has very different
  1263. on-board peripherals than does the STM32F4-Discovery:
  1264. - TFT display with touch panel,
  1265. - VS1053 stereo audio codec with headphone jack,
  1266. - SD card slot,
  1267. - Serial FLASH memory,
  1268. - USB OTG FS with micro-AB connector, and
  1269. - Battery connect and batter charger circuit.
  1270. See the
  1271. `Mikroelektronika <http://www.mikroe.com/mikromedia/stm32-m4/>`__
  1272. website for more information about this board and the NuttX board
  1273. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/mikroe-stm32f4/README.txt>`__
  1274. file for further information about the NuttX port.
  1275. **Olimex STM32 H405**. Support for the Olimex STM32 H405 development
  1276. board was contributed by Martin Lederhilger and appeared in NuttX-7.3.
  1277. See the NuttX board
  1278. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/olimex-stm32-h405/README.txt>`__
  1279. file for further information about the NuttX port.
  1280. **Olimex STM32 H407**. Support for the Olimex STM32 H407 development
  1281. board was contributed by Neil Hancock and appeared in NuttX-7.14. See
  1282. the NuttX board
  1283. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/olimex-stm32-h407/README.txt>`__
  1284. file for further information about the NuttX port.
  1285. **Olimex STM32 E407**. Support for the Olimex STM32 E407 development
  1286. board was contributed by Mateusz Szafoni and appeared in NuttX-7.17.
  1287. Networking configurations were added in NuttX-7.18. See the NuttX board
  1288. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/olimex-stm32-e407/README.txt>`__
  1289. file for further information about the NuttX port.
  1290. **Olimex STM32 P407**. Support for the Olimex STM32 P407 development
  1291. board appeared in NuttX-7.19. See the NuttX board
  1292. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/olimex-stm32-p407/README.txt>`__
  1293. file for further information about the NuttX port.
  1294. **MikroElektronika Clicker2 for STM32**. This is yet another board
  1295. supported by NuttX that uses the same STM32F407VGT6 MCU as does the
  1296. STM32F4-Discovery board. This board has been used primarily with the
  1297. MRF24J40 Click board for the development of IEEE 802.15.4 MAC and
  1298. 6LoWPAN support.
  1299. See the
  1300. `Mikroelektronika <https://shop.mikroe.com/development-boards/starter/clicker-2/stm32f4>`__
  1301. website for more information about this board and the NuttX board
  1302. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/clicker2-stm32/README.txt>`__
  1303. file for further information about the NuttX port.
  1304. **OmnibusF4**. Initial support for the OmnibusF4 family of flight
  1305. management units was contributed by Bill Gatliff in NuttX-7.29.
  1306. "OmnibusF4" is not a product name *per se*, but rather a design
  1307. specification that many product vendors adhere to. The specification
  1308. defines the major components, and how those components are wired into
  1309. the microcontroller. *Airbot* is one such vendor. They publish a
  1310. `schematic <http://bit.ly/obf4pro>`__. Other software that supports the
  1311. OmnibusF4 family include Betaflight, iNAV, and many others. PX4 recently
  1312. added support as well, also based on NuttX. No code from those resources
  1313. is included in this port. The OmnibusF4 specification mandates the
  1314. InvenSense MPU6000 which is included in NuttX-7.29 along with a driver
  1315. for the MAX7546 OSD.
  1316. STMicro STM32 F427/F437
  1317. -----------------------
  1318. General architectural support was provided for
  1319. the F427/437 family in NuttX 6.27. Specific support includes the
  1320. STM32F427I, STM32F427Z, and STM32F427V chips. This is
  1321. *architecture-only* support, meaning that support for the boards with
  1322. these chips is available, but not support for any publicly available
  1323. boards is included. This support was contributed by Mike Smith.
  1324. The F427/437 port adds (1) additional SPI ports, (2) additional UART
  1325. ports, (3) analog and digital noise filters on the I2C ports, (4) up to
  1326. 2MB of flash, (5) an additional lower-power mode for the internal
  1327. voltage regulator, (6) a new prescaling option for timer clock, (7) a
  1328. larger FSMSC write FIFO, and (8) additional crypto modes (F437 only).
  1329. **Axlotoi**. In NuttX-7.31, Jason Harris contributed support for the
  1330. Axloti board. That is the board for the Axoloti open source synthesizer
  1331. board featuring the STM32F427IGH6 MCU The STM32F427IGH6 has a 180MHz
  1332. Cortex-M4 core with 1MiB Flash memory and 256KiB of SRAM The Axloti
  1333. board features:
  1334. - ADAU1961 24-bit 96 kHz stereo CODEC
  1335. - 1/4" in/out jacks for analog audio signals
  1336. - 3.5 mm jack for analog audio signals
  1337. - 8 MiB of SDRAM (Alliance Memory AS4C4M16SA)
  1338. - Serial MIDI in/out ports
  1339. - SD Card slot
  1340. - Two user LEDs and one (GPIO) push-button
  1341. - USB OTG FS with Micro-AB connector (USB device mode operation)
  1342. - USB OTG HS with Type-A connector (USB host mode operation)
  1343. - Easy access to most IO pins
  1344. Refer to `Axloti <http://www.axoloti.com/>`__ website for further
  1345. information about this board.
  1346. STMicro STM32 F429
  1347. ------------------
  1348. Support for STMicro STM32F429I-Discovery development
  1349. board featuring the STM32F429ZIT6 MCU was contributed in NuttX-6.32 by
  1350. Ken Pettit. The STM32F429ZIT6 is a 180MHz Cortex-M4 operation with 2Mbit
  1351. Flash memory and 256kbytes.
  1352. **STATUS**:
  1353. - The initial release included support from either OTG FS or OTG HS in
  1354. FS mode.
  1355. - The F429 port adds support for the STM32F439 LCD and OTG HS (in FS
  1356. mode).
  1357. - In Nutt-7.6, Brennan Ashton added support for concurrent OTG FS and
  1358. OTG HS (still in FS mode) and Marco Krahl added support for an
  1359. SPI-based LCD .
  1360. - In Nutt-7.7, Marco Krahl included support for a framebuffer based
  1361. driver using the LTDC and DMA2D. Marcos's implementation included
  1362. extensions to support more advance LTDC functions through an
  1363. auxiliary interface.
  1364. - Support for the uVision GCC IDE added for theSTM32F429I-Discovery
  1365. board in NuttX 7.16. From Kha Vo.
  1366. Refer to the STM32F429I-Discovery board
  1367. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/stm32f429i-disco/README.txt>`__
  1368. file for further information.
  1369. STMicro STM32 F433
  1370. ------------------
  1371. Architecture-only support for the STM32 F433 family
  1372. was contributed by Alan Carvalho de Assis in NuttX-7.22 (meaning that
  1373. the parts are supported, but there is no example board supported in the
  1374. system). This support was contributed by David Sidrane and made
  1375. available in NuttX-7.11.
  1376. STMicro STM32 F446
  1377. ------------------
  1378. Architecture-only support is available for the STM32
  1379. F446 family (meaning that the parts are supported, but there is no
  1380. example board supported in the system). This support was contributed by
  1381. David Sidrane and made available in NuttX-7.11.
  1382. STMicro STM32 F46xx
  1383. -------------------
  1384. Architecture-only support is available for the
  1385. STM32 F46xx family (meaning that the parts are supported, but there is
  1386. no example board supported in the system). This support was contributed
  1387. by Paul Alexander Patienc and made available in NuttX-7.15.
  1388. STMicro STM32 G474x
  1389. -------------------
  1390. One board is supported in this family:
  1391. - **B-G474E-DPOW1 Discovery Kit**. Initial board support for the
  1392. STMicro B-G474E-DPOW1 board from ST Micro was added in NuttX-9.1. See
  1393. the `STMicro
  1394. 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>`__
  1395. and the board
  1396. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/b-g474e-dpow1/README.txt>`__
  1397. file for further information.
  1398. **Status**:
  1399. **NuttX-9.1**. Initial support for booting NuttX to a functional NSH
  1400. prompt on this board.
  1401. STMicro STM32 G431x
  1402. -------------------
  1403. One board is supported in this family:
  1404. - **Nucleo-G431RB**. Initial board support for the
  1405. Nucleo-G431RB was added in NuttX-10.0. Refer to the NuttX board
  1406. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/nucleo-g431rb/README.txt>`__
  1407. file for further information.
  1408. - **B-G431B-ESC1**. Initial board support for the
  1409. B-G431B-ESC1 was added in NuttX-10.0. Refer to the NuttX board
  1410. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/b-g431b-esc1/README.txt>`__
  1411. file for further information.
  1412. STMicro STM32 L475
  1413. ------------------
  1414. One board in supported in this family:
  1415. - **B-L475E-IOT01A Discovery Kit**. Board support for the STMicro
  1416. B-L475E-IOT01A board from ST Micro was contributed by Simon Piriou in
  1417. NuttX-7.22. See the `STMicro
  1418. website <http://www.st.com/en/evaluation-tools/b-l475e-iot01a.html>`__
  1419. and the board
  1420. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32l4/b-l475e-iot01a/README.txt>`__
  1421. file for further information.
  1422. This board STMicro is powered by STM32L475VG Cortex-M4 and targets
  1423. IoT nodes with a choice of connectivity options including WiFi,
  1424. Bluetooth LE, NFC, and sub-GHZ RF at 868 or 915 MHz, as well as a
  1425. long list of various environmental sensors.
  1426. **Status**:
  1427. **NuttX-7.22**. The initial board support was released. Since this board
  1428. is highly compatible with the related, more mature STM32 L4 parts, it is
  1429. expected that there is a high degree of compatibility and with those
  1430. part.
  1431. This board has been used extensive to develop NuttX PktRadio support for
  1432. the onboard Spirit1 radio (SPSGRF-915) radio. 6LoWPAN radio
  1433. communications are fully supported in point-to-point and in star
  1434. topologies.
  1435. Simon Pirou also contributed support for the on-board Macronix QuadSPI
  1436. FLASH in NuttX 7.22.
  1437. STMicro STM32 L476
  1438. ------------------
  1439. Three boards are supported in this family:
  1440. - **Nucleo-L476RG**. Board support for the STMicro NucleoL476RG board
  1441. from ST Micro was contributed by Sebastien Lorquet in NuttX-7.15. See
  1442. the `STMicro website <http://www.st.com/nucleo-l476rg>`__ and the
  1443. board
  1444. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32l4/nucleo-l476rg/README.txt>`__
  1445. file for further information.
  1446. - **STM32L476VG Discovery**. Board support for the STMicro STM32L476VG
  1447. Discovery board from ST Micro was contributed by Dave in NuttX-7.15.
  1448. See the `STMicro website <http://www.st.com/stm32l476g-disco>`__ and
  1449. the board
  1450. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32l4/stm32l476vg-disco/README.txt>`__
  1451. file for further information.
  1452. - **STM32L476 MDK**. Very basic support for NuttX on the Motorola Moto
  1453. Z MDK was contributed by Jim Wylder in NuttX 7.18. A simple NSH
  1454. configuration is available for the STM32L476 chip. See the board
  1455. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32l4/stm32l476-mdk/README.txt>`__
  1456. file for further information.
  1457. **Status**:
  1458. **NuttX-7.15**. Only the first initial release of support for this
  1459. family is present. It includes these basics:
  1460. - RCC, clocking, Interrupts, System timer
  1461. - UART, USART, Serial Console
  1462. - GPIO, DMA, I2C, RNG, SPI
  1463. **NuttX-7.16**. Additional drivers were contributed:
  1464. - QSPI with DMA and memory mapped support. From Dave (ziggurat29).
  1465. - CAN contributed by Sebastien Lorquet.
  1466. - I2C made functional by Dave (ziggurat29).
  1467. **NuttX-7.17**. Additional drivers/features were contributed:
  1468. - Support for tickless mode.
  1469. - CAN driver enhancements.
  1470. **NuttX-7.18**. Additional drivers were contributed:
  1471. - Oneshot timer driver.
  1472. - Quadrature encode contributed by Sebastien Lorquet.
  1473. **NuttX-7.20**. Additional drivers were added:
  1474. - Serial Audio Interface (SAI).
  1475. - Power Management.
  1476. - LPTIM.
  1477. - Comparator (COMP).
  1478. **NuttX-7.21**. Additional drivers were added:
  1479. - Internal Watchdog (IWDG).
  1480. **NuttX-7.22**.
  1481. - DAC and ADC drivers were contributed by Juha Niskanen.
  1482. **NuttX-7.30**.
  1483. - Added USB FS device driver, CRS and HSI38 support from Juha Niskanen.
  1484. **NuttX-8.2**.
  1485. Add DMA support for STM32L4+ series. From Jussi Kivilinna.
  1486. Add support for LPTIM timers on the STM32L4 as PWM outputs. From Matias
  1487. N.
  1488. Enable OTGFS for STM32L4+ series. The OTGFS peripheral on stm32l4x6 and
  1489. stm32l4rxxx reference manual is exactly the same. From Jussi Kivilinna.
  1490. STMicro STM32 L4x2
  1491. ------------------
  1492. Architecture support for STM32 L4x2 family was
  1493. contributed by Juha Niskanen in NuttX-7.21. Support was extended for the
  1494. STM32L412 and STM32L422 chips in NuttX-7.27. Two boards are currently
  1495. supported.
  1496. - **Nucleo-L432KC**. Board support for the STMicro Nucleo-L432KC board
  1497. from ST Micro was contributed by JSebastien Lorquet in NuttX-7.21.
  1498. See the `STMicro
  1499. website <http://www.st.com/en/evaluation-tools/nucleo-l432kc.html>`__
  1500. and the board
  1501. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32l4/nucleo-l432kc/README.txt>`__
  1502. file for further information.
  1503. - **Nucleo-L452RE**. Board support for the STMicro Nucleo-L452RE board
  1504. from ST Micro was contributed by Juha Niskanen in NuttX-7.21. See the
  1505. `STMicro
  1506. website <http://www.st.com/en/evaluation-tools/nucleo-l452re.html>`__
  1507. and the board
  1508. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32l4/nucleo-l452re/README.txt>`__
  1509. file for further information.
  1510. See also the status above for the STM32 L476 most of which also applies
  1511. to these parts.
  1512. STMicro STM32 L496
  1513. ------------------
  1514. Architecture support for STM32 L496 was contributed
  1515. by Juha Niskanen along with board support for the Nucleo-L496ZG in
  1516. NuttX-7.21:
  1517. - **Nucleo-L496ZG**. Board support for the STMicro Nucleo-L496ZG board
  1518. from ST Micro was contributed by Juha Niskanen in NuttX-7.21. See the
  1519. `STMicro
  1520. website <http://www.st.com/en/evaluation-tools/nucleo-l496zg.html>`__
  1521. and the board
  1522. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32l4/nucleo-l496zg/README.txt>`__
  1523. file for further information. See also the status above for the STM32
  1524. L476 most of which also applies to this part.
  1525. STMicro STM32 L4Rx
  1526. ------------------
  1527. Architecture support for STM32 L4+ family was
  1528. contributed by Juha Niskanen along with board support for the
  1529. STM32L4R9I-Discovery in NuttX-7.26. Additional support for the
  1530. STM32L4R5ZI part was added by Jussi in NuttX-8.2.
  1531. - **STM32L4R9I-Discovery**. Board support for the STMicro
  1532. STM32L4R9I-Discovery board from ST Micro was contributed by Juha
  1533. Niskanen in NuttX-7.26. That development board uses the STM32L4R9AI
  1534. part. See the `STMicro
  1535. website <https://www.st.com/en/evaluation-tools/32l4r9idiscovery.html>`__
  1536. and the board
  1537. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32l4/stm32l4r9ai-disco/README.txt>`__
  1538. file for further information. See also the status above for the
  1539. opther STM32 L4 parts, most of which also applies to this part.
  1540. NXP LPC40xx
  1541. -----------
  1542. The LPC40xx family is very similar to the LPC17xx family
  1543. except that it features a Cortex-M4F versus the LPC17xx's Cortex-M3.
  1544. Architectural support for the LPC40xx family was built on top of the
  1545. existing LPC17xx by jjlange in NuttX-7.31. With that architectural
  1546. support came support for two boards also contributed by jjlange:
  1547. **LX CPU**. Pavel Pisa add support for the PiKRON LX CPU board. This
  1548. board may be configured to use either the LPC4088 or the LPC1788.
  1549. **Driver Status.**
  1550. NXP LPC43xx
  1551. -----------
  1552. Several board ports are available for this higher end, NXP
  1553. Cortex-M4F part:
  1554. **NXG Technologies LPC4330-Xplorer**. This NuttX port is for the
  1555. LPC4330-Xplorer board from NGX Technologies featuring the NXP
  1556. LPC4330FET100 MCU. See the `NXG
  1557. website <http://shop.ngxtechnologies.com/product_info.php?cPath=21_37&products_id=104>`__
  1558. for further information about this board.
  1559. - **STATUS:** Refer to the NuttX board
  1560. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lpc43xx/lpc4330-xplorer/README.txt>`__
  1561. file for more detailed information about this port.
  1562. - **NuttX-6.20** The basic LPC4330-Xplorer port is complete. The basic
  1563. NuttShell (NSH) configuration is present and fully verified. This
  1564. includes verified support for: SYSTICK system time, pin and GPIO
  1565. configuration, and a serial console.
  1566. **NXP/Embest LPC4357-EVB**. This NuttX port is for the LPC4357-EVB from
  1567. NXP/Embest featuring the NXP LPC4357FET256 MCU. The LPC4357 differs from
  1568. the LPC4330 primarily in that it includes 1024KiB of on-chip NOR FLASH.
  1569. See the `NXP
  1570. website <http://www.nxp.com/news/news-archive/2013/nxp-development-kit-based-on-the-dual-core-lpc4357-microcontroller.html>`__
  1571. for more detailed information about the LPC4357 and the LPC4357-EVB.
  1572. - **STATUS:** Refer to the NuttX board
  1573. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lpc43xx/lpc4357-evb/README.txt>`__
  1574. file for more detailed information about this port.
  1575. - **NuttX-7.6**. The basic port is was contributed by Toby Duckworth.
  1576. This port leverages from the LPC4330-Xplorer port (and, as of this
  1577. writing, still requires some clean up of the technical discussion in
  1578. some files). The basic NuttShell (NSH) configuration is present and
  1579. has been verified. Support is generally the same as for the
  1580. LPC4330-Xplorer as discussed above.
  1581. **NXP LPC4370-Link2**. This is the NuttX port to the NXP LPC4370-Link2
  1582. development board featuring the NXP LPC4370FET100 MCU.
  1583. - **STATUS:** Refer to the NuttX board
  1584. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lpc43xx/lpc4370-link2/README.txt>`__
  1585. file for more detailed information about this port.
  1586. - **NuttX-7.12** The NXP LPC4370-Link2 port is was contributed by Lok
  1587. Tep and first released in NuttX-7.12.
  1588. **WaveShare LPC4337-WS**. This is the NuttX port to the WaveShare
  1589. LPC4337-WS development board featuring the NXP LPC4337JBD144 MCU.
  1590. - **STATUS:** Refer to the NuttX board
  1591. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lpc43xx/lpc4337-ws/README.txt>`__
  1592. file for more detailed information about this port.
  1593. - **NuttX-7.14** The NXP WaveShare LPC4337-WS port is was contributed
  1594. by Lok Tep and first released in NuttX-7.14.
  1595. - **NuttX-7.16** Support for the LPC4337JET100 chip was contribed by
  1596. Alexander Vasiljev. Alexander also contributed an LPC43xx AES driver
  1597. available in NuttX-7.16.
  1598. **Driver Status**.
  1599. - **NuttX-6.20** Several drivers have been copied from the related
  1600. GPDMA, I2C, SPI, and SSP. The registers for these blocks are the same
  1601. in both the LPC43xx and the LPC17xx and they should integrate into
  1602. the LPC43xx very easily by simply adapting the clocking and pin
  1603. configuration logic.
  1604. Other LPC17xx drivers were not brought into the LPC43xx port because
  1605. these peripherals have been completely redesigned: CAN, Ethernet, USB
  1606. device, and USB host.
  1607. So then there is no support for the following LPC43xx peripherals:
  1608. SD/MMC, EMC, USB0,USB1, Ethernet, LCD, SCT, Timers 0-3, MCPWM, QEI,
  1609. Alarm timer, WWDT, RTC, Event monitor, and CAN.
  1610. Some of these can be leveraged from other MCUs that appear to support
  1611. the same peripheral IP:
  1612. - The LPC43xx USB0 peripheral appears to be the same as the USB OTG
  1613. peripheral for the LPC31xx. The LPC31xx USB0 device-side driver
  1614. has been copied from the LPC31xx port but also integration into
  1615. the LPC43xx (clocking and pin configuration). It should be
  1616. possible to complete porting of this LPC31xx driver with a small
  1617. porting effort.
  1618. - The Ethernet block looks to be based on the same IP as the STM32
  1619. Ethernet and, as a result, it should be possible to leverage the
  1620. NuttX STM32 Ethernet driver with a little more effort.
  1621. - **NuttX-6.21** Added support for a SPIFI block driver and for RS-485
  1622. option to the serial driver.
  1623. - **NuttX-7.17** EMC support was extended to include support SDRAM by
  1624. Vytautas Lukenska.
  1625. - **NuttX-7.23** A CAN driver was contributed by Alexander Vasiljev in
  1626. NuttX-7.23.
  1627. - **NuttX-7.24** RTC and Windowed Watchdog Timer (WWDT) drivers were
  1628. leveraged from the LPC17 and contributed by Gintaras Drukteinis.
  1629. Leveraged the LPC54xx SD/MMC to the LPC43xx. There are still
  1630. remaining issues with the SD/MMC driver and it is not yet functional.
  1631. NXP LPC54xx
  1632. -----------
  1633. A port to the
  1634. `LPCXpresso-LPC54628 <https://www.nxp.com/support/developer-resources/hardware-development-tools/lpcxpresso-boards/lpcxpresso54628-development-board:OM13098>`__
  1635. was added in NuttX-7.24. Initial configurations include: A basic NSH
  1636. configuration (nsh), a networking configuration (netnsh), and three
  1637. graphics configurations (nxwm, fb, and lvgl).
  1638. **LPC4508**. The port was verified on an LPC5408 by a NuttX user with
  1639. relevant changes incorporated in NuttX-7.26.
  1640. **Driver Status**.
  1641. - **NuttX-7.24** The initial release for the LPC54xx in NuttX included
  1642. the following drivers: UARTs, SysTick, SD/MMC, DMA, GPIO, GPIO
  1643. interrupts, LEDs and buttons, LCD, WWDT, RTC, RNG, Ethernet, and SPI.
  1644. The SPI driver is untested and there are known issues with the SD/MMC
  1645. driver, however.
  1646. - **NuttX-7.29** Configurations were added to verify the "Per-Window
  1647. Framebuffer" feature also added in NuttX-7.29.
  1648. Refer to the LPCXpresso-LPC54628 board
  1649. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lpc54xx/lpcxpresso-lpc54628/README.txt>`__
  1650. file for more detailed information about this port.
  1651. NXP S32K14x
  1652. -----------
  1653. Support for the S32K14x family was added in NuttX-8.1. Two
  1654. boards are supported
  1655. - **S32K146EVB**. A port to the S32K146EVB was included in NuttX-8.1.
  1656. The initial release supports two full-featured NSH configurations.
  1657. Refer to the S32K146EVB board
  1658. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/s32k1xx/s32k146evb/README.txt>`__
  1659. file for more detailed information about this port.
  1660. - **S32K148EVB**. A port to the S32K148EVB was also provided in
  1661. NuttX-8.1. The initial release supports two full-featured NSH
  1662. configurations. Refer to the S32K148EVB board
  1663. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/s32k1xx/s32k148evb/README.txt>`__
  1664. file for more detailed information about this port.
  1665. Both boards featured two NSH configurations: One for execution out of
  1666. FLASH and a *safe* version that executes out of SRAM and, hence, cannot
  1667. lock up the system because of a bad FLASH image.
  1668. **Driver Status**.
  1669. - **NuttX-8.1** The initial release for the S32K14x boards in NuttX
  1670. included the following verfied drivers: Basic boot up logic, clock
  1671. configuration, LPUART console, Systick timer, and GPIO controls.
  1672. Additional complete-but-unverified drivers were also included: GPIO
  1673. interrupts, eDMA, LPSPI, LPI2C, and Ethernet (S32K148 only).
  1674. TI/Stellaris LM4F120x
  1675. ---------------------
  1676. This port uses the TI Stellaris LM4F120 LaunchPad.
  1677. Jose Pablo Carballo and I are doing this port.
  1678. TI/Tiva TM4C123G
  1679. ----------------
  1680. This port uses the Tiva C Series TM4C123G LaunchPad
  1681. Evaluation Kit
  1682. `(EK-TM4C123GXL) <http://www.ti.com/tool/ek-tm4c123gxl>`__.
  1683. **TI Tiva TM4C123H**. Architectural support for the Tiva TM4C123AH6PM
  1684. was contributed in NuttX-8.1 by Nathan Hartman.
  1685. **STATUS:**
  1686. - **NuttX-7.1**. Initial architectural support for the EK-TM4C123GXL
  1687. was implemented and was released in NuttX 7.1. Basic board support
  1688. the EK-TM4C123GXL was also included in that release but was not fully
  1689. tested. This basic board support included a configuration for the
  1690. NuttShell
  1691. :ref:`NSH <nsh>`).
  1692. - **NuttX-7.2**. The fully verified port to the EK-TM4C123GXL was
  1693. provided in NuttX-7.2.
  1694. - **NuttX-7.7**. An I2C driver was added in NuttX-7.7.
  1695. - **NuttX-8.1**. Along with TM4C123AH6PM support, Nathan Hartman also
  1696. reinstated and extended the Tiva Quadrature Encoder driver.
  1697. TI/Tiva TM4C1294
  1698. ----------------
  1699. This port uses the TI Tiva C Series TM4C1294 Connected
  1700. LaunchPad `(EK-TM4C1294XL) <http://www.ti.com/tool/ek-tm4c1294xl>`__.
  1701. **STATUS:**
  1702. - Support for the EK-TM4C1294XL was contributed by Frank Sautter and
  1703. was released in NuttX 7.9. This basic board support included a
  1704. configuration for the NuttShell
  1705. :ref:`NSH <nsh>`) and a
  1706. configuration for testing IPv6. See drivers for the `TI Tiva
  1707. TM4C129X <#titm4c129x>`__.
  1708. - FLASH and EEPROM drivers from Shirshak Sengupta were included in
  1709. NuttX-7.25.
  1710. Refer to the EK-TM4C1294XL board
  1711. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/tiva/tm4c1294-launchpad/README.txt>`__
  1712. file for more detailed information about this port.
  1713. TI/Tiva TM4C129X
  1714. ----------------
  1715. This port uses the TI Tiva C Series TM4C129X Connected
  1716. Development Kit `(DK-TM4C129X) <http://www.ti.com/tool/dk-tm4c129x>`__.
  1717. **STATUS:**
  1718. - A mature port to the DK-TM4C129X was implemented and was released in
  1719. NuttX 7.7.
  1720. - At the initial release, verified drivers were available for Ethernet
  1721. interface, I2C, and timers as well as board LEDs and push buttons.
  1722. Other Tiva/Stellaris drivers should port to the TM4C129X without
  1723. major difficulty.
  1724. - This board supports included two configurations for the NuttShell
  1725. (:ref:`NSH <nsh>`). Both
  1726. are networked enabled: One configured to support IPv4 and one
  1727. configured to supported IPv6. Instructions are included in the board
  1728. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/tiva/dk-tm4c129x/README.txt>`__
  1729. file for configuring both IPv4 and IPv6 simultaneously.
  1730. - Tiva PWM and Quadrature Encoder drivers were contributed to NuttX in
  1731. 7.18 by Young.
  1732. Refer to the DK-TM4C129X board
  1733. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/tiva/dk-tm4c129x/README.txt>`__
  1734. file for more detailed information about this port.
  1735. TI/SimpleLink CC13x2
  1736. --------------------
  1737. Basic, unverified architectural support for the
  1738. CC13x2 was added in NuttX-7.28. Fragmentary support for very similar
  1739. CC26x2 family is included. This is a work in progress and, with any
  1740. luck, a fully verified port will be available in NuttX-7.29. It is
  1741. currently code complete (minus some ROM *DriverLib* hooks) but untested.
  1742. **TI LaunchXL-CC1312R1**. Basic board support for the TI
  1743. LaunchXL-CC1312R1 board is in place. Board bring-up, however, cannot be
  1744. done until the the basic CC13x2 architecture support is complete,
  1745. hopefully in NuttX-7.29.
  1746. Microchip SAM4L
  1747. ---------------
  1748. This port uses the Microchip SAM4L Xplained Pro development
  1749. board. This board features the ATSAM4LC4C MCU running at 48MHz with
  1750. 256KB of FLASH and 32KB of internal SRAM.
  1751. **STATUS:** As of this writing, the basic port is code complete and a
  1752. fully verified configuration exists for the NuttShell
  1753. :ref:`NSH <nsh>`). The first
  1754. fully functional SAM4L Xplained Pro port was released in NuttX-6.28.
  1755. Support for the SAM4L Xplained modules was added in NuttX-6.29:
  1756. - Support for the SPI-based SD card on the I/O1 module.
  1757. - Driver for the LED1 segment LCD module.
  1758. - Support for the UG-2832HSWEG04 OLED on the SAM4L Xplained Pro's OLED1
  1759. module
  1760. Refer to the NuttX board
  1761. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/sam34/sam4l-xplained/README.txt>`__
  1762. file for further information.
  1763. **Memory Usage**. The ATSAM4LC4C comes in a 100-pin package and has
  1764. 256KB FLASH and 32KB of SRAM. Below is the current memory usage for the
  1765. NSH configuration (June 9, 2013). This is *not* a minimal
  1766. implementation, but a full-featured NSH configuration.
  1767. Static memory usage can be shown with ``size`` command:
  1768. NuttX, the NSH application, and GCC libraries use 42.6KB of FLASH
  1769. leaving 213.4B of FLASH (83.4%) free from additional application
  1770. development. Static SRAM usage is about 2.3KB (<7%) and leaves 29.7KB
  1771. (92.7%) available for heap at runtime.
  1772. SRAM usage at run-time can be shown with the NSH ``free`` command. This
  1773. runtime memory usage includes the static memory usage *plus* all dynamic
  1774. memory allocation for things like stacks and I/O buffers:
  1775. You can see that 22.8KB (71.1%) of the SRAM heap is still available for
  1776. further application development while NSH is running.
  1777. Microchip SAM4CM
  1778. ----------------
  1779. General architectural support was provided for SAM4CM
  1780. family in NuttX 7.3 This was *architecture-only* support, meaning that
  1781. support for the boards with these chips is available, but no support for
  1782. any publicly available boards was included. The SAM4CM port should be
  1783. compatible with most of the SAM3/4 drivers (like HSMCI, DMAC, etc.) but
  1784. those have not be verified on hardware as of this writing. This support
  1785. was contributed in part by Max Neklyudov.
  1786. **Microchip SAM4CMP-DB**. Support for the SAM4CMP-DB board was contributed
  1787. to NuttX by Masayuki Ishikawa in NuttX-7.19. The SAM4CM is a dual-CPU
  1788. part and SMP was included for the ARMv7-M and SAM3/4 families. The
  1789. SAM4CMP-DB board support includes an NSH configuration that operates in
  1790. an SMP configuration. Refer to the NuttX board
  1791. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/sam34/sam4cmp-db/README.txt>`__
  1792. file for further information.
  1793. Microchip SAM4E
  1794. ---------------
  1795. General architectural support was provided for the SAM4E
  1796. family in NuttX 6.32. This was *architecture-only* support, meaning that
  1797. support for the boards with these chips is available, but no support for
  1798. any publicly available boards was included. This support was contributed
  1799. in part by Mitko.
  1800. **Microchip SAM4E-EK**. Board support was added for the SAM4E-EK development
  1801. board in NuttX 7.1. A fully functional NuttShell (NSH) configuration is
  1802. available (see :ref:`NSH <nsh>`). That NSH
  1803. configuration includes networking support and support for an AT25 Serial
  1804. FLASH file system.
  1805. Microchip SAM4S
  1806. ---------------
  1807. There are ports to two Microchip SAM4S board:
  1808. - There is a port the Microchip SAM4S Xplained development board. This
  1809. board features the ATSAM4S16 MCU running at 120MHz with 1MB of FLASH
  1810. and 128KB of internal SRAM.
  1811. - There is also a port to the Microchip SAM4S Xplained *Pro* development
  1812. board. This board features the ATSAM4S32C MCU running at 120MHz with
  1813. 2MB of FLASH and 160KB of internal SRAM.
  1814. Microchip SAM4E. General architectural support was provided for the SAM4E
  1815. family in NuttX 6.32. This was *architecture-only* support, meaning that
  1816. support for the boards with these chips is available, but no support for
  1817. any publicly available boards was included. This support was contributed
  1818. in part by Mitko.
  1819. **Microchip SAM4E-EK**. Board support was added for the SAM4E-EK development
  1820. board in NuttX 7.1. A fully functional NuttShell (NSH) configuration is
  1821. available (see :ref:`NSH <nsh>`). That NSH
  1822. configuration includes networking support and support for an AT25 Serial
  1823. FLASH file system.
  1824. **Development Environments:** 1) Linux with native Linux GNU toolchain,
  1825. 2) Cygwin/MSYS with Cygwin GNU Cortex-M3 or 4 toolchain, 3) Cygwin/MSYS
  1826. with Windows native GNU Cortex-M3 or M4 toolchain (CodeSourcery or
  1827. devkitARM), or 4) Native Windows. A DIY toolchain for Linux or Cygwin is
  1828. provided by the NuttX
  1829. `buildroot <https://bitbucket.org/nuttx/buildroot/downloads/>`__
  1830. package.
  1831. ARM Cortex-M7
  1832. =============
  1833. Microchip SAMV71
  1834. ----------------
  1835. This port uses Microchip SAM V71 Xplained Ultra Evaluation Kit
  1836. (SAMV71-XULT). This board features the ATSAMV71Q21 Cortex-M7
  1837. microcontroller. Refer to the `Microchip web
  1838. site <http://www.atmel.com/tools/atsamv71-xult.aspx>`__ for further
  1839. information about this board.
  1840. **STATUS:** The basic port is complete and there are several different,
  1841. verified configurations available. All configurations use the NuttShell
  1842. (NSH) and a serial console. The first release of the SAMV71-XULT port
  1843. was available in NuttX-7.9. Support for the connect maXTouch Xplained
  1844. Pro LCD as added in NuttX-7.10.
  1845. Additional drivers, with status as of 2015-04-03, include:
  1846. - PIO configuration, including PIO interrupts,
  1847. - On-board LEDs and buttons,
  1848. - DMA,
  1849. - SDRAM (not yet functional),
  1850. - UART/USART-based serial drivers, including the NuttShell serial
  1851. console,
  1852. - High Speed Memory Card Interface (HSMCI) with support for the on
  1853. board SD card slot,
  1854. - SPI (not fully tested),
  1855. - TWIHS/I2C, with the support for the on-board serial EEPROM,
  1856. - SSC/I2S (not fully tested),
  1857. - Ethernet MAC,
  1858. - USB device controller driver (complete, partially functional, but not
  1859. well tested).
  1860. - On-board AT24 I2C EEPROM.
  1861. - On-board WM8904 Audio CODEC with CS2100-CP Fractional-N Multiplier
  1862. (not yet tested).
  1863. - Support for the (optional) maXTouch Xplained Pro LCD module.
  1864. Additional Drivers added in NuttX-7.11 include:
  1865. - MCAN CAN device driver (fully verified in loopback mode only).
  1866. - SPI slave driver.
  1867. Additional Drivers added in NuttX-7.13 include:
  1868. - MPU and protected build mode support.
  1869. - Timer/Counter driver, one-shot timer, free-running timer support.
  1870. - *Tickless* mode of operation.
  1871. - QuadSPI driver.
  1872. - Support for programming on-chip FLASH.
  1873. And in NuttX-7.14:
  1874. - TRNG driver,
  1875. - WDT driver, and
  1876. - RSWDT driver.
  1877. Refer to the NuttX board
  1878. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/samv7/samv71-xult/README.txt>`__
  1879. file for further information.
  1880. Microchip SAME70
  1881. ----------------
  1882. This port uses Microchip SAM E70 Xplained Evaluation Kit
  1883. (ATSAME70-XPLD). This board is essentially a lower cost version of the
  1884. SAMV71-XULT board featuring the ATSAME70Q21 Cortex-M7 microcontroller.
  1885. See the `Microchip SAMV71 <#at91samv71>`__ for supported features. Also
  1886. refer to the NuttX board
  1887. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/samv7/same70-xplained/README.txt>`__
  1888. file for further information.
  1889. Microchip SAMD5x/E5x
  1890. --------------------
  1891. The port of NuttX to Adafruit Metro M4 development
  1892. board was released with NuttX-7/26. This board is essentially a advanced
  1893. version of the Adafruit Metro board based on the SAMD21, but upgraded to
  1894. the SAMD51, specifically the SAMD51J19. See the
  1895. `Adafruit <https://www.adafruit.com/product/3382>`__ web page for
  1896. additional information about the board.
  1897. A fully-function, basic NuttShell (NSH) configuration was was available
  1898. in this initial NuttX-7.26 release. That initial port verifies clock
  1899. configuration boot-up logic, SysTick timer, and SERCOM USART for the
  1900. serial console. The NSH configuration also includes use of the Cortex-M
  1901. Cache Controller (CMCC) which give the SAMD51's Cortex-M4 a performance
  1902. boost.
  1903. Because of the similarity in peripherals, several drivers were brought
  1904. in from the SAML21 port. Most have not been verified as of the
  1905. NuttX-7.26 release. These unverfied drivers include: SPI, I2C, DMA, USB.
  1906. Also refer to the NuttX board
  1907. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/samd5e5/metro-m4/README.txt>`__
  1908. file for further information about the current state of the port.
  1909. NuttX-9.0 added basic support for Microchip SAME54 Xplained Pro board.
  1910. An ethernet driver was also added to the SAME5x family.
  1911. STMicro STM32 F72x/F73x
  1912. -----------------------
  1913. Support for the F72x/F73x family was provided
  1914. by Bob Feretich in NuttX-7.23. A single board is supported in this
  1915. family:
  1916. **STATUS**: See `below <#stm32f7drivers>`__ for STM32 F7 driver
  1917. availability.
  1918. STMicro STM32 F745/F746
  1919. -----------------------
  1920. Three boards are supported for this MCU:
  1921. #. **STM32F746G Discovery**. One port uses the STMicro STM32F746G-DISCO
  1922. development board featuring the STM32F746NGH6 MCU. The STM32F746NGH6
  1923. is a 216MHz Cortex-M7 operation with 1024Kb Flash. The first release
  1924. of the STM32F746G_DISCO port was available in NuttX-7.11. Refer to
  1925. the `STMicro web site <http://www.st.com/stm32f7-discovery>`__ for
  1926. further information about this board.
  1927. #. **Nucleo-144 board with STM32F746ZG**. A basic port for the
  1928. Nucleo-144 board with the STM32F746ZG MCU was contributed in
  1929. NuttX-7.16 by Kconstantin Berezenko.
  1930. STM32 F7 Driver Status:
  1931. - **NuttX-7.11**. Serial driver and Ethernet driver support, along with
  1932. DMA support, were available in this initial release. The STM32 F7
  1933. peripherals are very similar to some members of the STM32 F4 and
  1934. additional drivers can easily be ported the F7 as discussed in this
  1935. Wiki page: `Porting Drivers to the STM32
  1936. F7 <https://cwiki.apache.org/confluence/display/NUTTX/Porting+Drivers+to+the+STM32+F7>`__
  1937. - **NuttX-7.17**. David Sidrane contributed PWR, RTC, BBSRAM, and
  1938. DBGMCU support. Lok Tep contribed SPI, I2c, ADC, SDMMC, and USB
  1939. device driver support.
  1940. - **NuttX-7.22**. Titus von Boxberg also contributed LTDC support for
  1941. the onboard LCD in NuttX-7.22.
  1942. - **NuttX-7.29**. In NuttX-7.29, Valmantas Paliksa added a timer
  1943. lowerhalf driver for STM32F7, ITM syslog support, a CAN driver with
  1944. support for three bxCAN interfaces, and STM32F7 Quad SPI support.
  1945. Support for DMA and USB OTG was added by Mateusz Szafoni in
  1946. NuttX-7.29.
  1947. - **NuttX-7.30**. From Eduard Niesner contributed a PWM driver. Added
  1948. UID access from Valmantas Paliksa. USB High speed driver was added
  1949. for STM32F7 series by Ramtin Amin.
  1950. - **NuttX-9.0**. Added serial DMA support.
  1951. STMicro STM32 F756
  1952. ------------------
  1953. Architecture-only support is available for the STM32
  1954. F756 family (meaning that the parts are supported, but there is no
  1955. example board supported in the system). This support was made available
  1956. in NuttX-7.11. See `above <#stm32f7drivers>`__ for STM32 F7 driver
  1957. availability.
  1958. STMicro STM32 F76xx/F77xx
  1959. -------------------------
  1960. Architecture support for the STM32 F76xx and
  1961. F77xx families was contributed by David Sidrane in NuttX 7.17. Support
  1962. is available for two boards from this family:
  1963. - **Nucleo-F767ZI**. This is a member of the Nucleo-144 board family.
  1964. Support for this board was also contributed by David Sidrane in
  1965. NuttX-7.17. See the board
  1966. `README.txt <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32f7/nucleo-144/README.txt>`__
  1967. file for further information.
  1968. - **STM32F76I-DISCO**. Support for the STM32F76I-DISCO was contributed
  1969. by Titus von Boxberg in NuttX-7.22. The STMicro STM32F769I-DISCO
  1970. development board features the STM32F769NIH6 MCU. The STM32F769NIH6
  1971. is a 216MHz Cortex-M7 operating with 2048K Flash memory and 512Kb
  1972. SRAM. The board features:
  1973. - On-board ST-LINK/V2 for programming and debugging,
  1974. - Mbed-enabled (mbed.org)
  1975. - 4-inch 800x472 color LCD-TFT with capacitive touch screen
  1976. - SAI audio codec
  1977. - Audio line in and line out jack
  1978. - Two ST MEMS microphones
  1979. - SPDIF RCA input connector
  1980. - Two pushbuttons (user and reset)
  1981. - 512-Mbit Quad-SPI Flash memory
  1982. - 128-Mbit SDRAM
  1983. - Connector for microSD card
  1984. - RF-EEPROM daughterboard connector
  1985. - USB OTG HS with Micro-AB connectors
  1986. - Ethernet connector compliant with IEEE-802.3-2002 and PoE
  1987. Refer to the http://www.st.com website for further information about
  1988. this board (search keyword: stm32f769i-disco). See also the board
  1989. `README.txt <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32f7/nucleo-144/README.txt>`__
  1990. file for further information.
  1991. **STATUS**: See `above <#stm32f7drivers>`__ for STM32 F7 driver
  1992. availability.
  1993. STMicro STM32 H7x3
  1994. ------------------
  1995. Architecture support for the STM32 H7x3 was added
  1996. through efforts of several people in NuttX-7.26. Support is available
  1997. for one board from this family:
  1998. - **Nucleo-H743ZI**. This is a member of the Nucleo-144 board family.
  1999. Support for this board was added in NuttX-7.26. See the board
  2000. `README.txt <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32h7/nucleo-h743zi/README.txt>`__
  2001. file for further information.
  2002. The basic NSH configuration is fully, thanks to the bring-up efforts
  2003. of Mateusz Szafoni. This port is still a work in progress and
  2004. additional drivers are being ported from the F7 family.
  2005. - **STMicro STM32H747I-DISCO**. Support for this board was added in
  2006. NuttX-9.0. See the board
  2007. `README.txt <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32h7/stm32h747i-disco/README.txt>`__
  2008. file for further information.
  2009. This port is still a work in progress.
  2010. **NuttX-7.30**. Added support for Ethernet, SDMMC, and Timer drivers.
  2011. All from Jukka Laitinen.
  2012. **NuttX-8.1**. Added support for BBSRAM, DTCM, RTC, and UID. All from
  2013. David Sidrane.
  2014. **NuttX-8.2**. Added support for SDMMC and FLASH progmem. From David
  2015. Sidrane.
  2016. **NuttX-9.0**. Added QSPI support for the STM32H7.
  2017. NXP/Freescale i.MX RT
  2018. ---------------------
  2019. The initial port to the IMXRT1050-EVKB featuring
  2020. the MIMXRT1052DVL6A *Crossover* MCU was included initially in
  2021. NuttX-7.25. The initial port was the joint effort of Janne Rosberg, Ivan
  2022. Ucherdzhiev, and myself. Ivan gets credit for the bulk of the bring-up
  2023. work and for the Hyper FLASH boot logic.
  2024. Another port, this one for the IMXRT1060-EVKB featuring the
  2025. MIMXRT1062DVL6A *Crossover* MCU, was added by David Sidrane in
  2026. NuttX-7.27.
  2027. **STATUS:**
  2028. - The basic IMXRT1050-EVK port is complete and verified configurations
  2029. are available. Refer to the NuttX board
  2030. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/imxrt/imxrt1050-evk/README.txt>`__
  2031. file for further information.
  2032. - The basic IMXRT1060-EVK port was complete but un-verified as of
  2033. NuttX-7.27 but has been fully verified since NuttX-7.27 Refer to the
  2034. NuttX board
  2035. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/imxrt/imxrt1060-evk/README.txt>`__
  2036. file for more current status information.
  2037. - Architecture-only support for the IMXRT1020 family was contributed in
  2038. NuttX-7.30 by Dave Marples.
  2039. - The basic IMXRT1020-EVK port was complete with verified
  2040. configurations in NuttX-8.2. This is again the work of Dave Marples.
  2041. The initial release includes *nsh*, *netnsh*, and *usdhc*
  2042. configurations. Refer to the NuttX board
  2043. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/imxrt/imxrt1020-evk/README.txt>`__
  2044. file for further information.
  2045. - The basic Teensy-4.x port is complete. Refer to the NuttX board
  2046. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/imxrt/teensy-4.x/README.txt>`__
  2047. file for further information.
  2048. **i.MX RT Driver Status:**
  2049. - **NuttX-7.25**. The initial release in NuttX-7.25 includes UART,
  2050. Timer, GPIO, DMA, and Ethernet support (Ethernet support was
  2051. contributed by Jake Choy).
  2052. - **NuttX-7.26**. NuttX-7.26 added RTC, SNVS, and Serial TERMIOS
  2053. support.
  2054. - **NuttX-7.27**. NuttX-7.27 added LPI2C (from Ivan Ucherdzhiev) and SD
  2055. card support via USDHC (from Dave Marples).
  2056. - **NuttX-7.28**. GPIO support Input daisy selection was added in
  2057. NuttX-7.28 by David Sidrane
  2058. - **NuttX-7.29**. XBAR and OCOTP support was added in NuttX-7.28 by
  2059. David Sidrane. LCD Framebuffer support was added by Johannes.
  2060. - **NuttX-7.31**. USB EHCI Host and USDHC drivers were added in
  2061. NuttX-7.31 by Dave Marples.
  2062. - **NuttX-8.2**. An LCD drivers was added in NuttX-8.2 by Fabio
  2063. Balzano.
  2064. **NuttX-9.0**. Added USB Device support.
  2065. **Development Environments:** The same basic development environment is
  2066. recommended for the Cortex-M7 as for the Cortex-M4. It would be wise to
  2067. use the latest GNU toolchains for this part because as of this writing
  2068. (2015-02-09), support for the Cortex-M7 is a very new GCC feature.
  2069. Microchip AVR
  2070. =============
  2071. AVR ATMega
  2072. ----------
  2073. AVR ATMega128
  2074. -------------
  2075. This port of NuttX to the Amber Web Server from
  2076. `SoC Robotics <http://www.soc-robotics.com/index.htm>`__ is partially
  2077. completed. The Amber Web Server is based on an Microchip ATMega128.
  2078. AVR ATMega1284P
  2079. ---------------
  2080. LowPowerLab MoteinoMEGA. This port of NuttX to the MoteinoMEGA from
  2081. `LowPowerLab <http://www.lowpowerlab.com>`__. The MoteinoMEGA is based
  2082. on an Microchip ATMega1284P. See the LowPowerlab
  2083. `website <https://lowpowerlab.com/shop/index.php?_route_=Moteino/moteinomega>`__
  2084. and the board
  2085. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/avr/atmega/moteino-mega/README.txt>`__
  2086. file for further information.
  2087. AVR ATMega2560
  2088. --------------
  2089. Extension of the AVR architecture to support the
  2090. ATMega2560 and specifi support for the Arduion MEGA2560 board were
  2091. contributed by Dimitry Kloper and first released in NuttX-7.14.
  2092. AVR AT90USB64x and AT90USB6128x
  2093. -------------------------------
  2094. **Micropendous 3 AT90USB64x** and **AT90USB6128x**. This port of NuttX
  2095. to the Opendous Micropendous 3 board. The Micropendous3 is may be
  2096. populated with an AT90USB646, 647, 1286, or 1287. I have only the
  2097. AT90USB647 version for testing. This version have very limited memory
  2098. resources: 64K of FLASH and 4K of SRAM.
  2099. **PJRC Teensy++ 2.0 AT90USB1286**. This is a port of NuttX to the PJRC
  2100. Teensy++ 2.0 board. This board was developed by
  2101. `PJRC <http://pjrc.com/teensy/>`__. The Teensy++ 2.0 is based on an
  2102. Microchip AT90USB1286 MCU.
  2103. **AVR-Specific Issues**. The basic AVR port is solid. The biggest issue
  2104. for using AVR is its tiny SRAM memory and its Harvard architecture.
  2105. Because of the Harvard architecture, constant data that resides to flash
  2106. is inaccessible using "normal" memory reads and writes (only SRAM data
  2107. can be accessed "normally"). Special AVR instructions are available for
  2108. accessing data in FLASH, but these have not been integrated into the
  2109. normal, general purpose OS.
  2110. Most NuttX test applications are console-oriented with lots of strings
  2111. used for ``printf()`` and debug output. These strings are all stored in
  2112. SRAM now due to these data accessing issues and even the smallest
  2113. console-oriented applications can quickly fill a 4-8K memory. So, in
  2114. order for the AVR port to be useful, one of two things would need to be
  2115. done:
  2116. #. Don't use console applications that required lots of strings. The
  2117. basic AVR port is solid and your typical deeply embedded application
  2118. should work fine. Or,
  2119. #. Create a special version of printf that knows how to access strings
  2120. that reside in FLASH (or EEPROM).
  2121. **Development Environments:** 1) Linux with native Linux GNU toolchain,
  2122. 2) Cygwin/MSYS with Cygwin GNU toolchain, 3) Cygwin/MSYS with Windows
  2123. native toolchain, or 4) Native Windows. All testing, however, has been
  2124. performed using the NuttX DIY toolchain for Linux or Cygwin is provided
  2125. by the NuttX
  2126. `buildroot <https://bitbucket.org/nuttx/buildroot/downloads/>`__
  2127. package. As a result, that toolchain is recommended.
  2128. Microchip AVR32
  2129. ===============
  2130. AV32DEV1. This port uses the www.mcuzone.com AVRDEV1 board based on the
  2131. Microchip AT32UC3B0256 MCU. This port requires a special GNU avr32 toolchain
  2132. available from atmel.com website. This is a windows native toolchain and
  2133. so can be used only under Cygwin on Windows.
  2134. **STATUS:** This port is has completed all basic development, but there
  2135. is more that needs to be done. All code is complete for the basic NuttX
  2136. port including header files for all AT32UC3\* peripherals. The untested
  2137. AVR32 code was present in the 5.12 release of NuttX. Since then, the
  2138. basic RTOS port has solidified:
  2139. - The port successfully passes the NuttX OS test
  2140. (apps/examples/ostest).
  2141. - A NuttShell (NSH) configuration is in place (see :ref:`NSH <nsh>`).
  2142. Testing of that configuration has been postponed (because it got
  2143. bumped by the Olimex LPC1766-STK port). Current Status: I think I
  2144. have a hardware problem with my serial port setup. There is a good
  2145. chance that the NSH port is complete and functional, but I am not yet
  2146. able to demonstrate that. At present, I get nothing coming in the
  2147. serial RXD line (probably because the pins are configured wrong or I
  2148. have the MAX232 connected wrong).
  2149. The basic, port was be released in NuttX-5.13. A complete port will
  2150. include drivers for additional AVR32 UC3 devices -- like SPI and USB ---
  2151. and will be available in a later release, time permitting. Refer to the
  2152. NuttX board
  2153. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/avr/at32uc3/avr32dev1/README.txt>`__
  2154. file for further information.
  2155. Misoc
  2156. =====
  2157. Misoc LM32 Architectural Support. Architectural support for the Misoc
  2158. LM32 was contributed by Ramtin Amin in NuttX 7.19
  2159. Minerva. Architectural support for the Misoc Minoerva was contributed by
  2160. Ramtin Amin in NuttX 7.29.
  2161. **Drivers**. Driver support is basic in these initial releases: Serial,
  2162. Timer, and Ethernet. "Board" support is a available for developing with
  2163. Misoc LM32 under Qemu or on your custom FPGA.
  2164. OpenRISC mor1kx
  2165. ===============
  2166. **OpenRISC mor1kx Architectural Support**. Architectural support for the
  2167. OpenRISC mor1kx was developed by Matt Thompson Amin and released in
  2168. NuttX 7.25. Currently only an mor1kx Qemu simulation is available for
  2169. testing.
  2170. Freescale M68HCS12
  2171. ==================
  2172. **MC9S12NE64**. Support for the MC9S12NE64 MCU and two boards are
  2173. included:
  2174. - The Freescale DEMO9S12NE64 Evaluation Board, and
  2175. - The Future Electronics Group NE64 /PoE Badge board.
  2176. Both use a GNU arm-nuttx-elf toolchain\* under Linux or Cygwin. The
  2177. NuttX `buildroot <https://bitbucket.org/nuttx/buildroot/downloads/>`__
  2178. provides a properly patched GCC 3.4.4 toolchain that is highly optimized
  2179. for the m9s12x family.
  2180. Intel 80x86
  2181. ===========
  2182. **QEMU/Bifferboard i486**. This port uses the
  2183. `QEMU <http://wiki.qemu.org/Main_Page>`__ i486 and the native Linux,
  2184. Cygwin, MinGW the GCC toolchain under Linux or Cygwin.
  2185. **STATUS:** The basic port was code-complete in NuttX-5.19 and verified
  2186. in NuttX-6.0. The port was verified using the OS and NuttShell (NSH)
  2187. examples under QEMU. The port is reported to be functional on the
  2188. `Bifferboard <http://bifferos.bizhat.com>`__ as well. In NuttX 7.1,
  2189. Lizhuoyi contributed additional keyboard and VGA drivers. This is a
  2190. great, stable starting point for anyone interested in fleshing out the
  2191. x86 port! Refer to the NuttX
  2192. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/x86/qemu/qemu-i486/README.txt>`__
  2193. file for further information.
  2194. **QEMU/Intel64** An x86_64 flat address port was ported in NuttX-9.0. It
  2195. consists of the following feautres:
  2196. - - Runs in x86_64 long mode.
  2197. - - Configurable SSE/AVX support.
  2198. - - IRQs are managed by LAPIC(X2APIC) and IOAPIC.
  2199. - - Used TSC_DEADLINE or APIC timer for systick.
  2200. - - Pages are now maps the kernel at 4GB~, but changeable.
  2201. This kernel with ostest have been tested with
  2202. - Qemu/KVM on a Xeon 2630v4 machine.
  2203. - Bochs with broadwell_ult emulation.
  2204. Microchip PIC32MX
  2205. =================
  2206. (MIPS M4K architecture)
  2207. Microchip PIC32MX2xx
  2208. --------------------
  2209. A port is in progress from the DTX1-4000L "Mirtoo"
  2210. module from `Dimitech <http://www.dimitech.com/>`__. This module uses
  2211. Microchip PIC32MX250F128D and the Dimitech DTX1-4000L EV-kit1 V2. See
  2212. the `Dimitech <http://www.dimitech.com/>`__ website for further
  2213. information.
  2214. Microchip PIC32MX4xx
  2215. --------------------
  2216. **PIC32MX440F512H**. This port uses the "Advanced USB Storage Demo
  2217. Board," Model DB-DP11215, from `Sure
  2218. Electronics <http://www.sureelectronics.net>`__. This board features the
  2219. Microchip PIC32MX440F512H.
  2220. **PIC32MX460F512L**. There one two board ports using this chip:
  2221. - **PIC32MX Board from PCB Logic Design Co**. This port is for the
  2222. PIC32MX board from PCB Logic Design Co. and used the PIC32MX460F512L.
  2223. The board is a very simple -- little more than a carrier for the
  2224. PIC32 MCU plus voltage regulation, debug interface, and an OTG
  2225. connector.
  2226. - **UBW32 Board from Sparkfun** This is the port to the Sparkfun UBW32
  2227. board. This port uses the `original
  2228. v2.5 <http://www.sparkfun.com/products/8971>`__ board which is based
  2229. on the Microchip PIC32MX460F512L. This older version has been
  2230. replaced with this `newer
  2231. board <http://www.sparkfun.com/products/9713>`__. See also the
  2232. `UBW32 <http://www.schmalzhaus.com/UBW32/>`__ web site.
  2233. Microchip PIC32MX7xx
  2234. --------------------
  2235. PIC32MX795F512L. There one two board ports using this chip:
  2236. - **Microchip PIC32 Ethernet Starter Kit**. This port uses the
  2237. Microchip PIC32 Ethernet Starter Kit (DM320004) with the Expansion
  2238. I/O board. See the `Microchip website <http://www.microchip.com>`__
  2239. for further information.
  2240. - **Mikroelektronika PIC32MX7 Mulitmedia Board (MMB)**. A port has been
  2241. completed for the Mikroelektronika PIC32MX7 Multimedia Board (MMB).
  2242. See http://www.mikroe.com/ for further information about this board.
  2243. **Development Environment:** These ports uses either:
  2244. #. The *LITE* version of the PIC32MX toolchain available for download
  2245. from the `Microchip <http://www.microchip.com>`__ website, or
  2246. #. The Pinguino MIPS ELF toolchain available from the Pinguino
  2247. `website <https://code.google.com/archive/p/pinguino32/>`__.
  2248. #. The MIPS SDE toolchain available from the `Mentor
  2249. Graphics <http://www.mentor.com>`__ website.
  2250. Microchip PIC32MZEC
  2251. -------------------
  2252. PIC32MZEC Family (MIPS microAptiv). A port is in available for the
  2253. PIC32MZ Embedded Connectivity (EC) Starter Kit. There are two
  2254. configurations of the Microchip PIC32MZ EC Starter Kit:
  2255. #. The PIC32MZ Embedded Connectivity Starter Kit based on the
  2256. PIC32MZ2048ECH144-I/PH chip (DM320006), and
  2257. #. The PIC32MZ Embedded Connectivity Starter Kit based on the
  2258. PIC32MZ2048ECM144-I/PH w/Crypto Engine (DM320006-C).
  2259. See the `Microchip <http://www.microchip.com>`__ website for further
  2260. information.
  2261. This was a collaborative effort between Kristopher Tate, David Sidrane
  2262. and myself. The basic port is functional and a NuttShell (NSH)
  2263. configuration is available.
  2264. Microchip PIC32MZEF
  2265. ===================
  2266. (MIPS M5150 architecture).
  2267. A port is in available for the MikroElectronika `Flip&Click
  2268. PIC32MZ <https://www.mikroe.com/flipclick-pic32mz>`__ development board
  2269. based on the PIC32MZ2048EFH100 MCU. This board configuration was added
  2270. in NuttX-7.24 and is, for the most part, compatible with the PIC32MZEC
  2271. family.
  2272. **STATUS:**
  2273. **NuttX-7.9**. The first official release was in NuttX-7.9. Many drivers
  2274. port simply from the PIC32MX; others require more extensive efforts.
  2275. Driver status as of (2015-03-29) is provided below:
  2276. - I/O ports include I/O port interrupts
  2277. - UART serial driver that provides the NSH console,
  2278. - Timer,
  2279. - I2C (untested),
  2280. - SPI (untested),
  2281. - On-board buttons and LEDs,
  2282. - Ethernet (code complete, but not yet functional),
  2283. **NuttX-7.29**. Abdelatif Guettouche contributed additional timer
  2284. support including: Timer lower half driver, free-running, and one-shot
  2285. timers.
  2286. **NuttX-7.31**. Abdelatif Guettouche contributed DMA support.
  2287. **NuttX-9.0**. Cache operations were implemented.
  2288. Refer to the NuttX board
  2289. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/mips/pic32mz/pic32mz-starterkit/README.txt>`__
  2290. file for further information.
  2291. **Development Environment:** Same as for the PIC32MZ.
  2292. Renesas/Hitachi SuperH
  2293. ======================
  2294. **SH-1 SH7032**. This port uses the Hitachi SH-1 Low-Cost Evaluation
  2295. Board (SH1_LCEVB1), US7032EVB, with a GNU ELF toolchain\* under Linux or
  2296. Cygwin.
  2297. Renesas M16C/26
  2298. ---------------
  2299. **Renesas M16C/26 Microcontroller**. This port uses the Renesas SKP16C26
  2300. Starter kit and the GNU M32C toolchain. The development environment is
  2301. either Linux or Cygwin under WinXP.
  2302. **STATUS:** Initial source files released in nuttx-0.4.2. At this point,
  2303. the port has not been integrated; the target cannot be built because the
  2304. GNU ``m16c-nuttx-elf-ld`` link fails with the following message:
  2305. Where the reference line is:
  2306. No workaround is known at this time. This is a show stopper for M16C.
  2307. Refer to the NuttX board
  2308. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/renesas/m16c/skp16c26/README.txt>`__
  2309. file for further information.
  2310. Renesas RX65N
  2311. -------------
  2312. Support for the Renesas RX65N family was released in NuttX with a
  2313. contribution from Anjana. Two boards are supported in this initial
  2314. release:
  2315. - **RSK RX65N-2MB**.
  2316. - **GR-Rose**.
  2317. **STATUS**
  2318. - **NuttX-8.2**
  2319. - **NuttX-9.0** RTC driver for the RX65N was added.
  2320. RISC-V
  2321. ======
  2322. RISC-V Architectural Support. Basic support for the RISC-V architecture
  2323. was contributed by Ken Pettit in NuttX-7.19.
  2324. `Sipeed Maix bit <#k210>`__
  2325. Initial support for the Sipeed Maix bit board was added in NuttX-9.0.
  2326. LiteX on ARTY A7
  2327. ----------------
  2328. Support for the Digilent ARTY_A7 board along with CPU VexRiscV SOC were
  2329. added in NuttX-9.0.
  2330. ESP32 (Dual Xtensa LX6)
  2331. =======================
  2332. Xtensa LX6 ESP32
  2333. ----------------
  2334. Basic architectural support for Xtensa LX6 processors and the port for
  2335. the Espressif ESP32 were added in NuttX-7.19. The basic ESP32 port is
  2336. function in both single CPU and dual CPU SMP configurations.
  2337. **Espressif ESP32 DevkitC V4 Board** The NuttX release includes support for
  2338. Espressif ESP32 DevkitC V4 board. There is an NSH configuration for each
  2339. CPU configuration and an OS test configuration for verification of the
  2340. port.
  2341. **STATUS**. ESP32 support in NuttX-7.19 is functional, but very
  2342. preliminary. There is little yet in the way of device driver support.
  2343. Outstanding issues include missing clock configuration logic, missing
  2344. partition tables to support correct configuration from FLASH, and some
  2345. serial driver pin configuration issues. The configuration is usable
  2346. despite these limitations. Refer to the NuttX board
  2347. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/xtensa/esp32/esp32-devkitc/README.txt>`__
  2348. file for further information.
  2349. Release NuttX-10.0.0 brought a bunch of additions to the ESP32 port. This
  2350. includes: I2C, SPI, RTC, PM, Timers, Watchdog Timer and Ethernet.
  2351. Zilog ZNEO Z16F
  2352. ===============
  2353. **Zilog z16f2800100zcog development kit**. This port use the Zilog
  2354. z16f2800100zcog development kit and the Zilog ZDS-II Windows command
  2355. line tools. The development environment is either Windows native or
  2356. Cygwin under Windows.
  2357. **STATUS:** The initial release of support for the z16f was made
  2358. available in NuttX version 0.3.7. A working NuttShell (NSH)
  2359. configuration as added in NuttX-6.33 (although a patch is required to
  2360. work around an issue with a ZDS-II 5.0.1 tool problem). An ESPI
  2361. driver was added in NuttX-7.2. Refer to the NuttX board
  2362. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/z16/z16f/z16f2800100zcog/README.txt>`__
  2363. file for further information.
  2364. Zilog eZ80 Acclaim!
  2365. ===================
  2366. **Zilog eZ80Acclaim! Microcontroller**. There are four eZ80Acclaim!
  2367. ports:
  2368. - The ZiLOG ez80f0910200kitg development kit.
  2369. - The ZiLOG ez80f0910200zcog-d development kit.
  2370. - The MakerLisp CPU board.
  2371. - The Z20x DIY computing system.
  2372. All three boards are based on the eZ80F091 part and all use the Zilog
  2373. ZDS-II Windows command line tools. The development environment is either
  2374. Windows native or Cygwin or MSYS2 under Windows.
  2375. It is also possible to compile using ``clang`` and the GNU ``binutils``
  2376. toolchain. You must have a variant of ``clang`` that supports the eZ80,
  2377. and an install of ``binutils`` built with Z80 support.
  2378. ``clang`` with eZ80 support is available as part of the Texas Instruments
  2379. CE 85+ unofficial `toolchain <https://ce-programming.github.io/toolchain/>`
  2380. and requires a further `patch <https://github.com/codebje/ez80-toolchain/tree/master/clang>`
  2381. to support GNU assembler syntax.
  2382. GNU ``binutils`` supports the Z80 family. It will require compilation with
  2383. appropriate configuration to enable support.
  2384. C intrinsics are also required. Some may be found in the Zilog ZDS-II
  2385. distribution, requiring some modification to build with the GNU assembler.
  2386. Additional intrinsics for 64-bit support must be supplied.
  2387. Zilog Z8Encore!
  2388. ===============
  2389. **Zilog Z8Encore! Microcontroller**. This port uses the either:
  2390. - Zilog z8encore000zco development kit, Z8F6403 part, or
  2391. - Zilog z8f64200100kit development kit, Z8F6423 part
  2392. and the Zilog ZDS-II Windows command line tools. The development
  2393. environment is either Windows native or Cygwin under Windows.
  2394. **STATUS:** This release has been verified only on the ZiLOG ZDS-II
  2395. Z8Encore! chip simulation as of nuttx-0.3.9. Refer to the NuttX board
  2396. README files for the
  2397. `z8encore000zco <https://github.com/apache/incubator-nuttx/blob/master/boards/z80/z8/z8encore000zco/README.txt>`__
  2398. and for
  2399. the\ `z8f64200100kit <https://github.com/apache/incubator-nuttx/blob/master/boards/z80/z8/z8f64200100kit/README.txt>`__
  2400. for further information.
  2401. Zilog Z180
  2402. ==========
  2403. **P112**. The P112 is a hobbyist single board computer based on a 16MHz
  2404. Z80182 with up to 1MB of memory, serial, parallel and diskette IO, and
  2405. realtime clock, in a 3.5-inch drive form factor. The P112 computer
  2406. originated as a commercial product of "D-X Designs Pty Ltd"[ of
  2407. Australia.
  2408. Dave Brooks was successfully funded through Kickstarter for and another
  2409. run of P112 boards in November of 2012. In addition Terry Gulczynski
  2410. makes additional P112 derivative hobbyist home brew computers.
  2411. **STATUS:** Most of the NuttX is in port for both the Z80182 and for the
  2412. P112 board. Boards from Kickstarter project will not be available,
  2413. however, until the third quarter of 2013. So it will be some time before
  2414. this port is verified on hardware. Refer to the NuttX board
  2415. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/z80/z180/p112/README.txt>`__
  2416. file for further information.
  2417. Zilog Z80
  2418. =========
  2419. **Z80 Instruction Set Simulator**. This port uses the
  2420. `SDCC <http://sdcc.sourceforge.net/>`__ toolchain under Linux or Cygwin
  2421. (verified using version 2.6.0). This port has been verified using only a
  2422. Z80 instruction simulator called z80sim.
  2423. **STATUS:** This port is complete and stable to the extent that it can
  2424. be tested using an instruction set simulator. Refer to the NuttX board
  2425. `README <https://github.com/apache/incubator-nuttx/blob/master/boards/z80/z80/z80sim/README.txt>`__
  2426. file for further information.
  2427. **XTRS: TRS-80 Model I/III/4/4P Emulator for Unix**. A very similar Z80
  2428. port is available for `XTRS <http://www.tim-mann.org/xtrs.html>`__, the
  2429. TRS-80 Model I/III/4/4P Emulator for Unix. That port also uses the
  2430. `SDCC <http://sdcc.sourceforge.net/>`__ toolchain under Linux or Cygwin
  2431. (verified using version 2.6.0).
  2432. **STATUS:** Basically the same as for the Z80 instruction set simulator.
  2433. This port was contributed by Jacques Pelletier. Refer to the NuttX board
  2434. `README <https://bitbucket.org/patacongo/obsoleted/src/master/configs/xtrs/README.txt>`__
  2435. file for further information.
  2436. **NOTE:** This port was removed from the NuttX source tree on
  2437. 2017-11-24. It was removed because (1) it is unfinished, unverified, and
  2438. unsupported, and (2) the TRS-80 simulation is a sub-optimal platform.i
  2439. That platform includes a 16-bit ROM image and only a 48Kb RAM space for
  2440. NuttX. The removed board support is still available in the ``Obsoleted``
  2441. repository if anyone would ever like to resurrect it.
  2442. \* A highly modified `buildroot <http://buildroot.uclibc.org/>`__ is
  2443. available that may be used to build a NuttX-compatible ELF toolchain
  2444. under Linux or Cygwin. Configurations are available in that buildroot
  2445. to support ARM, Cortex-M3, avr, m68k, m68hc11, m68hc12, m9s12,
  2446. blackfin, m32c, h8, and SuperH ports.