summaryrefslogtreecommitdiff
path: root/nuttx/configs/efm32gg-stk3700/README.txt
blob: 524f00579d4fceb4510df38e09a07a632e898918 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
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
======

  2014-11-02:  Completed the basic NSH configuration for the EFM32 Giant Gecko
    Starter Kit.  The hardware is on order and the port will be verified sometime
    thereafter.

LEDs and Buttons
================

  LEDs
  ----
  The EFM32 Giant Gecko Start Kit has two yellow LEDs marked 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

  Thus if LED0 statically on, NuttX has successfully booted and is,
  apparently, running normally.  If LED1 is flashing at approximately
  2Hz, then a fatal error has been detected and the system has halted.

  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
   ----------------------
   LEUART0 is configured as the default serial console at 2400 8N1
   on pins PD5 and PD4.  It certainly be possible to go to 4800 baud
   and the documentation claims that 9600 baud is possible (although
   I am not sure how).

   It should also be possible to use UART0 is configured 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 LEUART0.  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