diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2013-05-23 15:23:29 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2013-05-23 15:23:29 -0600 |
commit | dfaa61731b87c0685c17f41a95a2e758deca80a7 (patch) | |
tree | 7ab7b0f9d3360024b315db67d81ae2feeecce2c3 /nuttx/configs/stm32ldiscovery/README.txt | |
parent | c7bf6bf65a458cb30b892340b69de6c025d1cc22 (diff) | |
download | px4-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.txt | 211 |
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 |