aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2011-01-30 16:23:08 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2011-01-30 16:23:08 +0000
commit5e31d55f748df66a6fef7570b4c11947e360d3fa (patch)
tree3f011d237362fe138245b4c836a54ee599f6ee29
parentcee541cfa399a3b5c7df6548f2456a832f1cbacf (diff)
downloadChibiOS-5e31d55f748df66a6fef7570b4c11947e360d3fa.tar.gz
ChibiOS-5e31d55f748df66a6fef7570b4c11947e360d3fa.tar.bz2
ChibiOS-5e31d55f748df66a6fef7570b4c11947e360d3fa.zip
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
-rw-r--r--docs/reports/STM32F103-72-GCC.txt6
-rw-r--r--os/hal/platforms/STM32/serial_lld.c6
-rw-r--r--readme.txt2
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