Skip to main content
spudarnia
Associate
December 2, 2009
Question

NuttX for STM32

  • December 2, 2009
  • 10 replies
  • 3067 views
Posted on December 02, 2009 at 18:01

NuttX for STM32

    This topic has been closed for replies.

    10 replies

    spudarnia
    spudarniaAuthor
    Associate
    May 17, 2011
    Posted on May 17, 2011 at 13:26

    Today, October 17, 2009, I released version 0.4.12 of NuttX. This is the 44th release of NuttX. This release is available from Sourceforge:

    http://sourceforge.net/projects/nuttx/files/

    Detailed release notes and change log are available at this same location.

    This release adds basic support for the STMicro STM32, Cortex-M3 MCU. The

    specific port is to the STMicro STM3210E-EVAL development board based around the STM32F103ZET6 MCU. Working, Tested Configurations: the NuttX OS test and the NuttShell (NSH).

    More about the STM3210E-EVAL:

    http://www.st.com/stonline/books/pdf/docs/14220.pdf

    More about NX:

    http://nuttx.sourceforge.net/NXGraphicsSubsystem.html

    More about NSH:

    http://nuttx.sourceforge.net/NuttShell.html

    It is planned to extend this basic STM32 port for the 0.4.13 NuttX release.

    Additional functionality needed for complete STM32 support includes: USB device driver, LCD driver and NuttX graphics (NX) bringup on the development board's display and MicroSD support. An SPI driver and a DMA support was included in this 0.4.12 release, but has not yet been tested.

    16-32micros
    Associate III
    May 17, 2011
    Posted on May 17, 2011 at 13:26

    Dear spudarnia,

    Excellent achievement :) , Many thanks for your contribution to the STM32 communities and sharing with us.

    The choice of the STM3210E-EVAL board is perfect, It has many outstanding resources to run Nuttx RTOS and Applications,

    I'm very interested to see ''NX Graphics Subsystem'' with the on board 1Mbytes of SRAM and TFT QVGA LCD with a real Framebuffer :)

    Cheers,

    STOne-32/

    spudarnia
    spudarniaAuthor
    Associate
    May 17, 2011
    Posted on May 17, 2011 at 13:26

    This initial port does not take advantage of many of the features of the STM3210E-EVAL board -- yet. It works only off the internal chip resource. This is good because it should be easily portable to other, lower-end STM32's.

    But I will definitely need those additional resources to get the displays working!

    spudarnia
    spudarniaAuthor
    Associate
    May 17, 2011
    Posted on May 17, 2011 at 13:26

    Progress toward nuttx-0.4.13 is good. There already is a new SPI driver, and SPI flash driver, and a USB driver (still under test).

    During the course of nuttx-0.4.13 debug, I found and fixed several bugs in 0.4.12. Some of these are critical. I have posted patches for the critical bugfixes here:

    http://tech.groups.yahoo.com/group/nuttx/files/Patches/

    and here:

    https://sourceforge.net/tracker/?func=detail&aid=2889476&group_id=189573&atid=929872

    spudarnia
    spudarniaAuthor
    Associate
    May 17, 2011
    Posted on May 17, 2011 at 13:26

    Testing help would be really appreciated. I have a short list of things I want to do before I get started the frame buffer driver. If you want to get the raw changes in real time for testing purposes, you can get them from SourceForge CVS:

    cvs -d:pserver:anonymous@nuttx.cvs.sourceforge.net:/cvsroot/nuttx login

    cvs -z3 -d:pserver:anonymous@nuttx.cvs.sourceforge.net:/cvsroot/nuttx co -P nuttx

    jaroslaw2
    Associate III
    May 17, 2011
    Posted on May 17, 2011 at 13:26

    Hi,

    Yeah, it would be extremely cool to have OS with graphic library. We can help you test STM32 port.

    spudarnia
    spudarniaAuthor
    Associate
    May 17, 2011
    Posted on May 17, 2011 at 13:26

    Today, December 2, 2009, I released version 4.14 of NuttX. This is the 46th

    release of NuttX. This release is available from Sourceforge:

    http://sourceforge.net/projects/nuttx/files/

    Detailed release notes and change log are available at this same location.

    This release further extends support for the STMicro STM32, Cortex-M3 MCU by adding an SDIO interface, adding SDIO-DMA-based MMC/SD support, and resolving several bugs in the DMA and USB driver logic. This new functionality was verified using the NuttX USB mass storage device class.

    The USB implementation is functional, but probably not bug-free. If anyone out there has a USB analyzer that can be used to verify the low-level USB

    transactions, I'd love to get that data!

    If anyone out there will be integrating this USB driver, let me know and I will be more than happy to work with you to resolve any issues.

    At this point, I think the NuttX support for the STM32F103ZE chip is complete and, unless someone has some great ideas, I will probably move on to some new NuttX project for the next release.

    spudarnia
    spudarniaAuthor
    Associate
    May 17, 2011
    Posted on May 17, 2011 at 13:26

    Today, November 4, 2009, I released version 0.4.13 of NuttX. This is the 45th release of NuttX. This release is available from Sourceforge:

    http://sourceforge.net/projects/nuttx/files/

    Detailed release notes and change log are available at this same location.

    This release extends support for the STMicro STM32, Cortex-M3 MCU by cleaning up many of the bugs in the initial release and by adding USB and serial FLASH drivers.

    It is planned to further extend this STM32 port for the 0.4.14 NuttX release by adding a MicroSD driver and verified the USB mass storage device class.

    More info about Nuttx:

    http://www.nuttx.org

    spudarnia
    spudarniaAuthor
    Associate
    May 17, 2011
    Posted on May 17, 2011 at 13:26

    > For USB you should have a USB sniffer to see what hapening...

    USB analyzers are kind of pricey for the average hobbyist like me.

    Actually, I don't know of any specific USB problems with the STM32 NuttX port; everything works. But sometimes, with debug output off, I see timing issues that make me wonder??? Sometimes it takes awhile for Windows to recognize the mass storage device -- but then things work fine: I can read and write files on the microSD from Windows with no problems. That could mean some low-level USB issues that slows the device recognition and only show up when I disable debug output. Or it could just be Windows being confused when the device suddenly change from a DFU device to a mass storage device. The only way that I would know for sure is with a USB analyzer.

    16-32micros
    Associate III
    May 17, 2011
    Posted on May 17, 2011 at 13:26

    Thank you for the updates :

    nuttx-4.14

    ^^^^^^^^^^

    This is the 46th release of NuttX. The release extends the support for the STMicro

    STM32 microcontroller. Minimal support for the STM3210E-EVAL development board based

    around the STM32F103ZET6 MCU was released in NuttX-0.4.12 and extended in Nuttx-0.4.13

    to include initial USB support. This completes the STM32F103ZET6 and adds:

    New Generic RTOS Features:

    * Added generic support that can be included in any block driver to provide

    read-ahead buffering and write buffering for improved driver performance.

    * Added a generic worker thread that can used to defer processing from an

    interrupt to a task.

    * Defined a generic SD/SDIO interface can can be bound to a MMC/SD or SDIO

    driver to orovide SDIO support.

    * Implemented a an SDIO-based MMC/SD driver using this new SDIO interface

    New STM32 Features:

    * Add support to configure an STM32 input GPIO to generate an EXTI interrupt.

    * Added support for buttons on the STM3210E-EVAL board.

    * Implemented an STM32 version of the common the SDIO interface.

    * Added a configuration to exercise the STM32 with the USB mass storage

    device class example.

    This release also corrects some important bugs in the early STM32 release:

    * Correct error handling in the mount() logic.

    * Fixed several STM32 DMA-related issues. Integrated and debugged STM32 DMA

    functionality that was added in 0.4.12.

    * Fixed several bugs in the STM32 USB device-side driver.

    For USB you should have a USB sniffer to see what hapening...

    Cheers,

    STOne-32