SN26x: shave 40 bytes of RAM

This commit is contained in:
Glory 2021-10-01 22:31:57 +08:00 committed by Dimitris Mantzouranis
parent 14fec20512
commit d596a79ae4
2 changed files with 11 additions and 22 deletions

View File

@ -11,9 +11,15 @@
#include "usbhw.h"
const uint32_t wUSB_EPnOffset[5] = {
0, EP1_BUFFER_OFFSET_VALUE,
EP2_BUFFER_OFFSET_VALUE, EP3_BUFFER_OFFSET_VALUE,
EP4_BUFFER_OFFSET_VALUE};
volatile uint32_t wUSB_EPnOffset[5];
volatile uint32_t wUSB_EPnMaxPacketSize[5];
const uint32_t wUSB_EPnMaxPacketSize[5] = {
USB_EP0_PACKET_SIZE, USB_EP1_PACKET_SIZE,
USB_EP2_PACKET_SIZE, USB_EP3_PACKET_SIZE,
USB_EP4_PACKET_SIZE};
/*****************************************************************************
* Description :Setting USB for different Power domain
@ -39,7 +45,6 @@ volatile uint32_t wUSB_EPnMaxPacketSize[5];
*****************************************************************************/
void USB_Init(void)
{
volatile uint32_t *pRam;
uint32_t wTmp;
/* Initialize clock and Enable USB PHY. */
@ -53,22 +58,6 @@ void USB_Init(void)
USB_EPnBufferOffset(3, EP3_BUFFER_OFFSET_VALUE);
USB_EPnBufferOffset(4, EP4_BUFFER_OFFSET_VALUE);
/* Copy EP1~EP4 RAM Start address to array(wUSB_EPnOffset).*/
pRam = &wUSB_EPnOffset[0];
*(pRam+0) = 0;
*(pRam+1) = EP1_BUFFER_OFFSET_VALUE;
*(pRam+2) = EP2_BUFFER_OFFSET_VALUE;
*(pRam+3) = EP3_BUFFER_OFFSET_VALUE;
*(pRam+4) = EP4_BUFFER_OFFSET_VALUE;
/* Initialize EP0~EP4 package size to array(wUSB_EPnPacketsize).*/
pRam = &wUSB_EPnMaxPacketSize[0];
*(pRam+0) = USB_EP0_PACKET_SIZE;
*(pRam+1) = USB_EP1_PACKET_SIZE;
*(pRam+2) = USB_EP2_PACKET_SIZE;
*(pRam+3) = USB_EP3_PACKET_SIZE;
*(pRam+4) = USB_EP4_PACKET_SIZE;
/* Enable the USB Interrupt */
SN_USB->INTEN = (mskBUS_IE|mskUSB_IE|mskEPnACK_EN|mskBUSWK_IE);
SN_USB->INTEN |= mskEP1_NAK_EN;

View File

@ -200,8 +200,8 @@
#define USB_EP4 0x4
extern volatile uint32_t wUSB_EPnOffset[];
extern volatile uint32_t wUSB_EPnMaxPacketSize[];
extern const uint32_t wUSB_EPnOffset[];
extern const uint32_t wUSB_EPnMaxPacketSize[];
/* USB Hardware Functions */
extern void USB_Init(void);