summaryrefslogtreecommitdiff
path: root/nuttx/configs/stm32ldiscovery/README.txt
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2013-05-23 15:23:29 -0600
committerGregory Nutt <gnutt@nuttx.org>2013-05-23 15:23:29 -0600
commitdfaa61731b87c0685c17f41a95a2e758deca80a7 (patch)
tree7ab7b0f9d3360024b315db67d81ae2feeecce2c3 /nuttx/configs/stm32ldiscovery/README.txt
parentc7bf6bf65a458cb30b892340b69de6c025d1cc22 (diff)
downloadpx4-nuttx-dfaa61731b87c0685c17f41a95a2e758deca80a7.tar.gz
px4-nuttx-dfaa61731b87c0685c17f41a95a2e758deca80a7.tar.bz2
px4-nuttx-dfaa61731b87c0685c17f41a95a2e758deca80a7.zip
STM32L-Discovery LCD driver is code compele but untested
Diffstat (limited to 'nuttx/configs/stm32ldiscovery/README.txt')
-rw-r--r--nuttx/configs/stm32ldiscovery/README.txt211
1 files changed, 112 insertions, 99 deletions
diff --git a/nuttx/configs/stm32ldiscovery/README.txt b/nuttx/configs/stm32ldiscovery/README.txt
index 734505f5c..308dec381 100644
--- a/nuttx/configs/stm32ldiscovery/README.txt
+++ b/nuttx/configs/stm32ldiscovery/README.txt
@@ -1,22 +1,22 @@
README
======
-This README discusses issues unique to NuttX configurations for the
-STMicro STM32L-Discovery development board. The STM32L-Discovery board
-is based on the STM32L152RBT6 MCU (128KB FLASH and 16KB of SRAM).
+ This README discusses issues unique to NuttX configurations for the
+ STMicro STM32L-Discovery development board. The STM32L-Discovery board
+ is based on the STM32L152RBT6 MCU (128KB FLASH and 16KB of SRAM).
-The STM32L-Discovery and 32L152CDISCOVERY kits are functionally
-equivalent. The difference is the internal Flash memory size (STM32L152RBT6
-with 128 Kbytes or STM32L152RCT6 with 256 Kbytes).
+ The STM32L-Discovery and 32L152CDISCOVERY kits are functionally
+ equivalent. The difference is the internal Flash memory size (STM32L152RBT6
+ with 128 Kbytes or STM32L152RCT6 with 256 Kbytes).
-Both boards feature:
+ Both boards feature:
- - An ST-LINK/V2 embedded debug tool interface,
- - LCD (24 segments, 4 commons),
- - LEDs,
- - Pushbuttons,
- - A linear touch sensor, and
- - Four touchkeys.
+ - An ST-LINK/V2 embedded debug tool interface,
+ - LCD (24 segments, 4 commons),
+ - LEDs,
+ - Pushbuttons,
+ - A linear touch sensor, and
+ - Four touchkeys.
Contents
========
@@ -395,107 +395,114 @@ NXFLAT Toolchain
LEDs
====
-The STM32L-Discovery board has four LEDs. Two of these are controlled by
-logic on the board and are not available for software control:
-
-LD1 COM: LD2 default status is red. LD2 turns to green to indicate that
- communications are in progress between the PC and the ST-LINK/V2.
-LD2 PWR: Red LED indicates that the board is powered.
-
-And two LEDs can be controlled by software:
-
-User LD3: Green LED is a user LED connected to the I/O PB7 of the STM32L152
- MCU.
-User LD4: Blue LED is a user LED connected to the I/O PB6 of the STM32L152
- MCU.
-
-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
- LED3 LED4
- ------------------- ----------------------- -------- --------
- 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
+ The STM32L-Discovery board has four LEDs. Two of these are controlled by
+ logic on the board and are not available for software control:
+
+ LD1 COM: LD2 default status is red. LD2 turns to green to indicate
+ that communications are in progress between the PC and the
+ ST-LINK/V2.
+ LD2 PWR: Red LED indicates that the board is powered.
+
+ And two LEDs can be controlled by software:
+
+ User LD3: Green LED is a user LED connected to the I/O PB7 of the
+ STM32L152 MCU.
+ User LD4: Blue LED is a user LED connected to the I/O PB6 of the
+ STM32L152 MCU.
+
+ 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
+ LED3 LED4
+ ------------------- ----------------------- -------- --------
+ 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
Serial Console
==============
-The STM32L-Discovery has no on-board RS-232 driver. Further, there are no
-USART pins that do not conflict with the on board resources, in particular,
-the LCD: Most USART pins are available if the LCD is enabled; USART2 may be
-used if either the LCD or the on-board LEDs are disabled.
+ The STM32L-Discovery has no on-board RS-232 driver. Further, there are no
+ USART pins that do not conflict with the on board resources, in particular,
+ the LCD: Most USART pins are available if the LCD is enabled; USART2 may
+ be used if either the LCD or the on-board LEDs are disabled.
- PA9 USART1_TX LCD glass COM1 P2, pin 22
- PA10 USART1_RX LCD glass COM2 P2, pin 21
- PB6 USART1_TX LED Blue P2, pin 8
- PB7 USART1_RX LED Green P2, pin 7
+ PA9 USART1_TX LCD glass COM1 P2, pin 22
+ PA10 USART1_RX LCD glass COM2 P2, pin 21
+ PB6 USART1_TX LED Blue P2, pin 8
+ PB7 USART1_RX LED Green P2, pin 7
- PA2 USART2_TX LCD SEG1 P1, pin 17
- PA3 USART2_RX LCD SEG2 P1, pin 18
+ PA2 USART2_TX LCD SEG1 P1, pin 17
+ PA3 USART2_RX LCD SEG2 P1, pin 18
- PB10 USART3_TX LCD SEG6 P1, pin 22
- PB11 USART3_RX LCD SEG7 P1, pin 23
- PC10 USART3_TX LCD SEG22 P2, pin 15
- PC11 USART3_RX LCD SEG23 P2, pin 14
+ PB10 USART3_TX LCD SEG6 P1, pin 22
+ PB11 USART3_RX LCD SEG7 P1, pin 23
+ PC10 USART3_TX LCD SEG22 P2, pin 15
+ PC11 USART3_RX LCD SEG23 P2, pin 14
-GND and (external) 5V are available on both P1 and P2. Note: These signals
-may be at lower voltage levels and, hence, may not properly drive an external
-RS-232 transceiver.
+ NOTES:
-NOTE: 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. 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.
+ - GND and (external) 5V are available on both P1 and P2. Note: These
+ signals may be at lower voltage levels and, hence, may not properly
+ drive an external RS-232 transceiver.
-I have had no problems using the USART1 with PA9 and PA10 with a 3.3-5V
-RS-232 transceiver module at 57600 baud. I have not tried higher baud rates.
+ - 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.
+ 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.
-There is no support for a USB serial connector on the STM32L-Discovery board.
-The STM32L152 does support USB, but the USB pins are "free I/O" on the board
-and no USB connector is provided. So the use of a USB console is not option.
-If you need console output, you will need to disable either LCD (and use any
-USART) or the LEDs (and use USART1)
+ - According to the STM32L-Discovery User Manual, the LCD should be removed
+ from its socket if you use any of the LCD pins for any other purpose.
+
+ I have had no problems using the USART1 with PA9 and PA10 with a 3.3-5V
+ RS-232 transceiver module at 57600 baud. I have not tried higher baud
+ rates.
+
+ - There is no support for a USB serial connector on the STM32L-Discovery
+ board. The STM32L152 does support USB, but the USB pins are "free I/O"
+ on the board and no USB connector is provided. So the use of a USB
+ console is not option. If you need console output, you will need to
+ disable either LCD (and use any USART) or the LEDs (and use USART1)
Debugging
=========
-STM32 ST-LINK Utility
----------------------
-For simply writing to FLASH, I use the STM32 ST-LINK Utility. At least
-version 2.4.0 is required (older versions do not recognize the STM32 F3
-device). This utility is available from free from the STMicro website.
+ STM32 ST-LINK Utility
+ ---------------------
+ For simply writing to FLASH, I use the STM32 ST-LINK Utility. At least
+ version 2.4.0 is required (older versions do not recognize the STM32 F3
+ device). This utility is available from free from the STMicro website.
-Debugging
----------
-If you are going to use a debugger, you should make sure that the following
-settings are selection in your configuration file:
+ Debugging
+ ---------
+ If you are going to use a debugger, you should make sure that the following
+ settings are selection in your configuration file:
- CONFIG_DEBUG_SYMBOLS=y : Enable debug symbols in the build
- CONFIG_ARMV7M_USEBASEPRI=y : Use the BASEPRI register to disable interrupts
+ CONFIG_DEBUG_SYMBOLS=y : Enable debug symbols in the build
+ CONFIG_ARMV7M_USEBASEPRI=y : Use the BASEPRI register to disable interrupts
-OpenOCD
--------
-I am told that OpenOCD will work with the ST-Link, but I have never tried
-it.
+ OpenOCD
+ -------
+ I am told that OpenOCD will work with the ST-Link, but I have never tried
+ it.
-https://github.com/texane/stlink
---------------------------------
-This is an open source server for the ST-Link that I have never used.
+ https://github.com/texane/stlink
+ --------------------------------
+ This is an open source server for the ST-Link that I have never used.
-Atollic GDB Server
-------------------
-You can use the Atollic IDE, but I have never done that either.
+ Atollic GDB Server
+ ------------------
+ You can use the Atollic IDE, but I have never done that either.
STM32L-Discovery-specific Configuration Options
===============================================
@@ -693,20 +700,20 @@ STM32L-Discovery-specific Configuration Options
Configurations
==============
-Each STM32L-Discovery configuration is maintained in a sub-directory and
-can be selected as follow:
+ Each STM32L-Discovery configuration is maintained in a sub-directory and
+ can be selected as follow:
cd tools
./configure.sh STM32L-Discovery/<subdir>
cd -
. ./setenv.sh
-If this is a Windows native build, then configure.bat should be used
-instead of configure.sh:
+ If this is a Windows native build, then configure.bat should be used
+ instead of configure.sh:
configure.bat STM32L-Discovery\<subdir>
-Where <subdir> is one of the following:
+ Where <subdir> is one of the following:
nsh:
---
@@ -739,3 +746,9 @@ Where <subdir> is one of the following:
CONFIG_HOST_WINDOWS=y : Builds under Windows
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
+
+ 5. To enable SLCD support:
+
+ CONFIG_ARCH_LEDS=y : Disable LED support
+ CONFIG_LIB_SLCDCODEC=y : Enable the SLCD CODEC
+ CONFIG_STM32_LCD=y : Enable the SLCD