EFM32: Tweaks to get EFM32GG-STK3700 running NSH over LEUART0

This commit is contained in:
Gregory Nutt
2014-11-12 12:50:09 -06:00
parent 2a48a29385
commit 43281776fe
4 changed files with 73 additions and 16 deletions
+3 -3
View File
@@ -179,7 +179,7 @@ SERIAL CONSOLE
USING THE J-LINK GDB SERVER USING THE J-LINK GDB SERVER
=========================== ===========================
1. Star the J-Link GDB server. You should see the start-up confiration 1. Star the J-Link GDB server. You should see the start-up configuration
window. SelectL window. SelectL
a. Target device = EFM32G880F128 a. Target device = EFM32G880F128
@@ -192,9 +192,9 @@ USING THE J-LINK GDB SERVER
arm-none-eabi-gdb arm-none-eabi-gdb
4. Connect to the J-Link GDB serer: 4. Connect to the J-Link GDB server:
(gdb) target remote local host (gdb) target remote localhost:2331
5. Load and run nuttx 5. Load and run nuttx
+62 -6
View File
@@ -84,12 +84,12 @@ LEDs and Buttons
are connected to the EFM32, and are debounced by RC filters with a time 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: constant of 1ms. The buttons are connected to pins PB9 and PB10:
------------------------------------- -------------------- ------------------------------------- --------------------
EFM32 PIN BOARD SIGNALS EFM32 PIN BOARD SIGNALS
------------------------------------- -------------------- ------------------------------------- --------------------
B9/EBI_A03/U1_TX #2 MCU_PB9 UIF_PB0 B9/EBI_A03/U1_TX #2 MCU_PB9 UIF_PB0
B10/EBI_A04/U1_RX #2 MCU_PB10 UIF_PB1 B10/EBI_A04/U1_RX #2 MCU_PB10 UIF_PB1
------------------------------------- -------------------- ------------------------------------- --------------------
Buttons are connected to ground so they will read low when closed. Buttons are connected to ground so they will read low when closed.
@@ -103,6 +103,13 @@ Serial Console
and the documentation claims that 9600 baud is possible (although and the documentation claims that 9600 baud is possible (although
I am not sure how). I am not sure how).
---------- ---- ----------- -----------
SIGNAL PGIO EXP Header Test Point
---------- ---- ----------- -----------
LEUART0_TX PD4 Pin 12 TPJ122
LEUART0_RX PD5 Pin 14 TPJ123
---------- ---- ----------- -----------
It should also be possible to use UART0 is configured at 115200 8N1 It should also be possible to use UART0 is configured at 115200 8N1
on pins PE0 and PE1. on pins PE0 and PE1.
@@ -115,6 +122,55 @@ Serial Console
setting the EFM_BC_EN (PF7) line high, and using the lines EFM_BC_TX setting the EFM_BC_EN (PF7) line high, and using the lines EFM_BC_TX
(PE0) and EFM_BC_RX (PE1) for communicating. (PE0) and EFM_BC_RX (PE1) for communicating.
USING THE J-LINK GDB SERVER
===========================
1. Star the J-Link GDB server. You should see the start-up configuration
window. SelectL
a. Target device = EFM32GG990F1024
b. Select Target interface = SWD
2. Press OK. The GDB server should start and the last message in the Log
output should be "Waiting for GDB connection".
3. In a terminal window, start GDB:
arm-none-eabi-gdb
4. Connect to the J-Link GDB server:
(gdb) target remote localhost:2331
5. Load and run nuttx
(gdb) mon halt
(gdb) load nuttx
(gdb) mon reset go
I had to tinker with the setup a few times repeating the same steps above
before things finally began to work. Don't know why.
To debug code already burned into FLASH:
1. Start the GDB server as above.
2. In a terminal window, start GDB:
arm-none-eabi-gdb
3. Connect to the J-Link GDB serer:
(gdb) target remote local host
3. Load the nuttx symbol file, reset, and debug
(gdb) mon halt
(gdb) file nuttx
(gdb) mon reset
(gdb) s
...
Configurations Configurations
============== ==============
Each EFM32 Giant Gecko Starter Kit configuration is maintained in a sub- Each EFM32 Giant Gecko Starter Kit configuration is maintained in a sub-
+7 -7
View File
@@ -251,18 +251,18 @@
* U0_RX #1 PE1 MCU_PE1, UART0_TX #1, EFM_BC_TX, BC_UART_TX * U0_RX #1 PE1 MCU_PE1, UART0_TX #1, EFM_BC_TX, BC_UART_TX
*/ */
#define BOARD_UART0_RX_GPIO (GPIO_PORTE|GPIO_PIN1) #define BOARD_UART0_RX_GPIO (GPIO_PORTE|GPIO_PIN1)
#define BOARD_UART0_TX_GPIO (GPIO_PORTE|GPIO_PIN0) #define BOARD_UART0_TX_GPIO (GPIO_PORTE|GPIO_PIN0)
#define BOARD_UART0_ROUTE_LOCATION _USART_ROUTE_LOCATION_LOC1 #define BOARD_UART0_ROUTE_LOCATION _USART_ROUTE_LOCATION_LOC1
/* LEUART0: /* LEUART0:
* *
* LEU0_RX #0 PD4 Available on TP121 and EXP pin 12 * LEU0_TX #0 PD4 Available on TP122 and EXP pin 12
* LEU0_TX #0 PD5 Available on TP122 and EXP pin 14 * LEU0_RX #0 PD5 Available on TP123 and EXP pin 14
*/ */
#define BOARD_LEUART0_RX_GPIO (GPIO_PORTD|GPIO_PIN4) #define BOARD_LEUART0_RX_GPIO (GPIO_PORTD|GPIO_PIN5)
#define BOARD_LEUART0_TX_GPIO (GPIO_PORTD|GPIO_PIN5) #define BOARD_LEUART0_TX_GPIO (GPIO_PORTD|GPIO_PIN4)
#define BOARD_LEUART0_ROUTE_LOCATION _LEUART_ROUTE_LOCATION_LOC0 #define BOARD_LEUART0_ROUTE_LOCATION _LEUART_ROUTE_LOCATION_LOC0
/**************************************************************************** /****************************************************************************
+1
View File
@@ -140,6 +140,7 @@ CONFIG_EFM32_HAVE_USART2=y
CONFIG_EFM32_HAVE_UART0=y CONFIG_EFM32_HAVE_UART0=y
CONFIG_EFM32_HAVE_UART1=y CONFIG_EFM32_HAVE_UART1=y
CONFIG_EFM32_HAVE_LEUART1=y CONFIG_EFM32_HAVE_LEUART1=y
CONFIG_EFM32_HAVE_OTGFS=y
# CONFIG_EFM32_USART_ISUART is not set # CONFIG_EFM32_USART_ISUART is not set
# CONFIG_EFM32_USART_ISSPI is not set # CONFIG_EFM32_USART_ISSPI is not set
# CONFIG_EFM32_UART is not set # CONFIG_EFM32_UART is not set