From 5e31d55f748df66a6fef7570b4c11947e360d3fa Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 30 Jan 2011 16:23:08 +0000 Subject: Small fix to the STM32 serial driver. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2694 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72-GCC.txt | 6 +++--- os/hal/platforms/STM32/serial_lld.c | 6 +++--- readme.txt | 2 ++ 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/docs/reports/STM32F103-72-GCC.txt b/docs/reports/STM32F103-72-GCC.txt index 0052c806a..8d85ad7ce 100644 --- a/docs/reports/STM32F103-72-GCC.txt +++ b/docs/reports/STM32F103-72-GCC.txt @@ -5,8 +5,8 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.7unstable -*** GCC Version: 4.5.1 +*** Kernel: 2.3.0unstable +*** GCC Version: 4.5.2 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 *** Platform: STM32 Performance Line Medium Density @@ -126,7 +126,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 478116 ctxswc/S +--- Score : 478120 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) diff --git a/os/hal/platforms/STM32/serial_lld.c b/os/hal/platforms/STM32/serial_lld.c index 94fd0cae2..b20c2a933 100644 --- a/os/hal/platforms/STM32/serial_lld.c +++ b/os/hal/platforms/STM32/serial_lld.c @@ -179,7 +179,7 @@ static void serve_interrupt(SerialDriver *sdp) { b = chOQGetI(&sdp->oqueue); if (b < Q_OK) { chIOAddFlagsI(sdp, IO_OUTPUT_EMPTY); - u->CR1 = cr1 & ~USART_CR1_TXEIE; + u->CR1 = (cr1 & ~USART_CR1_TXEIE) | USART_CR1_TCIE; } else u->DR = b; @@ -200,7 +200,7 @@ static void serve_interrupt(SerialDriver *sdp) { static void notify1(GenericQueue *qp) { (void)qp; - USART1->CR1 |= USART_CR1_TXEIE | USART_CR1_TCIE; + USART1->CR1 |= USART_CR1_TXEIE; } #endif @@ -208,7 +208,7 @@ static void notify1(GenericQueue *qp) { static void notify2(GenericQueue *qp) { (void)qp; - USART2->CR1 |= USART_CR1_TXEIE | USART_CR1_TCIE; + USART2->CR1 |= USART_CR1_TXEIE; } #endif diff --git a/readme.txt b/readme.txt index 18ad73c67..1be5ae77d 100644 --- a/readme.txt +++ b/readme.txt @@ -71,6 +71,8 @@ *** 2.3.0 *** - NEW: Implemented new event IO_TRANSMISSION_END in the generic serial driver. This event marks the physical transmission end of a data stream. +- NEW: Implemented the new IO_TRANSMISSION_END event in the STM32 serial + driver. *** 2.1.8 *** - FIX: Fixed error in STM32 ADC driver macro names (bug 3160306)(backported -- cgit v1.2.3