⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sysserial.c

📁 s3c2410 vxworks 的bsp
💻 C
字号:
/* sysSerial.c - Samsung SBC ARM9 serial device initialization *//* Copyright 1984-2001 Wind River Systems, Inc. */#include "copyright_wrs.h"#include "vxWorks.h"#include "iv.h"#include "intLib.h"#include "config.h"#include "sysLib.h"#include "s3c2410xSio.h"#include "wrSbcArm9.h"#include "s3c2410xSio.c"/* device initialization structure */typedef struct    {    UINT  vector;    UINT32 *baseAdrs;    UINT  regSpace;    UINT  intLevel;    } SBCARM9_CHAN_PARAS;/* Local data structures */LOCAL SBCARM9_CHAN_PARAS devParas[] =    {      {INT_VEC_UART0, (UINT32 *)SERIAL_A_BASE_ADR, UART_REG_ADDR_INTERVAL, INT_LVL_UART0},      {INT_VEC_UART1, (UINT32 *)SERIAL_B_BASE_ADR, UART_REG_ADDR_INTERVAL, INT_LVL_UART1 },    }; LOCAL S3C2410X_CHAN s3c2410xChan[N_SBCARM9_UART_CHANNELS];SIO_CHAN * sysSioChans [] =    {    &s3c2410xChan[0].sio, /* /tyCo/0 */    &s3c2410xChan[1].sio, /* /tyCo/1 */    };void sysHwTestSnd(char sndChar){	s3c2410xPollOutput((SIO_CHAN *)&s3c2410xChan[0] , sndChar);}void sysHwTestRecv(char *recv){		s3c2410xPollInput((SIO_CHAN *)&s3c2410xChan[0] , recv);}/******************************************************************************** sysSerialHwInit - initialize the BSP serial devices to a quiesent state*** RETURNS: N/A** SEE ALSO: sysHwInit()*/void sysSerialHwInit (void)    {    int i;    for (i = 0; i < N_SBCARM9_UART_CHANNELS; i++)        {        s3c2410xChan[i].regDelta = devParas[i].regSpace;        s3c2410xChan[i].regs = devParas[i].baseAdrs;        s3c2410xChan[i].baudRate = CONSOLE_BAUD_RATE;        s3c2410xChan[i].intLevelRx = devParas[i].intLevel;        s3c2410xChan[i].intLevelTx = devParas[i].intLevel;        s3c2410xDevInit(&s3c2410xChan[i]);        }	    }/******************************************************************************** sysSerialHwInit2 - connect BSP serial device interrupts** * RETURNS: N/A ** SEE ALSO: sysHwInit2()*/void sysSerialHwInit2 (void)    {    int i;    for (i = 0; i < N_SBCARM9_UART_CHANNELS; i++)        {        (void) intConnect (INUM_TO_IVEC(devParas[i].vector),                           s3c2410xInt, (int) &s3c2410xChan[i] );        		s3c2410xDevInit2(&s3c2410xChan[i]);        intEnable (devParas[i].intLevel);                }    }/******************************************************************************** sysSerialChanGet - get the SIO_CHAN device associated with a serial channel*** RETURNS: A pointer to the SIO_CHAN structure for the channel, or ERROR* if the channel is invalid.*/SIO_CHAN * sysSerialChanGet    (    int channel         /* serial channel */    )    {    if (channel < 0 || channel >= (int)(NELEMENTS(sysSioChans)))        return (SIO_CHAN *)ERROR;    return sysSioChans[channel];    }/******************************************************************************** sysSerialReset - reset the sio devices to a quiet state*** RETURNS: N/A.*/void sysSerialReset (void)    {    int i;    for (i = 0; i < N_SBCARM9_UART_CHANNELS; i++)        {        /* disable serial interrupts */        intDisable (devParas[i].intLevel);        }    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -