mirror of
https://github.com/pvvx/RTL00MP3.git
synced 2025-07-31 12:41:06 +00:00
first commit
This commit is contained in:
parent
2ee525362e
commit
d108756e9b
792 changed files with 336059 additions and 0 deletions
1075
RTL00_SDKV35a/component/common/application/xmodem/uart_fw_update.c
Normal file
1075
RTL00_SDKV35a/component/common/application/xmodem/uart_fw_update.c
Normal file
File diff suppressed because it is too large
Load diff
86
RTL00_SDKV35a/component/common/application/xmodem/xmodem.h
Normal file
86
RTL00_SDKV35a/component/common/application/xmodem/xmodem.h
Normal file
|
@ -0,0 +1,86 @@
|
|||
/*
|
||||
X-Modem Header File
|
||||
|
||||
1999/09/03 sprite, support Xmode Tx & Rx
|
||||
*/
|
||||
|
||||
#ifndef _XMODE_H_
|
||||
#define _XMODE_H_
|
||||
|
||||
#include <basic_types.h>
|
||||
|
||||
/*****************
|
||||
* X-Modem status
|
||||
*****************/
|
||||
#define XMODEM_OK 1
|
||||
#define XMODEM_CANCEL 2
|
||||
#define XMODEM_ACK 3
|
||||
#define XMODEM_NAK 4
|
||||
#define XMODEM_COMPLETE 5
|
||||
#define XMODEM_NO_SESSION 6
|
||||
#define XMODEM_ABORT 7
|
||||
#define XMODEM_TIMEOUT 8
|
||||
|
||||
/****************************
|
||||
* flow control character
|
||||
****************************/
|
||||
#define SOH 0x01 /* Start of header */
|
||||
#define STX 0x02 /* Start of header XModem-1K */
|
||||
#define EOT 0x04 /* End of transmission */
|
||||
#define ACK 0x06 /* Acknowledge */
|
||||
#define NAK 0x15 /* Not acknowledge */
|
||||
#define CAN 0x18 /* Cancel */
|
||||
#define ESC 0x1b /* User Break */
|
||||
|
||||
/****************************
|
||||
* Xmode paramters
|
||||
****************************/
|
||||
#define FRAME_SIZE 132 /* X-modem structure */
|
||||
#define FRAME_SIZE_1K 1028 /* X-modem structure */
|
||||
#define XM_BUFFER_SIZE 1024 /* X-modem buffer */
|
||||
#define TIMEOUT 180 /* max timeout */
|
||||
#define RETRY_COUNT 20 /* Try times */
|
||||
#define xWAITTIME 0x00400000 /* waitiing time */
|
||||
#define WAIT_FRAME_TIME (10000*100) /* 10 sec, wait frame timeout */
|
||||
#define WAIT_CHAR_TIME (1000*100) /* 1 sec, wait char timeout */
|
||||
|
||||
/***********************
|
||||
* frame structure
|
||||
***********************/
|
||||
typedef struct
|
||||
{
|
||||
unsigned char soh;
|
||||
unsigned char recordNo;
|
||||
unsigned char recordNoInverted;
|
||||
unsigned char buffer[XM_BUFFER_SIZE];
|
||||
unsigned char CRC;
|
||||
} XMODEM_FRAME;
|
||||
|
||||
typedef struct _XMODEM_COM_PORT_ {
|
||||
char (*poll) (void);
|
||||
char (*get)(void);
|
||||
void (*put)(char c);
|
||||
}XMODEM_COM_PORT, *PXMODEM_COM_PORT;
|
||||
|
||||
typedef struct _XMODEM_CTRL_ {
|
||||
u16 xMUsing;
|
||||
u16 currentFrame; /* current frame number */
|
||||
u16 previousFrame; /* previous frame number */
|
||||
u16 expected;
|
||||
s16 rStatus;
|
||||
s32 rFinish;
|
||||
u32 total_frame;
|
||||
u32 rx_len;
|
||||
char *pXFrameBuf;
|
||||
u32 (*RxFrameHandler)(char *ptr, u32 frame_num, u32 frame_size);
|
||||
XMODEM_COM_PORT ComPort;
|
||||
}XMODEM_CTRL, *PXMODEM_CTRL;
|
||||
|
||||
typedef u32 (*RxFrameHandler_t)(char *ptr, u32 frame_num, u32 frame_size);
|
||||
|
||||
extern s16 xModemStart(XMODEM_CTRL *pXMCtrl, char *FrameBuf, RxFrameHandler_t RxFrameHdl);
|
||||
extern s16 xModemEnd(XMODEM_CTRL *pXMCtrl);
|
||||
extern s32 xModemRxBuffer(XMODEM_CTRL *pXMCtrl, s32 MaxSize);
|
||||
|
||||
#endif /* _XMODE_H_ */
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* Routines to access hardware
|
||||
*
|
||||
* Copyright (c) 2013 Realtek Semiconductor Corp.
|
||||
*
|
||||
* This module is a confidential and proprietary property of RealTek and
|
||||
* possession or use of this module requires written permission of RealTek.
|
||||
*/
|
||||
|
||||
#ifndef _XMPORT_LOGUART_H_
|
||||
#define _XMPORT_LOGUART_H_
|
||||
|
||||
#include "xmodem.h"
|
||||
|
||||
//void xmodem_loguart_init(void);
|
||||
void xmodem_loguart_init(u32 BaudRate);
|
||||
void xmodem_loguart_func_hook(XMODEM_COM_PORT *pXComPort);
|
||||
void xmodem_loguart_deinit(void);
|
||||
char xmodem_loguart_readable(void);
|
||||
char xmodem_loguart_writable(void);
|
||||
char xmodem_loguart_getc(void);
|
||||
void xmodem_loguart_putc(char c);
|
||||
|
||||
#endif // end of "#define _XMPORT_LOGUART_H_"
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
/*
|
||||
* Routines to access hardware
|
||||
*
|
||||
* Copyright (c) 2013 Realtek Semiconductor Corp.
|
||||
*
|
||||
* This module is a confidential and proprietary property of RealTek and
|
||||
* possession or use of this module requires written permission of RealTek.
|
||||
*/
|
||||
|
||||
#ifndef _XMPORT_UART_H_
|
||||
#define _XMPORT_UART_H_
|
||||
|
||||
#include "xmodem.h"
|
||||
|
||||
void xmodem_uart_init(u8 uart_idx, u8 pin_mux, u32 baud_rate);
|
||||
void xmodem_uart_func_hook(XMODEM_COM_PORT *pXComPort);
|
||||
void xmodem_uart_deinit(void);
|
||||
char xmodem_uart_readable(void);
|
||||
char xmodem_uart_writable(void);
|
||||
char xmodem_uart_getc(void);
|
||||
void xmodem_uart_putc(char c);
|
||||
|
||||
#endif // end of "#define _XMPORT_UART_H_"
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue