Add README for non-existent port to the EFM32GG-STK3700; fix typos in related README files

This commit is contained in:
Gregory Nutt 2014-10-22 14:32:25 -06:00
parent ef4a649372
commit bdbe5393e1
4 changed files with 170 additions and 19 deletions

View File

@ -7,7 +7,7 @@ choice
prompt "Select target board"
default ARCH_BOARD_CUSTOM
---help---
Select the board hosting the architure. You must first select the
Select the board hosting the architecture. You must first select the
exact MCU part number, then the boards supporting that part will
be available for selection. Use ARCH_BOARD_CUSTOM to create a new
board configuration.

View File

@ -0,0 +1,151 @@
README
======
This README file discusses the port of NuttX to the Silicon Labs EFM32™
Giant Gecko Starter Kit (EFM32GG-STK3400). The Giant Gecko Starter Kit
features:
• EFM32GG990F1024 MCU with 1 MB flash and 128 kB RAM
• 32.768 kHz crystal (LXFO)
• 48 MHz crystal (HXFO)
• 32 MB NAND flash
• Advanced Energy Monitoring
• Touch slider
• 8x20 LCD
• 2 user LEDs
• 2 user buttons
• USB interface for Host/Device/OTG
• Ambient light sensor and inductive-capacitive metal sensor
• EFM32 OPAMP footprint
• 20 pin expansion header
• Breakout pads for easy access to I/O pins
• Power sources (USB and CR2032 battery)
• Backup Capacitor for RTC mode
• Integrated Segger J-Link USB debugger/emulator
STATUS
======
This README now exists only as some analysis for a port to the EFM32 Giant
Gecko Starter Kit. That port has not yet been developed and I do not now
have hardware in hand. So the status is partially analyzed, but not yet implemented.
LEDs and Buttons
================
LEDs
----
The EFM32 Giant Gecko Start Kit has two yellow LEDs marke LED0 and LED1.
These LEDs are controlled by GPIO pins on the EFM32. The LEDs are
connected to pins PE2 and PE3 in an active high configuration:
------------------------------------- --------------------
EFM32 PIN BOARD SIGNALS
------------------------------------- --------------------
E2/BCK_VOUT/EBI_A09 #0/ MCU_PE2 UIF_LED0
TIM3_CC2 #1/U1_TX #3/ACMP0_O #1
E3/BCK_STAT/EBI_A10 #0/U1_RX #3/ MCU_PE3 UIF_LED1
ACMP1_O #1
------------------------------------- --------------------
All LEDs are grounded and so are illuminated by outputting a high
value to the LED.
These LEDs are not used by the board port unless CONFIG_ARCH_LEDS is
defined. In that case, the usage by the board port is defined in
include/board.h and src/efm32_autoleds.c. The LEDs are used to
encode OS-related events as follows:
These LEDs are not used by the board port unless CONFIG_ARCH_LEDS is
defined. In that case, the usage by the board port is defined in
include/board.h and src/up_leds.c. The LEDs are used to encode
OS-related events as follows:
SYMBOL Meaning LED state
LED0 LED1
------------------- ----------------------- -------- --------
LED_STARTED NuttX has been started OFF OFF
LED_HEAPALLOCATE Heap has been allocated OFF OFF
LED_IRQSENABLED Interrupts enabled OFF OFF
LED_STACKCREATED Idle stack created ON OFF
LED_INIRQ In an interrupt No change
LED_SIGNAL In a signal handler No change
LED_ASSERTION An assertion failed No change
LED_PANIC The system has crashed OFF Blinking
LED_IDLE STM32 is is sleep mode Not used
Buttons
-------
The EFM32 Giant Gecko Start Kit has two buttons marked PB0 and PB1. They
are connected to the EFM32, and are debounced by RC filters with a time
constant of 1ms. The buttons are connected to pins PB9 and PB10:
------------------------------------- --------------------
EFM32 PIN BOARD SIGNALS
------------------------------------- --------------------
B9/EBI_A03/U1_TX #2 MCU_PB9 UIF_PB0
B10/EBI_A04/U1_RX #2 MCU_PB10 UIF_PB1
------------------------------------- --------------------
Buttons are connected to ground so they will read low when closed.
Serial Console
==============
Default Serial Console
----------------------
UART0 is configured as the default serial console at 115200 8N1
on pins PE0 and PE1.
Communication through the Board Controller
------------------------------------------
The kit contains a board controller that is responsible for performing
various board level tasks, such as handling the debugger and the Advanced
Energy Monitor. An interface is provided between the EFM32 and the board
controller in the form of a UART connection. The connection is enabled by
setting the EFM_BC_EN (PF7) line high, and using the lines EFM_BC_TX
(PE0) and EFM_BC_RX (PE1) for communicating.
Configurations
==============
Each EFM32 Giant Gecko Starter Kit configuration is maintained in a sub-
directory and can be selected as follow:
cd tools
./configure.sh efm32gg-stk3700/<subdir>
cd -
. ./setenv.sh
If this is a Windows native build, then configure.bat should be used
instead of configure.sh:
configure.bat efm32gg-stk3700\<subdir>
Where <subdir> is one of the following:
nsh:
---
Configures the NuttShell (nsh) located at apps/examples/nsh. The
Configuration enables the serial interfaces on UART0. Support for
built-in applications is enabled, but in the base configuration no
built-in applications are selected (see NOTES below).
NOTES:
1. This configuration uses the mconf-based configuration tool. To
change this configuration using that tool, you should:
a. Build and install the kconfig-mconf tool. See nuttx/README.txt
and misc/tools/
b. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
2. By default, this configuration uses the CodeSourcery toolchain
for Windows and builds under Cygwin (or probably MSYS). That
can easily be reconfigured, of course.
CONFIG_HOST_WINDOWS=y : Builds under Windows
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows

View File

@ -10,7 +10,7 @@ memory and 128kbytes. The board features:
- LIS302DL, ST MEMS motion sensor, 3-axis digital output accelerometer,
- MP45DT02, ST MEMS audio sensor, omni-directional digital microphone,
- CS43L22, audio DAC with integrated class D speaker driver,
- Eight LEDs and two push-buttons,
- Four LEDs and two push-buttons,
- USB OTG FS with micro-AB connector, and
- Easy access to most MCU pins.
@ -221,7 +221,7 @@ NuttX EABI "buildroot" Toolchain
NOTE: Unfortunately, the 4.6.3 EABI toolchain is not compatible with the
the NXFLAT tools. See the top-level TODO file (under "Binary loaders") for
more information about this problem. If you plan to use NXFLAT, please do not
use the GCC 4.6.3 EABI toochain; instead use the GCC 4.3.3 OABI toolchain.
use the GCC 4.6.3 EABI toolchain; instead use the GCC 4.3.3 OABI toolchain.
See instructions below.
NuttX OABI "buildroot" Toolchain
@ -279,7 +279,7 @@ NXFLAT Toolchain
LEDs
====
The STM32F4Discovery board has four LEDs; green, organge, red and blue on the
The STM32F4Discovery board has four LEDs; green, orange, red and blue on the
board. These LEDs are not used by the board port unless CONFIG_ARCH_LEDS is
defined. In that case, the usage by the board port is defined in
include/board.h and src/up_leds.c. The LEDs are used to encode OS-related
@ -301,7 +301,7 @@ events as follows:
* If LED1, LED2, LED3 are statically on, then NuttX probably failed to boot
and these LEDs will give you some indication of where the failure was
** The normal state is LED3 ON and LED1 faintly glowing. This faint glow
is because of timer interupts that result in the LED being illuminated
is because of timer interrupts that result in the LED being illuminated
on a small proportion of the time.
*** LED2 may also flicker normally if signals are processed.
@ -606,7 +606,7 @@ SSD1289
I purchased an LCD display on eBay from China. The LCD is 320x240 RGB565 and
is based on an SSD1289 LCD controller and an XPT2046 touch IC. The pin out
from the 2x16 connect on the LCD is labeled as follows:
from the 2x16 connect on the LCD is labelled as follows:
LCD CONNECTOR: SSD1289 MPU INTERFACE PINS:
@ -682,9 +682,9 @@ MAPPING TO STM32 F4:
NOTE: The configuration to test this LCD configuration is available at
configs/stm32f4discovery/nxlines. As of this writing, I have not seen the
LCD working so I probaby have some things wrong.
LCD working so I probably have some things wrong.
I might need to use a bit-baning interface. Below is the pin configurationf
I might need to use a bit-banging interface. Below is the pin configuration
of a similar LCD to support a (write-only), bit banging interface:
LCD PIN BOARD CONNECTION
@ -699,7 +699,7 @@ of a similar LCD to support a (write-only), bit banging interface:
CS Pin configured as output
RSET Pin configured as output
The following summarize the bit banging oprations:
The following summarize the bit banging operations:
/* Rese the LCD */
void Reset(void)
@ -776,7 +776,7 @@ that I am using:
-------------------------------------------------------------------------
Darcy Gong recently added support for the UG-2864HSWEG01 OLED which is also
an option with this configuratin. I have little technical information about
an option with this configuration. I have little technical information about
the UG-2864HSWEG01 interface (see configs/stm32f4discovery/src/up_ug2864hsweg01.c).
STM32F4Discovery-specific Configuration Options
@ -863,7 +863,7 @@ STM32F4Discovery-specific Configuration Options
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
cause a 100 second delay during boot-up. This 100 second delay
serves no purpose other than it allows you to calibratre
serves no purpose other than it allows you to calibrate
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
the delay actually is 100 seconds.
@ -1143,7 +1143,7 @@ Where <subdir> is one of the following:
3. By default, this project assumes that you are *NOT* using the DFU
bootloader.
4. It appears that you cannot excute from CCM RAM. This is why the
4. It appears that you cannot execute from CCM RAM. This is why the
following definition appears in the defconfig file:
CONFIG_STM32_CCMEXCLUDE=y
@ -1156,7 +1156,7 @@ Where <subdir> is one of the following:
-------
This is identical to the ostest configuration below except that NuttX
is built as a kernel-mode, monolithic module and the user applications
are built separately. Is is recommened to use a special make command;
are built separately. Is is recommended to use a special make command;
not just 'make' but make with the following two arguments:
make pass1 pass2
@ -1609,7 +1609,7 @@ Where <subdir> is one of the following:
CONFIG_PM_BUTTONS=y
CONFIG_PM_BUTTONS enables button support for PM testing. Buttons can
drive EXTI interrupts and EXTI interrrupts can be used to wakeup for
drive EXTI interrupts and EXTI interrupts can be used to wakeup for
certain reduced power modes (STOP mode). The use of the buttons here
is for PM testing purposes only; buttons would normally be part the
application code and CONFIG_PM_BUTTONS would not be defined.
@ -1692,8 +1692,8 @@ Where <subdir> is one of the following:
4. Enabling USB monitor SYSLOG output. If tracing is enabled, the USB
device will save encoded trace output in in-memory buffer; if the
USB monitor is enabled, that trace buffer will be periodically
emptied and dumped to the system loggin device (UART2 in this
configuraion):
emptied and dumped to the system logging device (UART2 in this
configuration):
CONFIG_USBDEV_TRACE=y : Enable USB trace feature
CONFIG_USBDEV_TRACE_NRECORDS=128 : Buffer 128 records in memory

View File

@ -487,7 +487,7 @@ Serial Console
drive an external RS-232 transceiver.
- The crystal X3 is not installed on the STM32L3-Discovery. As a result,
the HSE clock is not availabled and the less acurate HSI must be used.
the HSE clock is not available and the less accurate HSI must be used.
This may limit the accuracy of the computed baud, especially at higher
BAUD. The HSI is supposedly calibrated in the factory to within 1% at
room temperatures so perhaps this not a issue.
@ -608,7 +608,7 @@ STM32L-Discovery-specific Configuration Options
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
cause a 100 second delay during boot-up. This 100 second delay
serves no purpose other than it allows you to calibratre
serves no purpose other than it allows you to calibrate
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
the delay actually is 100 seconds.
@ -792,7 +792,7 @@ Configuration sub-directories
CONFIG_STM32_LCD=y : Enable the Segment LCD
When the LCD is enabled and the LEDs are disabled, the USART1
serial console will automaticall move to PB6 and PB7 (you will get
serial console will automatically move to PB6 and PB7 (you will get
a compilation error if you forget to disable the LEDs).
SIGNAL FUNCTION LED CONNECTION