Imported nuttx-6.24

Conflicts:

	nuttx/arch/arm/src/stm32/chip/stm32_flash.h
	nuttx/arch/arm/src/stm32/stm32_otgfsdev.c
	nuttx/arch/arm/src/stm32/stm32f40xxx_rcc.c
	nuttx/drivers/mtd/at25.c
	nuttx/drivers/mtd/ftl.c
	nuttx/graphics/nxglib/nxglib_splitline.c
	nuttx/graphics/nxmu/nxfe.h
	nuttx/graphics/nxmu/nxmu_mouse.c
	nuttx/graphics/nxsu/nx_mousein.c
	nuttx/graphics/nxtk/nxtk_events.c
	nuttx/graphics/nxtk/nxtk_filltrapwindow.c
	nuttx/graphics/nxtk/nxtk_internal.h
	nuttx/include/nuttx/mtd.h
	nuttx/include/stdbool.h
	nuttx/libxx/Makefile
	nuttx/libxx/libxx_stdthrow.cxx
	nuttx/tools/configure.sh

Conflicts:

	nuttx/include/stdbool.h
Imported apps-6.24

Conflicts:

	apps/nshlib/nsh.h
	apps/nshlib/nsh_dbgcmds.c
Imported NxWidgets-1.4

Conflicts:

	NxWidgets/UnitTests/nxwm/Makefile
	NxWidgets/libnxwidgets/Makefile
	NxWidgets/libnxwidgets/include/cimage.hxx
	NxWidgets/libnxwidgets/src/cnumericedit.cxx
	NxWidgets/libnxwidgets/src/cnxserver.cxx
	NxWidgets/libnxwidgets/src/cnxtimer.cxx
	NxWidgets/libnxwidgets/src/cnxtkwindow.cxx
	NxWidgets/libnxwidgets/src/cscrollingpanel.cxx
	NxWidgets/libnxwidgets/src/ctext.cxx
	NxWidgets/nxwm/Makefile
	NxWidgets/nxwm/src/capplicationwindow.cxx
	NxWidgets/nxwm/src/ctaskbar.cxx
	NxWidgets/tools/bitmap_converter.py
Fix compilation error in CGraphicsPort in some configurations.

When the 'typedef uint8_t bool;' is in use, the "bool" and
"nxgl_mxpixel_t" types conflicted in function overloads. I.e.
to the compiler they were compatible and therefore indistinguishable.

This fixes the problem by renaming the private function _drawText instead
of drawText.
Make CNxWidget draw its background.

This is useful when using CNxWidget as a "panel", i.e. a container
for other widgets. Subclasses will override drawContents and decide
themselves how to draw the background.
Add CTabPanel to NXWidgets.

This widget provides a tab panel, which has a button bar at the top
and panels below it. Pressing a button will select the corresponding
panel.
AT25: avoid crash when device is unavailable.
Fix two bugs in mkfatfs logic:

1) On large devices, maxnclusters will be 0 for FAT12 and FAT16.
   However the tests subtracted 2 from it, causing the unsigned
   variable to underflow. Modified test to +2 on the other side.

2) The shift operation is wrong way around for FAT32, causing it
   to never format FAT32 partitions.
Fix wrong free count for FAT32 volumes.

The reason was simply two variable names in wrong order.
SPI SD card driver: fix "card is still busy".

It seems that some cards will appear busy before they
are switched to SPI mode for first time. Having a pull-up
resistor on MISO may avoid this problem, but this patch
makes it work also without pull-up.
Fix "fs undefined" error when using fat_io_free.
STM32F4 max SPI clock freq is 37.5 MHz
Fix SPI DMA on STM32F4