From bdbe5393e1368f2bc9c07c33be8322e514a13828 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Wed, 22 Oct 2014 14:32:25 -0600 Subject: [PATCH] Add README for non-existent port to the EFM32GG-STK3700; fix typos in related README files --- configs/Kconfig | 2 +- configs/efm32gg-stk3700/README.txt | 151 ++++++++++++++++++++++++++++ configs/stm32f4discovery/README.txt | 30 +++--- configs/stm32ldiscovery/README.txt | 6 +- 4 files changed, 170 insertions(+), 19 deletions(-) create mode 100644 configs/efm32gg-stk3700/README.txt diff --git a/configs/Kconfig b/configs/Kconfig index 319fec3073..81901a2325 100755 --- a/configs/Kconfig +++ b/configs/Kconfig @@ -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. diff --git a/configs/efm32gg-stk3700/README.txt b/configs/efm32gg-stk3700/README.txt new file mode 100644 index 0000000000..9676939b98 --- /dev/null +++ b/configs/efm32gg-stk3700/README.txt @@ -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/ + cd - + . ./setenv.sh + + If this is a Windows native build, then configure.bat should be used + instead of configure.sh: + + configure.bat efm32gg-stk3700\ + + Where 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 diff --git a/configs/stm32f4discovery/README.txt b/configs/stm32f4discovery/README.txt index 7d292b1dd3..8e2de23e49 100644 --- a/configs/stm32f4discovery/README.txt +++ b/configs/stm32f4discovery/README.txt @@ -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 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 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 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 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 diff --git a/configs/stm32ldiscovery/README.txt b/configs/stm32ldiscovery/README.txt index 43e9f70a97..34848b59c5 100644 --- a/configs/stm32ldiscovery/README.txt +++ b/configs/stm32ldiscovery/README.txt @@ -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