mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-11-16 12:34:33 +00:00
Compare commits
4 Commits
55306ad133
...
d39a439603
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d39a439603 | ||
|
|
4ee00eba9b | ||
|
|
934c8195f4 | ||
|
|
97f316f5d0 |
@@ -34,55 +34,63 @@ menu "On-chip Peripheral Drivers"
|
||||
|
||||
config BSP_UART0_RX_USING_DMA
|
||||
bool "Enable UART0 RX DMA"
|
||||
depends on BSP_USING_UART0
|
||||
select RT_SERIAL_USING_DMA
|
||||
depends on BSP_USING_UART0 && RT_USING_SERIAL_V2 && RT_SERIAL_USING_DMA
|
||||
default n
|
||||
|
||||
config BSP_UART0_TX_USING_DMA
|
||||
bool "Enable UART0 TX DMA"
|
||||
depends on BSP_USING_UART0
|
||||
select RT_SERIAL_USING_DMA
|
||||
depends on BSP_USING_UART0 && RT_USING_SERIAL_V2 && RT_SERIAL_USING_DMA
|
||||
default n
|
||||
|
||||
config BSP_UART0_DMA_PING_BUFSIZE
|
||||
int "Set UART0 RX DMA ping-pong buffer size"
|
||||
range 16 65535
|
||||
depends on BSP_USING_UART0 && RT_USING_SERIAL_V2 && BSP_UART0_RX_USING_DMA
|
||||
default 64
|
||||
|
||||
config BSP_UART0_RX_BUFSIZE
|
||||
int "Set UART0 RX buffer size"
|
||||
range 64 65535
|
||||
depends on BSP_USING_UART0 && RT_USING_SERIAL_V2
|
||||
default 64
|
||||
default 128
|
||||
|
||||
config BSP_UART0_TX_BUFSIZE
|
||||
int "Set UART0 TX buffer size"
|
||||
range 0 65535
|
||||
range 64 65535
|
||||
depends on BSP_USING_UART0 && RT_USING_SERIAL_V2
|
||||
default 0
|
||||
default 128
|
||||
|
||||
config BSP_USING_UART1
|
||||
bool "Enable UART1"
|
||||
default n
|
||||
default y
|
||||
|
||||
config BSP_UART1_RX_USING_DMA
|
||||
bool "Enable UART1 RX DMA"
|
||||
depends on BSP_USING_UART1
|
||||
select RT_SERIAL_USING_DMA
|
||||
depends on BSP_USING_UART1 && RT_USING_SERIAL_V2 && RT_SERIAL_USING_DMA
|
||||
default n
|
||||
|
||||
config BSP_UART1_TX_USING_DMA
|
||||
bool "Enable UART1 TX DMA"
|
||||
depends on BSP_USING_UART1
|
||||
select RT_SERIAL_USING_DMA
|
||||
depends on BSP_USING_UART1 && RT_USING_SERIAL_V2 && RT_SERIAL_USING_DMA
|
||||
default n
|
||||
|
||||
config BSP_UART1_DMA_PING_BUFSIZE
|
||||
int "Set UART1 RX DMA ping-pong buffer size"
|
||||
range 16 65535
|
||||
depends on BSP_USING_UART1 && RT_USING_SERIAL_V2 && BSP_UART1_RX_USING_DMA
|
||||
default 64
|
||||
|
||||
config BSP_UART1_RX_BUFSIZE
|
||||
int "Set UART1 RX buffer size"
|
||||
range 64 65535
|
||||
depends on BSP_USING_UART1 && RT_USING_SERIAL_V2
|
||||
default 64
|
||||
default 128
|
||||
|
||||
config BSP_UART1_TX_BUFSIZE
|
||||
int "Set UART1 TX buffer size"
|
||||
range 0 65535
|
||||
range 64 65535
|
||||
depends on BSP_USING_UART1 && RT_USING_SERIAL_V2
|
||||
default 0
|
||||
default 128
|
||||
|
||||
config BSP_USING_UART2
|
||||
bool "Enable UART2"
|
||||
@@ -90,27 +98,31 @@ menu "On-chip Peripheral Drivers"
|
||||
|
||||
config BSP_UART2_RX_USING_DMA
|
||||
bool "Enable UART2 RX DMA"
|
||||
depends on BSP_USING_UART2
|
||||
select RT_SERIAL_USING_DMA
|
||||
depends on BSP_USING_UART2 && RT_USING_SERIAL_V2 && RT_SERIAL_USING_DMA
|
||||
default n
|
||||
|
||||
config BSP_UART2_TX_USING_DMA
|
||||
bool "Enable UART2 TX DMA"
|
||||
depends on BSP_USING_UART2
|
||||
select RT_SERIAL_USING_DMA
|
||||
depends on BSP_USING_UART2 && RT_USING_SERIAL_V2 && RT_SERIAL_USING_DMA
|
||||
default n
|
||||
|
||||
|
||||
config BSP_UART2_DMA_PING_BUFSIZE
|
||||
int "Set UART2 RX DMA ping-pong buffer size"
|
||||
range 16 65535
|
||||
depends on BSP_USING_UART2 && RT_USING_SERIAL_V2 && BSP_UART2_RX_USING_DMA
|
||||
default 64
|
||||
|
||||
config BSP_UART2_RX_BUFSIZE
|
||||
int "Set UART2 RX buffer size"
|
||||
range 64 65535
|
||||
depends on BSP_USING_UART2 && RT_USING_SERIAL_V2
|
||||
default 64
|
||||
default 128
|
||||
|
||||
config BSP_UART2_TX_BUFSIZE
|
||||
int "Set UART2 TX buffer size"
|
||||
range 0 65535
|
||||
range 64 65535
|
||||
depends on BSP_USING_UART2 && RT_USING_SERIAL_V2
|
||||
default 0
|
||||
default 128
|
||||
|
||||
config BSP_USING_UART3
|
||||
bool "Enable UART3"
|
||||
@@ -118,27 +130,31 @@ menu "On-chip Peripheral Drivers"
|
||||
|
||||
config BSP_UART3_RX_USING_DMA
|
||||
bool "Enable UART3 RX DMA"
|
||||
depends on BSP_USING_UART3
|
||||
select RT_SERIAL_USING_DMA
|
||||
depends on BSP_USING_UART3 && RT_USING_SERIAL_V2 && RT_SERIAL_USING_DMA
|
||||
default n
|
||||
|
||||
config BSP_UART3_TX_USING_DMA
|
||||
bool "Enable UART3 TX DMA"
|
||||
depends on BSP_USING_UART3
|
||||
select RT_SERIAL_USING_DMA
|
||||
depends on BSP_USING_UART3 && RT_USING_SERIAL_V2 && RT_SERIAL_USING_DMA
|
||||
default n
|
||||
|
||||
config BSP_UART3_DMA_PING_BUFSIZE
|
||||
int "Set UART3 RX DMA ping-pong buffer size"
|
||||
range 16 65535
|
||||
depends on BSP_USING_UART3 && RT_USING_SERIAL_V2 && BSP_UART3_RX_USING_DMA
|
||||
default 64
|
||||
|
||||
config BSP_UART3_RX_BUFSIZE
|
||||
int "Set UART3 RX buffer size"
|
||||
range 64 65535
|
||||
depends on BSP_USING_UART3 && RT_USING_SERIAL_V2
|
||||
default 64
|
||||
default 128
|
||||
|
||||
config BSP_UART3_TX_BUFSIZE
|
||||
int "Set UART3 TX buffer size"
|
||||
range 0 65535
|
||||
range 64 65535
|
||||
depends on BSP_USING_UART3 && RT_USING_SERIAL_V2
|
||||
default 0
|
||||
default 128
|
||||
|
||||
config BSP_USING_UART4
|
||||
bool "Enable UART4"
|
||||
@@ -146,27 +162,31 @@ menu "On-chip Peripheral Drivers"
|
||||
|
||||
config BSP_UART4_RX_USING_DMA
|
||||
bool "Enable UART4 RX DMA"
|
||||
depends on BSP_USING_UART4
|
||||
select RT_SERIAL_USING_DMA
|
||||
depends on BSP_USING_UART4 && RT_USING_SERIAL_V2 && RT_SERIAL_USING_DMA
|
||||
default n
|
||||
|
||||
config BSP_UART4_TX_USING_DMA
|
||||
bool "Enable UART4 TX DMA"
|
||||
depends on BSP_USING_UART4
|
||||
select RT_SERIAL_USING_DMA
|
||||
depends on BSP_USING_UART4 && RT_USING_SERIAL_V2 && RT_SERIAL_USING_DMA
|
||||
default n
|
||||
|
||||
config BSP_UART4_DMA_PING_BUFSIZE
|
||||
int "Set UART4 RX DMA ping-pong buffer size"
|
||||
range 16 65535
|
||||
depends on BSP_USING_UART4 && RT_USING_SERIAL_V2 && BSP_UART4_RX_USING_DMA
|
||||
default 64
|
||||
|
||||
config BSP_UART4_RX_BUFSIZE
|
||||
int "Set UART4 RX buffer size"
|
||||
range 64 65535
|
||||
depends on BSP_USING_UART4 && RT_USING_SERIAL_V2
|
||||
default 64
|
||||
default 128
|
||||
|
||||
config BSP_UART4_TX_BUFSIZE
|
||||
int "Set UART4 TX buffer size"
|
||||
range 0 65535
|
||||
range 64 65535
|
||||
depends on BSP_USING_UART4 && RT_USING_SERIAL_V2
|
||||
default 0
|
||||
default 128
|
||||
|
||||
config BSP_USING_UART5
|
||||
bool "Enable UART5"
|
||||
@@ -174,27 +194,31 @@ menu "On-chip Peripheral Drivers"
|
||||
|
||||
config BSP_UART5_RX_USING_DMA
|
||||
bool "Enable UART5 RX DMA"
|
||||
depends on BSP_USING_UART5
|
||||
select RT_SERIAL_USING_DMA
|
||||
depends on BSP_USING_UART5 && RT_USING_SERIAL_V2 && RT_SERIAL_USING_DMA
|
||||
default n
|
||||
|
||||
config BSP_UART5_TX_USING_DMA
|
||||
bool "Enable UART5 TX DMA"
|
||||
depends on BSP_USING_UART5
|
||||
select RT_SERIAL_USING_DMA
|
||||
depends on BSP_USING_UART5 && RT_USING_SERIAL_V2 && RT_SERIAL_USING_DMA
|
||||
default n
|
||||
|
||||
config BSP_UART5_DMA_PING_BUFSIZE
|
||||
int "Set UART5 RX DMA ping-pong buffer size"
|
||||
range 16 65535
|
||||
depends on BSP_USING_UART5 && RT_USING_SERIAL_V2 && BSP_UART5_RX_USING_DMA
|
||||
default 64
|
||||
|
||||
config BSP_UART5_RX_BUFSIZE
|
||||
int "Set UART5 RX buffer size"
|
||||
range 64 65535
|
||||
depends on BSP_USING_UART5 && RT_USING_SERIAL_V2
|
||||
default 64
|
||||
default 128
|
||||
|
||||
config BSP_UART5_TX_BUFSIZE
|
||||
int "Set UART5 TX buffer size"
|
||||
range 0 65535
|
||||
range 64 65535
|
||||
depends on BSP_USING_UART5 && RT_USING_SERIAL_V2
|
||||
default 0
|
||||
default 128
|
||||
|
||||
config BSP_USING_UART6
|
||||
bool "Enable UART6"
|
||||
@@ -202,55 +226,63 @@ menu "On-chip Peripheral Drivers"
|
||||
|
||||
config BSP_UART6_RX_USING_DMA
|
||||
bool "Enable UART6 RX DMA"
|
||||
depends on BSP_USING_UART6
|
||||
select RT_SERIAL_USING_DMA
|
||||
depends on BSP_USING_UART6 && RT_USING_SERIAL_V2 && RT_SERIAL_USING_DMA
|
||||
default n
|
||||
|
||||
config BSP_UART6_TX_USING_DMA
|
||||
bool "Enable UART6 TX DMA"
|
||||
depends on BSP_USING_UART6
|
||||
select RT_SERIAL_USING_DMA
|
||||
depends on BSP_USING_UART6 && RT_USING_SERIAL_V2 && RT_SERIAL_USING_DMA
|
||||
default n
|
||||
|
||||
config BSP_UART6_DMA_PING_BUFSIZE
|
||||
int "Set UART6 RX DMA ping-pong buffer size"
|
||||
range 16 65535
|
||||
depends on BSP_USING_UART6 && RT_USING_SERIAL_V2 && BSP_UART6_RX_USING_DMA
|
||||
default 64
|
||||
|
||||
config BSP_UART6_RX_BUFSIZE
|
||||
int "Set UART6 RX buffer size"
|
||||
range 64 65535
|
||||
depends on BSP_USING_UART6 && RT_USING_SERIAL_V2
|
||||
default 64
|
||||
default 128
|
||||
|
||||
config BSP_UART6_TX_BUFSIZE
|
||||
int "Set UART6 TX buffer size"
|
||||
range 0 65535
|
||||
range 64 65535
|
||||
depends on BSP_USING_UART6 && RT_USING_SERIAL_V2
|
||||
default 0
|
||||
default 128
|
||||
|
||||
config BSP_USING_UART7
|
||||
config BSP_USING_UART7
|
||||
bool "Enable UART7"
|
||||
default n
|
||||
|
||||
config BSP_UART7_RX_USING_DMA
|
||||
bool "Enable UART7 RX DMA"
|
||||
depends on BSP_USING_UART7
|
||||
select RT_SERIAL_USING_DMA
|
||||
depends on BSP_USING_UART7 && RT_USING_SERIAL_V2 && RT_SERIAL_USING_DMA
|
||||
default n
|
||||
|
||||
config BSP_UART7_TX_USING_DMA
|
||||
bool "Enable UART7 TX DMA"
|
||||
depends on BSP_USING_UART7
|
||||
select RT_SERIAL_USING_DMA
|
||||
depends on BSP_USING_UART7 && RT_USING_SERIAL_V2 && RT_SERIAL_USING_DMA
|
||||
default n
|
||||
|
||||
config BSP_UART7_DMA_PING_BUFSIZE
|
||||
int "Set UART7 RX DMA ping-pong buffer size"
|
||||
range 16 65535
|
||||
depends on BSP_USING_UART7 && RT_USING_SERIAL_V2 && BSP_UART7_RX_USING_DMA
|
||||
default 64
|
||||
|
||||
config BSP_UART7_RX_BUFSIZE
|
||||
int "Set UART7 RX buffer size"
|
||||
range 64 65535
|
||||
depends on BSP_USING_UART7 && RT_USING_SERIAL_V2
|
||||
default 64
|
||||
default 128
|
||||
|
||||
config BSP_UART7_TX_BUFSIZE
|
||||
int "Set UART7 TX buffer size"
|
||||
range 0 65535
|
||||
range 64 65535
|
||||
depends on BSP_USING_UART7 && RT_USING_SERIAL_V2
|
||||
default 0
|
||||
default 128
|
||||
endif
|
||||
|
||||
menuconfig BSP_USING_SPI
|
||||
|
||||
@@ -263,7 +263,6 @@ static void dma_recv_isr (struct rt_serial_device *serial)
|
||||
RT_ASSERT(serial != RT_NULL);
|
||||
uart = rt_container_of(serial, struct gd32_uart, serial);
|
||||
|
||||
recv_len = 0;
|
||||
level = rt_hw_interrupt_disable();
|
||||
#if defined SOC_SERIES_GD32E23x
|
||||
counter = dma_transfer_number_get(uart->dma.rx.channel);
|
||||
@@ -297,21 +296,14 @@ static void usart_isr (struct rt_serial_device *serial)
|
||||
|
||||
if (usart_interrupt_flag_get(uart->periph, USART_INT_FLAG_RBNE) != RESET)
|
||||
{
|
||||
struct rt_serial_rx_fifo *rx_fifo;
|
||||
rx_fifo = (struct rt_serial_rx_fifo *) serial->serial_rx;
|
||||
RT_ASSERT(rx_fifo != RT_NULL);
|
||||
|
||||
char chr = usart_data_receive(uart->periph);
|
||||
rt_hw_serial_control_isr(serial, RT_HW_SERIAL_CTRL_PUTC, &chr);
|
||||
rt_uint8_t chr = usart_data_receive(uart->periph);
|
||||
rt_hw_serial_control_isr(serial, RT_HW_SERIAL_CTRL_PUTC, (void *)&chr);
|
||||
rt_hw_serial_isr(serial, RT_SERIAL_EVENT_RX_IND);
|
||||
|
||||
/* Clear RXNE interrupt flag */
|
||||
usart_interrupt_flag_clear(uart->periph, USART_INT_FLAG_RBNE);
|
||||
}
|
||||
else if (usart_interrupt_flag_get(uart->periph, USART_INT_FLAG_TBE) != RESET)
|
||||
{
|
||||
rt_uint8_t put_char = 0;
|
||||
if (rt_hw_serial_control_isr(serial, RT_HW_SERIAL_CTRL_GETC, &put_char) == RT_EOK)
|
||||
if (rt_hw_serial_control_isr(serial, RT_HW_SERIAL_CTRL_GETC, (void *)&put_char) == RT_EOK)
|
||||
{
|
||||
usart_data_transmit(uart->periph, put_char);
|
||||
}
|
||||
@@ -320,7 +312,6 @@ static void usart_isr (struct rt_serial_device *serial)
|
||||
usart_interrupt_disable(uart->periph, USART_INT_TBE);
|
||||
usart_interrupt_enable(uart->periph, USART_INT_TC);
|
||||
}
|
||||
usart_interrupt_flag_clear(uart->periph, USART_INT_FLAG_TBE);
|
||||
}
|
||||
else if (usart_interrupt_flag_get(uart->periph, USART_INT_FLAG_TC) != RESET)
|
||||
{
|
||||
@@ -334,10 +325,9 @@ static void usart_isr (struct rt_serial_device *serial)
|
||||
#ifdef RT_SERIAL_USING_DMA
|
||||
else if (usart_interrupt_flag_get(uart->periph, USART_INT_FLAG_IDLE) != RESET)
|
||||
{
|
||||
volatile uint8_t data = (uint8_t)usart_data_receive(uart->periph);
|
||||
|
||||
volatile uint8_t idle_clear_dummy = (uint8_t)usart_data_receive(uart->periph);
|
||||
RT_UNUSED(idle_clear_dummy);
|
||||
dma_recv_isr(serial);
|
||||
|
||||
usart_interrupt_flag_clear(uart->periph, USART_INT_FLAG_IDLE);
|
||||
}
|
||||
#endif
|
||||
@@ -595,8 +585,8 @@ void UART7_IRQHandler (void)
|
||||
}
|
||||
|
||||
#endif /* BSP_USING_UART7 */
|
||||
#if define SOC_SERIES_GD32E23x
|
||||
#if define BSP_UART0_RX_USING_DMA || define BSP_UART0_TX_USING_DMA
|
||||
#if defined SOC_SERIES_GD32E23x
|
||||
#if defined BSP_UART0_RX_USING_DMA || defined BSP_UART0_TX_USING_DMA
|
||||
void DMA_Channel1_2_IRQHandler(void)
|
||||
{
|
||||
/* enter interrupt */
|
||||
@@ -906,6 +896,9 @@ static void _uart_dma_receive (struct gd32_uart *uart, rt_uint8_t *buffer, rt_ui
|
||||
dma_interrupt_enable(uart->dma.rx.channel, DMA_CHXCTL_HTFIE);
|
||||
dma_interrupt_enable(uart->dma.rx.channel, DMA_CHXCTL_FTFIE);
|
||||
|
||||
/* enable circular mode */
|
||||
dma_circulation_enable(uart->dma.rx.channel);
|
||||
|
||||
/* enable dma channel */
|
||||
dma_channel_enable(uart->dma.rx.channel);
|
||||
|
||||
@@ -953,7 +946,11 @@ static void _uart_dma_receive (struct gd32_uart *uart, rt_uint8_t *buffer, rt_ui
|
||||
usart_interrupt_enable(uart->periph, USART_INT_IDLE);
|
||||
|
||||
/* enable dma receive */
|
||||
#if defined SOC_SERIES_GD32F5xx
|
||||
usart_dma_receive_config(uart->periph, USART_DENR_ENABLE);
|
||||
#else
|
||||
usart_dma_receive_config(uart->periph, USART_RECEIVE_DMA_ENABLE);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -972,7 +969,11 @@ static void _uart_dma_transmit (struct gd32_uart *uart, rt_uint8_t *buffer, rt_u
|
||||
DMA_CHCNT(uart->dma.tx.periph, uart->dma.tx.channel) = size;
|
||||
|
||||
/* enable dma transmit */
|
||||
#if defined SOC_SERIES_GD32F5xx
|
||||
usart_dma_transmit_config(uart->periph, USART_DENT_ENABLE);
|
||||
#else
|
||||
usart_dma_transmit_config(uart->periph, USART_TRANSMIT_DMA_ENABLE);
|
||||
#endif
|
||||
|
||||
/* enable dma channel */
|
||||
dma_channel_enable(uart->dma.tx.periph, uart->dma.tx.channel);
|
||||
@@ -1057,7 +1058,7 @@ static void gd32_dma_config (struct rt_serial_device *serial, rt_ubase_t flag)
|
||||
if (flag == RT_DEVICE_FLAG_DMA_RX)
|
||||
{
|
||||
rt_uint8_t *ptr = NULL;
|
||||
rt_hw_serial_control_isr(serial, RT_HW_SERIAL_CTRL_GET_DMA_PING_BUF, &ptr);
|
||||
rt_hw_serial_control_isr(serial, RT_HW_SERIAL_CTRL_GET_DMA_PING_BUF, (void *)&ptr);
|
||||
|
||||
/* start dma transfer */
|
||||
_uart_dma_receive(uart, ptr, serial->config.dma_ping_bufsz);
|
||||
|
||||
@@ -32,12 +32,12 @@ struct gd32_uart
|
||||
rcu_periph_enum tx_gpio_clk;
|
||||
rcu_periph_enum rx_gpio_clk;
|
||||
uint32_t tx_port;
|
||||
#if defined SOC_SERIES_GD32F4xx || defined SOC_SERIES_GD32E23x
|
||||
#if defined SOC_SERIES_GD32F4xx || defined SOC_SERIES_GD32E23x || defined SOC_SERIES_GD32F5xx
|
||||
uint16_t tx_af;
|
||||
#endif
|
||||
uint16_t tx_pin;
|
||||
uint32_t rx_port;
|
||||
#if defined SOC_SERIES_GD32F4xx || defined SOC_SERIES_GD32E23x
|
||||
#if defined SOC_SERIES_GD32F4xx || defined SOC_SERIES_GD32E23x || defined SOC_SERIES_GD32F5xx
|
||||
uint16_t rx_af;
|
||||
#endif
|
||||
uint16_t rx_pin;
|
||||
|
||||
@@ -441,7 +441,7 @@ rt_ssize_t _serial_poll_tx(struct rt_device *dev,
|
||||
|
||||
while (size)
|
||||
{
|
||||
if (serial->parent.open_flag & RT_DEVICE_FLAG_STREAM)
|
||||
if (serial->parent.open_flag & RT_DEVICE_FLAG_STREAM || (dev == rt_console_get_device()))
|
||||
{
|
||||
/* If open_flag satisfies RT_DEVICE_FLAG_STREAM and the received character is '\n',
|
||||
* inserts '\r' character before '\n' character for the effect of carriage return newline */
|
||||
@@ -579,7 +579,7 @@ static rt_ssize_t _serial_fifo_tx_blocking_nbuf(struct rt_device *dev,
|
||||
tx_fifo = (struct rt_serial_tx_fifo *)serial->serial_tx;
|
||||
RT_ASSERT(tx_fifo != RT_NULL);
|
||||
|
||||
if (rt_thread_self() == RT_NULL || (serial->parent.open_flag & RT_DEVICE_FLAG_STREAM))
|
||||
if (rt_thread_self() == RT_NULL || (serial->parent.open_flag & RT_DEVICE_FLAG_STREAM) || (dev == rt_console_get_device()))
|
||||
{
|
||||
/* using poll tx when the scheduler not startup or in stream mode */
|
||||
return _serial_poll_tx(dev, pos, buffer, size);
|
||||
@@ -651,7 +651,7 @@ static rt_ssize_t _serial_fifo_tx_blocking_buf(struct rt_device *dev,
|
||||
tx_fifo = (struct rt_serial_tx_fifo *)serial->serial_tx;
|
||||
RT_ASSERT(tx_fifo != RT_NULL);
|
||||
|
||||
if (rt_thread_self() == RT_NULL || (serial->parent.open_flag & RT_DEVICE_FLAG_STREAM))
|
||||
if (rt_thread_self() == RT_NULL || (serial->parent.open_flag & RT_DEVICE_FLAG_STREAM) || (dev == rt_console_get_device()))
|
||||
{
|
||||
/* using poll tx when the scheduler not startup or in stream mode */
|
||||
return _serial_poll_tx(dev, pos, buffer, size);
|
||||
|
||||
@@ -192,6 +192,14 @@ menuconfig RT_USING_ULOG
|
||||
It will enable the log filter.
|
||||
Such as level filter, log tag filter, log kw filter and tag's level filter.
|
||||
|
||||
config ULOG_USING_FINSH_CMD
|
||||
bool "Enable ulog finsh/msh commands"
|
||||
depends on ULOG_USING_FILTER && RT_USING_FINSH
|
||||
default y
|
||||
help
|
||||
Enable this option to use ulog commands in finsh/msh,
|
||||
such as ulog_lvl, ulog_tag, ulog_kw and so on.
|
||||
|
||||
config ULOG_USING_SYSLOG
|
||||
bool "Enable syslog format log and API."
|
||||
select ULOG_OUTPUT_TIME
|
||||
|
||||
@@ -1084,7 +1084,7 @@ const char *ulog_global_filter_kw_get(void)
|
||||
return ulog.filter.keyword;
|
||||
}
|
||||
|
||||
#ifdef RT_USING_FINSH
|
||||
#if defined(RT_USING_FINSH) && defined(ULOG_USING_FINSH_CMD)
|
||||
#include <finsh.h>
|
||||
|
||||
static void _print_lvl_info(void)
|
||||
@@ -1259,7 +1259,7 @@ static void ulog_filter(uint8_t argc, char **argv)
|
||||
}
|
||||
}
|
||||
MSH_CMD_EXPORT(ulog_filter, Show ulog filter settings);
|
||||
#endif /* RT_USING_FINSH */
|
||||
#endif /* RT_USING_FINSH && ULOG_USING_FINSH_CMD */
|
||||
#endif /* ULOG_USING_FILTER */
|
||||
|
||||
/**
|
||||
|
||||
@@ -19,9 +19,9 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
int rt_vsprintf(char *dest, const char *format, va_list arg_ptr);
|
||||
int rt_vsnprintf(char *buf, rt_size_t size, const char *fmt, va_list args);
|
||||
int rt_vsnprintf(char *buf, size_t size, const char *fmt, va_list args);
|
||||
int rt_sprintf(char *buf, const char *format, ...);
|
||||
int rt_snprintf(char *buf, rt_size_t size, const char *format, ...);
|
||||
int rt_snprintf(char *buf, size_t size, const char *format, ...);
|
||||
int rt_vsscanf(const char *buffer, const char *format, va_list ap);
|
||||
int rt_sscanf(const char *str, const char *format, ...);
|
||||
|
||||
|
||||
@@ -17,20 +17,20 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void *rt_memset(void *src, int c, rt_ubase_t n);
|
||||
void *rt_memcpy(void *dest, const void *src, rt_ubase_t n);
|
||||
void *rt_memmove(void *dest, const void *src, rt_size_t n);
|
||||
rt_int32_t rt_memcmp(const void *cs, const void *ct, rt_size_t count);
|
||||
void *rt_memset(void *s, int c, size_t n);
|
||||
void *rt_memcpy(void *dest, const void *src, size_t n);
|
||||
void *rt_memmove(void *dest, const void *src, size_t n);
|
||||
int rt_memcmp(const void *cs, const void *ct, size_t count);
|
||||
|
||||
char *rt_strdup(const char *s);
|
||||
rt_size_t rt_strnlen(const char *s, rt_ubase_t maxlen);
|
||||
size_t rt_strnlen(const char *s, size_t maxlen);
|
||||
char *rt_strstr(const char *str1, const char *str2);
|
||||
rt_int32_t rt_strcasecmp(const char *a, const char *b);
|
||||
int rt_strcasecmp(const char *a, const char *b);
|
||||
char *rt_strcpy(char *dst, const char *src);
|
||||
char *rt_strncpy(char *dest, const char *src, rt_size_t n);
|
||||
rt_int32_t rt_strncmp(const char *cs, const char *ct, rt_size_t count);
|
||||
rt_int32_t rt_strcmp(const char *cs, const char *ct);
|
||||
rt_size_t rt_strlen(const char *src);
|
||||
char *rt_strncpy(char *dest, const char *src, size_t n);
|
||||
int rt_strncmp(const char *cs, const char *ct, size_t count);
|
||||
int rt_strcmp(const char *cs, const char *ct);
|
||||
size_t rt_strlen(const char *src);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -25,9 +25,9 @@
|
||||
*
|
||||
* @return The number of characters actually written to buffer.
|
||||
*/
|
||||
int rt_snprintf(char *buf, rt_size_t size, const char *fmt, ...)
|
||||
int rt_snprintf(char *buf, size_t size, const char *fmt, ...)
|
||||
{
|
||||
rt_int32_t n = 0;
|
||||
int n = 0;
|
||||
va_list args;
|
||||
|
||||
va_start(args, fmt);
|
||||
@@ -51,7 +51,7 @@ RTM_EXPORT(rt_snprintf);
|
||||
*/
|
||||
int rt_vsprintf(char *buf, const char *format, va_list arg_ptr)
|
||||
{
|
||||
return rt_vsnprintf(buf, (rt_size_t) - 1, format, arg_ptr);
|
||||
return rt_vsnprintf(buf, (size_t) - 1, format, arg_ptr);
|
||||
}
|
||||
RTM_EXPORT(rt_vsprintf);
|
||||
|
||||
@@ -66,7 +66,7 @@ RTM_EXPORT(rt_vsprintf);
|
||||
*/
|
||||
int rt_sprintf(char *buf, const char *format, ...)
|
||||
{
|
||||
rt_int32_t n = 0;
|
||||
int n = 0;
|
||||
va_list arg_ptr;
|
||||
|
||||
va_start(arg_ptr, format);
|
||||
@@ -78,7 +78,7 @@ int rt_sprintf(char *buf, const char *format, ...)
|
||||
RTM_EXPORT(rt_sprintf);
|
||||
|
||||
#ifdef RT_KLIBC_USING_LIBC_VSNPRINTF
|
||||
int rt_vsnprintf(char *buf, rt_size_t size, const char *fmt, va_list args)
|
||||
int rt_vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
|
||||
{
|
||||
return vsnprintf(buf, size, fmt, args);
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
* @return The address of source memory.
|
||||
*/
|
||||
#ifndef RT_KLIBC_USING_USER_MEMSET
|
||||
void *rt_memset(void *s, int c, rt_ubase_t count)
|
||||
void *rt_memset(void *s, int c, size_t count)
|
||||
{
|
||||
#if defined(RT_KLIBC_USING_LIBC_MEMSET)
|
||||
return memset(s, c, count);
|
||||
@@ -121,13 +121,13 @@ RTM_EXPORT(rt_memset);
|
||||
* @return The address of destination memory
|
||||
*/
|
||||
#ifndef RT_KLIBC_USING_USER_MEMCPY
|
||||
void *rt_memcpy(void *dst, const void *src, rt_ubase_t count)
|
||||
void *rt_memcpy(void *dst, const void *src, size_t count)
|
||||
{
|
||||
#if defined(RT_KLIBC_USING_LIBC_MEMCPY)
|
||||
return memcpy(dst, src, count);
|
||||
#elif defined(RT_KLIBC_USING_TINY_MEMCPY)
|
||||
char *tmp = (char *)dst, *s = (char *)src;
|
||||
rt_ubase_t len = 0;
|
||||
size_t len = 0;
|
||||
|
||||
if (tmp <= s || tmp > (s + count))
|
||||
{
|
||||
@@ -153,7 +153,7 @@ void *rt_memcpy(void *dst, const void *src, rt_ubase_t count)
|
||||
char *src_ptr = (char *)src;
|
||||
long *aligned_dst = RT_NULL;
|
||||
long *aligned_src = RT_NULL;
|
||||
rt_ubase_t len = count;
|
||||
size_t len = count;
|
||||
|
||||
/* If the size is small, or either SRC or DST is unaligned,
|
||||
then punt into the byte copy loop. This should be rare. */
|
||||
@@ -211,7 +211,7 @@ RTM_EXPORT(rt_memcpy);
|
||||
* @return The address of destination memory.
|
||||
*/
|
||||
#ifndef RT_KLIBC_USING_USER_MEMMOVE
|
||||
void *rt_memmove(void *dest, const void *src, rt_size_t n)
|
||||
void *rt_memmove(void *dest, const void *src, size_t n)
|
||||
{
|
||||
#ifdef RT_KLIBC_USING_LIBC_MEMMOVE
|
||||
return memmove(dest, src, n);
|
||||
@@ -253,7 +253,7 @@ RTM_EXPORT(rt_memmove);
|
||||
* If the result = 0, cs is equal to ct.
|
||||
*/
|
||||
#ifndef RT_KLIBC_USING_USER_MEMCMP
|
||||
rt_int32_t rt_memcmp(const void *cs, const void *ct, rt_size_t count)
|
||||
int rt_memcmp(const void *cs, const void *ct, size_t count)
|
||||
{
|
||||
#ifdef RT_KLIBC_USING_LIBC_MEMCMP
|
||||
return memcmp(cs, ct, count);
|
||||
@@ -326,7 +326,7 @@ RTM_EXPORT(rt_strstr);
|
||||
* If the result = 0, a is equal to a.
|
||||
*/
|
||||
#ifndef RT_KLIBC_USING_USER_STRCASECMP
|
||||
rt_int32_t rt_strcasecmp(const char *a, const char *b)
|
||||
int rt_strcasecmp(const char *a, const char *b)
|
||||
{
|
||||
int ca = 0, cb = 0;
|
||||
|
||||
@@ -358,7 +358,7 @@ RTM_EXPORT(rt_strcasecmp);
|
||||
* @return The address where the copied content is stored.
|
||||
*/
|
||||
#ifndef RT_KLIBC_USING_USER_STRNCPY
|
||||
char *rt_strncpy(char *dst, const char *src, rt_size_t n)
|
||||
char *rt_strncpy(char *dst, const char *src, size_t n)
|
||||
{
|
||||
#ifdef RT_KLIBC_USING_LIBC_STRNCPY
|
||||
return strncpy(dst, src, n);
|
||||
@@ -435,7 +435,7 @@ RTM_EXPORT(rt_strcpy);
|
||||
* If the result = 0, cs is equal to ct.
|
||||
*/
|
||||
#ifndef RT_KLIBC_USING_USER_STRNCMP
|
||||
rt_int32_t rt_strncmp(const char *cs, const char *ct, rt_size_t count)
|
||||
int rt_strncmp(const char *cs, const char *ct, size_t count)
|
||||
{
|
||||
#ifdef RT_KLIBC_USING_LIBC_STRNCMP
|
||||
return strncmp(cs, ct, count);
|
||||
@@ -471,7 +471,7 @@ RTM_EXPORT(rt_strncmp);
|
||||
* If the result = 0, cs is equal to ct.
|
||||
*/
|
||||
#ifndef RT_KLIBC_USING_USER_STRCMP
|
||||
rt_int32_t rt_strcmp(const char *cs, const char *ct)
|
||||
int rt_strcmp(const char *cs, const char *ct)
|
||||
{
|
||||
#ifdef RT_KLIBC_USING_LIBC_STRCMP
|
||||
return strcmp(cs, ct);
|
||||
@@ -497,7 +497,7 @@ RTM_EXPORT(rt_strcmp);
|
||||
* @return The length of string.
|
||||
*/
|
||||
#ifndef RT_KLIBC_USING_USER_STRLEN
|
||||
rt_size_t rt_strlen(const char *s)
|
||||
size_t rt_strlen(const char *s)
|
||||
{
|
||||
#ifdef RT_KLIBC_USING_LIBC_STRLEN
|
||||
return strlen(s);
|
||||
@@ -524,10 +524,10 @@ RTM_EXPORT(rt_strlen);
|
||||
* @return The length of string.
|
||||
*/
|
||||
#ifndef RT_KLIBC_USING_USER_STRNLEN
|
||||
rt_size_t rt_strnlen(const char *s, rt_ubase_t maxlen)
|
||||
size_t rt_strnlen(const char *s, size_t maxlen)
|
||||
{
|
||||
const char *sc;
|
||||
for (sc = s; *sc != '\0' && (rt_ubase_t)(sc - s) < maxlen; ++sc);
|
||||
for (sc = s; *sc != '\0' && (size_t)(sc - s) < maxlen; ++sc);
|
||||
return sc - s;
|
||||
}
|
||||
#endif /* RT_KLIBC_USING_USER_STRNLEN */
|
||||
@@ -543,7 +543,7 @@ RTM_EXPORT(rt_strnlen);
|
||||
*/
|
||||
char *rt_strdup(const char *s)
|
||||
{
|
||||
rt_size_t len = rt_strlen(s) + 1;
|
||||
size_t len = rt_strlen(s) + 1;
|
||||
char *tmp = (char *)rt_malloc(len);
|
||||
|
||||
if (!tmp)
|
||||
|
||||
@@ -222,6 +222,7 @@ typedef unsigned int printf_size_t;
|
||||
#if defined(RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS) || defined(RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS)
|
||||
#include <float.h>
|
||||
#if FLT_RADIX != 2
|
||||
// cppcheck-suppress preprocessorErrorDirective
|
||||
#error "Non-binary-radix floating-point types are unsupported."
|
||||
#endif
|
||||
|
||||
@@ -1344,7 +1345,7 @@ static int vsnprintf_impl(output_gadget_t* output, const char* format, va_list a
|
||||
*
|
||||
* @return The number of characters actually written to buffer.
|
||||
*/
|
||||
int rt_vsnprintf(char *buf, rt_size_t size, const char *fmt, va_list args)
|
||||
int rt_vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
|
||||
{
|
||||
output_gadget_t gadget = buffer_gadget(buf, size);
|
||||
return vsnprintf_impl(&gadget, fmt, args);
|
||||
|
||||
@@ -295,7 +295,7 @@ static char *print_number(char *buf,
|
||||
*
|
||||
* @return The number of characters actually written to buffer.
|
||||
*/
|
||||
int rt_vsnprintf(char *buf, rt_size_t size, const char *fmt, va_list args)
|
||||
int rt_vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
|
||||
{
|
||||
#ifdef RT_KLIBC_USING_VSNPRINTF_LONGLONG
|
||||
unsigned long long num = 0;
|
||||
@@ -576,7 +576,7 @@ int rt_vsnprintf(char *buf, rt_size_t size, const char *fmt, va_list args)
|
||||
}
|
||||
else if (qualifier == 'z')
|
||||
{
|
||||
num = va_arg(args, rt_size_t);
|
||||
num = va_arg(args, size_t);
|
||||
if (flags & SIGN)
|
||||
{
|
||||
num = (rt_ssize_t)num;
|
||||
|
||||
Reference in New Issue
Block a user