diff options
| author | bernard.xiong <[email protected]> | 2009-12-25 12:18:53 +0000 |
|---|---|---|
| committer | bernard.xiong <[email protected]> | 2009-12-25 12:18:53 +0000 |
| commit | 51e2d9137851a879eb4c8816269fca3ac98c526e (patch) | |
| tree | c6eb83a45b7f75558ca517699f3cc5a3008972c1 /libcpu/arm | |
| parent | 6cd35a87c36c37e666f7ae535153e0265c8eeceb (diff) | |
add license and copyright info
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@226 bbd45198-f89e-11dd-88c7-29a3b14d5316
Diffstat (limited to 'libcpu/arm')
| -rw-r--r-- | libcpu/arm/stm32/context_gcc.S | 6 | ||||
| -rw-r--r-- | libcpu/arm/stm32/context_iar.S | 10 | ||||
| -rw-r--r-- | libcpu/arm/stm32/context_rvds.S | 10 | ||||
| -rw-r--r-- | libcpu/arm/stm32/cpu.c | 6 | ||||
| -rw-r--r-- | libcpu/arm/stm32/fault.c | 13 | ||||
| -rw-r--r-- | libcpu/arm/stm32/fault_gcc.S | 2 | ||||
| -rw-r--r-- | libcpu/arm/stm32/fault_iar.S | 4 | ||||
| -rw-r--r-- | libcpu/arm/stm32/fault_rvds.S | 2 | ||||
| -rw-r--r-- | libcpu/arm/stm32/interrupt.c | 8 | ||||
| -rw-r--r-- | libcpu/arm/stm32/serial.c | 138 | ||||
| -rw-r--r-- | libcpu/arm/stm32/serial.h | 13 | ||||
| -rw-r--r-- | libcpu/arm/stm32/stack.c | 4 |
12 files changed, 121 insertions, 95 deletions
diff --git a/libcpu/arm/stm32/context_gcc.S b/libcpu/arm/stm32/context_gcc.S index 1fbcfd7201..04d45c1327 100644 --- a/libcpu/arm/stm32/context_gcc.S +++ b/libcpu/arm/stm32/context_gcc.S @@ -1,7 +1,7 @@ /*
* File : context_gcc.S
* This file is part of RT-Thread RTOS
- * COPYRIGHT (C) 2006 - 2009, RT-Thread Development Team
+ * COPYRIGHT (C) 2009, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
@@ -151,9 +151,9 @@ rt_hw_context_switch_to: LDR r0, =NVIC_INT_CTRL /* trigger the PendSV exception (causes context switch) */
LDR r1, =NVIC_PENDSVSET
STR r1, [r0]
-
+
CPSIE I /* enable interrupts at processor level */
-
+
/* never reach here! */
/* compatible with old version */
diff --git a/libcpu/arm/stm32/context_iar.S b/libcpu/arm/stm32/context_iar.S index c6f8660bd3..ee2bb0f593 100644 --- a/libcpu/arm/stm32/context_iar.S +++ b/libcpu/arm/stm32/context_iar.S @@ -1,7 +1,7 @@ ;/* -; * File : context.S +; * File : context_iar.S ; * This file is part of RT-Thread RTOS -; * COPYRIGHT (C) 2006, RT-Thread Development Team +; * COPYRIGHT (C) 2009, RT-Thread Development Team ; * ; * The license and distribution terms for this file may be ; * found in the file LICENSE in this distribution or at @@ -109,7 +109,7 @@ rt_hw_pend_sv: swtich_to_thread LDR r1, =rt_interrupt_to_thread LDR r1, [r1] - LDR r1, [r1] ; load thread stack pointer + LDR r1, [r1] ; load thread stack pointer LDMFD r1!, {r4 - r11} ; pop r4 - r11 register MSR psp, r1 ; update stack pointer @@ -148,9 +148,9 @@ rt_hw_context_switch_to: LDR r0, =NVIC_INT_CTRL ; trigger the PendSV exception (causes context switch) LDR r1, =NVIC_PENDSVSET STR r1, [r0] - + CPSIE I ; enable interrupts at processor level - + ; never reach here! ; compatible with old version diff --git a/libcpu/arm/stm32/context_rvds.S b/libcpu/arm/stm32/context_rvds.S index cf07b71bff..e2dab09a80 100644 --- a/libcpu/arm/stm32/context_rvds.S +++ b/libcpu/arm/stm32/context_rvds.S @@ -1,7 +1,7 @@ ;/*
-; * File : context.S
+; * File : context_rvds.S
; * This file is part of RT-Thread RTOS
-; * COPYRIGHT (C) 2006, RT-Thread Development Team
+; * COPYRIGHT (C) 2009, RT-Thread Development Team
; *
; * The license and distribution terms for this file may be
; * found in the file LICENSE in this distribution or at
@@ -112,7 +112,7 @@ rt_hw_pend_sv PROC swtich_to_thread
LDR r1, =rt_interrupt_to_thread
LDR r1, [r1]
- LDR r1, [r1] ; load thread stack pointer
+ LDR r1, [r1] ; load thread stack pointer
LDMFD r1!, {r4 - r11} ; pop r4 - r11 register
MSR psp, r1 ; update stack pointer
@@ -155,10 +155,10 @@ rt_hw_context_switch_to PROC LDR r0, =NVIC_INT_CTRL
LDR r1, =NVIC_PENDSVSET
STR r1, [r0]
-
+
; enable interrupts at processor level
CPSIE I
-
+
; never reach here!
ENDP
diff --git a/libcpu/arm/stm32/cpu.c b/libcpu/arm/stm32/cpu.c index 080634c2b9..bcd60f4811 100644 --- a/libcpu/arm/stm32/cpu.c +++ b/libcpu/arm/stm32/cpu.c @@ -1,15 +1,15 @@ /*
* File : cpu.c
* This file is part of RT-Thread RTOS
- * COPYRIGHT (C) 2006, RT-Thread Develop Team
+ * COPYRIGHT (C) 2009, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
- * http://openlab.rt-thread.com/license/LICENSE
+ * http://www.rt-thread.org/license/LICENSE
*
* Change Logs:
* Date Author Notes
- * 2006-03-13 Bernard first version
+ * 2009-01-05 Bernard first version
*/
#include <rtthread.h>
diff --git a/libcpu/arm/stm32/fault.c b/libcpu/arm/stm32/fault.c index 7e45d2569d..17c4a08b1f 100644 --- a/libcpu/arm/stm32/fault.c +++ b/libcpu/arm/stm32/fault.c @@ -1,3 +1,16 @@ +/*
+ * File : fault.c
+ * This file is part of RT-Thread RTOS
+ * COPYRIGHT (C) 2009, RT-Thread Development Team
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rt-thread.org/license/LICENSE
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2009-01-05 Bernard first version
+ */
#include <rtthread.h>
struct stack_contex
diff --git a/libcpu/arm/stm32/fault_gcc.S b/libcpu/arm/stm32/fault_gcc.S index 929c9c380e..fc8f1d79e4 100644 --- a/libcpu/arm/stm32/fault_gcc.S +++ b/libcpu/arm/stm32/fault_gcc.S @@ -1,7 +1,7 @@ /*
* File : fault_gcc.S
* This file is part of RT-Thread RTOS
- * COPYRIGHT (C) 2006 - 2009, RT-Thread Development Team
+ * COPYRIGHT (C) 2009, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
diff --git a/libcpu/arm/stm32/fault_iar.S b/libcpu/arm/stm32/fault_iar.S index 21f9302558..512875e57d 100644 --- a/libcpu/arm/stm32/fault_iar.S +++ b/libcpu/arm/stm32/fault_iar.S @@ -1,7 +1,7 @@ ;/* -; * File : context.S +; * File : fault_iar.S ; * This file is part of RT-Thread RTOS -; * COPYRIGHT (C) 2006, RT-Thread Development Team +; * COPYRIGHT (C) 2009, RT-Thread Development Team ; * ; * The license and distribution terms for this file may be ; * found in the file LICENSE in this distribution or at diff --git a/libcpu/arm/stm32/fault_rvds.S b/libcpu/arm/stm32/fault_rvds.S index 799f8d40f1..9a422e16b9 100644 --- a/libcpu/arm/stm32/fault_rvds.S +++ b/libcpu/arm/stm32/fault_rvds.S @@ -1,5 +1,5 @@ ;/*
-; * File : context.S
+; * File : fault_rvds.S
; * This file is part of RT-Thread RTOS
; * COPYRIGHT (C) 2006, RT-Thread Development Team
; *
diff --git a/libcpu/arm/stm32/interrupt.c b/libcpu/arm/stm32/interrupt.c index 3f6165a255..8cf81a620f 100644 --- a/libcpu/arm/stm32/interrupt.c +++ b/libcpu/arm/stm32/interrupt.c @@ -1,15 +1,15 @@ /* - * File : trap.c + * File : interrupt.c * This file is part of RT-Thread RTOS - * COPYRIGHT (C) 2006, RT-Thread Development Team + * COPYRIGHT (C) 2009, RT-Thread Development Team * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at - * http://openlab.rt-thread.com/license/LICENSE + * http://www.rt-thread.org/license/LICENSE * * Change Logs: * Date Author Notes - * 2006-03-13 Bernard first version + * 2009-01-05 Bernard first version */ #include <rtthread.h> diff --git a/libcpu/arm/stm32/serial.c b/libcpu/arm/stm32/serial.c index 54c8290687..19b0d80375 100644 --- a/libcpu/arm/stm32/serial.c +++ b/libcpu/arm/stm32/serial.c @@ -1,11 +1,11 @@ /* * File : serial.c * This file is part of RT-Thread RTOS - * COPYRIGHT (C) 2006, RT-Thread Development Team + * COPYRIGHT (C) 2009, RT-Thread Development Team * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at - * http://openlab.rt-thread.com/license/LICENSE + * http://www.rt-thread.org/license/LICENSE * * Change Logs: * Date Author Notes @@ -17,7 +17,7 @@ #include "serial.h" #include <stm32f10x_dma.h> -static void rt_serial_enable_dma(DMA_Channel_TypeDef* dma_channel, +static void rt_serial_enable_dma(DMA_Channel_TypeDef* dma_channel, rt_uint32_t address, rt_uint32_t size); /** @@ -34,10 +34,10 @@ int rt_serial_getc(struct stm32_serial_device* uart) { rt_base_t level; int ch = -1; - + /* disable interrupt */ level = rt_hw_interrupt_disable(); - + if (uart->int_rx->read_index != uart->int_rx->save_index) { ch = uart->int_rx->rx_buffer[uart->int_rx->read_index]; @@ -46,10 +46,10 @@ int rt_serial_getc(struct stm32_serial_device* uart) if (uart->int_rx->read_index >= UART_RX_BUFFER_SIZE) uart->int_rx->read_index = 0; } - + /* enable interrupt */ rt_hw_interrupt_enable(level); - + return ch; } @@ -57,7 +57,7 @@ int rt_serial_getc(struct stm32_serial_device* uart) void rt_serial_savechar(struct stm32_serial_device* uart, char ch) { rt_base_t level; - + /* disable interrupt */ level = rt_hw_interrupt_disable(); @@ -65,7 +65,7 @@ void rt_serial_savechar(struct stm32_serial_device* uart, char ch) uart->int_rx->save_index ++; if (uart->int_rx->save_index >= UART_RX_BUFFER_SIZE) uart->int_rx->save_index = 0; - + /* if the next position is read index, discard this 'read char' */ if (uart->int_rx->save_index == uart->int_rx->read_index) { @@ -107,26 +107,26 @@ static rt_err_t rt_serial_init (rt_device_t dev) { if (dev->flag & RT_DEVICE_FLAG_INT_RX) { - rt_memset(uart->int_rx->rx_buffer, 0, + rt_memset(uart->int_rx->rx_buffer, 0, sizeof(uart->int_rx->rx_buffer)); uart->int_rx->read_index = 0; uart->int_rx->save_index = 0; } - + if (dev->flag & RT_DEVICE_FLAG_DMA_RX) { RT_ASSERT(uart->dma_rx->dma_channel != RT_NULL); uart->dma_rx->read_index = uart->dma_rx->read_descriptor = 0; uart->dma_rx->is_full = RT_FALSE; } - + if (dev->flag & RT_DEVICE_FLAG_INT_TX) { - rt_memset(uart->int_tx->tx_buffer, 0, + rt_memset(uart->int_tx->tx_buffer, 0, sizeof(uart->int_tx->tx_buffer)); uart->int_tx->write_index = uart->int_tx->save_index = 0; } - + if (dev->flag & RT_DEVICE_FLAG_DMA_TX) { RT_ASSERT(uart->dma_rx->dma_channel != RT_NULL); @@ -145,28 +145,28 @@ static rt_err_t rt_serial_init (rt_device_t dev) static rt_err_t rt_serial_open(rt_device_t dev, rt_uint16_t oflag) { struct stm32_serial_device* uart; - + RT_ASSERT(dev != RT_NULL); - + uart = (struct stm32_serial_device*)dev->private; if (dev->flag & RT_DEVICE_FLAG_DMA_RX) { /* enable Rx DMA */ - rt_serial_enable_dma(uart->dma_rx->dma_channel, + rt_serial_enable_dma(uart->dma_rx->dma_channel, (rt_uint32_t)&(uart->dma_rx->rx_buffer[uart->dma_rx->save_descriptor][0]), UART_DMA_RX_BUFFER_SIZE); } - + return RT_EOK; } static rt_err_t rt_serial_close(rt_device_t dev) { struct stm32_serial_device* uart; - + RT_ASSERT(dev != RT_NULL); - + uart = (struct stm32_serial_device*)dev->private; if (dev->flag & RT_DEVICE_FLAG_DMA_RX) @@ -182,7 +182,7 @@ static rt_size_t rt_serial_read (rt_device_t dev, rt_off_t pos, void* buffer, rt rt_uint8_t* ptr; rt_err_t err_code; struct stm32_serial_device* uart; - + ptr = buffer; err_code = RT_EOK; uart = (struct stm32_serial_device*)dev->private; @@ -217,7 +217,7 @@ static rt_size_t rt_serial_read (rt_device_t dev, rt_off_t pos, void* buffer, rt /* set error code */ err_code = -RT_EEMPTY; } - else + else { /* read data */ while ((rt_uint32_t)ptr - (rt_uint32_t)buffer < size) @@ -225,16 +225,16 @@ static rt_size_t rt_serial_read (rt_device_t dev, rt_off_t pos, void* buffer, rt /* read buffer */ *ptr ++ = uart->dma_rx-> rx_buffer[uart->dma_rx->read_descriptor][uart->dma_rx->read_index]; - + /* move to next position */ uart->dma_rx->read_index ++; - + /* wrap read index */ if (uart->dma_rx->read_index >= UART_DMA_RX_BUFFER_SIZE) { /* wrap read index */ uart->dma_rx->read_index = 0; - + /* move to next read descriptor */ uart->dma_rx->read_descriptor ++; /* wrap read descriptor */ @@ -252,7 +252,7 @@ static rt_size_t rt_serial_read (rt_device_t dev, rt_off_t pos, void* buffer, rt rt_hw_interrupt_enable(level); /* re-enable DMA to receive */ - rt_serial_enable_dma(uart->dma_rx->dma_channel, + rt_serial_enable_dma(uart->dma_rx->dma_channel, (rt_uint32_t)&(uart->dma_rx->rx_buffer[uart->dma_rx->save_descriptor][0]), UART_DMA_RX_BUFFER_SIZE); } @@ -286,11 +286,11 @@ static rt_size_t rt_serial_read (rt_device_t dev, rt_off_t pos, void* buffer, rt return (rt_uint32_t)ptr - (rt_uint32_t)buffer; } -static void rt_serial_enable_dma(DMA_Channel_TypeDef* dma_channel, +static void rt_serial_enable_dma(DMA_Channel_TypeDef* dma_channel, rt_uint32_t address, rt_uint32_t size) { RT_ASSERT(dma_channel != RT_NULL); - + /* disable DMA */ DMA_Cmd(dma_channel, DISABLE); @@ -298,7 +298,7 @@ static void rt_serial_enable_dma(DMA_Channel_TypeDef* dma_channel, dma_channel->CMAR = address; /* set size */ dma_channel->CNDTR = size; - + /* enable DMA */ DMA_Cmd(dma_channel, ENABLE); } @@ -308,7 +308,7 @@ static rt_size_t rt_serial_write (rt_device_t dev, rt_off_t pos, const void* buf rt_uint8_t* ptr; rt_err_t err_code; struct stm32_serial_device* uart; - + err_code = RT_EOK; ptr = (rt_uint8_t*)buffer; uart = (struct stm32_serial_device*)dev->private; @@ -320,17 +320,17 @@ static rt_size_t rt_serial_write (rt_device_t dev, rt_off_t pos, const void* buf { /* save on tx buffer */ uart->int_tx->tx_buffer[uart->int_tx->save_index] = *ptr++; - + -- size; /* move to next position */ uart->int_tx->save_index ++; - + /* wrap save index */ if (uart->int_tx->save_index >= UART_TX_BUFFER_SIZE) uart->int_tx->save_index = 0; } - + /* set error code */ if (size > 0) err_code = -RT_EFULL; @@ -338,9 +338,9 @@ static rt_size_t rt_serial_write (rt_device_t dev, rt_off_t pos, const void* buf else if (dev->flag & RT_DEVICE_FLAG_DMA_TX) { /* DMA mode Tx */ - + /* allocate a data node */ - struct stm32_serial_data_node* data_node = + struct stm32_serial_data_node* data_node = (struct stm32_serial_data_node*) rt_malloc (sizeof(struct stm32_serial_data_node)); if (data_node == RT_NULL) { @@ -350,14 +350,14 @@ static rt_size_t rt_serial_write (rt_device_t dev, rt_off_t pos, const void* buf else { rt_uint32_t level; - + /* fill data node */ data_node->data_ptr = ptr; data_node->data_size = size; - + /* insert to data link */ data_node->next = RT_NULL; - + /* disable interrupt */ level = rt_hw_interrupt_disable(); @@ -365,15 +365,15 @@ static rt_size_t rt_serial_write (rt_device_t dev, rt_off_t pos, const void* buf if (uart->dma_tx->list_tail != RT_NULL) uart->dma_tx->list_tail->next = data_node; uart->dma_tx->list_tail = data_node; - + if (uart->dma_tx->list_head == RT_NULL) { /* start DMA to transmit data */ uart->dma_tx->list_head = data_node; - + /* Enable DMA Channel */ - rt_serial_enable_dma(uart->dma_tx->dma_channel, - (rt_uint32_t)uart->dma_tx->list_head->data_ptr, + rt_serial_enable_dma(uart->dma_tx->dma_channel, + (rt_uint32_t)uart->dma_tx->list_head->data_ptr, uart->dma_tx->list_head->data_size); } @@ -389,18 +389,18 @@ static rt_size_t rt_serial_write (rt_device_t dev, rt_off_t pos, const void* buf rt_serial_putc(dev, *ptr); ++ptr; --size; } - } + } /* set error code */ rt_set_errno(err_code); - + return (rt_uint32_t)ptr - (rt_uint32_t)buffer; } static rt_err_t rt_serial_control (rt_device_t dev, rt_uint8_t cmd, void *args) { struct stm32_serial_device* uart; - + RT_ASSERT(dev != RT_NULL); uart = (struct stm32_serial_device*)dev->private; @@ -411,19 +411,19 @@ static rt_err_t rt_serial_control (rt_device_t dev, rt_uint8_t cmd, void *args) dev->flag |= RT_DEVICE_FLAG_SUSPENDED; USART_Cmd(uart->uart_device, DISABLE); break; - + case RT_DEVICE_CTRL_RESUME: /* resume device */ dev->flag &= ~RT_DEVICE_FLAG_SUSPENDED; USART_Cmd(uart->uart_device, ENABLE); break; } - + return RT_EOK; } /* - * serial register for STM32 + * serial register for STM32 * support STM32F103VB and STM32F103ZE */ rt_err_t rt_hw_serial_register(rt_device_t device, const char* name, rt_uint32_t flag, struct stm32_serial_device *serial) @@ -449,10 +449,10 @@ rt_err_t rt_hw_serial_register(rt_device_t device, const char* name, rt_uint32_t void rt_hw_serial_isr(rt_device_t device) { struct stm32_serial_device* uart = (struct stm32_serial_device*) device->private; - + if(USART_GetITStatus(uart->uart_device, USART_IT_RXNE) != RESET) { - /* interrupt mode receive */ + /* interrupt mode receive */ RT_ASSERT(device->flag & RT_DEVICE_FLAG_INT_RX); /* save on rx buffer */ @@ -460,7 +460,7 @@ void rt_hw_serial_isr(rt_device_t device) { rt_serial_savechar(uart, uart->uart_device->DR & 0xff); } - + /* clear interrupt */ USART_ClearITPendingBit(uart->uart_device, USART_IT_RXNE); @@ -468,7 +468,7 @@ void rt_hw_serial_isr(rt_device_t device) if (device->rx_indicate != RT_NULL) { rt_size_t rx_length; - + /* get rx length */ rx_length = uart->int_rx->read_index > uart->int_rx->save_index ? UART_RX_BUFFER_SIZE - uart->int_rx->read_index + uart->int_rx->save_index : @@ -477,12 +477,12 @@ void rt_hw_serial_isr(rt_device_t device) device->rx_indicate(device, rx_length); } } - + if (USART_GetITStatus(uart->uart_device, USART_IT_TC) != RESET) { /* interrupt mode transmission */ RT_ASSERT(device->flag & RT_DEVICE_FLAG_INT_TX); - + /* transmission completed */ uart->int_tx->write_index ++; if (uart->int_tx->write_index >= UART_TX_BUFFER_SIZE) @@ -490,7 +490,7 @@ void rt_hw_serial_isr(rt_device_t device) /* clear interrupt */ USART_ClearITPendingBit(uart->uart_device, USART_IT_TC); - + /* start next transmission */ if (uart->int_tx->write_index < uart->int_tx->save_index) @@ -501,33 +501,33 @@ void rt_hw_serial_isr(rt_device_t device) } } -/* +/* * ISR for DMA mode Rx */ void rt_hw_serial_dma_rx_isr(rt_device_t device) { rt_uint32_t next_descriptor; struct stm32_serial_device* uart = (struct stm32_serial_device*) device->private; - - /* DMA mode receive */ + + /* DMA mode receive */ RT_ASSERT(device->flag & RT_DEVICE_FLAG_DMA_RX); - + /* invoke callback */ if (device->rx_indicate != RT_NULL) device->rx_indicate(device, UART_DMA_RX_BUFFER_SIZE); next_descriptor = uart->dma_rx->save_descriptor; - + /* move to next descriptor */ next_descriptor ++; if (next_descriptor >= UART_DMA_RX_DESCRIPTOR) next_descriptor = 0; - + if (next_descriptor != uart->dma_rx->read_descriptor) { uart->dma_rx->save_descriptor = next_descriptor; /* enable next DMA */ - rt_serial_enable_dma(uart->dma_rx->dma_channel, + rt_serial_enable_dma(uart->dma_rx->dma_channel, (rt_uint32_t)&(uart->dma_rx->rx_buffer[uart->dma_rx->save_descriptor][0]), UART_DMA_RX_BUFFER_SIZE); } @@ -539,7 +539,7 @@ void rt_hw_serial_dma_rx_isr(rt_device_t device) } } -/* +/* * ISR for DMA mode Tx */ void rt_hw_serial_dma_tx_isr(rt_device_t device) @@ -548,20 +548,20 @@ void rt_hw_serial_dma_tx_isr(rt_device_t device) struct stm32_serial_data_node* data_node; struct stm32_serial_device* uart = (struct stm32_serial_device*) device->private; - /* DMA mode receive */ + /* DMA mode receive */ RT_ASSERT(device->flag & RT_DEVICE_FLAG_DMA_TX); - + /* get the first data node */ data_node = uart->dma_tx->list_head; RT_ASSERT(data_node != RT_NULL); - + /* invoke call to notify tx complete */ if (device->tx_complete != RT_NULL) device->tx_complete(device, data_node->data_ptr); /* disable interrupt */ level = rt_hw_interrupt_disable(); - + /* remove list tail */ uart->dma_tx->list_tail = data_node->prev; if (uart->dma_tx->list_tail == RT_NULL) @@ -569,10 +569,10 @@ void rt_hw_serial_dma_tx_isr(rt_device_t device) /* enable interrupt */ rt_hw_interrupt_enable(level); - + /* free data node memory */ rt_free(data_node); - + if (uart->dma_tx->list_tail != RT_NULL) { /* transmit next data node */ diff --git a/libcpu/arm/stm32/serial.h b/libcpu/arm/stm32/serial.h index 5bf3b8155e..0b08e13cd5 100644 --- a/libcpu/arm/stm32/serial.h +++ b/libcpu/arm/stm32/serial.h @@ -1,3 +1,16 @@ +/*
+ * File : serial.h
+ * This file is part of RT-Thread RTOS
+ * COPYRIGHT (C) 2009, RT-Thread Development Team
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rt-thread.org/license/LICENSE
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2009-01-05 Bernard first version
+ */
#ifndef __RT_HW_SERIAL_H__
#define __RT_HW_SERIAL_H__
diff --git a/libcpu/arm/stm32/stack.c b/libcpu/arm/stm32/stack.c index c7f8c71ab4..bf2578b803 100644 --- a/libcpu/arm/stm32/stack.c +++ b/libcpu/arm/stm32/stack.c @@ -1,11 +1,11 @@ /* * File : stack.c * This file is part of RT-Thread RTOS - * COPYRIGHT (C) 2006, RT-Thread Development Team + * COPYRIGHT (C) 2009, RT-Thread Development Team * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at - * http://openlab.rt-thread.com/license/LICENSE + * http://www.rt-thread.org/license/LICENSE * * Change Logs: * Date Author Notes |
