Merge branch 'prepare_for_master' of https://git.trustie.net/xuos/xiuos into develop

This commit is contained in:
Wang_Weigen
2022-06-22 14:57:51 +08:00
40 changed files with 598 additions and 184 deletions
@@ -25,14 +25,12 @@ CONFIG_RT_USING_HOOK=y
CONFIG_RT_USING_IDLE_HOOK=y
CONFIG_RT_IDLE_HOOK_LIST_SIZE=4
CONFIG_IDLE_THREAD_STACK_SIZE=256
CONFIG_RT_USING_TIMER_SOFT=y
CONFIG_RT_TIMER_THREAD_PRIO=4
CONFIG_RT_TIMER_THREAD_STACK_SIZE=512
# CONFIG_RT_USING_TIMER_SOFT is not set
#
# kservice optimization
#
# CONFIG_RT_KSERVICE_USING_STDLIB is not set
CONFIG_RT_KSERVICE_USING_STDLIB=y
# CONFIG_RT_KSERVICE_USING_TINY_SIZE is not set
# CONFIG_RT_USING_ASM_MEMCPY is not set
CONFIG_RT_DEBUG=y
@@ -186,9 +184,7 @@ CONFIG_RT_USING_PIN=y
# CONFIG_RT_USING_MTD_NOR is not set
# CONFIG_RT_USING_MTD_NAND is not set
# CONFIG_RT_USING_PM is not set
CONFIG_RT_USING_RTC=y
# CONFIG_RT_USING_ALARM is not set
# CONFIG_RT_USING_SOFT_RTC is not set
# CONFIG_RT_USING_RTC is not set
# CONFIG_RT_USING_SDIO is not set
CONFIG_RT_USING_SPI=y
# CONFIG_RT_USING_QSPI is not set
@@ -284,9 +280,9 @@ CONFIG_SOC_STM32F407ZG=y
CONFIG_BSP_USING_GPIO=y
CONFIG_BSP_USING_UART=y
CONFIG_BSP_USING_UART1=y
# CONFIG_BSP_USING_UART2 is not set
CONFIG_BSP_USING_UART2=y
CONFIG_BSP_USING_UART3=y
CONFIG_BSP_USING_UART4=y
# CONFIG_BSP_USING_UART4 is not set
# CONFIG_BSP_USING_I2C1 is not set
# CONFIG_BSP_USING_SPI is not set
# CONFIG_BSP_USING_CH438 is not set
@@ -330,12 +326,11 @@ CONFIG_CONNECTION_FRAMEWORK_DEBUG=y
# CONFIG_CONNECTION_ADAPTER_4G is not set
# CONFIG_CONNECTION_ADAPTER_NB is not set
# CONFIG_CONNECTION_ADAPTER_WIFI is not set
# CONFIG_CONNECTION_ADAPTER_ETHERNET is not set
CONFIG_CONNECTION_ADAPTER_BLUETOOTH=y
CONFIG_ADAPTER_HC08=y
CONFIG_ADAPTER_BLUETOOTH_HC08="hc08"
CONFIG_ADAPTER_HC08_WORK_ROLE="M"
CONFIG_ADAPTER_HC08_DRIVER="/dev/uart4"
CONFIG_ADAPTER_HFA21_DRIVER="/dev/uart3"
CONFIG_CONNECTION_ADAPTER_ETHERNET=y
CONFIG_ADAPTER_HFA21_ETHERNET=y
CONFIG_ADAPTER_ETHERNET_HFA21="hfa21_ethernet"
# CONFIG_CONNECTION_ADAPTER_BLUETOOTH is not set
# CONFIG_CONNECTION_ADAPTER_ZIGBEE is not set
# CONFIG_CONNECTION_ADAPTER_5G is not set
# CONFIG_SUPPORT_KNOWING_FRAMEWORK is not set
@@ -384,6 +379,7 @@ CONFIG_MAIN_KTASK_STACK_SIZE=1024
#
# CONFIG_APPLICATION_SENSOR is not set
# CONFIG_USING_EMBEDDED_DATABASE_APP is not set
# CONFIG_APP_USING_WEBNET is not set
#
# lib
@@ -21,12 +21,10 @@
#define RT_USING_IDLE_HOOK
#define RT_IDLE_HOOK_LIST_SIZE 4
#define IDLE_THREAD_STACK_SIZE 256
#define RT_USING_TIMER_SOFT
#define RT_TIMER_THREAD_PRIO 4
#define RT_TIMER_THREAD_STACK_SIZE 512
/* kservice optimization */
#define RT_KSERVICE_USING_STDLIB
#define RT_DEBUG
#define RT_DEBUG_COLOR
@@ -123,7 +121,6 @@
#define RT_USING_I2C
#define RT_USING_I2C_BITOPS
#define RT_USING_PIN
#define RT_USING_RTC
#define RT_USING_SPI
#define RT_USING_SPI_MSD
#define RT_USING_SFUD
@@ -174,8 +171,8 @@
#define BSP_USING_GPIO
#define BSP_USING_UART
#define BSP_USING_UART1
#define BSP_USING_UART2
#define BSP_USING_UART3
#define BSP_USING_UART4
#define BSP_USING_USB
#define BSP_USING_STM32_USBH
#define USB_BUS_NAME "usb"
@@ -196,11 +193,10 @@
#define ADD_RTTHREAD_FETURES
#define SUPPORT_CONNECTION_FRAMEWORK
#define CONNECTION_FRAMEWORK_DEBUG
#define CONNECTION_ADAPTER_BLUETOOTH
#define ADAPTER_HC08
#define ADAPTER_BLUETOOTH_HC08 "hc08"
#define ADAPTER_HC08_WORK_ROLE "M"
#define ADAPTER_HC08_DRIVER "/dev/uart4"
#define ADAPTER_HFA21_DRIVER "/dev/uart3"
#define CONNECTION_ADAPTER_ETHERNET
#define ADAPTER_HFA21_ETHERNET
#define ADAPTER_ETHERNET_HFA21 "hfa21_ethernet"
/* Security */
@@ -87,6 +87,17 @@ static const struct WdtDevDone dev_done =
NONE,
};
/**
* @description: Watchdog function
* @return success: EOK, failure: other
*/
int StartWatchdog(void)
{
//add feed watchdog task function
return EOK;
}
/**
* This function Watchdog initialization
*
@@ -65,6 +65,17 @@ static const struct WdtDevDone dev_done =
NONE,
};
/**
* @description: Watchdog function
* @return success: EOK, failure: other
*/
int StartWatchdog(void)
{
//add feed watchdog task function
return EOK;
}
int HwWdtInit(void)
{
wdt_device_number_t id;
@@ -118,6 +118,7 @@ static uint32 SerialInit(struct SerialDriver *serial_drv, struct BusConfigureInf
struct SerialHardwareDevice *serial_dev = (struct SerialHardwareDevice *)serial_drv->driver.owner_bus->owner_haldev;
struct SerialDevParam *dev_param = (struct SerialDevParam *)serial_dev->haldev.private_data;
struct SerialCfgParam *serial_cfg = (struct SerialCfgParam *)serial_drv->private_data;
// config serial receive sem timeout
dev_param->serial_timeout = serial_cfg->data_cfg.serial_timeout;
@@ -119,6 +119,7 @@ static uint32 SerialInit(struct SerialDriver *serial_drv, struct BusConfigureInf
struct SerialHardwareDevice *serial_dev = (struct SerialHardwareDevice *)serial_drv->driver.owner_bus->owner_haldev;
struct SerialDevParam *dev_param = (struct SerialDevParam *)serial_dev->haldev.private_data;
struct SerialCfgParam *serial_cfg = (struct SerialCfgParam *)serial_drv->private_data;
// config serial receive sem timeout
dev_param->serial_timeout = serial_cfg->data_cfg.serial_timeout;
@@ -66,6 +66,17 @@ static const struct WdtDevDone dev_done =
NONE,
};
/**
* @description: Watchdog function
* @return success: EOK, failure: other
*/
int StartWatchdog(void)
{
//add feed watchdog task function
return EOK;
}
int HwWdtInit(void)
{
wdt_device_number_t id;
@@ -66,6 +66,17 @@ static const struct WdtDevDone dev_done =
NONE,
};
/**
* @description: Watchdog function
* @return success: EOK, failure: other
*/
int StartWatchdog(void)
{
//add feed watchdog task function
return EOK;
}
int HwWdtInit(void)
{
wdt_device_number_t id;
@@ -86,6 +86,17 @@ static const struct WdtDevDone dev_done =
NONE,
};
/**
* @description: Watchdog function
* @return success: EOK, failure: other
*/
int StartWatchdog(void)
{
//add feed watchdog task function
return EOK;
}
/**
* This function Watchdog initialization
*
@@ -1027,15 +1027,15 @@ static uint32 ImxrtCh438ReadData(void *dev, struct BusBlockReadParam *read_param
if (EOK == result) {
gInterruptStatus = ReadCH438Data(REG_SSR_ADDR);
if (!gInterruptStatus) {
// dat = ReadCH438Data(REG_LCR0_ADDR);
// dat = ReadCH438Data(REG_IER0_ADDR);
// dat = ReadCH438Data(REG_MCR0_ADDR);
// dat = ReadCH438Data(REG_LSR0_ADDR);
// dat = ReadCH438Data(REG_MSR0_ADDR);
// dat = ReadCH438Data(REG_RBR0_ADDR);
// dat = ReadCH438Data(REG_THR0_ADDR);
// dat = ReadCH438Data(REG_IIR0_ADDR);
// dat = dat;
dat = ReadCH438Data(REG_LCR0_ADDR);
dat = ReadCH438Data(REG_IER0_ADDR);
dat = ReadCH438Data(REG_MCR0_ADDR);
dat = ReadCH438Data(REG_LSR0_ADDR);
dat = ReadCH438Data(REG_MSR0_ADDR);
dat = ReadCH438Data(REG_RBR0_ADDR);
dat = ReadCH438Data(REG_THR0_ADDR);
dat = ReadCH438Data(REG_IIR0_ADDR);
dat = dat;
interrupt_done = 0;
} else {
if (gInterruptStatus & interrupt_num[dev_param->ext_uart_no]) { /* check which uart port triggers interrupt*/
@@ -1053,17 +1053,26 @@ static uint32 ImxrtCh438ReadData(void *dev, struct BusBlockReadParam *read_param
InterruptStatus = ReadCH438Data( REG_IIR_ADDR ) & 0x0f; /* read the status of the uart port*/
if ((INT_RCV_OVERTIME == InterruptStatus) || (INT_RCV_SUCCESS == InterruptStatus)) {
rcv_num = Ch438UartRcv(dev_param->ext_uart_no, (uint8 *)read_param->buffer, read_param->size);
read_param->read_length = rcv_num;
interrupt_done = 1;
// int i;
// uint8 *buffer = (uint8 *)read_param->buffer;
// for (i = 0; i < rcv_num; i ++) {
// KPrintf("Ch438UartRcv i %u data 0x%x\n", i, buffer[i]);
// }
switch( InterruptStatus )
{
case INT_NOINT: /* NO INTERRUPT */
break;
case INT_THR_EMPTY: /* THR EMPTY INTERRUPT */
break;
case INT_RCV_OVERTIME: /* RECV OVERTIME INTERRUPT */
case INT_RCV_SUCCESS: /* RECV INTERRUPT SUCCESSFULLY */
rcv_num = Ch438UartRcv(dev_param->ext_uart_no, (uint8 *)read_param->buffer, read_param->size);
read_param->read_length = rcv_num;
interrupt_done = 1;
break;
case INT_RCV_LINES: /* RECV LINES INTERRUPT */
ReadCH438Data( REG_LSR_ADDR );
break;
case INT_MODEM_CHANGE: /* MODEM CHANGE INTERRUPT */
ReadCH438Data( REG_MSR_ADDR );
break;
default:
break;
}
}
}
@@ -1094,6 +1094,21 @@ void BOARD_InitUartPins(void)
IOMUXC_GPIO_AD_B1_03_LPUART2_RX,
0x10B0u);
#endif
#ifdef BSP_USING_LPUART8
IOMUXC_SetPinMux(
IOMUXC_GPIO_AD_B1_10_LPUART8_TX,
0U);
IOMUXC_SetPinMux(
IOMUXC_GPIO_AD_B1_11_LPUART8_RX,
0U);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_AD_B1_10_LPUART8_TX,
0x10B0u);
IOMUXC_SetPinConfig(
IOMUXC_GPIO_AD_B1_11_LPUART8_RX,
0x10B0u);
#endif
}
/* FUNCTION ************************************************************************************************************
@@ -1191,30 +1206,6 @@ void BOARD_InitPins(void)
Pull Up / Down Config. Field: 100K Ohm Pull Up
Hyst. Enable Field: Hysteresis Disabled */
#if UART_DEBUG
IOMUXC_SetPinConfig(
IOMUXC_GPIO_AD_B0_12_LPUART1_TX, /* GPIO_AD_B0_12 PAD functional properties : */
0x10B0u); /* Slew Rate Field: Slow Slew Rate
Drive Strength Field: R0/6
Speed Field: medium(100MHz)
Open Drain Enable Field: Open Drain Disabled
Pull / Keep Enable Field: Pull/Keeper Enabled
Pull / Keep Select Field: Keeper
Pull Up / Down Config. Field: 100K Ohm Pull Down
Hyst. Enable Field: Hysteresis Disabled */
IOMUXC_SetPinConfig(
IOMUXC_GPIO_AD_B0_13_LPUART1_RX, /* GPIO_AD_B0_13 PAD functional properties : */
0x10B0u); /* Slew Rate Field: Slow Slew Rate
Drive Strength Field: R0/6
Speed Field: medium(100MHz)
Open Drain Enable Field: Open Drain Disabled
Pull / Keep Enable Field: Pull/Keeper Enabled
Pull / Keep Select Field: Keeper
Pull Up / Down Config. Field: 100K Ohm Pull Down
Hyst. Enable Field: Hysteresis Disabled */
#endif
IOMUXC_SetPinConfig(
IOMUXC_GPIO_B1_04_ENET_RX_DATA00, /* GPIO_B1_04 PAD functional properties : */
0xB0E9u); /* Slew Rate Field: Fast Slew Rate
@@ -1317,8 +1308,6 @@ void BOARD_InitPins(void)
Hyst. Enable Field: Hysteresis Disabled */
}
/***********************************************************************************************************************
* EOF
**********************************************************************************************************************/
@@ -1,29 +1,44 @@
config BSP_USING_LPUART1
bool "Enable LPUART1"
default y
if BSP_USING_LPUART1
config SERIAL_BUS_NAME_1
string "serial bus 1 name"
default "uart1"
config SERIAL_DRV_NAME_1
string "serial bus 1 driver name"
default "uart1_drv"
config SERIAL_1_DEVICE_NAME_0
string "serial bus 1 device name"
default "uart1_dev1"
endif
bool "Enable LPUART1"
default y
if BSP_USING_LPUART1
config SERIAL_BUS_NAME_1
string "serial bus 1 name"
default "uart1"
config SERIAL_DRV_NAME_1
string "serial bus 1 driver name"
default "uart1_drv"
config SERIAL_1_DEVICE_NAME_0
string "serial bus 1 device name"
default "uart1_dev1"
endif
config BSP_USING_LPUART2
bool "Enable LPUART2"
default y
if BSP_USING_LPUART2
config SERIAL_BUS_NAME_2
string "serial bus 2 name"
default "uart2"
config SERIAL_DRV_NAME_2
string "serial bus 2 driver name"
default "uart2_drv"
config SERIAL_2_DEVICE_NAME_0
string "serial bus 2 device name"
default "uart2_dev2"
endif
bool "Enable LPUART2"
default y
if BSP_USING_LPUART2
config SERIAL_BUS_NAME_2
string "serial bus 2 name"
default "uart2"
config SERIAL_DRV_NAME_2
string "serial bus 2 driver name"
default "uart2_drv"
config SERIAL_2_DEVICE_NAME_0
string "serial bus 2 device name"
default "uart2_dev2"
endif
config BSP_USING_LPUART8
bool "Enable LPUART8"
default n
if BSP_USING_LPUART8
config SERIAL_BUS_NAME_8
string "serial bus 8 name"
default "uart8"
config SERIAL_DRV_NAME_8
string "serial bus 8 driver name"
default "uart8_drv"
config SERIAL_8_DEVICE_NAME_0
string "serial bus 8 device name"
default "uart8_dev8"
endif
@@ -43,7 +43,7 @@ void LPUART1_IRQHandler(int irqn, void *arg)
DisableIRQ(UART1_IRQn);
UartIsr(&serial_bus_1, &serial_driver_1, &serial_device_1);
EnableIRQ(UART1_IRQn);
EnableIRQ(UART1_IRQn);
}
DECLARE_HW_IRQ(UART1_IRQn, LPUART1_IRQHandler, NONE);
@@ -66,6 +66,23 @@ void LPUART2_IRQHandler(int irqn, void *arg)
DECLARE_HW_IRQ(UART2_IRQn, LPUART2_IRQHandler, NONE);
#endif
#ifdef BSP_USING_LPUART8
struct SerialBus serial_bus_8;
struct SerialDriver serial_driver_8;
struct SerialHardwareDevice serial_device_8;
void LPUART8_IRQHandler(int irqn, void *arg)
{
DisableIRQ(LPUART8_IRQn);
UartIsr(&serial_bus_8, &serial_driver_8, &serial_device_8);
EnableIRQ(LPUART8_IRQn);
}
DECLARE_HW_IRQ(LPUART8_IRQn, LPUART8_IRQHandler, NONE);
#endif
static void SerialCfgParamCheck(struct SerialCfgParam *serial_cfg_default, struct SerialCfgParam *serial_cfg_new)
{
struct SerialDataCfg *data_cfg_default = &serial_cfg_default->data_cfg;
@@ -426,5 +443,38 @@ int Imxrt1052HwUartInit(void)
}
#endif
#ifdef BSP_USING_LPUART8
static struct SerialCfgParam serial_cfg_8;
memset(&serial_cfg_8, 0, sizeof(struct SerialCfgParam));
static struct SerialDevParam serial_dev_param_8;
memset(&serial_dev_param_8, 0, sizeof(struct SerialDevParam));
serial_driver_8.drv_done = &drv_done;
serial_driver_8.configure = &SerialDrvConfigure;
serial_device_8.hwdev_done = &hwdev_done;
serial_cfg_8.data_cfg = data_cfg_init;
serial_cfg_8.hw_cfg.private_data = (void *)LPUART8;
serial_cfg_8.hw_cfg.serial_irq_interrupt = LPUART8_IRQn;
serial_driver_8.private_data = (void *)&serial_cfg_8;
serial_dev_param_8.serial_work_mode = SIGN_OPER_INT_RX;
serial_device_8.haldev.private_data = (void *)&serial_dev_param_8;
ret = BoardSerialBusInit(&serial_bus_8, &serial_driver_8, SERIAL_BUS_NAME_8, SERIAL_DRV_NAME_8);
if (EOK != ret) {
KPrintf("Imxrt1052HwUartInit uart error ret %u\n", ret);
return ERROR;
}
ret = BoardSerialDevBend(&serial_device_8, (void *)&serial_cfg_8, SERIAL_BUS_NAME_8, SERIAL_8_DEVICE_NAME_0);
if (EOK != ret) {
KPrintf("Imxrt1052HwUartInit uart error ret %u\n", ret);
return ERROR;
}
#endif
return ret;
}
+16 -16
View File
@@ -24,31 +24,31 @@ void PollAdd(WaitQueueType *wq, pollreqType *req)
}
struct rt_poll_node;
struct poll_node;
struct rt_poll_table
struct poll_table
{
pollreqType req;
uint32 triggered;
KTaskDescriptorType polling_thread;
struct rt_poll_node *nodes;
struct poll_node *nodes;
};
struct rt_poll_node
struct poll_node
{
struct WaitqueueNode wqn;
struct rt_poll_table *pt;
struct rt_poll_node *next;
struct poll_table *pt;
struct poll_node *next;
};
static int WqueuePollWake(struct WaitqueueNode *wait, void *key)
{
struct rt_poll_node *pn;
struct poll_node *pn;
if (key && !((x_ubase)key & wait->key))
return -1;
pn =CONTAINER_OF(wait, struct rt_poll_node, wqn);
pn =CONTAINER_OF(wait, struct poll_node, wqn);
pn->pt->triggered = 1;
return 0;
@@ -56,14 +56,14 @@ static int WqueuePollWake(struct WaitqueueNode *wait, void *key)
static void _poll_add(WaitQueueType *wq, pollreqType *req)
{
struct rt_poll_table *pt;
struct rt_poll_node *node;
struct poll_table *pt;
struct poll_node *node;
node = (struct rt_poll_node *)x_malloc(sizeof(struct rt_poll_node));
node = (struct poll_node *)x_malloc(sizeof(struct poll_node));
if (node == NONE)
return;
pt =CONTAINER_OF(req, struct rt_poll_table, req);
pt =CONTAINER_OF(req, struct poll_table, req);
node->wqn.key = req->_key;
InitDoubleLinkList(&(node->wqn.list));
@@ -77,7 +77,7 @@ static void _poll_add(WaitQueueType *wq, pollreqType *req)
static int PollWaitTimeout(struct rt_poll_table *pt, int msec)
static int PollWaitTimeout(struct poll_table *pt, int msec)
{
int32 timeout;
int ret = 0;
@@ -135,7 +135,7 @@ static int DoPollFd(struct pollfd *pollfd, pollreqType *req)
return mask;
}
static int PollDo(struct pollfd *fds, NfdsType nfds, struct rt_poll_table *pt, int msec)
static int PollDo(struct pollfd *fds, NfdsType nfds, struct poll_table *pt, int msec)
{
int num;
int istimeout = 0;
@@ -175,8 +175,8 @@ static int PollDo(struct pollfd *fds, NfdsType nfds, struct rt_poll_table *pt, i
int poll(struct pollfd *fds, NfdsType nfds, int timeout)
{
int num;
struct rt_poll_table table;
struct rt_poll_node *node, *temp;
struct poll_table table;
struct poll_node *node, *temp;
table.req._proc = _poll_add;
table.triggered = 0;
+4 -4
View File
@@ -31,10 +31,6 @@
#include "connect_usb.h"
#endif
#ifdef BSP_USING_WDT
#include "connect_wdt.h"
#endif
#ifdef KERNEL_USER_MAIN
#ifndef MAIN_KTASK_STACK_SIZE
#define MAIN_KTASK_STACK_SIZE 2048
@@ -44,6 +40,10 @@
#endif
#endif
#ifdef BSP_USING_WDT
extern int StartWatchdog(void);
#endif
extern void CreateKServiceKTask(void);
extern int main(void);
void InitBoardHardware(void);
@@ -39,7 +39,7 @@
*/
#ifndef __SYS_ARCH__
#define __SYS_ATCH__
#define __SYS_ARCH__
#include <lwip/opt.h>
#include <lwip/arch.h>