Add README for non-existent port to the EFM32GG-STK3700; fix typos in related README files
This commit is contained in:
parent
ef4a649372
commit
bdbe5393e1
@ -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.
|
||||
|
151
configs/efm32gg-stk3700/README.txt
Normal file
151
configs/efm32gg-stk3700/README.txt
Normal 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
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user