diff options
author | Perry Hung <iperry@alum.mit.edu> | 2010-03-30 22:58:47 -0400 |
---|---|---|
committer | Perry Hung <iperry@alum.mit.edu> | 2010-03-30 22:58:47 -0400 |
commit | 1be7df0937bee5127103e7dc8800c83e47415f3d (patch) | |
tree | 358e29df049ec0d664174f4d2fd88056d50172f4 | |
parent | 869ed39e4c28ebb9813a8b28192d4ca92f72bf22 (diff) | |
download | librambutan-1be7df0937bee5127103e7dc8800c83e47415f3d.tar.gz librambutan-1be7df0937bee5127103e7dc8800c83e47415f3d.zip |
Removed remaining STM32 types and #defines.
Updated usb subsystem to use libmaple types, removed STM32 peripheral
library from the Makefile
-rw-r--r-- | Makefile | 6 | ||||
-rw-r--r-- | libmaple/usb.c | 46 | ||||
-rw-r--r-- | libmaple/usb.h | 21 | ||||
-rw-r--r-- | libmaple/usb_regs.h | 79 |
4 files changed, 72 insertions, 80 deletions
@@ -2,8 +2,6 @@ # Project name PROJECT=maple -# STM Library prefix -STM_SRC = stm32lib/src STM_CONF = stm32conf/flash.conf # ARM/GNU toolchain parameters @@ -28,14 +26,12 @@ endif BUILD_PATH = build LIB_PATH = libmaple -OUTDIRS = $(BUILD_PATH)/$(STM_SRC) \ - $(BUILD_PATH)/$(LIB_PATH)\ +OUTDIRS = $(BUILD_PATH)/$(LIB_PATH)\ $(BUILD_PATH)/core \ $(BUILD_PATH)/core/comm INCLUDES = -I$(LIB_PATH) \ - -Istm32lib/inc \ -I./ \ -Icore \ -Icore/comm diff --git a/libmaple/usb.c b/libmaple/usb.c index 8c312f8..8826858 100644 --- a/libmaple/usb.c +++ b/libmaple/usb.c @@ -1,5 +1,7 @@ -#include <inttypes.h> +#include "libmaple.h" #include "usb.h" +#include "usb_regs.h" +#include "bootVect.h" void usb_lpIRQHandler(void) { @@ -10,38 +12,38 @@ void usb_lpIRQHandler(void) ptrToUsbISR(); } -void usb_userToPMABufferCopy(u8 *pbUsrBuf, u16 wPMABufAddr, u16 wNBytes) +void usb_userToPMABufferCopy(uint8 *pbUsrBuf, uint16 wPMABufAddr, uint16 wNBytes) { - u32 n = (wNBytes + 1) >> 1; /* n = (wNBytes + 1) / 2 */ - u32 i, temp1, temp2; - u16 *pdwVal; - pdwVal = (u16 *)(wPMABufAddr * 2 + PMAAddr); + uint32 n = (wNBytes + 1) >> 1; /* n = (wNBytes + 1) / 2 */ + uint32 i, temp1, temp2; + uint16 *pdwVal; + pdwVal = (uint16 *)(wPMABufAddr * 2 + PMAAddr); for (i = n; i != 0; i--) { - temp1 = (u16) * pbUsrBuf; + temp1 = (uint16) * pbUsrBuf; pbUsrBuf++; - temp2 = temp1 | (u16) * pbUsrBuf << 8; + temp2 = temp1 | (uint16) * pbUsrBuf << 8; *pdwVal++ = temp2; pdwVal++; pbUsrBuf++; } } -void usb_PMAToUserBufferCopy(u8 *pbUsrBuf, u16 wPMABufAddr, u16 wNBytes) +void usb_PMAToUserBufferCopy(uint8 *pbUsrBuf, uint16 wPMABufAddr, uint16 wNBytes) { - u32 n = (wNBytes + 1) >> 1;/* /2*/ - u32 i; - u32 *pdwVal; - pdwVal = (u32 *)(wPMABufAddr * 2 + PMAAddr); + uint32 n = (wNBytes + 1) >> 1;/* /2*/ + uint32 i; + uint32 *pdwVal; + pdwVal = (uint32 *)(wPMABufAddr * 2 + PMAAddr); for (i = n; i != 0; i--) { - *(u16*)pbUsrBuf++ = *pdwVal++; + *(uint16*)pbUsrBuf++ = *pdwVal++; pbUsrBuf++; } } void usb_serialWriteStr(const char* outStr) { - u8 offset=0; + uint8 offset=0; BootVectTable *bootVector = ((BootVectTable*)BOOTLOADER_VECT_TABLE); while ((outStr[offset] != '\0') @@ -51,8 +53,8 @@ void usb_serialWriteStr(const char* outStr) { delay(offset*1); - bootVector->serial_count_in = (u32*) &offset; - usb_userToPMABufferCopy((u8*)outStr,USB_SERIAL_ENDP_TXADDR,offset); + bootVector->serial_count_in = (uint32*) &offset; + usb_userToPMABufferCopy((uint8*)outStr,USB_SERIAL_ENDP_TXADDR,offset); _SetEPTxCount(USB_SERIAL_ENDP_TX,offset); _SetEPTxValid(USB_SERIAL_ENDP_TX); @@ -64,20 +66,20 @@ void usb_serialWriteChar(unsigned char ch) { delay(1); *(bootVector->serial_count_in) = 1; - usb_userToPMABufferCopy((u8*)(&ch),USB_SERIAL_ENDP_TXADDR,1); + usb_userToPMABufferCopy((uint8*)(&ch),USB_SERIAL_ENDP_TXADDR,1); _SetEPTxCount(USB_SERIAL_ENDP_TX,1); _SetEPTxValid(USB_SERIAL_ENDP_TX); } -uint8_t usb_serialGetRecvLen() { - uint8_t count_out =_GetEPRxCount(USB_SERIAL_ENDP_RX); +uint8 usb_serialGetRecvLen() { + uint8 count_out =_GetEPRxCount(USB_SERIAL_ENDP_RX); return count_out; } -void usb_copyRecvBuffer(unsigned char* dest, uint8_t len) { +void usb_copyRecvBuffer(unsigned char* dest, uint8 len) { ASSERT(len < USB_SERIAL_BUF_SIZE); - usb_PMAToUserBufferCopy((u8*)(dest),USB_SERIAL_ENDP_RXADDR,len); + usb_PMAToUserBufferCopy((uint8*)(dest),USB_SERIAL_ENDP_RXADDR,len); _SetEPRxValid(USB_SERIAL_ENDP_RX); } diff --git a/libmaple/usb.h b/libmaple/usb.h index 960e1f4..fa40123 100644 --- a/libmaple/usb.h +++ b/libmaple/usb.h @@ -1,29 +1,24 @@ #ifndef _USB_H_ #define _USB_H_ -#include <inttypes.h> -#include "util.h" -#include "usb_regs.h" -#include "bootVect.h" - #define USB_ISR_ADDR (0x08000090) -#define USB_SERIAL_ENDP_TXADDR ((uint32_t) 0xC0) -#define USB_SERIAL_ENDP_RXADDR ((uint32_t) 0x110) -#define USB_SERIAL_ENDP_TX ((uint16_t) 0x1) -#define USB_SERIAL_ENDP_RX ((uint16_t) 0x3) +#define USB_SERIAL_ENDP_TXADDR ((uint32) 0xC0) +#define USB_SERIAL_ENDP_RXADDR ((uint32) 0x110) +#define USB_SERIAL_ENDP_TX ((uint16) 0x1) +#define USB_SERIAL_ENDP_RX ((uint16) 0x3) #define USB_SERIAL_BUF_SIZE (0x40) #ifdef __cplusplus extern "C" { #endif -void usb_lpIRQHandler(void); -void usb_userToPMABufferCopy(u8 *pbUsrBuf,u16 wPMABufAddr,u16 wNBytes); -void usb_PMAToUserBufferCopy(u8 *pbUsrBuf,u16 wPMABufAddr,u16 wNBytes); +void usb_lpIRQHandler(void); +void usb_userToPMABufferCopy(uint8 *pbUsrBuf,uint16 wPMABufAddr,uint16 wNBytes); +void usb_PMAToUserBufferCopy(uint8 *pbUsrBuf,uint16 wPMABufAddr,uint16 wNBytes); void usb_serialWriteStr(const char *outStr); void usb_serialWriteChar(unsigned char ch); uint8_t usb_serialGetRecvLen(); -void usb_copyRecvBuffer(unsigned char* dest, uint8_t len); +void usb_copyRecvBuffer(unsigned char* dest, uint8 len); #ifdef __cplusplus } // extern "C" diff --git a/libmaple/usb_regs.h b/libmaple/usb_regs.h index 135d645..bf5e10c 100644 --- a/libmaple/usb_regs.h +++ b/libmaple/usb_regs.h @@ -19,7 +19,6 @@ /* Includes ------------------------------------------------------------------*/
/* Exported types ------------------------------------------------------------*/
-#include "stm32f10x_type.h"
typedef enum _EP_DBUF_DIR
{
@@ -61,14 +60,14 @@ enum EP_BUF_NUM #define EP0REG ((volatile unsigned *)(RegBase)) /* endpoint 0 register address */
/* endpoints enumeration */
-#define ENDP0 ((u8)0)
-#define ENDP1 ((u8)1)
-#define ENDP2 ((u8)2)
-#define ENDP3 ((u8)3)
-#define ENDP4 ((u8)4)
-#define ENDP5 ((u8)5)
-#define ENDP6 ((u8)6)
-#define ENDP7 ((u8)7)
+#define ENDP0 ((uint8)0)
+#define ENDP1 ((uint8)1)
+#define ENDP2 ((uint8)2)
+#define ENDP3 ((uint8)3)
+#define ENDP4 ((uint8)4)
+#define ENDP5 ((uint8)5)
+#define ENDP6 ((uint8)6)
+#define ENDP7 ((uint8)7)
/******************************************************************************/
/* ISTR interrupt events */
/******************************************************************************/
@@ -175,38 +174,38 @@ enum EP_BUF_NUM #define EPRX_DTOGMASK (EPRX_STAT|EPREG_MASK)
/* Exported macro ------------------------------------------------------------*/
/* SetCNTR */
-#define _SetCNTR(wRegValue) (*CNTR = (u16)wRegValue)
+#define _SetCNTR(wRegValue) (*CNTR = (uint16)wRegValue)
/* SetISTR */
-#define _SetISTR(wRegValue) (*ISTR = (u16)wRegValue)
+#define _SetISTR(wRegValue) (*ISTR = (uint16)wRegValue)
/* SetDADDR */
-#define _SetDADDR(wRegValue) (*DADDR = (u16)wRegValue)
+#define _SetDADDR(wRegValue) (*DADDR = (uint16)wRegValue)
/* SetBTABLE */
-#define _SetBTABLE(wRegValue)(*BTABLE = (u16)(wRegValue & 0xFFF8))
+#define _SetBTABLE(wRegValue)(*BTABLE = (uint16)(wRegValue & 0xFFF8))
/* GetCNTR */
-#define _GetCNTR() ((u16) *CNTR)
+#define _GetCNTR() ((uint16) *CNTR)
/* GetISTR */
-#define _GetISTR() ((u16) *ISTR)
+#define _GetISTR() ((uint16) *ISTR)
/* GetFNR */
-#define _GetFNR() ((u16) *FNR)
+#define _GetFNR() ((uint16) *FNR)
/* GetDADDR */
-#define _GetDADDR() ((u16) *DADDR)
+#define _GetDADDR() ((uint16) *DADDR)
/* GetBTABLE */
-#define _GetBTABLE() ((u16) *BTABLE)
+#define _GetBTABLE() ((uint16) *BTABLE)
/* SetENDPOINT */
#define _SetENDPOINT(bEpNum,wRegValue) (*(EP0REG + bEpNum)= \
- (u16)wRegValue)
+ (uint16)wRegValue)
/* GetENDPOINT */
-#define _GetENDPOINT(bEpNum) ((u16)(*(EP0REG + bEpNum)))
+#define _GetENDPOINT(bEpNum) ((uint16)(*(EP0REG + bEpNum)))
/*******************************************************************************
* Macro Name : SetEPType
@@ -237,7 +236,7 @@ enum EP_BUF_NUM * Return : None.
*******************************************************************************/
#define _SetEPTxStatus(bEpNum,wState) {\
- register u16 _wRegVal; \
+ register uint16 _wRegVal; \
_wRegVal = _GetENDPOINT(bEpNum) & EPTX_DTOGMASK;\
/* toggle first bit ? */ \
if((EPTX_DTOG1 & wState)!= 0) \
@@ -257,7 +256,7 @@ enum EP_BUF_NUM * Return : None.
*******************************************************************************/
#define _SetEPRxStatus(bEpNum,wState) {\
- register u16 _wRegVal; \
+ register uint16 _wRegVal; \
\
_wRegVal = _GetENDPOINT(bEpNum) & EPRX_DTOGMASK;\
/* toggle first bit ? */ \
@@ -276,9 +275,9 @@ enum EP_BUF_NUM * Output : None.
* Return : status .
*******************************************************************************/
-#define _GetEPTxStatus(bEpNum) ((u16)_GetENDPOINT(bEpNum) & EPTX_STAT)
+#define _GetEPTxStatus(bEpNum) ((uint16)_GetENDPOINT(bEpNum) & EPTX_STAT)
-#define _GetEPRxStatus(bEpNum) ((u16)_GetENDPOINT(bEpNum) & EPRX_STAT)
+#define _GetEPRxStatus(bEpNum) ((uint16)_GetENDPOINT(bEpNum) & EPRX_STAT)
/*******************************************************************************
* Macro Name : SetEPTxValid / SetEPRxValid
@@ -388,12 +387,12 @@ enum EP_BUF_NUM * Output : None.
* Return : None.
*******************************************************************************/
-#define _GetEPAddress(bEpNum) ((u8)(_GetENDPOINT(bEpNum) & EPADDR_FIELD))
+#define _GetEPAddress(bEpNum) ((uint8)(_GetENDPOINT(bEpNum) & EPADDR_FIELD))
-#define _pEPTxAddr(bEpNum) ((u32 *)((_GetBTABLE()+bEpNum*8 )*2 + PMAAddr))
-#define _pEPTxCount(bEpNum) ((u32 *)((_GetBTABLE()+bEpNum*8+2)*2 + PMAAddr))
-#define _pEPRxAddr(bEpNum) ((u32 *)((_GetBTABLE()+bEpNum*8+4)*2 + PMAAddr))
-#define _pEPRxCount(bEpNum) ((u32 *)((_GetBTABLE()+bEpNum*8+6)*2 + PMAAddr))
+#define _pEPTxAddr(bEpNum) ((uint32 *)((_GetBTABLE()+bEpNum*8 )*2 + PMAAddr))
+#define _pEPTxCount(bEpNum) ((uint32 *)((_GetBTABLE()+bEpNum*8+2)*2 + PMAAddr))
+#define _pEPRxAddr(bEpNum) ((uint32 *)((_GetBTABLE()+bEpNum*8+4)*2 + PMAAddr))
+#define _pEPRxCount(bEpNum) ((uint32 *)((_GetBTABLE()+bEpNum*8+6)*2 + PMAAddr))
/*******************************************************************************
* Macro Name : SetEPTxAddr / SetEPRxAddr.
@@ -413,8 +412,8 @@ enum EP_BUF_NUM * Output : None.
* Return : address of the buffer.
*******************************************************************************/
-#define _GetEPTxAddr(bEpNum) ((u16)*_pEPTxAddr(bEpNum))
-#define _GetEPRxAddr(bEpNum) ((u16)*_pEPRxAddr(bEpNum))
+#define _GetEPTxAddr(bEpNum) ((uint16)*_pEPTxAddr(bEpNum))
+#define _GetEPRxAddr(bEpNum) ((uint16)*_pEPRxAddr(bEpNum))
/*******************************************************************************
* Macro Name : SetEPCountRxReg.
@@ -428,18 +427,18 @@ enum EP_BUF_NUM wNBlocks = wCount >> 5;\
if((wCount & 0x1f) == 0)\
wNBlocks--;\
- *pdwReg = (u32)((wNBlocks << 10) | 0x8000);\
+ *pdwReg = (uint32)((wNBlocks << 10) | 0x8000);\
}/* _BlocksOf32 */
#define _BlocksOf2(dwReg,wCount,wNBlocks) {\
wNBlocks = wCount >> 1;\
if((wCount & 0x1) != 0)\
wNBlocks++;\
- *pdwReg = (u32)(wNBlocks << 10);\
+ *pdwReg = (uint32)(wNBlocks << 10);\
}/* _BlocksOf2 */
#define _SetEPCountRxReg(dwReg,wCount) {\
- u16 wNBlocks;\
+ uint16 wNBlocks;\
if(wCount > 62){_BlocksOf32(dwReg,wCount,wNBlocks);}\
else {_BlocksOf2(dwReg,wCount,wNBlocks);}\
}/* _SetEPCountRxReg */
@@ -447,7 +446,7 @@ enum EP_BUF_NUM #define _SetEPRxDblBuf0Count(bEpNum,wCount) {\
- u32 *pdwReg = _pEPTxCount(bEpNum); \
+ uint32 *pdwReg = _pEPTxCount(bEpNum); \
_SetEPCountRxReg(pdwReg, wCount);\
}
/*******************************************************************************
@@ -460,7 +459,7 @@ enum EP_BUF_NUM *******************************************************************************/
#define _SetEPTxCount(bEpNum,wCount) (*_pEPTxCount(bEpNum) = wCount)
#define _SetEPRxCount(bEpNum,wCount) {\
- u32 *pdwReg = _pEPRxCount(bEpNum); \
+ uint32 *pdwReg = _pEPRxCount(bEpNum); \
_SetEPCountRxReg(pdwReg, wCount);\
}
/*******************************************************************************
@@ -470,8 +469,8 @@ enum EP_BUF_NUM * Output : None.
* Return : Counter value.
*******************************************************************************/
-#define _GetEPTxCount(bEpNum)((u16)(*_pEPTxCount(bEpNum)) & 0x3ff)
-#define _GetEPRxCount(bEpNum)((u16)(*_pEPRxCount(bEpNum)) & 0x3ff)
+#define _GetEPTxCount(bEpNum)((uint16)(*_pEPTxCount(bEpNum)) & 0x3ff)
+#define _GetEPRxCount(bEpNum)((uint16)(*_pEPRxCount(bEpNum)) & 0x3ff)
/*******************************************************************************
* Macro Name : SetEPDblBuf0Addr / SetEPDblBuf1Addr.
@@ -524,7 +523,7 @@ enum EP_BUF_NUM {_SetEPRxDblBuf0Count(bEpNum,wCount);} \
else if(bDir == EP_DBUF_IN)\
/* IN endpoint */ \
- *_pEPTxCount(bEpNum) = (u32)wCount; \
+ *_pEPTxCount(bEpNum) = (uint32)wCount; \
} /* SetEPDblBuf0Count*/
#define _SetEPDblBuf1Count(bEpNum, bDir, wCount) { \
@@ -533,7 +532,7 @@ enum EP_BUF_NUM {_SetEPRxCount(bEpNum,wCount);}\
else if(bDir == EP_DBUF_IN)\
/* IN endpoint */\
- *_pEPRxCount(bEpNum) = (u32)wCount; \
+ *_pEPRxCount(bEpNum) = (uint32)wCount; \
} /* SetEPDblBuf1Count */
#define _SetEPDblBuffCount(bEpNum, bDir, wCount) {\
|