summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/nshlib/nsh_usbdev.c2
-rw-r--r--nuttx/ChangeLog5
-rw-r--r--nuttx/Documentation/NuttX.html69
-rw-r--r--nuttx/arch/arm/src/stm32/chip/stm32l15xxx_vectors.h324
-rw-r--r--nuttx/arch/arm/src/stm32/stm32_vectors.S20
-rw-r--r--nuttx/arch/arm/src/stm32/stm32l15xxx_rcc.c2
-rw-r--r--nuttx/configs/open1788/README.txt79
-rw-r--r--nuttx/configs/stm32ldiscovery/README.txt4
-rw-r--r--nuttx/configs/stm32ldiscovery/include/board.h18
-rw-r--r--nuttx/configs/stm32ldiscovery/src/stm32_autoleds.c9
10 files changed, 304 insertions, 228 deletions
diff --git a/apps/nshlib/nsh_usbdev.c b/apps/nshlib/nsh_usbdev.c
index 193fe0d79..75f60835f 100644
--- a/apps/nshlib/nsh_usbdev.c
+++ b/apps/nshlib/nsh_usbdev.c
@@ -233,7 +233,7 @@ static int nsh_waitusbready(void)
}
while (fd < 0);
- /* Now waiting until we successfully read a carriage return a few times.
+ /* Now wait until we successfully read a carriage return a few times.
* That is a sure way of know that there is something at the other end of
* the USB serial connection that is ready to talk with us. The user needs
* to hit ENTER a few times to get things started.
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index fc2da4af3..deacdf8ce 100644
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -4752,4 +4752,7 @@
* nuttx/arch/arm/src/lm/chip/lm_flash.h and nuttx/arch/arm/src/lm/lm_flash.c:
Add support for TI/Stellaris internal FLASH MTD driver. From Max
Holtzberg (2013-5-20).
-
+ * arm/src/stm32/chip/stm32l15xxx_vectors.h: After correcting errors in the
+ vector definition file, the STM32L-Discovery NSH port now seems to be
+ fully functional. Also fixed an error that was causing the LEDs to be
+ controlled incorrectly (2013-5-21).
diff --git a/nuttx/Documentation/NuttX.html b/nuttx/Documentation/NuttX.html
index f46048d23..457302400 100644
--- a/nuttx/Documentation/NuttX.html
+++ b/nuttx/Documentation/NuttX.html
@@ -8,7 +8,7 @@
<tr align="center" bgcolor="#e4e4e4">
<td>
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
- <p>Last Updated: May 6, 2013</p>
+ <p>Last Updated: May 21, 2013</p>
</td>
</tr>
</table>
@@ -1554,7 +1554,7 @@
<li><a href="#arm920t">ARM920T</a> (1) </li>
<li><a href="#arm926ejs">ARM926EJS</a> (3) </li>
<li><a href="#armcortexm0">ARM Cortex-M0/M0+</a> (2)</li>
- <li><a href="#armcortexm3">ARM Cortex-M3</a> (17)</li>
+ <li><a href="#armcortexm3">ARM Cortex-M3</a> (18)</li>
<li><a href="#armcortexm4">ARM Cortex-M4</a> (7)</li>
</ul>
<li>Atmel AVR
@@ -1906,7 +1906,7 @@ $ size nuttx
</pre></ul>
<p>
NuttX, the NSH application, and GCC libraries use 34.2KB of FLASH leaving 93.8KB of FLASH (72%) free from additional application development.
- Static SRAM usage is about 1.2KB (&lt;4%) and leaves 13.8KB (86%) available for heap at runtime.
+ Static SRAM usage is about 1.2KB (&lt;4%) and leaves 14.8KB (86%) available for heap at runtime.
SRAM usage at run-time can be shown with the NSH <code>free</code> command:
</p>
<ul><pre>
@@ -2101,6 +2101,69 @@ nsh>
<td><br></td>
<td>
<p>
+ <b>STMicro STM32L152 (STM32L &quot;EnergyLite&quot; Line)</b>.
+ This is a port of NuttX to the STMicro STM32L-Discovery development board.
+ The STM32L-Discovery board is based on the STM32L152RBT6 MCU (128KB FLASH and 16KB of SRAM).
+ </p>
+ <ul>
+ <p>
+ 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:
+ </p>
+ <ul>
+ <li>An ST-LINK/V2 embedded debug tool interface,</li>
+ <li>LCD (24 segments, 4 commons),</li>
+ <li>LEDs,</li>
+ <li>Pushbuttons,</li>
+ <li>A linear touch sensor, and</li>
+ <li>Four touchkeys.</li>
+ </ul>
+ <p>
+ <b>STATUS</b>.
+ Initial support for the STM32L-Discovery was released in NuttX-6.28.
+ This initial support is very minimal:
+ There is a configuration using the NuttShell (<a href="NuttShell.html">NSH</a>) that might be the basis for an application development.
+ As of this writing, more device drivers are needed to make this a more complete port.
+ </p>
+ <p>
+ <b>Memory Usage</b>.
+ For a full-featured RTOS such as NuttX, providing support in a usable and meaningful way within the tiny memories of the STM32L152RBT6 demonstrates the scalability of NuttX. The STM32L152RBT6 comes in a 64-pin package and has 128KB FLASH and 16KB of SRAM.
+ </p>
+ <p>
+ Static memory usage can be shown with <code>size</code> command:
+ </p>
+ <ul><pre>
+$ size nuttx
+ text data bss dec hex filename
+ 39664 132 1124 40920 9fd8 nuttx
+</pre></ul>
+ <p>
+ NuttX, the NSH application, and GCC libraries use 38.7KB of FLASH leaving 89.3B of FLASH (70%) free from additional application development.
+ Static SRAM usage is about 1.2KB (&lt;4%) and leaves 14.8KB (86%) available for heap at runtime.
+ </p>
+ SRAM usage at run-time can be shown with the NSH <code>free</code> command:
+ <ul><pre>
+NuttShell (NSH) NuttX-6.27
+nsh> free
+ total used free largest
+Mem: 14096 3928 10168 10168
+nsh>
+</pre></ul>
+ <p>
+ You can see that 9.9KB (62%) of SRAM heap is staill available for further application development while NSH is running.
+ </p>
+ </td>
+</tr>
+
+<tr>
+ <td><br></td>
+ <td><hr></td>
+</tr>
+<tr>
+ <td><br></td>
+ <td>
+ <p>
<b>STMicro STM32F100x (STM32 F1 &quot;Value Line&quot;Family)</b>.
Chip support for these STM32 &quot;Value Line&quot; family was contributed by Mike Smith and users have reported that they have successful brought up NuttX on there proprietary boards using this logic.
This logic was extended to support the <i>high density</i> STM32F100RC chips by Freddie Chopin
diff --git a/nuttx/arch/arm/src/stm32/chip/stm32l15xxx_vectors.h b/nuttx/arch/arm/src/stm32/chip/stm32l15xxx_vectors.h
index 0ec03c071..632bb3373 100644
--- a/nuttx/arch/arm/src/stm32/chip/stm32l15xxx_vectors.h
+++ b/nuttx/arch/arm/src/stm32/chip/stm32l15xxx_vectors.h
@@ -54,58 +54,58 @@
* definition that provides the number of supported vectors.
*/
-# ifdef CONFIG_ARMV7M_CMNVECTOR
+#ifdef CONFIG_ARMV7M_CMNVECTOR
/* Reserve 61 interrupt table entries for I/O interrupts. */
-# define ARMV7M_PERIPHERAL_INTERRUPTS 45
+# define ARMV7M_PERIPHERAL_INTERRUPTS 45
#else
-# VECTOR(stm32_wwdg, STM32_IRQ_WWDG) /* 0: Window Watchdog interrupt */
-# VECTOR(stm32_pvd, STM32_IRQ_PVD) /* 1: PVD through EXTI Line detection interrupt */
-# VECTOR(stm32_tamper, STM32_IRQ_TAMPER) /* 2: Tamper through EXTI line interrupt */
-# VECTOR(stm32_rtc_wkup, STM32_IRQ_RTC_WKUP) /* 3: RTC Wakeup through EXTI line interrupt */
-# VECTOR(stm32_flash, STM32_IRQ_FLASH) /* 4: Flash global interrupt */
-# VECTOR(stm32_rcc, STM32_IRQ_RCC) /* 5: RCC global interrupt */
-# VECTOR(stm32_exti0, STM32_IRQ_EXTI0) /* 6: EXTI Line 0 interrupt */
-# VECTOR(stm32_exti1, STM32_IRQ_EXTI1) /* 7: EXTI Line 1 interrupt */
-# VECTOR(stm32_exti2, STM32_IRQ_EXTI2) /* 8: EXTI Line 2 interrupt */
-# VECTOR(stm32_exti3, STM32_IRQ_EXTI3) /* 9: EXTI Line 3 interrupt */
-# VECTOR(stm32_exti4, STM32_IRQ_EXTI4) /* 10: EXTI Line 4 interrupt */
-# VECTOR(stm32_dma1ch1, STM32_IRQ_DMA1CH1) /* 11: DMA1 channel 1 global interrupt */
-# VECTOR(stm32_dma1ch2, STM32_IRQ_DMA1CH2) /* 12: DMA1 channel 2 global interrupt */
-# VECTOR(stm32_dma1ch3, STM32_IRQ_DMA1CH3) /* 13: DMA1 channel 3 global interrupt */
-# VECTOR(stm32_dma1ch4, STM32_IRQ_DMA1CH4) /* 14: DMA1 channel 4 global interrupt */
-# VECTOR(stm32_dma1ch5, STM32_IRQ_DMA1CH5) /* 15: DMA1 channel 5 global interrupt */
-# VECTOR(stm32_dma1ch6, STM32_IRQ_DMA1CH6) /* 16: DMA1 channel 6 global interrupt */
-# VECTOR(stm32_dma1ch7, STM32_IRQ_DMA1CH7) /* 17: DMA1 channel 7 global interrupt */
-# VECTOR(stm32_adc1, STM32_IRQ_ADC1) /* 18: ADC1 global interrupt */
-# VECTOR(stm32_usbhp, STM32_IRQ_USBHP) /* 19: USB High Priority interrupts */
-# VECTOR(stm32_usblp, STM32_IRQ_USBLP) /* 20: USB Low Priority interrupt */
-# VECTOR(stm32_dac, STM32_IRQ_DAC) /* 21: DAC interrupt */
-# VECTOR(stm32_comp, STM32_IRQ_COMP) /* 22: Comparator wakeup through EXTI interrupt */
-# VECTOR(stm32_exti95, STM32_IRQ_EXTI95) /* 23: EXTI Line[9:5] interrupts */
-# VECTOR(stm32_ldc, STM32_IRQ_LDC) /* 24: LCD global interrupt */
-# VECTOR(stm32_tim9, STM32_IRQ_TIM9) /* 25: TIM9 global interrupt */
-# VECTOR(stm32_tim10, STM32_IRQ_TIM10) /* 26: TIM10 global interrupt */
-# VECTOR(stm32_tim11, STM32_IRQ_TIM11) /* 27: TIM11 global interrupt */
-# VECTOR(stm32_tim2, STM32_IRQ_TIM2) /* 28: TIM2 global interrupt */
-# VECTOR(stm32_tim3, STM32_IRQ_TIM3) /* 29: TIM3 global interrupt */
-# VECTOR(stm32_tim4, STM32_IRQ_TIM4) /* 30: TIM4 global interrupt */
-# VECTOR(stm32_i2c1ev, STM32_IRQ_I2C1EV) /* 31: I2C1 event interrupt */
-# VECTOR(stm32_i2c1er, STM32_IRQ_I2C1ER) /* 32: I2C1 error interrupt */
-# VECTOR(stm32_i2c2ev, STM32_IRQ_I2C2EV) /* 33: I2C2 event interrupt */
-# VECTOR(stm32_i2c2er, STM32_IRQ_I2C2ER) /* 34: I2C2 error interrupt */
-# VECTOR(stm32_spi1, STM32_IRQ_SPI1) /* 35: SPI1 global interrupt */
-# VECTOR(stm32_spi2, STM32_IRQ_SPI2) /* 36: SPI2 global interrupt */
-# VECTOR(stm32_usart1, STM32_IRQ_USART1) /* 37: USART1 global interrupt */
-# VECTOR(stm32_usart2, STM32_IRQ_USART2) /* 38: USART2 global interrupt */
-# VECTOR(stm32_usart3, STM32_IRQ_USART3) /* 39: USART3 global interrupt */
-# VECTOR(stm32_exti1510, STM32_IRQ_EXTI1510) /* 40: EXTI Line[15:10] interrupts */
-# VECTOR(stm32_rtcalrm, STM32_IRQ_RTCALRM) /* 41: RTC alarm through EXTI line interrupt */
-# VECTOR(stm32_usbwkup, STM32_IRQ_USBWKUP) /* 42: USB wakeup from suspend through EXTI line interrupt */
-# VECTOR(stm32_tim6, STM32_IRQ_TIM6) /* 43: TIM6 global interrupt */
-# VECTOR(stm32_TIM7, STM32_IRQ_TIM7) /* 44: TIM7 global interrupt */
+ VECTOR(stm32_wwdg, STM32_IRQ_WWDG) /* 0: Window Watchdog interrupt */
+ VECTOR(stm32_pvd, STM32_IRQ_PVD) /* 1: PVD through EXTI Line detection interrupt */
+ VECTOR(stm32_tamper, STM32_IRQ_TAMPER) /* 2: Tamper through EXTI line interrupt */
+ VECTOR(stm32_rtc_wkup, STM32_IRQ_RTC_WKUP) /* 3: RTC Wakeup through EXTI line interrupt */
+ VECTOR(stm32_flash, STM32_IRQ_FLASH) /* 4: Flash global interrupt */
+ VECTOR(stm32_rcc, STM32_IRQ_RCC) /* 5: RCC global interrupt */
+ VECTOR(stm32_exti0, STM32_IRQ_EXTI0) /* 6: EXTI Line 0 interrupt */
+ VECTOR(stm32_exti1, STM32_IRQ_EXTI1) /* 7: EXTI Line 1 interrupt */
+ VECTOR(stm32_exti2, STM32_IRQ_EXTI2) /* 8: EXTI Line 2 interrupt */
+ VECTOR(stm32_exti3, STM32_IRQ_EXTI3) /* 9: EXTI Line 3 interrupt */
+ VECTOR(stm32_exti4, STM32_IRQ_EXTI4) /* 10: EXTI Line 4 interrupt */
+ VECTOR(stm32_dma1ch1, STM32_IRQ_DMA1CH1) /* 11: DMA1 channel 1 global interrupt */
+ VECTOR(stm32_dma1ch2, STM32_IRQ_DMA1CH2) /* 12: DMA1 channel 2 global interrupt */
+ VECTOR(stm32_dma1ch3, STM32_IRQ_DMA1CH3) /* 13: DMA1 channel 3 global interrupt */
+ VECTOR(stm32_dma1ch4, STM32_IRQ_DMA1CH4) /* 14: DMA1 channel 4 global interrupt */
+ VECTOR(stm32_dma1ch5, STM32_IRQ_DMA1CH5) /* 15: DMA1 channel 5 global interrupt */
+ VECTOR(stm32_dma1ch6, STM32_IRQ_DMA1CH6) /* 16: DMA1 channel 6 global interrupt */
+ VECTOR(stm32_dma1ch7, STM32_IRQ_DMA1CH7) /* 17: DMA1 channel 7 global interrupt */
+ VECTOR(stm32_adc1, STM32_IRQ_ADC1) /* 18: ADC1 global interrupt */
+ VECTOR(stm32_usbhp, STM32_IRQ_USBHP) /* 19: USB High Priority interrupts */
+ VECTOR(stm32_usblp, STM32_IRQ_USBLP) /* 20: USB Low Priority interrupt */
+ VECTOR(stm32_dac, STM32_IRQ_DAC) /* 21: DAC interrupt */
+ VECTOR(stm32_comp, STM32_IRQ_COMP) /* 22: Comparator wakeup through EXTI interrupt */
+ VECTOR(stm32_exti95, STM32_IRQ_EXTI95) /* 23: EXTI Line[9:5] interrupts */
+ VECTOR(stm32_ldc, STM32_IRQ_LDC) /* 24: LCD global interrupt */
+ VECTOR(stm32_tim9, STM32_IRQ_TIM9) /* 25: TIM9 global interrupt */
+ VECTOR(stm32_tim10, STM32_IRQ_TIM10) /* 26: TIM10 global interrupt */
+ VECTOR(stm32_tim11, STM32_IRQ_TIM11) /* 27: TIM11 global interrupt */
+ VECTOR(stm32_tim2, STM32_IRQ_TIM2) /* 28: TIM2 global interrupt */
+ VECTOR(stm32_tim3, STM32_IRQ_TIM3) /* 29: TIM3 global interrupt */
+ VECTOR(stm32_tim4, STM32_IRQ_TIM4) /* 30: TIM4 global interrupt */
+ VECTOR(stm32_i2c1ev, STM32_IRQ_I2C1EV) /* 31: I2C1 event interrupt */
+ VECTOR(stm32_i2c1er, STM32_IRQ_I2C1ER) /* 32: I2C1 error interrupt */
+ VECTOR(stm32_i2c2ev, STM32_IRQ_I2C2EV) /* 33: I2C2 event interrupt */
+ VECTOR(stm32_i2c2er, STM32_IRQ_I2C2ER) /* 34: I2C2 error interrupt */
+ VECTOR(stm32_spi1, STM32_IRQ_SPI1) /* 35: SPI1 global interrupt */
+ VECTOR(stm32_spi2, STM32_IRQ_SPI2) /* 36: SPI2 global interrupt */
+ VECTOR(stm32_usart1, STM32_IRQ_USART1) /* 37: USART1 global interrupt */
+ VECTOR(stm32_usart2, STM32_IRQ_USART2) /* 38: USART2 global interrupt */
+ VECTOR(stm32_usart3, STM32_IRQ_USART3) /* 39: USART3 global interrupt */
+ VECTOR(stm32_exti1510, STM32_IRQ_EXTI1510) /* 40: EXTI Line[15:10] interrupts */
+ VECTOR(stm32_rtcalrm, STM32_IRQ_RTCALRM) /* 41: RTC alarm through EXTI line interrupt */
+ VECTOR(stm32_usbwkup, STM32_IRQ_USBWKUP) /* 42: USB wakeup from suspend through EXTI line interrupt */
+ VECTOR(stm32_tim6, STM32_IRQ_TIM6) /* 43: TIM6 global interrupt */
+ VECTOR(stm32_TIM7, STM32_IRQ_TIM7) /* 44: TIM7 global interrupt */
#endif
/* Vectors for medium+ density devices */
@@ -116,67 +116,67 @@
* definition that provides the number of supported vectors.
*/
-# ifdef CONFIG_ARMV7M_CMNVECTOR
+#ifdef CONFIG_ARMV7M_CMNVECTOR
/* Reserve 61 interrupt table entries for I/O interrupts. */
-# define ARMV7M_PERIPHERAL_INTERRUPTS 54
+# define ARMV7M_PERIPHERAL_INTERRUPTS 54
#else
-# VECTOR(stm32_wwdg, STM32_IRQ_WWDG) /* 0: Window Watchdog interrupt */
-# VECTOR(stm32_pvd, STM32_IRQ_PVD) /* 1: PVD through EXTI Line detection interrupt */
-# VECTOR(stm32_tamper, STM32_IRQ_TAMPER) /* 2: Tamper through EXTI line interrupt */
-# VECTOR(stm32_rtc_wkup, STM32_IRQ_RTC_WKUP) /* 3: RTC Wakeup through EXTI line interrupt */
-# VECTOR(stm32_flash, STM32_IRQ_FLASH) /* 4: Flash global interrupt */
-# VECTOR(stm32_rcc, STM32_IRQ_RCC) /* 5: RCC global interrupt */
-# VECTOR(stm32_exti0, STM32_IRQ_EXTI0) /* 6: EXTI Line 0 interrupt */
-# VECTOR(stm32_exti1, STM32_IRQ_EXTI1) /* 7: EXTI Line 1 interrupt */
-# VECTOR(stm32_exti2, STM32_IRQ_EXTI2) /* 8: EXTI Line 2 interrupt */
-# VECTOR(stm32_exti3, STM32_IRQ_EXTI3) /* 9: EXTI Line 3 interrupt */
-# VECTOR(stm32_exti4, STM32_IRQ_EXTI4) /* 10: EXTI Line 4 interrupt */
-# VECTOR(stm32_dma1ch1, STM32_IRQ_DMA1CH1) /* 11: DMA1 channel 1 global interrupt */
-# VECTOR(stm32_dma1ch2, STM32_IRQ_DMA1CH2) /* 12: DMA1 channel 2 global interrupt */
-# VECTOR(stm32_dma1ch3, STM32_IRQ_DMA1CH3) /* 13: DMA1 channel 3 global interrupt */
-# VECTOR(stm32_dma1ch4, STM32_IRQ_DMA1CH4) /* 14: DMA1 channel 4 global interrupt */
-# VECTOR(stm32_dma1ch5, STM32_IRQ_DMA1CH5) /* 15: DMA1 channel 5 global interrupt */
-# VECTOR(stm32_dma1ch6, STM32_IRQ_DMA1CH6) /* 16: DMA1 channel 6 global interrupt */
-# VECTOR(stm32_dma1ch7, STM32_IRQ_DMA1CH7) /* 17: DMA1 channel 7 global interrupt */
-# VECTOR(stm32_adc1, STM32_IRQ_ADC1) /* 18: ADC1 global interrupt */
-# VECTOR(stm32_usbhp, STM32_IRQ_USBHP) /* 19: USB High Priority interrupts */
-# VECTOR(stm32_usblp, STM32_IRQ_USBLP) /* 20: USB Low Priority interrupt */
-# VECTOR(stm32_dac, STM32_IRQ_DAC) /* 21: DAC interrupt */
-# VECTOR(stm32_comp, STM32_IRQ_COMP) /* 22: Comparator wakeup through EXTI interrupt */
-# VECTOR(stm32_exti95, STM32_IRQ_EXTI95) /* 23: EXTI Line[9:5] interrupts */
-# VECTOR(stm32_ldc, STM32_IRQ_LDC) /* 24: LCD global interrupt */
-# VECTOR(stm32_tim9, STM32_IRQ_TIM9) /* 25: TIM9 global interrupt */
-# VECTOR(stm32_tim10, STM32_IRQ_TIM10) /* 26: TIM10 global interrupt */
-# VECTOR(stm32_tim11, STM32_IRQ_TIM11) /* 27: TIM11 global interrupt */
-# VECTOR(stm32_tim2, STM32_IRQ_TIM2) /* 28: TIM2 global interrupt */
-# VECTOR(stm32_tim3, STM32_IRQ_TIM3) /* 29: TIM3 global interrupt */
-# VECTOR(stm32_tim4, STM32_IRQ_TIM4) /* 30: TIM4 global interrupt */
-# VECTOR(stm32_i2c1ev, STM32_IRQ_I2C1EV) /* 31: I2C1 event interrupt */
-# VECTOR(stm32_i2c1er, STM32_IRQ_I2C1ER) /* 32: I2C1 error interrupt */
-# VECTOR(stm32_i2c2ev, STM32_IRQ_I2C2EV) /* 33: I2C2 event interrupt */
-# VECTOR(stm32_i2c2er, STM32_IRQ_I2C2ER) /* 34: I2C2 error interrupt */
-# VECTOR(stm32_spi1, STM32_IRQ_SPI1) /* 35: SPI1 global interrupt */
-# VECTOR(stm32_spi2, STM32_IRQ_SPI2) /* 36: SPI2 global interrupt */
-# VECTOR(stm32_usart1, STM32_IRQ_USART1) /* 37: USART1 global interrupt */
-# VECTOR(stm32_usart2, STM32_IRQ_USART2) /* 38: USART2 global interrupt */
-# VECTOR(stm32_usart3, STM32_IRQ_USART3) /* 39: USART3 global interrupt */
-# VECTOR(stm32_exti1510, STM32_IRQ_EXTI1510) /* 40: EXTI Line[15:10] interrupts */
-# VECTOR(stm32_rtcalrm, STM32_IRQ_RTCALRM) /* 41: RTC alarm through EXTI line interrupt */
-# VECTOR(stm32_usbwkup, STM32_IRQ_USBWKUP) /* 42: USB wakeup from suspend through EXTI line interrupt */
-# VECTOR(stm32_tim6, STM32_IRQ_TIM6) /* 43: TIM6 global interrupt */
-# VECTOR(stm32_tim7, STM32_IRQ_TIM7) /* 44: TIM7 global interrupt */
-# VECTOR(stm32_tim5, STM32_IRQ_TIM5) /* 45: TIM5 global interrupt */
-# VECTOR(stm32_spi3, STM32_IRQ_SPI3) /* 46: SPI3 global interrupt */
-# VECTOR(stm32_dma2ch1, STM32_IRQ_DMA2CH1) /* 47: DMA2 channel 1 global interrupt */
-# VECTOR(stm32_dma2ch2, STM32_IRQ_DMA2CH2) /* 48: DMA2 channel 2 global interrupt */
-# VECTOR(stm32_dma2ch3, STM32_IRQ_DMA2CH3) /* 49: DMA2 channel 3 global interrupt */
-# VECTOR(stm32_dma2ch4, STM32_IRQ_DMA2CH4) /* 50: DMA2 channel 4 global interrupt */
-# VECTOR(stm32_dma2ch5, STM32_IRQ_DMA2CH5) /* 51: DMA2 channel 5 global interrupt */
-# VECTOR(stm32_aes, STM32_IRQ_AES) /* 52: AES global interrupt */
-# VECTOR(stm32_compacq, STM32_IRQ_COMPACQ) /* 53: Comparator Channel Acquisition Interrupt */
+ VECTOR(stm32_wwdg, STM32_IRQ_WWDG) /* 0: Window Watchdog interrupt */
+ VECTOR(stm32_pvd, STM32_IRQ_PVD) /* 1: PVD through EXTI Line detection interrupt */
+ VECTOR(stm32_tamper, STM32_IRQ_TAMPER) /* 2: Tamper through EXTI line interrupt */
+ VECTOR(stm32_rtc_wkup, STM32_IRQ_RTC_WKUP) /* 3: RTC Wakeup through EXTI line interrupt */
+ VECTOR(stm32_flash, STM32_IRQ_FLASH) /* 4: Flash global interrupt */
+ VECTOR(stm32_rcc, STM32_IRQ_RCC) /* 5: RCC global interrupt */
+ VECTOR(stm32_exti0, STM32_IRQ_EXTI0) /* 6: EXTI Line 0 interrupt */
+ VECTOR(stm32_exti1, STM32_IRQ_EXTI1) /* 7: EXTI Line 1 interrupt */
+ VECTOR(stm32_exti2, STM32_IRQ_EXTI2) /* 8: EXTI Line 2 interrupt */
+ VECTOR(stm32_exti3, STM32_IRQ_EXTI3) /* 9: EXTI Line 3 interrupt */
+ VECTOR(stm32_exti4, STM32_IRQ_EXTI4) /* 10: EXTI Line 4 interrupt */
+ VECTOR(stm32_dma1ch1, STM32_IRQ_DMA1CH1) /* 11: DMA1 channel 1 global interrupt */
+ VECTOR(stm32_dma1ch2, STM32_IRQ_DMA1CH2) /* 12: DMA1 channel 2 global interrupt */
+ VECTOR(stm32_dma1ch3, STM32_IRQ_DMA1CH3) /* 13: DMA1 channel 3 global interrupt */
+ VECTOR(stm32_dma1ch4, STM32_IRQ_DMA1CH4) /* 14: DMA1 channel 4 global interrupt */
+ VECTOR(stm32_dma1ch5, STM32_IRQ_DMA1CH5) /* 15: DMA1 channel 5 global interrupt */
+ VECTOR(stm32_dma1ch6, STM32_IRQ_DMA1CH6) /* 16: DMA1 channel 6 global interrupt */
+ VECTOR(stm32_dma1ch7, STM32_IRQ_DMA1CH7) /* 17: DMA1 channel 7 global interrupt */
+ VECTOR(stm32_adc1, STM32_IRQ_ADC1) /* 18: ADC1 global interrupt */
+ VECTOR(stm32_usbhp, STM32_IRQ_USBHP) /* 19: USB High Priority interrupts */
+ VECTOR(stm32_usblp, STM32_IRQ_USBLP) /* 20: USB Low Priority interrupt */
+ VECTOR(stm32_dac, STM32_IRQ_DAC) /* 21: DAC interrupt */
+ VECTOR(stm32_comp, STM32_IRQ_COMP) /* 22: Comparator wakeup through EXTI interrupt */
+ VECTOR(stm32_exti95, STM32_IRQ_EXTI95) /* 23: EXTI Line[9:5] interrupts */
+ VECTOR(stm32_ldc, STM32_IRQ_LDC) /* 24: LCD global interrupt */
+ VECTOR(stm32_tim9, STM32_IRQ_TIM9) /* 25: TIM9 global interrupt */
+ VECTOR(stm32_tim10, STM32_IRQ_TIM10) /* 26: TIM10 global interrupt */
+ VECTOR(stm32_tim11, STM32_IRQ_TIM11) /* 27: TIM11 global interrupt */
+ VECTOR(stm32_tim2, STM32_IRQ_TIM2) /* 28: TIM2 global interrupt */
+ VECTOR(stm32_tim3, STM32_IRQ_TIM3) /* 29: TIM3 global interrupt */
+ VECTOR(stm32_tim4, STM32_IRQ_TIM4) /* 30: TIM4 global interrupt */
+ VECTOR(stm32_i2c1ev, STM32_IRQ_I2C1EV) /* 31: I2C1 event interrupt */
+ VECTOR(stm32_i2c1er, STM32_IRQ_I2C1ER) /* 32: I2C1 error interrupt */
+ VECTOR(stm32_i2c2ev, STM32_IRQ_I2C2EV) /* 33: I2C2 event interrupt */
+ VECTOR(stm32_i2c2er, STM32_IRQ_I2C2ER) /* 34: I2C2 error interrupt */
+ VECTOR(stm32_spi1, STM32_IRQ_SPI1) /* 35: SPI1 global interrupt */
+ VECTOR(stm32_spi2, STM32_IRQ_SPI2) /* 36: SPI2 global interrupt */
+ VECTOR(stm32_usart1, STM32_IRQ_USART1) /* 37: USART1 global interrupt */
+ VECTOR(stm32_usart2, STM32_IRQ_USART2) /* 38: USART2 global interrupt */
+ VECTOR(stm32_usart3, STM32_IRQ_USART3) /* 39: USART3 global interrupt */
+ VECTOR(stm32_exti1510, STM32_IRQ_EXTI1510) /* 40: EXTI Line[15:10] interrupts */
+ VECTOR(stm32_rtcalrm, STM32_IRQ_RTCALRM) /* 41: RTC alarm through EXTI line interrupt */
+ VECTOR(stm32_usbwkup, STM32_IRQ_USBWKUP) /* 42: USB wakeup from suspend through EXTI line interrupt */
+ VECTOR(stm32_tim6, STM32_IRQ_TIM6) /* 43: TIM6 global interrupt */
+ VECTOR(stm32_tim7, STM32_IRQ_TIM7) /* 44: TIM7 global interrupt */
+ VECTOR(stm32_tim5, STM32_IRQ_TIM5) /* 45: TIM5 global interrupt */
+ VECTOR(stm32_spi3, STM32_IRQ_SPI3) /* 46: SPI3 global interrupt */
+ VECTOR(stm32_dma2ch1, STM32_IRQ_DMA2CH1) /* 47: DMA2 channel 1 global interrupt */
+ VECTOR(stm32_dma2ch2, STM32_IRQ_DMA2CH2) /* 48: DMA2 channel 2 global interrupt */
+ VECTOR(stm32_dma2ch3, STM32_IRQ_DMA2CH3) /* 49: DMA2 channel 3 global interrupt */
+ VECTOR(stm32_dma2ch4, STM32_IRQ_DMA2CH4) /* 50: DMA2 channel 4 global interrupt */
+ VECTOR(stm32_dma2ch5, STM32_IRQ_DMA2CH5) /* 51: DMA2 channel 5 global interrupt */
+ VECTOR(stm32_aes, STM32_IRQ_AES) /* 52: AES global interrupt */
+ VECTOR(stm32_compacq, STM32_IRQ_COMPACQ) /* 53: Comparator Channel Acquisition Interrupt */
#endif
/* Vectors for high density devices */
@@ -187,70 +187,70 @@
* definition that provides the number of supported vectors.
*/
-# ifdef CONFIG_ARMV7M_CMNVECTOR
+#ifdef CONFIG_ARMV7M_CMNVECTOR
/* Reserve 61 interrupt table entries for I/O interrupts. */
-# define ARMV7M_PERIPHERAL_INTERRUPTS 57
+# define ARMV7M_PERIPHERAL_INTERRUPTS 57
#else
-# VECTOR(stm32_wwdg, STM32_IRQ_WWDG) /* 0: Window Watchdog interrupt */
-# VECTOR(stm32_pvd, STM32_IRQ_PVD) /* 1: PVD through EXTI Line detection interrupt */
-# VECTOR(stm32_tamper, STM32_IRQ_TAMPER) /* 2: Tamper through EXTI line interrupt */
-# VECTOR(stm32_rtc_wkup, STM32_IRQ_RTC_WKUP) /* 3: RTC Wakeup through EXTI line interrupt */
-# VECTOR(stm32_flash, STM32_IRQ_FLASH) /* 4: Flash global interrupt */
-# VECTOR(stm32_rcc, STM32_IRQ_RCC) /* 5: RCC global interrupt */
-# VECTOR(stm32_exti0, STM32_IRQ_EXTI0) /* 6: EXTI Line 0 interrupt */
-# VECTOR(stm32_exti1, STM32_IRQ_EXTI1) /* 7: EXTI Line 1 interrupt */
-# VECTOR(stm32_exti2, STM32_IRQ_EXTI2) /* 8: EXTI Line 2 interrupt */
-# VECTOR(stm32_exti3, STM32_IRQ_EXTI3) /* 9: EXTI Line 3 interrupt */
-# VECTOR(stm32_exti4, STM32_IRQ_EXTI4) /* 10: EXTI Line 4 interrupt */
-# VECTOR(stm32_dma1ch1, STM32_IRQ_DMA1CH1) /* 11: DMA1 channel 1 global interrupt */
-# VECTOR(stm32_dma1ch2, STM32_IRQ_DMA1CH2) /* 12: DMA1 channel 2 global interrupt */
-# VECTOR(stm32_dma1ch3, STM32_IRQ_DMA1CH3) /* 13: DMA1 channel 3 global interrupt */
-# VECTOR(stm32_dma1ch4, STM32_IRQ_DMA1CH4) /* 14: DMA1 channel 4 global interrupt */
-# VECTOR(stm32_dma1ch5, STM32_IRQ_DMA1CH5) /* 15: DMA1 channel 5 global interrupt */
-# VECTOR(stm32_dma1ch6, STM32_IRQ_DMA1CH6) /* 16: DMA1 channel 6 global interrupt */
-# VECTOR(stm32_dma1ch7, STM32_IRQ_DMA1CH7) /* 17: DMA1 channel 7 global interrupt */
-# VECTOR(stm32_adc1, STM32_IRQ_ADC1) /* 18: ADC1 global interrupt */
-# VECTOR(stm32_usbhp, STM32_IRQ_USBHP) /* 19: USB High Priority interrupts */
-# VECTOR(stm32_usblp, STM32_IRQ_USBLP) /* 20: USB Low Priority interrupt */
-# VECTOR(stm32_dac, STM32_IRQ_DAC) /* 21: DAC interrupt */
-# VECTOR(stm32_comp, STM32_IRQ_COMP) /* 22: Comparator wakeup through EXTI interrupt */
-# VECTOR(stm32_exti95, STM32_IRQ_EXTI95) /* 23: EXTI Line[9:5] interrupts */
-# VECTOR(stm32_ldc, STM32_IRQ_LDC) /* 24: LCD global interrupt */
-# VECTOR(stm32_tim9, STM32_IRQ_TIM9) /* 25: TIM9 global interrupt */
-# VECTOR(stm32_tim10, STM32_IRQ_TIM10) /* 26: TIM10 global interrupt */
-# VECTOR(stm32_tim11, STM32_IRQ_TIM11) /* 27: TIM11 global interrupt */
-# VECTOR(stm32_tim2, STM32_IRQ_TIM2) /* 28: TIM2 global interrupt */
-# VECTOR(stm32_tim3, STM32_IRQ_TIM3) /* 29: TIM3 global interrupt */
-# VECTOR(stm32_tim4, STM32_IRQ_TIM4) /* 30: TIM4 global interrupt */
-# VECTOR(stm32_i2c1ev, STM32_IRQ_I2C1EV) /* 31: I2C1 event interrupt */
-# VECTOR(stm32_i2c1er, STM32_IRQ_I2C1ER) /* 32: I2C1 error interrupt */
-# VECTOR(stm32_i2c2ev, STM32_IRQ_I2C2EV) /* 33: I2C2 event interrupt */
-# VECTOR(stm32_i2c2er, STM32_IRQ_I2C2ER) /* 34: I2C2 error interrupt */
-# VECTOR(stm32_spi1, STM32_IRQ_SPI1) /* 35: SPI1 global interrupt */
-# VECTOR(stm32_spi2, STM32_IRQ_SPI2) /* 36: SPI2 global interrupt */
-# VECTOR(stm32_usart1, STM32_IRQ_USART1) /* 37: USART1 global interrupt */
-# VECTOR(stm32_usart2, STM32_IRQ_USART2) /* 38: USART2 global interrupt */
-# VECTOR(stm32_usart3, STM32_IRQ_USART3) /* 39: USART3 global interrupt */
-# VECTOR(stm32_exti1510, STM32_IRQ_EXTI1510) /* 40: EXTI Line[15:10] interrupts */
-# VECTOR(stm32_rtcalrm, STM32_IRQ_RTCALRM) /* 41: RTC alarm through EXTI line interrupt */
-# VECTOR(stm32_usbwkup, STM32_IRQ_USBWKUP) /* 42: USB wakeup from suspend through EXTI line interrupt */
-# VECTOR(stm32_tim6, STM32_IRQ_TIM6) /* 43: TIM6 global interrupt */
-# VECTOR(stm32_tim7, STM32_IRQ_TIM7) /* 44: TIM7 global interrupt */
-# VECTOR(stm32_sdio, STM32_IRQ_SDIO) /* 45: SDIO Global interrupt */
-# VECTOR(stm32_tim5, STM32_IRQ_TIM5) /* 46: TIM5 global interrupt */
-# VECTOR(stm32_spi3, STM32_IRQ_SPI3) /* 47: SPI3 global interrupt */
-# VECTOR(stm32_usart4, STM32_IRQ_USART4) /* 48: USART4 global interrupt */
-# VECTOR(stm32_usart5, STM32_IRQ_USART5) /* 49: USART5 global interrupt */
-# VECTOR(stm32_dma2ch1, STM32_IRQ_DMA2CH1) /* 50: DMA2 channel 1 global interrupt */
-# VECTOR(stm32_dma2ch2, STM32_IRQ_DMA2CH2) /* 51: DMA2 channel 2 global interrupt */
-# VECTOR(stm32_dma2ch3, STM32_IRQ_DMA2CH3) /* 52: DMA2 channel 3 global interrupt */
-# VECTOR(stm32_dma2ch4, STM32_IRQ_DMA2CH4) /* 53: DMA2 channel 4 global interrupt */
-# VECTOR(stm32_dma2ch5, STM32_IRQ_DMA2CH5) /* 54: DMA2 channel 5 global interrupt */
-# VECTOR(stm32_aes, STM32_IRQ_AES) /* 55: AES global interrupt */
-# VECTOR(stm32_compacq, STM32_IRQ_COMPACQ) /* 56: Comparator Channel Acquisition Interrupt */
+ VECTOR(stm32_wwdg, STM32_IRQ_WWDG) /* 0: Window Watchdog interrupt */
+ VECTOR(stm32_pvd, STM32_IRQ_PVD) /* 1: PVD through EXTI Line detection interrupt */
+ VECTOR(stm32_tamper, STM32_IRQ_TAMPER) /* 2: Tamper through EXTI line interrupt */
+ VECTOR(stm32_rtc_wkup, STM32_IRQ_RTC_WKUP) /* 3: RTC Wakeup through EXTI line interrupt */
+ VECTOR(stm32_flash, STM32_IRQ_FLASH) /* 4: Flash global interrupt */
+ VECTOR(stm32_rcc, STM32_IRQ_RCC) /* 5: RCC global interrupt */
+ VECTOR(stm32_exti0, STM32_IRQ_EXTI0) /* 6: EXTI Line 0 interrupt */
+ VECTOR(stm32_exti1, STM32_IRQ_EXTI1) /* 7: EXTI Line 1 interrupt */
+ VECTOR(stm32_exti2, STM32_IRQ_EXTI2) /* 8: EXTI Line 2 interrupt */
+ VECTOR(stm32_exti3, STM32_IRQ_EXTI3) /* 9: EXTI Line 3 interrupt */
+ VECTOR(stm32_exti4, STM32_IRQ_EXTI4) /* 10: EXTI Line 4 interrupt */
+ VECTOR(stm32_dma1ch1, STM32_IRQ_DMA1CH1) /* 11: DMA1 channel 1 global interrupt */
+ VECTOR(stm32_dma1ch2, STM32_IRQ_DMA1CH2) /* 12: DMA1 channel 2 global interrupt */
+ VECTOR(stm32_dma1ch3, STM32_IRQ_DMA1CH3) /* 13: DMA1 channel 3 global interrupt */
+ VECTOR(stm32_dma1ch4, STM32_IRQ_DMA1CH4) /* 14: DMA1 channel 4 global interrupt */
+ VECTOR(stm32_dma1ch5, STM32_IRQ_DMA1CH5) /* 15: DMA1 channel 5 global interrupt */
+ VECTOR(stm32_dma1ch6, STM32_IRQ_DMA1CH6) /* 16: DMA1 channel 6 global interrupt */
+ VECTOR(stm32_dma1ch7, STM32_IRQ_DMA1CH7) /* 17: DMA1 channel 7 global interrupt */
+ VECTOR(stm32_adc1, STM32_IRQ_ADC1) /* 18: ADC1 global interrupt */
+ VECTOR(stm32_usbhp, STM32_IRQ_USBHP) /* 19: USB High Priority interrupts */
+ VECTOR(stm32_usblp, STM32_IRQ_USBLP) /* 20: USB Low Priority interrupt */
+ VECTOR(stm32_dac, STM32_IRQ_DAC) /* 21: DAC interrupt */
+ VECTOR(stm32_comp, STM32_IRQ_COMP) /* 22: Comparator wakeup through EXTI interrupt */
+ VECTOR(stm32_exti95, STM32_IRQ_EXTI95) /* 23: EXTI Line[9:5] interrupts */
+ VECTOR(stm32_ldc, STM32_IRQ_LDC) /* 24: LCD global interrupt */
+ VECTOR(stm32_tim9, STM32_IRQ_TIM9) /* 25: TIM9 global interrupt */
+ VECTOR(stm32_tim10, STM32_IRQ_TIM10) /* 26: TIM10 global interrupt */
+ VECTOR(stm32_tim11, STM32_IRQ_TIM11) /* 27: TIM11 global interrupt */
+ VECTOR(stm32_tim2, STM32_IRQ_TIM2) /* 28: TIM2 global interrupt */
+ VECTOR(stm32_tim3, STM32_IRQ_TIM3) /* 29: TIM3 global interrupt */
+ VECTOR(stm32_tim4, STM32_IRQ_TIM4) /* 30: TIM4 global interrupt */
+ VECTOR(stm32_i2c1ev, STM32_IRQ_I2C1EV) /* 31: I2C1 event interrupt */
+ VECTOR(stm32_i2c1er, STM32_IRQ_I2C1ER) /* 32: I2C1 error interrupt */
+ VECTOR(stm32_i2c2ev, STM32_IRQ_I2C2EV) /* 33: I2C2 event interrupt */
+ VECTOR(stm32_i2c2er, STM32_IRQ_I2C2ER) /* 34: I2C2 error interrupt */
+ VECTOR(stm32_spi1, STM32_IRQ_SPI1) /* 35: SPI1 global interrupt */
+ VECTOR(stm32_spi2, STM32_IRQ_SPI2) /* 36: SPI2 global interrupt */
+ VECTOR(stm32_usart1, STM32_IRQ_USART1) /* 37: USART1 global interrupt */
+ VECTOR(stm32_usart2, STM32_IRQ_USART2) /* 38: USART2 global interrupt */
+ VECTOR(stm32_usart3, STM32_IRQ_USART3) /* 39: USART3 global interrupt */
+ VECTOR(stm32_exti1510, STM32_IRQ_EXTI1510) /* 40: EXTI Line[15:10] interrupts */
+ VECTOR(stm32_rtcalrm, STM32_IRQ_RTCALRM) /* 41: RTC alarm through EXTI line interrupt */
+ VECTOR(stm32_usbwkup, STM32_IRQ_USBWKUP) /* 42: USB wakeup from suspend through EXTI line interrupt */
+ VECTOR(stm32_tim6, STM32_IRQ_TIM6) /* 43: TIM6 global interrupt */
+ VECTOR(stm32_tim7, STM32_IRQ_TIM7) /* 44: TIM7 global interrupt */
+ VECTOR(stm32_sdio, STM32_IRQ_SDIO) /* 45: SDIO Global interrupt */
+ VECTOR(stm32_tim5, STM32_IRQ_TIM5) /* 46: TIM5 global interrupt */
+ VECTOR(stm32_spi3, STM32_IRQ_SPI3) /* 47: SPI3 global interrupt */
+ VECTOR(stm32_usart4, STM32_IRQ_USART4) /* 48: USART4 global interrupt */
+ VECTOR(stm32_usart5, STM32_IRQ_USART5) /* 49: USART5 global interrupt */
+ VECTOR(stm32_dma2ch1, STM32_IRQ_DMA2CH1) /* 50: DMA2 channel 1 global interrupt */
+ VECTOR(stm32_dma2ch2, STM32_IRQ_DMA2CH2) /* 51: DMA2 channel 2 global interrupt */
+ VECTOR(stm32_dma2ch3, STM32_IRQ_DMA2CH3) /* 52: DMA2 channel 3 global interrupt */
+ VECTOR(stm32_dma2ch4, STM32_IRQ_DMA2CH4) /* 53: DMA2 channel 4 global interrupt */
+ VECTOR(stm32_dma2ch5, STM32_IRQ_DMA2CH5) /* 54: DMA2 channel 5 global interrupt */
+ VECTOR(stm32_aes, STM32_IRQ_AES) /* 55: AES global interrupt */
+ VECTOR(stm32_compacq, STM32_IRQ_COMPACQ) /* 56: Comparator Channel Acquisition Interrupt */
#endif
#else
diff --git a/nuttx/arch/arm/src/stm32/stm32_vectors.S b/nuttx/arch/arm/src/stm32/stm32_vectors.S
index 85d110be2..37c53e8d5 100644
--- a/nuttx/arch/arm/src/stm32/stm32_vectors.S
+++ b/nuttx/arch/arm/src/stm32/stm32_vectors.S
@@ -139,15 +139,15 @@ stm32_vectors:
#define UNUSED(i) .word stm32_reserved
#if defined(CONFIG_STM32_STM32L15XX)
-# include "chip/chip/stm32l15xxx_vectors.h"
+# include "chip/stm32l15xxx_vectors.h"
#elif defined(CONFIG_STM32_STM32F10XX)
-# include "chip/chip/stm32f10xxx_vectors.h"
+# include "chip/stm32f10xxx_vectors.h"
#elif defined(CONFIG_STM32_STM32F20XX)
-# include "chip/chip/stm32f20xxx_vectors.h"
+# include "chip/stm32f20xxx_vectors.h"
#elif defined(CONFIG_STM32_STM32F30XX)
-# include "chip/chip/stm32f30xxx_vectors.h"
+# include "chip/stm32f30xxx_vectors.h"
#elif defined(CONFIG_STM32_STM32F40XX)
-# include "chip/chip/stm32f40xxx_vectors.h"
+# include "chip/stm32f40xxx_vectors.h"
#else
# error "No vectors for STM32 chip"
#endif
@@ -179,15 +179,15 @@ handlers:
#define UNUSED(i)
#if defined(CONFIG_STM32_STM32L15XX)
-# include "chip/chip/stm32l15xxx_vectors.h"
+# include "chip/stm32l15xxx_vectors.h"
#elif defined(CONFIG_STM32_STM32F10XX)
-# include "chip/chip/stm32f10xxx_vectors.h"
+# include "chip/stm32f10xxx_vectors.h"
#elif defined(CONFIG_STM32_STM32F20XX)
-# include "chip/chip/stm32f20xxx_vectors.h"
+# include "chip/stm32f20xxx_vectors.h"
#elif defined(CONFIG_STM32_STM32F30XX)
-# include "chip/chip/stm32f30xxx_vectors.h"
+# include "chip/stm32f30xxx_vectors.h"
#elif defined(CONFIG_STM32_STM32F40XX)
-# include "chip/chip/stm32f40xxx_vectors.h"
+# include "chip/stm32f40xxx_vectors.h"
#else
# error "No handlers for STM32 chip"
#endif
diff --git a/nuttx/arch/arm/src/stm32/stm32l15xxx_rcc.c b/nuttx/arch/arm/src/stm32/stm32l15xxx_rcc.c
index 1063c27c1..c41280bf4 100644
--- a/nuttx/arch/arm/src/stm32/stm32l15xxx_rcc.c
+++ b/nuttx/arch/arm/src/stm32/stm32l15xxx_rcc.c
@@ -500,7 +500,7 @@ static void stm32_stdclockconfig(void)
* the PLL VCO frequency can be up to 96MHz. USB and SDIO can be supported.
*
* Range 1: PLLVCO up to 96MHz in range 1 (1.8V)
- * Range 2: PLLVCO up to 48MHz in range 2 (1.5V)
+ * Range 2: PLLVCO up to 48MHz in range 2 (1.5V) (default)
* Range 3: PLLVCO up to 24MHz in range 3 (1.2V)
*/
diff --git a/nuttx/configs/open1788/README.txt b/nuttx/configs/open1788/README.txt
index d10931224..6f79ab34d 100644
--- a/nuttx/configs/open1788/README.txt
+++ b/nuttx/configs/open1788/README.txt
@@ -518,50 +518,57 @@ CONFIGURATION
0xa000:0000 (CS0).
6. This configuration has been used for verifying the touchscreen on
- on the 4.3" LCD module by modifying the configuration in the
- following ways:
-
- Drivers:
- CONFIG_INPUT=y : Enable support for input devices
- CONFIG_INPUT_ADS7843E=y : Enable support for the XPT2048
- CONFIG_ADS7843E_SPIDEV=1 : Use SSP1 for communication
- CONFIG_SPI=y : Enable SPI support
- CONFIG_SPI_EXCHANGE=n : exchange() method is not supported
-
- System Type:
- CONFIG_GPIO_IRQ=y : GPIO interrupt support
- CONFIG_LPC17_SSP1=y : Enable support for SSP1
+ on the 4.3" LCD module.
+
+ a) As of this writing, this touchscreen is still not function.
+ Rommel Marcelo has tracked this problem done to noise on the
+ PENIRQ interrupt. There are so many false interrupts that
+ the NuttX interrupt-driven touchscreen driver cannot be used.
+
+ b) You can enable the touchscreen by modifying the configuration
+ in the following ways:
+
+ Drivers:
+ CONFIG_INPUT=y : Enable support for input devices
+ CONFIG_INPUT_ADS7843E=y : Enable support for the XPT2048
+ CONFIG_ADS7843E_SPIDEV=1 : Use SSP1 for communication
+ CONFIG_SPI=y : Enable SPI support
+ CONFIG_SPI_EXCHANGE=n : exchange() method is not supported
+
+ System Type:
+ CONFIG_GPIO_IRQ=y : GPIO interrupt support
+ CONFIG_LPC17_SSP1=y : Enable support for SSP1
- Applicaton Configuration:
- CONFIG_EXAMPLES_TOUCHSCREEN=y : Enable the touchscreen built-int test
- CONFIG_EXAMPLES_TOUCHSCREEN_BUILTIN=y
+ Applicaton Configuration:
+ CONFIG_EXAMPLES_TOUCHSCREEN=y : Enable the touchscreen built-int test
+ CONFIG_EXAMPLES_TOUCHSCREEN_BUILTIN=y
- Defaults should be okay for related touchscreen settings.
+ Defaults should be okay for related touchscreen settings.
- You will also have to disable SD card support to use this test. The
- SD card detect (CD) signal is on P0[13]. This signal is shared. It
- is also used for MOSI1 and USB_UP_LED. The CD pin may be disconnected.
- There is a jumper on board that enables the CD pin. OR, you can simply
- remove the SD module so that it does not drive the CD pin.
+ c) You will also have to disable SD card support to use this test. The
+ SD card detect (CD) signal is on P0[13]. This signal is shared. It
+ is also used for MOSI1 and USB_UP_LED. The CD pin may be disconnected.
+ There is a jumper on board that enables the CD pin. OR, you can simply
+ remove the SD module so that it does not drive the CD pin.
- Drivers:
- CONFIG_MMCSD=n : No MMC/SD driver support
+ Drivers:
+ CONFIG_MMCSD=n : No MMC/SD driver support
- System Type:
- CONFIG_LPC17_GPDMA=n : No DMA
- CONFIG_LPC17_SDCARD=n : No SD card driver
- CONFIG_SDIO_DMA=n : No SD card DMA
- CONFIG_ARCH_DMA=n
+ System Type:
+ CONFIG_LPC17_GPDMA=n : No DMA
+ CONFIG_LPC17_SDCARD=n : No SD card driver
+ CONFIG_SDIO_DMA=n : No SD card DMA
+ CONFIG_ARCH_DMA=n
- File Systems:
- CONFIG_FS_FAT=n : No FAT file system support
+ File Systems:
+ CONFIG_FS_FAT=n : No FAT file system support
- For touchscreen debug output:
+ For touchscreen debug output:
- Build Setup:
- CONFIG_DEBUG=y
- CONFIG_DEBUG_VERBOSE=y
- CONFIG_DEBUG_INPUT=y
+ Build Setup:
+ CONFIG_DEBUG=y
+ CONFIG_DEBUG_VERBOSE=y
+ CONFIG_DEBUG_INPUT=y
7. The button test (apps/examples/buttons) can be built-in by adding
the following options. See apps/examples/README.txt for further
diff --git a/nuttx/configs/stm32ldiscovery/README.txt b/nuttx/configs/stm32ldiscovery/README.txt
index 860e220b1..55d95dfb7 100644
--- a/nuttx/configs/stm32ldiscovery/README.txt
+++ b/nuttx/configs/stm32ldiscovery/README.txt
@@ -15,8 +15,8 @@ Both boards feature:
- LCD (24 segments, 4 commons),
- LEDs,
- Pushbuttons,
- - A linear touch sensor, and
- - four touchkeys.
+ - A linear touch sensor, and
+ - Four touchkeys.
Contents
========
diff --git a/nuttx/configs/stm32ldiscovery/include/board.h b/nuttx/configs/stm32ldiscovery/include/board.h
index 83edb182c..23132c38b 100644
--- a/nuttx/configs/stm32ldiscovery/include/board.h
+++ b/nuttx/configs/stm32ldiscovery/include/board.h
@@ -195,7 +195,7 @@
* STM32L-Discovery. The following definitions describe how NuttX controls the LEDs:
*
* SYMBOL Meaning LED state
- * LED3 LED4
+ * LED1 LED2
* ------------------- ----------------------- -------- --------
* LED_STARTED NuttX has been started OFF OFF
* LED_HEAPALLOCATE Heap has been allocated OFF OFF
@@ -253,25 +253,25 @@
#if !defined(CONFIG_STM32_LCD)
/* Select PA9 and PA10 if the LCD is not enabled */
-# define GPIO_USART1_RX GPIO_USART1_RX_1
-# define GPIO_USART1_TX GPIO_USART1_TX_1
+# define GPIO_USART1_RX GPIO_USART1_RX_1 /* PA10 */
+# define GPIO_USART1_TX GPIO_USART1_TX_1 /* PA9 */
/* This there are no other options for USART1 on this part */
-# define GPIO_USART2_RX GPIO_USART2_RX_1
-# define GPIO_USART2_TX GPIO_USART2_TX_1
+# define GPIO_USART2_RX GPIO_USART2_RX_1 /* PA3 */
+# define GPIO_USART2_TX GPIO_USART2_TX_1 /* PA2 */
/* Arbirtrarily select PB10 and PB11 */
-# define GPIO_USART3_RX GPIO_USART3_RX_1
-# define GPIO_USART3_TX GPIO_USART3_TX_1
+# define GPIO_USART3_RX GPIO_USART3_RX_1 /* PB11 */
+# define GPIO_USART3_TX GPIO_USART3_TX_1 /* PB10 */
#elif !defined(CONFIG_ARCH_LEDS)
/* Select PB6 and PB7 if the LEDs are not enabled */
-# define GPIO_USART1_RX GPIO_USART1_RX_2
-# define GPIO_USART1_TX GPIO_USART1_TX_2
+# define GPIO_USART1_RX GPIO_USART1_RX_2 /* PB7 */
+# define GPIO_USART1_TX GPIO_USART1_TX_2 /* PB6 */
#endif
diff --git a/nuttx/configs/stm32ldiscovery/src/stm32_autoleds.c b/nuttx/configs/stm32ldiscovery/src/stm32_autoleds.c
index 5a113eabc..b03a61266 100644
--- a/nuttx/configs/stm32ldiscovery/src/stm32_autoleds.c
+++ b/nuttx/configs/stm32ldiscovery/src/stm32_autoleds.c
@@ -60,7 +60,7 @@
* controls the LEDs:
*
* SYMBOL Meaning LED state
- * LED3 LED4
+ * LED1 LED2
* ------------------- ----------------------- -------- --------
* LED_STARTED NuttX has been started OFF OFF
* LED_HEAPALLOCATE Heap has been allocated OFF OFF
@@ -146,8 +146,11 @@ void up_ledon(int led)
void up_ledoff(int led)
{
- stm32_gpiowrite(GPIO_LED1, false);
- stm32_gpiowrite(GPIO_LED2, false);
+ if (led != 2)
+ {
+ stm32_gpiowrite(GPIO_LED1, false);
+ stm32_gpiowrite(GPIO_LED2, false);
+ }
}
#endif /* CONFIG_ARCH_LEDS */