📄 appio.c
字号:
/*
* Copyright 2002 by Texas Instruments Incorporated.
* All rights reserved. Property of Texas Instruments Incorporated.
* Restricted rights to use, duplicate or disclose this code are
* granted through contract.
*
*/
/* "@(#) RF3_UART_G726 1.00.00 07-18-02 (swat-c03)" */
/*
* ======== appIO.c ========
*
* Apllication IO initialization and priming
*
* Application IO consists of streaming IO (which is handled by the LIO
* -- low-level IO -- driver), and every other application-specific IO.
* LIO driver is further interfaced with PLIO (PIP LIO) adapter for
* simplicity of use with pipes. PLIO connects the low-level driver to
* pipes, so once initialized, the incoming data is simply retrieved
* from pipes, and the outgoing data is simply put to pipes. PLIO and LIO
* ensure that the data is streamed to the proper physical device.
*
* We initialize the streaming IO here, and prime it, by placing zeroes
* at the output (transmit pipe), so those zeroes will be transferred
* while waiting for the first input frames and processing them.
*/
#include <std.h>
#include <string.h>
#include <lio.h> /* LIO interface definition */
#include <dsk5402_dma_ad50.h> /* driver for DSK5402 AD50 codec, using DMA */
#include <dsk5402_uart.h> /* driver for DSK5402 UART */
#include <plio.h> /* PLIO adapter decls. */
#include <utl.h> /* debug/diagnostics utility functions */
#include <pip.h>
#include <swi.h>
#include "appResources.h" /* application-wide common info (and CDB) */
#include "appIO.h" /* application IO initialization and priming */
/*
* Declaration of PLIO objects for receive and transmit:
* plioTxCodec is in charge of transferring data from pipTxCodec to codec,
* plioRxUart is in charge of transferring data from Uart to pipRxUart,
*/
PLIO_Obj plioTxCodec;
PLIO_Obj plioRxUart;
/*
* ======== appIOInit ========
* Initialize LIO and other (non-streaming) IO components, if any
*/
Void appIOInit()
{
/*
* Initialization the of LIO/PLIO driver
* DSK5402_DMA_AD50_init() initializes the codec, McBSP, and the DMA;
* PLIO_new initializes a PLIO object with the following arguments:
* 1. address of the PLIO object
* 2. handle of the associated pipe (pipRx for input and pipTx for output)
* 3. mode: input or output
* 4. address of the function table for the low-level driver
* 5. optional generic arguments
*/
DSK5402_DMA_AD50_init();
/*
* Initialize the codec with default parameters; if we were to change
* some of the default parameters, we would say
* DSK5402_DMA_AD50_Setup mySetup = DSK5402_DMA_AD50_SETUP;
* mySetup.control3 = ...
* DSK5402_DMA_AD50_setup( &mySetup );
* By passing NULL the driver will use whatever is in the default
* global DSK5402_DMA_AD50_SETUP for setup parameters.
*/
DSK5402_DMA_AD50_setup( NULL );
/* Initialize the PLIO codec driver output only */
PLIO_new( &plioTxCodec, &pipTxCodec, LIO_OUTPUT, &DSK5402_DMA_AD50_ILIO, NULL );
/*
* Initialization of the UART LIO/PLIO driver
*/
DSK5402_UART_init();
/*
* Initialize the UART with default parameters; if we were to change
* some of the default parameters, we would say
* DSK5402_UART_Setup myUartSetup = DSK5402_UART_SETUP;
* myUartSetup.control3 = ...
* DSK5402_UART_setup( &myUartSetup );
* By passing NULL the driver will use whatever is in the default
* global DSK5402_UART_SETUP for setup parameters.
*/
DSK5402_UART_setup( NULL );
/* Initialize the PLIO UART driver input only */
PLIO_new( &plioRxUart, &pipRxUart, LIO_INPUT, &DSK5402_UART_ILIO, NULL );
}
/*
* ======== appIOPrime ========
* Prime the input/output data stream pipes and start the transfer
*/
Void appIOPrime()
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -