!boards: Remove NSH_ARCHINIT and board_app_initialize

BREAKING: In an effort to simplify NuttX initialization, NSH_ARCHINIT is
removed. board_app_initialize is also removed. BOARD_LATE_INITIALIZE now
performs all board initialization logic, and is by default enabled. All
references to these symbols are removed. BOARDIOC_INIT remains, but will
result in -ENOTTY when called. It is to be removed in a later commit.

Quick fix: Boards relying on NSH_ARCHINIT should now enable
CONFIG_BOARD_LATE_INITIALIZE instead. If the application needs
fine-grained control over board initialization from userspace, the logic
performed by BOARDIOC_INIT may be copied to the board_finalinitialize
function and used instead via BOARDIOC_FINALINIT. All
board_app_initialize logic provided by NuttX is now moved to
board_late_initialize, and the same should be done for out-of-tree
boards.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
This commit is contained in:
Matteo Golin
2026-02-16 14:24:28 -05:00
committed by Xiang Xiao
parent 8e91dd60a0
commit 48db502daf
1631 changed files with 579 additions and 2753 deletions
@@ -459,7 +459,6 @@ SD Card Support
CONFIG_SCHED_HPWORK=y
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : NSH board-initialization, and
CONFIG_BOARDCTL=y : Or
CONFIG_BOARD_LATE_INITIALIZE=y
@@ -462,7 +462,6 @@ SD Card Support
CONFIG_SCHED_HPWORK=y
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : NSH board-initialization, and
CONFIG_BOARDCTL=y : Or
CONFIG_BOARD_LATE_INITIALIZE=y
@@ -490,5 +490,3 @@ Where <subdir> is one of the following:
CONFIG_KINETIS_PORTEINTS=y : Enable PortE GPIO interrupts
CONFIG_SCHED_WORKQUEUE=y : Enable the NuttX workqueue
CONFIG_NSH_ARCHINIT=y : Provide NSH initialization logic
@@ -591,8 +591,6 @@ Where <subdir> is one of the following:
CONFIG_SCHED_WORKQUEUE=y : Enable the NuttX workqueue
CONFIG_NSH_ARCHINIT=y : Provide NSH initialization logic
netnsh:
------
This is the same config then nsh, but it adds Ethernet support with the
@@ -497,7 +497,6 @@ Where <subdir> is one of the following:
CONFIG_USBDEV_TRACE=y : Enable USB trace feature
CONFIG_USBDEV_TRACE_NRECORDS=128 : Buffer 128 records in memory
CONFIG_NSH_USBDEV_TRACE=n : No builtin tracing from NSH
CONFIG_NSH_ARCHINIT=y : Automatically start the USB monitor
CONFIG_USBMONITOR=y : Enable the USB monitor daemon
CONFIG_USBMONITOR_STACKSIZE=2048 : USB monitor daemon stack size
CONFIG_USBMONITOR_PRIORITY=50 : USB monitor daemon priority
@@ -5,7 +5,7 @@ Arduino Due
This documentation discusses issues unique to NuttX configurations for the
Arduino DUE board featuring the Atmel ATSAM3X8E MCU running at 84 MHz.
.. note::
.. note::
If found that newer Arduino Due board differ from the older boards mine:
Mine has the 32.768 slow clock crystal and associated caps installed. The newer
@@ -25,83 +25,83 @@ Supported Shields
PIO Pin Usage
=============
PORTA
-----
.. csv-table::
:header: PIO,SIGNAL,CONN,PIN
PA0,CANTX0,ADCH,8
PA1,CANRX0,ACDH,7
PA2,AD7,ADCL,8
PA3,AD6,ADCL,7
PA4,AD5,ADCL,6
PA5,EEXTINT,ETH ,8
PA6,AD4,ADCL,5
PA7,PIN31,XIO ,12
PA8,[U]RX,PWML,1
PA9,[U]TX,PWML,2
PA10,RXD2,COMM,6
PA11,TXD2,COMM,5
PA12,RXD1,COMM,4
PA13,TXD1,COMM,3
PA14,PIN23,XIO ,4
PA15,PIN24,XIO ,5
PA16,AD0,ADCL,1
PA17,SDA1,PWMH,9
PA18,SCL1,PWMH,10
PA19,PIN42,XIO ,23
PA20,PIN43,XIO ,24
PA21,TXL,TX,YELLOW LED
PA22,AD3,ADCL,4
PA23,AD2,ADCL,3
PA24,AD1,ADCL,2
PA25,MISO,SPI,1
PA26,MOSI,SPI,4
PA27,SPCK,SPI,3
PA28,SS0/PWM10,(ETH) PWML,10
PA29,SS1/PWM4 ,(SD),
PA30,N/A,N/A,
PA31,N/A,N/A,
PORTB
PORTA
-----
.. csv-table::
:header: PIO,SIGNAL,CONN,PIN
PB0,ETX_CLK,ETH,1
PB1,ETX_EN,ETH,3
PB2,ETXD0,ETH,5
PB3,ETXD1,ETH,7
PB4,ERX_DV,ETH,10
PB5,ERXD0,ETH,9
PB6,ERXD1,ETH,11
PB7,ERX_ER,ETH,13
PB8,EMDC,ETH,14
PB9,EMDIO,ETH,12
PA0,CANTX0,ADCH,8
PA1,CANRX0,ACDH,7
PA2,AD7,ADCL,8
PA3,AD6,ADCL,7
PA4,AD5,ADCL,6
PA5,EEXTINT,ETH ,8
PA6,AD4,ADCL,5
PA7,PIN31,XIO ,12
PA8,[U]RX,PWML,1
PA9,[U]TX,PWML,2
PA10,RXD2,COMM,6
PA11,TXD2,COMM,5
PA12,RXD1,COMM,4
PA13,TXD1,COMM,3
PA14,PIN23,XIO ,4
PA15,PIN24,XIO ,5
PA16,AD0,ADCL,1
PA17,SDA1,PWMH,9
PA18,SCL1,PWMH,10
PA19,PIN42,XIO ,23
PA20,PIN43,XIO ,24
PA21,TXL,TX,YELLOW LED
PA22,AD3,ADCL,4
PA23,AD2,ADCL,3
PA24,AD1,ADCL,2
PA25,MISO,SPI,1
PA26,MOSI,SPI,4
PA27,SPCK,SPI,3
PA28,SS0/PWM10,(ETH) PWML,10
PA29,SS1/PWM4 ,(SD),
PA30,N/A,N/A,
PA31,N/A,N/A,
PORTB
-----
.. csv-table::
:header: PIO,SIGNAL,CONN,PIN
PB0,ETX_CLK,ETH,1
PB1,ETX_EN,ETH,3
PB2,ETXD0,ETH,5
PB3,ETXD1,ETH,7
PB4,ERX_DV,ETH,10
PB5,ERXD0,ETH,9
PB6,ERXD1,ETH,11
PB7,ERX_ER,ETH,13
PB8,EMDC,ETH,14
PB9,EMDIO,ETH,12
PB10,UOTGVBO,Vbus power,
PB11,UOTGID ,USB1,4
PB12,SDA0-3 ,COMM,7
PB13,SCL0-3 ,COMM,8
PB14,CANTX1/IO ,XIO ,34
PB15,DAC0(CANRX1),ADCH,5
PB16,DAC1,ADCH,6
PB17,AD8,ADCH,1
PB18,AD9,ADCH,2
PB19,AD10,ADCH,3
PB20,AD11(TXD3),ADCH,4
PB21,AD14(RXD3),XIO,33
PB22,N/C,N/A,
PB23,SS3,???,
PB24,N/C,N/A,
PB25,PWM2,PWML,3
PB26,PIN22,???,
PB27,PWM13,PWMH,6
PB28,JTAG_TCK,JTAG,4
PB29,JTAG_TDI,JTAG,8
PB30,JTAG_TDO,JTAG,6
PB31,JTAG_TMS,JTAG,2
PB11,UOTGID ,USB1,4
PB12,SDA0-3 ,COMM,7
PB13,SCL0-3 ,COMM,8
PB14,CANTX1/IO ,XIO ,34
PB15,DAC0(CANRX1),ADCH,5
PB16,DAC1,ADCH,6
PB17,AD8,ADCH,1
PB18,AD9,ADCH,2
PB19,AD10,ADCH,3
PB20,AD11(TXD3),ADCH,4
PB21,AD14(RXD3),XIO,33
PB22,N/C,N/A,
PB23,SS3,???,
PB24,N/C,N/A,
PB25,PWM2,PWML,3
PB26,PIN22,???,
PB27,PWM13,PWMH,6
PB28,JTAG_TCK,JTAG,4
PB29,JTAG_TDI,JTAG,8
PB30,JTAG_TDO,JTAG,6
PB31,JTAG_TMS,JTAG,2
PORTC
-----
@@ -146,79 +146,79 @@ PORTD
-----
.. csv-table::
:header: PIO,SIGNAL,CONN,PIN
:header: PIO,SIGNAL,CONN,PIN
PD0 , PIN25, XIO ,6
PD1 , PIN26, XIO ,7
PD2 , PIN27, XIO ,8
PD3 , PIN28, XIO ,9
PD4 , TXD0, COMM,1
PD5 , RXD0, COMM,2
PD6 , PIN29, XIO ,10
PD7 , PWM11, PWMH,4
PD8 , PWM12, PWMH,5
PD9 , PIN30, XIO ,11
PD10, PIN32, XIO ,13
PD11, N/A, N/A ,
PD12, N/A, N/A ,
PD13, N/A, N/A ,
PD14, N/A, N/A ,
PD15, N/A, N/A ,
PD16, N/A, N/A ,
PD17, N/A, N/A ,
PD18, N/A, N/A ,
PD19, N/A, N/A ,
PD20, N/A, N/A ,
PD21, N/A, N/A ,
PD22, N/A, N/A ,
PD23, N/A, N/A ,
PD24, N/A, N/A ,
PD25, N/A, N/A ,
PD26, N/A, N/A ,
PD27, N/A, N/A ,
PD28, N/A, N/A ,
PD29, N/A, N/A ,
PD30, N/A, N/A ,
PD31, N/A, N/A ,
PD0 , PIN25, XIO ,6
PD1 , PIN26, XIO ,7
PD2 , PIN27, XIO ,8
PD3 , PIN28, XIO ,9
PD4 , TXD0, COMM,1
PD5 , RXD0, COMM,2
PD6 , PIN29, XIO ,10
PD7 , PWM11, PWMH,4
PD8 , PWM12, PWMH,5
PD9 , PIN30, XIO ,11
PD10, PIN32, XIO ,13
PD11, N/A, N/A ,
PD12, N/A, N/A ,
PD13, N/A, N/A ,
PD14, N/A, N/A ,
PD15, N/A, N/A ,
PD16, N/A, N/A ,
PD17, N/A, N/A ,
PD18, N/A, N/A ,
PD19, N/A, N/A ,
PD20, N/A, N/A ,
PD21, N/A, N/A ,
PD22, N/A, N/A ,
PD23, N/A, N/A ,
PD24, N/A, N/A ,
PD25, N/A, N/A ,
PD26, N/A, N/A ,
PD27, N/A, N/A ,
PD28, N/A, N/A ,
PD29, N/A, N/A ,
PD30, N/A, N/A ,
PD31, N/A, N/A ,
PORTE
PORTE
-----
.. csv-table::
:header: PIO,SIGNAL,CONN,PIN
:header: PIO,SIGNAL,CONN,PIN
PE0 ,N/A,N/A
PE1 ,N/A,N/A
PE2 ,N/A,N/A
PE3 ,N/A,N/A
PE4 ,N/A,N/A
PE5 ,N/A,N/A
PE6 ,N/A,N/A
PE7 ,N/A,N/A
PE8 ,N/A,N/A
PE9 ,N/A,N/A
PE10,N/A,N/A
PE11,N/A,N/A
PE12,N/A,N/A
PE13,N/A,N/A
PE14,N/A,N/A
PE15,N/A,N/A
PE16,N/A,N/A
PE17,N/A,N/A
PE18,N/A,N/A
PE19,N/A,N/A
PE20,N/A,N/A
PE21,N/A,N/A
PE22,N/A,N/A
PE23,N/A,N/A
PE24,N/A,N/A
PE25,N/A,N/A
PE26,N/A,N/A
PE27,N/A,N/A
PE28,N/A,N/A
PE29,N/A,N/A
PE30,N/A,N/A
PE31,N/A,N/A
PE0 ,N/A,N/A
PE1 ,N/A,N/A
PE2 ,N/A,N/A
PE3 ,N/A,N/A
PE4 ,N/A,N/A
PE5 ,N/A,N/A
PE6 ,N/A,N/A
PE7 ,N/A,N/A
PE8 ,N/A,N/A
PE9 ,N/A,N/A
PE10,N/A,N/A
PE11,N/A,N/A
PE12,N/A,N/A
PE13,N/A,N/A
PE14,N/A,N/A
PE15,N/A,N/A
PE16,N/A,N/A
PE17,N/A,N/A
PE18,N/A,N/A
PE19,N/A,N/A
PE20,N/A,N/A
PE21,N/A,N/A
PE22,N/A,N/A
PE23,N/A,N/A
PE24,N/A,N/A
PE25,N/A,N/A
PE26,N/A,N/A
PE27,N/A,N/A
PE28,N/A,N/A
PE29,N/A,N/A
PE30,N/A,N/A
PE31,N/A,N/A
PORTF
-----
@@ -362,7 +362,7 @@ Due PIN GPIO FUNCTION SIGNAL ITHEAD PIN ITHEAD SIGNA
a bit-bang SPI interface is used. This includes the touch controller
a bit-bang SPI interface is used. This includes the touch controller
and the SD card.
2. UART0 cannot be used. USARTs on the COMM connector should be available.
3. Parallel data is not contiguous in the PIO register
@@ -381,27 +381,27 @@ SD Interface
------------
====== ========= ======== ========= ========
SD PIN SD SIGNAL PIN SIGNAL GPIO
SD PIN SD SIGNAL PIN SIGNAL GPIO
====== ========= ======== ========= ========
1 /CS J2 pin 3 D10 PA28
1 /CS J2 pin 3 D10 PA28
2 DI J2 pin 4 D11 PD7
3 GND --- --- ---
3 GND --- --- ---
4 VCC --- --- ---
5 CLK J2 pin 6 D13 PB27
5 CLK J2 pin 6 D13 PB27
6 GND --- --- ---
7 DO J2 pin 5 D12 PD8
7 DO J2 pin 5 D12 PD8
8 IRQ N/C --- ---
9 N/C --- --- ---
9 N/C --- --- ---
10 SW N/C --- ---
11 WP N/C --- ---
11 WP N/C --- ---
12 CD N/C --- ---
13 CD N/C --- ---
13 CD N/C --- ---
14 GND --- --- ---
15 GND --- --- ---
15 GND --- --- ---
16 GND --- --- ---
====== ========= ======== ========= ========
.. note::
.. note::
* The SD slot shares the pin with LED "L" so LED support must be disabled to
use the MMC/SD card on the ITEAD shield.
@@ -412,27 +412,27 @@ Touch Controller Interface
--------------------------
=========== ============== ======== ========= ========
XPT2046 PIN XPT2046 SIGNAL PIN SIGNAL GPIO
XPT2046 PIN XPT2046 SIGNAL PIN SIGNAL GPIO
=========== ============== ======== ========= ========
1 VCC --- --- ---
1 VCC --- --- ---
2 X+ --- --- ---
3 Y+ --- --- ---
3 Y+ --- --- ---
4 X- --- --- ---
5 Y- --- --- ---
5 Y- --- --- ---
6 GND --- --- ---
7 IN3 N/C --- ---
7 IN3 N/C --- ---
8 IN4 N/C --- ---
9 VREF --- --- ---
9 VREF --- --- ---
10 VCC --- --- ---
11 IRQ J2 pin 2 D9 PC21
11 IRQ J2 pin 2 D9 PC21
12 DOUT J2 pin 1 D8 PC22
13 BUSY N/C --- ---
13 BUSY N/C --- ---
14 DIN J1 pin 1 A0/D15 PA16
15 /CS --- --- ---
15 /CS --- --- ---
16 DCLK J1 pin 2 A1/D15 PA24
=========== ============== ======== ========= ========
.. note::
.. note::
CS is connected to ground (XPT2046 is always selected)
@@ -465,7 +465,7 @@ defined. In that case, the usage by the board port is defined in
``include/board.h`` and ``src/sam_leds.c``. The LEDs are used to encode
OS-related events as follows:
.. csv-table::
.. csv-table::
:header: SYMBOL,MEANING,L,TX,RX
``LED_STARTED`` ,NuttX has been started ,OFF ,OFF ,OFF
@@ -523,7 +523,7 @@ the case of UART0).
Loading Code
============
.. note::
.. note::
I believe that there have been significant changes to the more recent tool
environment such that Bossac may no longer be usable. I don't know that for
@@ -712,7 +712,7 @@ a. Write code to FLASH don't change boot mode and don't reset. This lets you
b. Verify the FLASH contents (the bootloader must be running)
.. code:: console
$ bossac.exe --port=COM26 --usb-port=false -v nuttx.bin
Verify 64628 bytes of flash
[==============================] 100% (253/253 pages)
@@ -721,7 +721,7 @@ b. Verify the FLASH contents (the bootloader must be running)
c. Read from FLASH to a file (the bootloader must be running):
.. code:: console
$ bossac.exe --port=COM26 --usb-port=false --read=4096 nuttx.dump
Read 4096 bytes from flash
[==============================] 100% (16/16 pages)
@@ -729,10 +729,10 @@ c. Read from FLASH to a file (the bootloader must be running):
d. Change to boot from FLASH
.. code:: console
$ bossac.exe --port=COM26 --usb-port=false --boot=1
Set boot flash true
Uploading NuttX to the Due Using JTAG
-------------------------------------
@@ -1012,7 +1012,7 @@ This configuration directory will build the NuttShell.
support for the SD card slot can be enabled by making the following
changes to the configuration:
.. note::
.. note::
You cannot use UART0 or LEDs with this ITEAD module. You must switch
to USART0 and disable LED support as described above.
@@ -1047,14 +1047,9 @@ This configuration directory will build the NuttShell.
Board Selection -> Common Board Options
* ``CONFIG_NSH_ARCHINIT=y``: Initialize the MMC/SD slot when NSH starts
* ``CONFIG_NSH_MMCSDSLOTNO=0``: Only one MMC/SD slot, slot 0
* ``CONFIG_NSH_MMCSDSPIPORTNO=0``: (does not really matter in this case)
Application Configuration -> NSH Library
* ``CONFIG_NSH_ARCHINIT=y``: Board has architecture-specific initialization
.. warning::
2013-7-2: SD card is not responding. All 0's received on SPI.
@@ -1065,7 +1060,7 @@ This configuration directory will build the NuttShell.
an NSH built-in application. You can enable the touchscreen and test
by modifying the default configuration in the following ways:
.. note::
.. note::
You cannot use UART0 or LEDs with this ITEAD module. You must switch
to USART0 and disable LED support as described above.
@@ -56,7 +56,7 @@ LED_PANIC The system has crashed FLASH N/C N/C
glow is because of timer interrupts that result in the LED being illuminated
on a small proportion of the time.
.. note::
.. note::
LED2 may also flicker normally if signals are processed.
@@ -225,7 +225,7 @@ The ``<subdir>`` that is provided above as an argument to the
a. Build and install the kconfig-mconf tool. See ``nuttx/README.txt``
see additional README.txt files in the NuttX tools repository.
b. Execute ``make menuconfig`` in ``nuttx/`` in order to start the
reconfiguration process.
@@ -250,7 +250,7 @@ The ``<subdir>`` that is provided above as an argument to the
Cygwin)
System Type -> Toolchain:
* ``CONFIG_ARM_TOOLCHAIN_BUILDROOT=y``: Buildroot toolchain
* ``CONFIG_ARM_TOOLCHAIN_BUILDROOT_OABI=y``: Older, OABI toolchain
@@ -458,10 +458,6 @@ Configuration enables both the serial and telnetd NSH interfaces.
* ``CONFIG_SCHED_WORKQUEUE=y``: Driver needs work queue support
Application Configuration -> NSH Library
* ``CONFIG_NSH_ARCHINIT=y``: NSH board-initialization
.. warning::
* 2013-6-28: The touchscreen is functional.
@@ -501,18 +497,18 @@ The NxWM window manager can be found at ``apps/graphics/NxWidgets/nxwm``.
The NxWM unit test can be found at ``apps/graphics/NxWidgets/UnitTests/nxwm``.
.. warning::
.. warning::
1. 2013-6-28: Created the configuration but have not yet done
anything with it.
2. 2013-6-29: Various changes to get a clean build of this
configuration. Still untested.
3. 20113-6-30: I cannot load this program using AtmelStudio6.1.
The total size with DEBUG on is 138.9 KB. I have verified
that the first 128KB may have been written correctly, but then
the code above 128KB wraps and overwrites the code at the
beginning of FLASH, trashing the FLASH images.
Bottom line: Still untested.
@@ -161,7 +161,7 @@ LED_ASSERTION An assertion failed FLASH N/C N/C
LED_PANIC The system has crashed FLASH N/C N/C
=================== ================================= ======= ======= =======
.. note::
.. note::
If D2 and D4 are statically on, then NuttX probably failed to boot and these
LEDs will give you some indication of where the failure was
@@ -378,7 +378,7 @@ You can also log into the NSH from the host PC like this:
This delay will be especially long if the board is not connected to a network
because additional time will be required to fail with timeout errors.
This delay will be especially long if the board is not connected to a
network. On the order of a minute! You will probably think that NuttX has
crashed! And then, when it finally does come up, the network will not be
@@ -473,10 +473,6 @@ FLASH:
Use care if you plan to use FAT long file name feature in a product; There
are issues with certain Microsoft patents on the long file name technology.
Application Configuration -> NSH Library
* ``CONFIG_NSH_ARCHINIT=y``: NSH board-initialization
Board Selection
* ``CONFIG_SAM4EEK_AT25_BLOCKMOUNT=y``: Mounts AT25 for NSH
@@ -520,10 +516,6 @@ System Type -> ATSAM3/4 Peripheral Support
* ``CONFIG_SAM34_UDP=y``: Enable UDP Full Speed USB device
Application Configuration -> NSH Library
* ``CONFIG_NSH_ARCHINIT=y``: NSH board-initialization
Mass Storage Class
------------------
@@ -693,10 +685,9 @@ serial console in this configuration):
Application Configuration -> NSH LIbrary:
* ``CONFIG_NSH_USBDEV_TRACE=n``: No builtin tracing from NSH
* ``CONFIG_NSH_ARCHINIT=y``: Automatically start the USB monitor
Application Configuration -> System NSH Add-Ons:
* ``CONFIG_USBMONITOR=y``: Enable the USB monitor daemon
* ``CONFIG_USBMONITOR_STACKSIZE=2048``: USB monitor daemon stack size
* ``CONFIG_USBMONITOR_PRIORITY=50``: USB monitor daemon priority
@@ -747,7 +738,6 @@ for the SD slot can be enabled with the following settings:
Application Configuration -> NSH Library
* ``CONFIG_NSH_ARCHINIT=y``: NSH board-initialization
* ``CONFIG_NSH_MMCSDSLOTNO=0``: Only one slot, slot 0
After an SD card is successfully initialized, the block device ``/dev/mmcsd0``
@@ -792,7 +782,7 @@ following ways:
* ``CONFIG_ADS7843E_THRESHY=39``
System Type -> Peripherals:
* ``CONFIG_SAM34_SPI0=y``: Enable support for SPI
System Type:
@@ -865,13 +855,13 @@ PIN PIO SIGNAL NOTES
27 IM1 Grounded
28 GND
29 [PC13] LED-A Backlight controls: PC13 enables AAT3155 charge pump that drives the backlight LEDs
30 [PC13] LEDK1
31 [PC13] LEDK2
30 [PC13] LEDK1
31 [PC13] LEDK2
32 [PC13] LEDK3
33 [PC13] LEDK4
34 [PC13] LEDK1
35 Y+ These go to the ADS7843 touchscreen controller.
36 Y-
36 Y-
37 X+
38 X-
39 NC
@@ -929,57 +919,57 @@ SAM4E-EK-specific Configuration Options
* ``CONFIG_ARCH``: Identifies the ``arch/`` subdirectory. This should be set
to:
* ``CONFIG_ARCH=arm``
* ``CONFIG_ARCH_family``: For use in C code:
* ``CONFIG_ARCH_ARM=y``
* ``CONFIG_ARCH_architecture``: For use in C code:
* ``CONFIG_ARCH_CORTEXM3=y``
* ``CONFIG_ARCH_CHIP``: Identifies the ``arch/*/chip`` subdirectory
* ``CONFIG_ARCH_CHIP="sam34"``
* ``CONFIG_ARCH_CHIP_name``: For use in C code to identify the exact chip:
* ``CONFIG_ARCH_CHIP_SAM34``
* ``CONFIG_ARCH_CHIP_SAM3U``
* ``CONFIG_ARCH_CHIP_ATSAM3U4``
* ``CONFIG_ARCH_BOARD``: Identifies the ``boards/`` subdirectory and hence, the
board that supports the particular chip or SoC.
* ``CONFIG_ARCH_BOARD=sam4e:ek`` (for the SAM4E-EK development board)
* ``CONFIG_ARCH_BOARD_name``: For use in C code
* ``CONFIG_ARCH_BOARD_SAM4EEK=y``
* ``CONFIG_ARCH_LOOPSPERMSEC``: Must be calibrated for correct operation of
delay loops
* ``CONFIG_ENDIAN_BIG``: define if big endian (default is little endian)
* ``CONFIG_RAM_SIZE``: Describes the installed DRAM (SRAM in this case):
* ``CONFIG_RAM_SIZE=0x00020000`` (128Kb)
* ``CONFIG_RAM_START``: The start address of installed DRAM
* ``CONFIG_RAM_START=0x20000000``
* ``CONFIG_ARCH_LEDS``: Use LEDs to show state. Unique to boards that have LEDs
* ``CONFIG_ARCH_INTERRUPTSTACK``: This architecture supports an interrupt stack.
If defined, this symbol is the size of the interrupt stack in bytes. If not
defined, the user task stacks will be used during interrupt handling.
* ``CONFIG_ARCH_STACKDUMP``: Do stack dumps after assertions
* ``CONFIG_ARCH_LEDS``: Use LEDs to show state. Unique to board architecture.
Individual subsystems can be enabled:
@@ -1447,5 +1437,5 @@ The NxWM unit test can be found at ``apps/graphics/NxWidgets/UnitTests/nxwm``
2014-08-20. I have seen the demo work well but it is not thoroughly
exercised. I suspect some touchscreen issues.
2014-10-11. Today's build crashes in nxwm_main on startup.
@@ -419,7 +419,7 @@ The ``<subdir>`` that is provided above as an argument to the
1. Build and install the kconfig-mconf tool. See nuttx/README.txt
see additional README.txt files in the NuttX tools repository.
2. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
@@ -428,7 +428,7 @@ The ``<subdir>`` that is provided above as an argument to the
a. Build and install the kconfig-mconf tool. See nuttx/README.txt
see additional README.txt files in the NuttX tools repository.
b. Execute ``make menuconfig`` in nuttx/ in order to start the
reconfiguration process.
@@ -502,7 +502,7 @@ nsh
This configuration directory will built the NuttShell.
.. note::
.. note::
If you get a compilation error like:
@@ -558,10 +558,6 @@ Board Selection -> SAM4L Xplained Pro Modules
* ``CONFIG_SAM4L_XPLAINED_IOMODULE_EXT1=y``: In EXT1, or EXT2
* ``CONFIG_SAM4L_XPLAINED_IOMODULE_EXT2=y``
Application Configuration -> NSH Library
* ``CONFIG_NSH_ARCHINIT=y``: Board has architecture-specific initialization
.. note::
If you enable the I/O1 this configuration with USART0 as the console and with
@@ -617,7 +613,7 @@ The NX graphics subsystem also needs to be configured:
* ``CONFIG_NXFONTS_CHARBITS=7``: 7-bit fonts
* ``CONFIG_NXFONT_SANS17X23B=y``: Pick a font (any that will fit)
.. note::
.. note::
This orientation will put the buttons "above" the LCD. The reverse landscape
configuration (CONFIG_LCD_RLANDSCAPE) will "flip" the display so that the
@@ -640,18 +636,18 @@ setup for the graphic "Hello, World!" example:
* ``CONFIG_EXAMPLES_NXHELLO_BPP=1``: One bit per pixel
* ``CONFIG_EXAMPLES_NXHELLO_EXTERNINIT=y``: Special initialization is required.
.. note::
.. note::
The OLED is monochrome so the only "colors" are black and white. The default
"colors" will give you while text on a black background. You can override the
faults it you want black text on a while background.
.. warning::
.. warning::
One issue that I have seen with the NXHello example when running as an NSH
command is that it only works the first time. So, after you run the 'nxhello'
command one time, you will have to reset the board before you run it again.
This is clearly some issue with initializing, un-initializing, and then
re-initializing. If you want to fix this, patches are quite welcome.
@@ -687,10 +683,6 @@ Application Configuration -> Examples
* ``CONFIG_EXAMPLES_SLCD_DEVNAME="/dev/slcd0"``
* ``CONFIG_EXAMPLES_SLCD_BUFSIZE=64``
Application Configuration -> NSH Library
* ``CONFIG_NSH_ARCHINIT=y``
.. note::
In order to use the segment LCD you *must* open the ``VLCD_A`` and
@@ -1134,9 +1134,6 @@ AT25 Serial FLASH
a lot, but at 20MHz, the behavior is not the same with all CM modules. This
lower rate gives more predictable performance.
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : NSH board-initialization
Board Selection
CONFIG_SAMA5D3XPLAINED_AT25_AUTOMOUNT=y : Mounts AT25 for NSH
CONFIG_SAMA5D3XPLAINED_AT25_FTL=y : Create block driver for FAT
@@ -1231,9 +1228,6 @@ HSMCI Card Slots
Library Routines
CONFIG_SCHED_WORKQUEUE=y : Driver needs work queue support
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : NSH board-initialization
Using the SD card
-----------------
@@ -1374,9 +1368,6 @@ USB High-Speed Device
System Type -> ATSAMA5 Peripheral Support
CONFIG_SAMA5_UDPHS=y : Enable UDPHS High Speed USB device
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : NSH board-initialization
Mass Storage Class
------------------
@@ -1471,7 +1462,6 @@ USB High-Speed Device
Application Configuration -> NSH LIbrary:
CONFIG_NSH_USBDEV_TRACE=n : No builtin tracing from NSH
CONFIG_NSH_ARCHINIT=y : Automatically start the USB monitor
Application Configuration -> System NSH Add-Ons:
CONFIG_USBMONITOR=y : Enable the USB monitor daemon
@@ -1515,8 +1505,6 @@ USB High-Speed Host
CONFIG_SCHED_WORKQUEUE=y : High priority worker thread support is required
CONFIG_SCHED_HPWORK=y :
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : NSH board-initialization
file1: CONFIG_USBHOST_ISOC_DISABLE=y
NOTE: When OHCI is selected, the SAMA5 will operate at 384MHz instead of
@@ -1553,9 +1541,6 @@ file1: CONFIG_USBHOST_ISOC_DISABLE=y
CONFIG_SCHED_WORKQUEUE=y : High priority worker thread support is required
CONFIG_SCHED_HPWORK=y :
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : NSH board-initialization
USB Hub Support
----------------
@@ -1665,7 +1650,6 @@ file1: CONFIG_USBHOST_ISOC_DISABLE=y
Application Configuration -> NSH LIbrary:
CONFIG_NSH_USBDEV_TRACE=n : No builtin tracing from NSH
CONFIG_NSH_ARCHINIT=y : Automatically start the USB monitor
Application Configuration -> System NSH Add-Ons:
CONFIG_USBMONITOR=y : Enable the USB monitor daemon
@@ -1821,9 +1805,6 @@ NAND Support
Defaults for ROM page table addresses should be okay
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : Use architecture-specific initialization
NOTES:
1. WARNING: This will wipe out everything that you may have on the NAND
@@ -2868,7 +2849,6 @@ Shields
For testing, you can add the following configuration options to enable the
analog joystick example at apps/examples/ajoystick:
CONFIG_NSH_ARCHINIT=y
CONFIG_EXAMPLES_AJOYSTICK=y
CONFIG_EXAMPLES_AJOYSTICK_DEVNAME="/dev/ajoy0"
@@ -1176,9 +1176,6 @@ AT25 Serial FLASH
a lot, but at 20MHz, the behavior is not the same with all CM modules. This
lower rate gives more predictable performance.
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : NSH board-initialization
Board Selection
CONFIG_SAMA5D3XEK_AT25_BLOCKMOUNT=y : Mounts AT25 for NSH
CONFIG_SAMA5D3XEK_AT25_FTL=y : Create block driver for FAT
@@ -1276,9 +1273,6 @@ HSMCI Card Slots
Library Routines
CONFIG_SCHED_WORKQUEUE=y : Driver needs work queue support
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : NSH board-initialization
Using the SD card
-----------------
@@ -1418,9 +1412,6 @@ USB High-Speed Device
System Type -> ATSAMA5 Peripheral Support
CONFIG_SAMA5_UDPHS=y : Enable UDPHS High Speed USB device
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : NSH board-initialization
Mass Storage Class
------------------
@@ -1508,7 +1499,6 @@ USB High-Speed Device
Application Configuration -> NSH LIbrary:
CONFIG_NSH_USBDEV_TRACE=n : No builtin tracing from NSH
CONFIG_NSH_ARCHINIT=y : Automatically start the USB monitor
Application Configuration -> System NSH Add-Ons:
CONFIG_USBMONITOR=y : Enable the USB monitor daemon
@@ -1552,9 +1542,6 @@ USB High-Speed Host
CONFIG_SCHED_WORKQUEUE=y : High priority worker thread support is required
CONFIG_SCHED_HPWORK=y :
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : NSH board-initialization
EHCI
----
@@ -1584,9 +1571,6 @@ USB High-Speed Host
CONFIG_SCHED_WORKQUEUE=y : High priority worker thread support is required
CONFIG_SCHED_HPWORK=y :
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : NSH board-initialization
USB Hub Support
----------------
@@ -1692,7 +1676,6 @@ USB High-Speed Host
Application Configuration -> NSH LIbrary:
CONFIG_NSH_USBDEV_TRACE=n : No builtin tracing from NSH
CONFIG_NSH_ARCHINIT=y : Automatically start the USB monitor
Application Configuration -> System NSH Add-Ons:
CONFIG_USBMONITOR=y : Enable the USB monitor daemon
@@ -1883,9 +1866,6 @@ NAND Support
Defaults for ROM page table addresses should be okay
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : Use architecture-specific initialization
NOTES:
1. WARNING: This will wipe out everything that you may have on the NAND
@@ -2224,9 +2204,6 @@ AT24 Serial EEPROM
CONFIG_AT24XX_SIZE=512 : Specifies the AT 24C512 part
CONFIG_AT24XX_ADDR=0x53 : AT24 I2C address
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : NSH board-initialization
File systems
CONFIG_NXFFS=y : Enables the NXFFS file system
CONFIG_NXFFS_PREALLOCATED=y : Required
@@ -1533,9 +1533,6 @@ AT25 Serial FLASH
a lot, but at 20MHz, the behavior is not the same with all CM modules. This
lower rate gives more predictable performance.
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : NSH board-initialization
Board Selection
CONFIG_SAMA5D4EK_AT25_BLOCKMOUNT=y : Mounts AT25 for NSH
CONFIG_SAMA5D4EK_AT25_FTL=y : Create block driver for FAT
@@ -1643,7 +1640,6 @@ HSMCI Card Slots
CONFIG_SCHED_WORKQUEUE=y : Driver needs work queue support
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : NSH board-initialization, OR
CONFIG_BOARD_LATE_INITIALIZE=y
Using the SD card
@@ -1788,9 +1784,6 @@ USB High-Speed Device
System Type -> ATSAMA5 Peripheral Support
CONFIG_SAMA5_UDPHS=y : Enable UDPHS High Speed USB device
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : NSH board-initialization
Mass Storage Class
------------------
@@ -1878,7 +1871,6 @@ USB High-Speed Device
Application Configuration -> NSH LIbrary:
CONFIG_NSH_USBDEV_TRACE=n : No builtin tracing from NSH
CONFIG_NSH_ARCHINIT=y : Automatically start the USB monitor
Application Configuration -> System NSH Add-Ons:
CONFIG_USBMONITOR=y : Enable the USB monitor daemon
@@ -1922,9 +1914,6 @@ USB High-Speed Host
CONFIG_SCHED_WORKQUEUE=y : High priority worker thread support is required
CONFIG_SCHED_HPWORK=y :
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : NSH board-initialization
EHCI
----
@@ -1957,9 +1946,6 @@ USB High-Speed Host
CONFIG_SCHED_WORKQUEUE=y : High priority worker thread support is required
CONFIG_SCHED_HPWORK=y :
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : NSH board-initialization
USB Hub Support
----------------
@@ -2070,7 +2056,6 @@ USB High-Speed Host
Application Configuration -> NSH LIbrary:
CONFIG_NSH_USBDEV_TRACE=n : No builtin tracing from NSH
CONFIG_NSH_ARCHINIT=y : Automatically start the USB monitor
Application Configuration -> System NSH Add-Ons:
CONFIG_USBMONITOR=y : Enable the USB monitor daemon
@@ -2226,9 +2211,6 @@ NAND Support
Defaults for ROM page table addresses should be okay
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : Use architecture-specific initialization
NOTES:
1. WARNING: This will wipe out everything that you may have on the NAND
@@ -763,9 +763,6 @@ Configuration sub-directories
CONFIG_SAMD20_XPLAINED_IOMODULE=y : I/O1 module is connected
CONFIG_SAMD20_XPLAINED_IOMODULE_EXT1=y : I/O1 modules is in EXT1
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : Board has architecture-specific initialization
NOTE: If you enable the I/O1 this configuration with SERCOM4 as the
console and with the I/O1 module in EXT1, you *must* remove USART
jumper. Otherwise, you have lookpack on SERCOM4 and NSH will *not*
@@ -636,9 +636,6 @@ Configuration sub-directories
CONFIG_SAMD21_XPLAINED_IOMODULE=y : I/O1 module is connected
CONFIG_SAMD21_XPLAINED_IOMODULE_EXT1=y : I/O1 modules is in EXT1
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : Board has architecture-specific initialization
NOTE: If you enable the I/O1 this configuration with SERCOM4 as the
console and with the I/O1 module in EXT1, you *must* remove USART
jumper. Otherwise, you have lookpack on SERCOM4 and NSH will *not*
@@ -797,9 +797,6 @@ Configuration sub-directories
CONFIG_SAML21_XPLAINED_IOMODULE=y : I/O1 module is connected
CONFIG_SAML21_XPLAINED_IOMODULE_EXT2=y : I/O1 modules is in EXT2
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : Board has architecture-specific initialization
NOTE: If you enable the I/O1 this configuration with SERCOM4 as the
console and with the I/O1 module in EXT1, you *must* remove USART
jumper. Otherwise, you have lookback on SERCOM4 and NSH will *not*
@@ -111,7 +111,6 @@ the SD slots can be enabled with the following settings:
CONFIG_SCHED_WORKQUEUE=y : Driver needs work queue support
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : NSH board-initialization, OR
CONFIG_BOARD_LATE_INITIALIZE=y
Using the SD card
@@ -174,7 +174,6 @@ the SD slots can be enabled with the following settings:
CONFIG_SCHED_WORKQUEUE=y : Driver needs work queue support
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : NSH board-initialization, OR
CONFIG_BOARD_LATE_INITIALIZE=y
Using the SD card
@@ -263,7 +263,6 @@ enabled with the following settings:
``Application Configuration -> NSH Library``::
CONFIG_NSH_ARCHINIT=y : NSH board-initialization, OR
CONFIG_BOARD_LATE_INITIALIZE=y
Using the SD card
@@ -2007,7 +2006,7 @@ mxtxplnd
--------
Configures the NuttShell (``nsh``) located at ``examples/nsh``.
There are five very similar NSH configurations:
- ``knsh``. This is a somewhat simplified version of the nsh configuration
@@ -173,7 +173,6 @@ the SD slots can be enabled with the following settings:
- ``CONFIG_SCHED_WORKQUEUE=y`` : Driver needs work queue support
- Application Configuration -> NSH Library
- ``CONFIG_NSH_ARCHINIT=y`` : NSH board-initialization, OR
- ``CONFIG_BOARD_LATE_INITIALIZE=y``
The lower-half of this driver is initialized by calling :c:func:`sdio_initialize`.
@@ -417,8 +417,6 @@ Differences between the two NSH configurations::
nsh> mount -t vfat /dev/mmcsd0 /mnt/sdcard # Restore the mount
Failure to do this could result in corruption of the SD card format.
(5) Option CONFIG_NSH_ARCHINIT must be enabled in order to call the SDIO slot
initialization code.
usbmsc
------
@@ -454,7 +452,6 @@ NOTES:
CONFIG_USBDEV_TRACE=y : Enable USB trace feature
CONFIG_USBDEV_TRACE_NRECORDS=128 : Buffer 128 records in memory
CONFIG_NSH_USBDEV_TRACE=n : No builtin tracing from NSH
CONFIG_NSH_ARCHINIT=y : Automatically start the USB monitor
CONFIG_USBMONITOR=y : Enable the USB monitor daemon
CONFIG_USBMONITOR_STACKSIZE=2048 : USB monitor daemon stack size
CONFIG_USBMONITOR_PRIORITY=50 : USB monitor daemon priority
@@ -129,7 +129,7 @@ events as follows:
LED_SIGNAL In a signal handler[3] N/C ON N/C OFF
LED_ASSERTION An assertion failed ON ON N/C OFF
LED_PANIC The system has crashed N/C N/C N/C ON
LED_IDLE STM32 is is sleep mode
LED_IDLE STM32 is is sleep mode
=================== ======================= ======= ======= ======= ======
[1] If LED1, LED2, LED3 are statically on, then NuttX probably failed to boot
@@ -186,9 +186,6 @@ configuration options::
CONFIG_LIBM=y
CONFIG_LIBC_FLOATINGPOINT=y
Applications -> NSH Library
CONFIG_NSH_ARCHINIT=y
Applications -> System Add-Ons
CONFIG_SYSTEM_LM75=y
CONFIG_SYSTEM_LM75_DEVNAME="/dev/temp"
@@ -323,7 +323,6 @@ NOTES:
CONFIG_USBDEV=y : USB device support must be enabled
CONFIG_CDCACM=y : The CDC/ACM driver must be built
CONFIG_NSH_BUILTIN_APPS=y : NSH built-in application support must be enabled
CONFIG_NSH_ARCHINIT=y : To perform USB initialization
8. Using the USB console.
@@ -426,7 +425,6 @@ NOTES:
CONFIG_USBDEV_TRACE=y : Enable USB trace feature
CONFIG_USBDEV_TRACE_NRECORDS=128 : Buffer 128 records in memory
CONFIG_NSH_USBDEV_TRACE=n : No builtin tracing from NSH
CONFIG_NSH_ARCHINIT=y : Automatically start the USB monitor
CONFIG_USBMONITOR=y : Enable the USB monitor daemon
CONFIG_USBMONITOR_STACKSIZE=2048 : USB monitor daemon stack size
CONFIG_USBMONITOR_PRIORITY=50 : USB monitor daemon priority
@@ -85,7 +85,7 @@ Problems with both boards:
- No user button
This is the board pinout based on its form-factor for the Blue board:
..
USB
___
@@ -536,7 +536,7 @@ The STM32F103C8 has a USB Device controller, then we can use NuttX support
to USB Device. We can the console over USB enabling these options:
::
System Type --->
STM32 Peripheral Support --->
[*] USB Device
@@ -891,7 +891,6 @@ NOTES:
CONFIG_USBDEV_TRACE=y : Enable USB trace feature
CONFIG_USBDEV_TRACE_NRECORDS=128 : Buffer 128 records in memory
CONFIG_NSH_USBDEV_TRACE=n : No builtin tracing from NSH
CONFIG_NSH_ARCHINIT=y : Automatically start the USB monitor
CONFIG_USBMONITOR=y : Enable the USB monitor daemon
CONFIG_USBMONITOR_STACKSIZE=2048 : USB monitor daemon stack size
CONFIG_USBMONITOR_PRIORITY=50 : USB monitor daemon priority
@@ -283,9 +283,6 @@ Configuration (STM32F103 only)
Library Routines
CONFIG_SCHED_WORKQUEUE=y : Driver needs work queue support
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : NSH board-initialization
Using the SD card
-----------------
@@ -418,7 +415,6 @@ enabled support for the barometer::
Drivers -> Sensors
CONFIG_SENSORS=y
CONFIG_SENSORS_MPL115A=y
CONFIG_NSH_ARCHINIT=y
Note: this driver uses SPI3 then since PB3 pin is also use to JTAG TDO you
need to disable JTAG support to get this driver working::
@@ -769,7 +765,6 @@ todo::
support the MAX3421E:
CONFIG_EXPERIMENTAL=y # EXPERIMENTAL required for now (might change)
CONFIG_NSH_ARCHINIT=y # Board level initialization required
CONFIG_STM32_SPI1=y # SPI for the MAX3421E (could use SPI2)
CONFIG_USBHOST=y # General USB host support
CONFIG_USBHOST_ISOC_DISABLE=y # Does not support Isochronous endpoints
@@ -43,7 +43,7 @@ events as follows:
LED_SIGNAL In a signal handler[3] N/C ON N/C OFF
LED_ASSERTION An assertion failed ON ON N/C OFF
LED_PANIC The system has crashed N/C N/C N/C ON
LED_IDLE STM32 is is sleep mode
LED_IDLE STM32 is is sleep mode
=================== ======================= ======= ======= ======= ======
[1] If LED1, LED2, LED3 are statically on, then NuttX probably failed to boot
@@ -278,7 +278,7 @@ NOTES:
b. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
2. This example assumes that a network is connected. During its
initialization, it will try to negotiate the link speed. If you have
no network connected when you reset the board, there will be a long
@@ -399,8 +399,6 @@ Enable the application configurations that you want to use. As examples::
CONFIG_SCHED_WORKQUEUE : Worker thread support is required for the mass
storage class (both host and device).
CONFIG_NSH_ARCHINIT : Architecture specific USB initialization
is needed
11. This configuration requires that jumper JP22 be set to enable RS-232 operation.
@@ -194,7 +194,6 @@ NOTES:
CONFIG_USBDEV=y : USB device support must be enabled
CONFIG_CDCACM=y : The CDC/ACM driver must be built
CONFIG_NSH_BUILTIN_APPS=y : NSH built-in application support must be enabled
CONFIG_NSH_ARCHINIT=y : To perform USB initialization
The CDC/ACM example is included as two NSH "built-in" commands.::
@@ -299,7 +298,6 @@ NOTES:
Application Configuration -> NSH LIbrary::
CONFIG_NSH_USBDEV_TRACE=n : No builtin tracing from NSH
CONFIG_NSH_ARCHINIT=y : Automatically start the USB monitor
Application Configuration -> System NSH Add-Ons::
CONFIG_USBMONITOR=y : Enable the USB monitor daemon
@@ -55,8 +55,8 @@ controls the LEDs:
LED_IRQSENABLED Interrupts enabled OFF OFF
LED_STACKCREATED Idle stack created ON OFF
LED_INIRQ In an interrupt N/C ON
LED_SIGNAL In a signal handler N/C N/C
LED_ASSERTION An assertion failed N/C N/C
LED_SIGNAL In a signal handler N/C N/C
LED_ASSERTION An assertion failed N/C N/C
LED_PANIC The system has crashed OFF Blinking
LED_IDLE STM32 is is sleep mode N/U N/U
=================== ======================= ======== ========
@@ -362,8 +362,6 @@ summarized below:
7. Initialization hooks are provided to enable the MRF24J40 and to
register the radio character driver.
CONFIG_NSH_ARCHINIT=y
8. Configuration instructions: WPAN configuration must be performed
using the i8sak program. Detailed instructions are provided in a
README.txt file at apps/wireless/ieee802154/i8sak. You should make
@@ -776,7 +774,6 @@ NOTES:
CONFIG_USBDEV_TRACE=y : Enable USB trace feature
CONFIG_USBDEV_TRACE_NRECORDS=128 : Buffer 128 records in memory
CONFIG_NSH_USBDEV_TRACE=n : No builtin tracing from NSH
CONFIG_NSH_ARCHINIT=y : Automatically start the USB monitor
CONFIG_USBMONITOR=y : Enable the USB monitor daemon
CONFIG_USBMONITOR_STACKSIZE=2048 : USB monitor daemon stack size
CONFIG_USBMONITOR_PRIORITY=50 : USB monitor daemon priority
@@ -348,7 +348,6 @@ NOTES:
CONFIG_USBDEV_TRACE=y : Enable USB trace feature
CONFIG_USBDEV_TRACE_NRECORDS=128 : Buffer 128 records in memory
CONFIG_NSH_USBDEV_TRACE=n : No builtin tracing from NSH
CONFIG_NSH_ARCHINIT=y : Automatically start the USB monitor
CONFIG_USBMONITOR=y : Enable the USB monitor daemon
CONFIG_USBMONITOR_STACKSIZE=2048 : USB monitor daemon stack size
CONFIG_USBMONITOR_PRIORITY=50 : USB monitor daemon priority
@@ -320,7 +320,6 @@ There is nothing in the configuration that currently uses the joystick.
For testing, you can add the following configuration options to enable the
analog joystick example at apps/examples/ajoystick::
CONFIG_NSH_ARCHINIT=y
CONFIG_EXAMPLES_AJOYSTICK=y
CONFIG_EXAMPLES_AJOYSTICK_DEVNAME="/dev/ajoy0"
@@ -360,7 +359,7 @@ NOTES:
b. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
2. By default, this configuration uses the ARM EABI toolchain
for Linux. That can easily be reconfigured, of course.:
@@ -320,7 +320,6 @@ There is nothing in the configuration that currently uses the joystick.
For testing, you can add the following configuration options to enable the
analog joystick example at apps/examples/ajoystick::
CONFIG_NSH_ARCHINIT=y
CONFIG_EXAMPLES_AJOYSTICK=y
CONFIG_EXAMPLES_AJOYSTICK_DEVNAME="/dev/ajoy0"
@@ -360,7 +359,7 @@ NOTES:
b. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
2. By default, this configuration uses the ARM EABI toolchain
for Linux. That can easily be reconfigured, of course.:
@@ -319,7 +319,6 @@ There is nothing in the configuration that currently uses the joystick.
For testing, you can add the following configuration options to enable the
analog joystick example at apps/examples/ajoystick::
CONFIG_NSH_ARCHINIT=y
CONFIG_EXAMPLES_AJOYSTICK=y
CONFIG_EXAMPLES_AJOYSTICK_DEVNAME="/dev/ajoy0"
@@ -107,10 +107,6 @@ Library Routines::
CONFIG_SCHED_WORKQUEUE=y : Driver needs work queue support
Application Configuration -> NSH Library::
CONFIG_NSH_ARCHINIT=y : NSH board-initialization
Using the SD card
-----------------
@@ -437,7 +433,7 @@ NOTES:
reliable.
2. Kernel Modules / Shared Libraries
I used this configuration for testing NuttX kernel modules in the
FLAT build with the following configuration additions to the
configuration file::
@@ -601,8 +601,6 @@ NOTES:
CONFIG_STM32_SYSCFG=y : Needed for all USB OTF FS support
CONFIG_SCHED_WORKQUEUE=y : Worker thread support is required for the mass
storage class driver.
CONFIG_NSH_ARCHINIT=y : Architecture specific USB initialization
is needed for NSH
CONFIG_FS_FAT=y : Needed by the USB host mass storage class.
With those changes, you can use NSH with a FLASH pen driver as shown
@@ -459,7 +459,6 @@ NOTES:
CONFIG_USBDEV=y : USB device support must be enabled
CONFIG_CDCACM=y : The CDC/ACM driver must be built
CONFIG_NSH_BUILTIN_APPS=y : NSH built-in application support must be enabled
CONFIG_NSH_ARCHINIT=y : To perform USB initialization
8. Using the USB console.
@@ -482,7 +481,7 @@ NOTES:
configuration will also create a NSH USB console but this version
will use /dev/console. Instead, it will use the normal /dev/ttyACM0
USB serial device for the console::
CONFIG_STM32_OTGFS=y : STM32 OTG FS support
CONFIG_USART2_SERIAL_CONSOLE=y : Keep the USART2 console
CONFIG_DEV_CONSOLE=y : /dev/console exists (but NSH won't use it)
@@ -541,11 +540,7 @@ NOTES:
CONFIG_FS_FAT=y : Needed by the USB host mass storage class.
Board Selection ->
CONFIG_BOARDCTL=y : Needed for CONFIG_NSH_ARCHINIT
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : Architecture specific USB initialization
: is needed for NSH
CONFIG_BOARDCTL=y
With those changes, you can use NSH with a FLASH pen driver as shown
belong. Here NSH is started with nothing in the USB host slot:
@@ -617,7 +612,7 @@ NOTES:
2. Stack usage make increase when USB hub support is enabled because
the nesting depth of certain USB host class logic can increase.
STATUS:
2015-04-30
Appears to be fully functional.
@@ -638,7 +633,7 @@ UnitTest.
NOTES:
1. The NxWM window manager can be found here::
apps/graphics/NxWidgets/nxwm
The NxWM unit test can be found at::
@@ -1646,7 +1646,6 @@ NOTES:
CONFIG_USBDEV=y : USB device support must be enabled
CONFIG_CDCACM=y : The CDC/ACM driver must be built
CONFIG_NSH_BUILTIN_APPS=y : NSH built-in application support must be enabled
CONFIG_NSH_ARCHINIT=y : To perform USB initialization
7. Using the USB console.
@@ -1728,11 +1727,7 @@ NOTES:
CONFIG_FS_FAT=y : Needed by the USB host mass storage class.
Board Selection ->
CONFIG_BOARDCTL=y : Needed for CONFIG_NSH_ARCHINIT
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : Architecture specific USB initialization
: is needed for NSH
CONFIG_BOARDCTL=y
With those changes, you can use NSH with a FLASH pen driver as shown
belong. Here NSH is started with nothing in the USB host slot::
@@ -2273,7 +2268,6 @@ NOTES:
CONFIG_USBDEV_TRACE=y : Enable USB trace feature
CONFIG_USBDEV_TRACE_NRECORDS=128 : Buffer 128 records in memory
CONFIG_NSH_USBDEV_TRACE=n : No builtin tracing from NSH
CONFIG_NSH_ARCHINIT=y : Automatically start the USB monitor
CONFIG_USBMONITOR=y : Enable the USB monitor daemon
CONFIG_USBMONITOR_STACKSIZE=2048 : USB monitor daemon stack size
CONFIG_USBMONITOR_PRIORITY=50 : USB monitor daemon priority
@@ -252,7 +252,7 @@ Since this board is so generic, having a quick way to set the SPI
configuration seams in order. So the board provides a quick test
that can be selected vi CONFIG_NUCLEO_SPI_TEST that will initialize
the selected buses (SPI1-SPI3) and send some text on the bus at
application initialization time board_app_initialize.
application initialization time.
SDIO
----
@@ -294,7 +294,7 @@ Since this board is so generic, having a quick way to set the SPI
configuration seams in order. So the board provides a quick test
that can be selected vi CONFIG_NUCLEO_SPI_TEST that will initialize
the selected buses (SPI1-SPI3) and send some text on the bus at
application initialization time board_app_initialize.
application initialization time.
SDIO
----
@@ -296,7 +296,7 @@ Since this board is so generic, having a quick way to set the SPI
configuration seams in order. So the board provides a quick test
that can be selected vi CONFIG_NUCLEO_SPI_TEST that will initialize
the selected buses (SPI1-SPI3) and send some text on the bus at
application initialization time board_app_initialize.
application initialization time.
SDIO
----
@@ -17,7 +17,7 @@ Peripheral Support Notes
========== ======= =====
FLASH Yes
PM ?
RCC Yes
RCC Yes
GPIO Yes
SYSCFG Yes
DMA Yes
@@ -192,7 +192,7 @@ CAN
- CONFIG_CAN_TXFIFOSIZE - The size of the circular tx buffer
of CAN messages.
Default: 8
- CONFIG_CAN_RXFIFOSIZE - The size of the circular rx buffer
of CAN messages.
Default: 8
@@ -382,7 +382,6 @@ The builtin SPI test facility can be enabled with the following settings::
+CONFIG_NUCLEO_SPI3_TEST_MODE3=y
+CONFIG_BOARDCTL=y
+CONFIG_NSH_ARCHINIT=y
Development Environment
=======================
@@ -293,7 +293,7 @@ NOTES:
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
System Type::
CONFIG_ARM_TOOLCHAIN_GNU_EABI=y : GNU EABI toolchain for Windows
4. SLCD.
@@ -318,7 +318,6 @@ NOTES:
Application Configuration -> NSH Library::
CONFIG_NSH_BUILTIN_APPS=y : Enable builtin apps in NSH
CONFIG_NSH_ARCHINIT=y : Needed to initialize the SLCD
Application Configuration -> Examples::
@@ -470,7 +470,6 @@ There is nothing in the configuration that currently uses the joystick.
For testing, you can add the following configuration options to enable the
analog joystick example at apps/examples/ajoystick::
CONFIG_NSH_ARCHINIT=y
CONFIG_EXAMPLES_AJOYSTICK=y
CONFIG_EXAMPLES_AJOYSTICK_DEVNAME="/dev/ajoy0"
@@ -50,7 +50,7 @@ information about this board.
Hardware
========
Section needs updating
Section needs updating
GPIO - there are 144 I/O lines on the STM32L4xxZx with various pins pined out
on the Nucleo 144.
@@ -193,7 +193,7 @@ Since this board is so generic, having a quick way to vet the SPI
configuration seams in order. So the board provides a quick test
that can be selected vi CONFIG_NUCLEO_SPI_TEST that will initialize
the selected buses (SPI1-SPI3) and send some text on the bus at
application initialization time board_app_initialize.
application initialization time.
SDIO
----
@@ -144,7 +144,7 @@ TTL to RS-232 converter connection:
Nucleo CN10 STM32F4x1RE
=========== ============
Pin 21 PA9 USART1_RX
Pin 33 PA10 USART1_TX
Pin 33 PA10 USART1_TX
Pin 20 GND
Pin 8 U5V
=========== ============
@@ -181,7 +181,7 @@ TTL to RS-232 converter connection:
Nucleo CN9 STM32F4x1RE
=========== ============
Pin 1 PA3 USART2_RX
Pin 2 PA2 USART2_TX
Pin 2 PA2 USART2_TX
=========== ============
Warning you make need to reverse RX/TX on some RS-232 converters
@@ -336,7 +336,6 @@ There is nothing in the configuration that currently uses the joystick.
For testing, you can add the following configuration options to enable the
analog joystick example at apps/examples/ajoystick::
CONFIG_NSH_ARCHINIT=y
CONFIG_EXAMPLES_AJOYSTICK=y
CONFIG_EXAMPLES_AJOYSTICK_DEVNAME="/dev/ajoy0"
@@ -494,9 +494,6 @@ Temperature Sensor
CONFIG_SENSORS_LM75=y
CONFIG_LM75_I2C=y
Applications -> NSH Library
CONFIG_NSH_ARCHINIT=y
Then you can implement logic like the following to use the temperature sensor:
#include <nuttx/sensors/lm75.h>
@@ -524,9 +521,6 @@ Temperature Sensor
CONFIG_LIBM=y
CONFIG_LIBC_FLOATINGPOINT=y
Applications -> NSH Library
CONFIG_NSH_ARCHINIT=y
Applications -> System Add-Ons
CONFIG_SYSTEM_LM75=y
CONFIG_SYSTEM_LM75_DEVNAME="/dev/temp"
@@ -116,9 +116,6 @@ AT24 Serial EEPROM
CONFIG_AT24XX_SIZE=512 : Specifies the AT 24C512 part
CONFIG_AT24XX_ADDR=0x53 : AT24 I2C address
Application Configuration -> NSH Library
CONFIG_NSH_ARCHINIT=y : NSH board-initialization
File systems
CONFIG_NXFFS=y : Enables the NXFFS file system
CONFIG_NXFFS_PREALLOCATED=y : Required