Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/flipperdevices/libusb_stm32.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Filimonchuk <dmitrystu@gmail.com>2021-01-26 17:34:01 +0300
committerGitHub <noreply@github.com>2021-01-26 17:34:01 +0300
commita9836043879ec60c205644bedf2982548b639ae6 (patch)
tree3cd12b104bae526aa7afc6ba7f859c5665d9d382
parent5eb622d781a9dc4b2c9afe3290aaf383bc348d8c (diff)
Fix/wpedantic (#78)
* fix some warnings with -Wpedantic option * fix ldr macro
-rw-r--r--demo/cdc_loop.c5
-rw-r--r--inc/usbd_core.h4
-rw-r--r--src/usbd_core.c36
-rw-r--r--src/usbd_stm32f103_devfs_asm.S89
-rw-r--r--src/usbd_stm32l052_devfs_asm.S88
-rw-r--r--src/usbd_stm32l100_devfs_asm.S88
6 files changed, 159 insertions, 151 deletions
diff --git a/demo/cdc_loop.c b/demo/cdc_loop.c
index c12277a..7ab09a4 100644
--- a/demo/cdc_loop.c
+++ b/demo/cdc_loop.c
@@ -298,7 +298,7 @@ static usbd_respond cdc_getdesc (usbd_ctlreq *req, void **address, uint16_t *len
*address = (void*)desc;
*length = len;
return usbd_ack;
-};
+}
static usbd_respond cdc_control(usbd_device *dev, usbd_ctlreq *req, usbd_rqc_callback *callback) {
@@ -514,12 +514,13 @@ void main(void) {
}
}
#else
-void main(void) {
+int main(void) {
cdc_init_usbd();
usbd_enable(&udev, true);
usbd_connect(&udev, true);
while(1) {
usbd_poll(&udev);
}
+ return 0;
}
#endif
diff --git a/inc/usbd_core.h b/inc/usbd_core.h
index 7f065b3..b22fce9 100644
--- a/inc/usbd_core.h
+++ b/inc/usbd_core.h
@@ -105,7 +105,7 @@
#if !defined(__ASSEMBLER__)
#include <stdbool.h>
-
+#include <stddef.h>
/** @brief USB device machine states
*/
enum usbd_machine_state {
@@ -348,7 +348,7 @@ inline static void usbd_init(usbd_device *dev, const struct usbd_driver *drv,
dev->status.ep0size = ep0size;
dev->status.data_ptr = buffer;
dev->status.data_buf = buffer;
- dev->status.data_maxsize = bsize - __builtin_offsetof(usbd_ctlreq, data);
+ dev->status.data_maxsize = bsize - offsetof(usbd_ctlreq, data);
}
/**\brief Polls USB for events
diff --git a/src/usbd_core.c b/src/usbd_core.c
index 4637666..919b27c 100644
--- a/src/usbd_core.c
+++ b/src/usbd_core.c
@@ -209,7 +209,7 @@ static void usbd_process_eptx(usbd_device *dev, uint8_t ep) {
case usbd_ctl_txdata:
_t = _MIN(dev->status.data_count, dev->status.ep0size);
dev->driver->ep_write(ep, dev->status.data_ptr, _t);
- dev->status.data_ptr += _t;
+ dev->status.data_ptr = (uint8_t*)dev->status.data_ptr + _t;
dev->status.data_count -= _t;
/* if all data is not sent */
if (0 != dev->status.data_count) break;
@@ -224,7 +224,8 @@ static void usbd_process_eptx(usbd_device *dev, uint8_t ep) {
break;
case usbd_ctl_statusin:
dev->status.control_state = usbd_ctl_idle;
- return usbd_process_callback(dev);
+ usbd_process_callback(dev);
+ break;
default:
/* unexpected TX completion */
/* just skipping it */
@@ -243,7 +244,8 @@ static void usbd_process_eprx(usbd_device *dev, uint8_t ep) {
case usbd_ctl_idle:
/* read SETUP packet, send STALL_PID if incorrect packet length */
if (0x08 != dev->driver->ep_read(ep, req, dev->status.data_maxsize)) {
- return usbd_stall_pid(dev, ep);
+ usbd_stall_pid(dev, ep);
+ return;
}
dev->status.data_ptr = req->data;
dev->status.data_count = req->wLength;
@@ -251,7 +253,8 @@ static void usbd_process_eprx(usbd_device *dev, uint8_t ep) {
if ((req->bmRequestType & USB_REQ_DEVTOHOST) || (0 == req->wLength)) break;
/* checking available memory for DATA OUT stage */
if (req->wLength > dev->status.data_maxsize) {
- return usbd_stall_pid(dev, ep);
+ usbd_stall_pid(dev, ep);
+ return;
}
/* continue DATA OUT stage */
dev->status.control_state = usbd_ctl_rxdata;
@@ -262,11 +265,12 @@ static void usbd_process_eprx(usbd_device *dev, uint8_t ep) {
if (dev->status.data_count < _t) {
/* if received packet is large than expected */
/* Must be error. Let's drop this request */
- return usbd_stall_pid(dev, ep);
+ usbd_stall_pid(dev, ep);
+ return;
} else if (dev->status.data_count != _t) {
/* if all data payload was not received yet */
dev->status.data_count -= _t;
- dev->status.data_ptr += _t;
+ dev->status.data_ptr = (uint8_t*)dev->status.data_ptr + _t;
return;
}
break;
@@ -274,10 +278,12 @@ static void usbd_process_eprx(usbd_device *dev, uint8_t ep) {
/* fake reading STATUS OUT */
dev->driver->ep_read(ep, 0, 0);
dev->status.control_state = usbd_ctl_idle;
- return usbd_process_callback(dev);
+ usbd_process_callback(dev);
+ return;
default:
/* unexpected RX packet */
- return usbd_stall_pid(dev, ep);
+ usbd_stall_pid(dev, ep);
+ return;
}
/* usb request received. let's handle it */
dev->status.data_ptr = req->data;
@@ -294,8 +300,7 @@ static void usbd_process_eprx(usbd_device *dev, uint8_t ep) {
/* ZLP maybe wanted */
dev->status.control_state = usbd_ctl_ztxdata;
}
- return usbd_process_eptx(dev, ep | 0x80);
-
+ usbd_process_eptx(dev, ep | 0x80);
} else {
/* confirming by ZLP in STATUS_IN stage */
dev->driver->ep_write(ep | 0x80, 0, 0);
@@ -306,7 +311,8 @@ static void usbd_process_eprx(usbd_device *dev, uint8_t ep) {
dev->status.control_state = usbd_ctl_statusin;
break;
default:
- return usbd_stall_pid(dev, ep);
+ usbd_stall_pid(dev, ep);
+ break;
}
}
@@ -321,9 +327,11 @@ static void usbd_process_ep0 (usbd_device *dev, uint8_t event, uint8_t ep) {
dev->status.control_state = usbd_ctl_idle;
dev->complete_callback = 0;
case usbd_evt_eprx:
- return usbd_process_eprx(dev, ep);
+ usbd_process_eprx(dev, ep);
+ break;
case usbd_evt_eptx:
- return usbd_process_eptx(dev, ep);
+ usbd_process_eptx(dev, ep);
+ break;
default:
break;
}
@@ -352,5 +360,5 @@ static void usbd_process_evt(usbd_device *dev, uint8_t evt, uint8_t ep) {
}
__attribute__((externally_visible)) void usbd_poll(usbd_device *dev) {
- return dev->driver->poll(dev, usbd_process_evt);
+ dev->driver->poll(dev, usbd_process_evt);
}
diff --git a/src/usbd_stm32f103_devfs_asm.S b/src/usbd_stm32f103_devfs_asm.S
index ae1e0c5..ee7bcf2 100644
--- a/src/usbd_stm32f103_devfs_asm.S
+++ b/src/usbd_stm32f103_devfs_asm.S
@@ -204,7 +204,7 @@ _connect:
#define GPIO_CRx GPIO_CRH
#define DP_PIN (4 * (USBD_DP_PIN - 8))
#endif
- ldr r3, =#USBD_DP_PORT
+ ldr r3, =USBD_DP_PORT
ldr r2, [r3, #GPIO_CRx]
movs r1, #0x0F
bics r2, r2, r1, LSL #DP_PIN
@@ -218,7 +218,7 @@ _connect:
orrs r2, r2, r1, LSL #DP_PIN
str r2, [r3, #GPIO_CRx]
#elif defined(USBD_DP_PORT) && defined(USBD_DP_PIN) && defined(STM32F3)
- ldr r3, =#USBD_DP_PORT
+ ldr r3, =USBD_DP_PORT
ldr r2, [r3, #GPIO_MODER]
movs r1, #0x03
bics r2, r2, r1, LSL #(2 * USBD_DP_PIN)
@@ -237,7 +237,7 @@ _connect:
.thumb_func
.type _setaddr, %function
_setaddr:
- ldr r1, =#USB_REGBASE
+ ldr r1, =USB_REGBASE
adds r0, #0x80
strh r0, [r1, #USB_DADDR] //USB->DADDR
bx lr
@@ -246,7 +246,7 @@ _setaddr:
.thumb_func
.type _get_frame, %function
_get_frame:
- ldr r0, =#USB_REGBASE
+ ldr r0, =USB_REGBASE
ldrh r0, [r0, #USB_FNR] //FNR
lsls r0, #21
lsrs r0, #21
@@ -256,7 +256,7 @@ _get_frame:
.thumb_func
.type _enable, %function
_enable:
- ldr r2, =#RCC_BASE //RCC
+ ldr r2, =RCC_BASE //RCC
movs r1, #0x01
lsls r3, r1, #23 //USBEN or USBRST
cbz r0, .L_disable
@@ -274,7 +274,7 @@ _enable:
orrs r0, r1
str r0, [r2, #RCC_APB2ENR]
#endif
- ldr r1, =#USB_REGBASE
+ ldr r1, =USB_REGBASE
ldr r0, [r2, #RCC_APB1ENR]
orrs r0, r3
str r0, [r2, #RCC_APB1ENR] //RCC->APB1ENR |= USBEN
@@ -309,13 +309,13 @@ _enable:
.type _getinfo, %function
_getinfo:
movs r0, #0
- ldr r2, =#RCC_BASE
+ ldr r2, =RCC_BASE
ldr r1, [r2, #RCC_APB1ENR]
lsrs r1, #24 //USBEN -> CF
bcc .L_getinfo_end
adds r0, #USBD_HW_ENABLED
#if defined(USBD_DP_PORT) && defined(USBD_DP_PIN)
- ldr r2, =#USBD_DP_PORT
+ ldr r2, =USBD_DP_PORT
ldr r1, [r2, #GPIO_IDR]
lsrs r1, #USBD_DP_PIN //USBD_DP_PIN -> CF
bcc .L_getinfo_end
@@ -335,7 +335,7 @@ _ep_setstall:
push {r4, lr}
lsls r2, r0, #28
lsrs r2, #26
- ldr r3, =#USB_EPBASE
+ ldr r3, =USB_EPBASE
adds r3, r2 // epr -> r3
movs r2, 0x30 // TX_STAT_MASK -> r2
ldrh r4, [r3]
@@ -346,25 +346,25 @@ _ep_setstall:
cmp r0, #0x80
blo .L_eps_rx
.L_eps_tx:
- ldr r0, =#TX_STALL //stall TX
+ ldr r0, =TX_STALL //stall TX
cmp r1, #0x00
bne .L_eps_reg_set
.L_eps_tx_unstall:
- ldr r0, =#DTX_USTALL //unstall dblbulk or iso TX (VALID and clr DTOG_TX & SWBUF_TX)
+ ldr r0, =DTX_USTALL //unstall dblbulk or iso TX (VALID and clr DTOG_TX & SWBUF_TX)
cmp r4, #0x01 // if doublebuffered bulk endpoint
beq .L_eps_reg_set
- ldr r0, =#TX_USTALL // unstall other TX (NAKED + clr DTOG_TX)
+ ldr r0, =TX_USTALL // unstall other TX (NAKED + clr DTOG_TX)
b .L_eps_reg_set
.L_eps_rx:
lsls r2, #8 // RX_STAT_MASK -> R2
- ldr r0,=#RX_STALL //stall RX
+ ldr r0,=RX_STALL //stall RX
cmp r1, #0x00
bne .L_eps_reg_set
.L_eps_rx_unstall:
- ldr r0, =#DRX_USTALL //unstall dblbulk or iso (VALID. clr DTOG_RX set SWBUF_RX)
+ ldr r0, =DRX_USTALL //unstall dblbulk or iso (VALID. clr DTOG_RX set SWBUF_RX)
cmp r4, #0x01 // if dblbulk
beq .L_eps_reg_set
- ldr r0, =#RX_USTALL // unstall other RX (VALID + clr
+ ldr r0, =RX_USTALL // unstall other RX (VALID + clr
/* R0 - mask and toggle bits
* R2 - mask for STAT bits
* R3 - endpoint register pointer
@@ -386,7 +386,7 @@ _ep_setstall:
.type _ep_isstalled, %function
/* bool ep_isstalled(uint8t ep) */
_ep_isstalled:
- ldr r1, =#USB_EPBASE
+ ldr r1, =USB_EPBASE
lsls r2, r0, #28
lsrs r2, #26
ldr r1, [r1, r2]
@@ -414,8 +414,8 @@ _ep_isstalled:
*/
_ep_read:
push {r4, r5, r6, lr}
- ldr r3, =#USB_EPBASE
- ldr r6, =#USB_PMABASE
+ ldr r3, =USB_EPBASE
+ ldr r6, =USB_PMABASE
lsls r0, #28
add r3, r3, r0, LSR #26 //*EPR -> R3
add r4, r6, r0, LSR (28 - EPT_SHIFT) //*EPT -> R4
@@ -441,7 +441,7 @@ _ep_read:
eors r0, r5, r5, LSR #8
lsrs r0, #7 // SW_RX ^ DTOG_RX -> CF
bcs .L_epr_notog // jmp if SW_RX != DTOG_RX (VALID)
- ldr r0, =#EP_NOTOG
+ ldr r0, =EP_NOTOG
ands r5, r0
adds r5, #EP_RX_SWBUF
strh r5, [r3] // toggling SW_RX
@@ -459,7 +459,6 @@ _ep_read:
strh r5, [r4, #RXCOUNT]
eors r0, r5 // r0 &= 0x3FF (RX count)
ldrh r5, [r4, #RXADDR]
-// ldr r4, =USB_PMABASE
adds r5, r4, r5, LSL (EPT_SHIFT - 3)
cmp r2, r0
blo .L_epr_read
@@ -484,7 +483,7 @@ _ep_read:
beq .L_epr_exit // ep is iso. no needs to set it to valid
cmp r1, #0x01
beq .L_epr_exit // ep is dblbulk. no needs to set it to valid
- ldr r2, =#TGL_SET(EP_RX_STAT , EP_RX_VAL)
+ ldr r2, =TGL_SET(EP_RX_STAT , EP_RX_VAL)
eors r5, r2
and r5, r5, r2, LSR #16
strh r5, [r3] // set ep to VALID state
@@ -503,8 +502,8 @@ _ep_read:
*/
_ep_write:
push {r4, r5, r6, lr}
- ldr r3, =#USB_EPBASE
- ldr r6, =#USB_PMABASE
+ ldr r3, =USB_EPBASE
+ ldr r6, =USB_PMABASE
lsls r0, #28
add r3, r3, r0, LSR #26 //*EPR -> R3
add r4, r6, r0, LSR (28 - EPT_SHIFT) //*EPT -> R4
@@ -555,10 +554,10 @@ _ep_write:
lsrs r1, #29
cmp r1, #0x04
beq .L_epw_exit // isochronous ep. do nothing
- ldr r2, =#TGL_SET(EP_TX_STAT, EP_TX_VAL)
+ ldr r2, =TGL_SET(EP_TX_STAT, EP_TX_VAL)
cmp r1, #0x01
bne .L_epw_setstate // NOT a doublebuffered bulk
- ldr r2, =#TGL_SET(EP_TX_SWBUF, EP_TX_SWBUF)
+ ldr r2, =TGL_SET(EP_TX_SWBUF, EP_TX_SWBUF)
bics r5, r2 // clear TX_SWBUF
.L_epw_setstate:
eors r5, r2
@@ -577,8 +576,8 @@ _ep_write:
_get_next_pma:
push {r1, r3, r4, lr}
movs r1, #16
- ldr r3, =#USB_PMASZ
- ldr r0, =#USB_PMABASE
+ ldr r3, =USB_PMASZ
+ ldr r0, =USB_PMABASE
.L_gnp_chkaddr:
ldrh r4, [r0, #0] //txaddr
tst r4, r4
@@ -628,14 +627,14 @@ _ep_config:
ands r4, r0
orrs r3, r4
lsls r4, #2
- ldr r5, =#USB_EPBASE
+ ldr r5, =USB_EPBASE
strh r3, [r5, r4] //setup EPTYPE EPKIND EPADDR
cmp r1, #0x00 // is a control ep ?
beq .L_epc_setuptx
cmp r0, #0x80
blo .L_epc_setuprx
.L_epc_setuptx:
- ldr r5, =#USB_PMABASE
+ ldr r5, =USB_PMABASE
adds r5, r5, r4, LSL (EPT_SHIFT - 2)
bl _get_next_pma
bcc .L_epc_fail
@@ -644,18 +643,18 @@ _ep_config:
strh r0, [r5, #TXCOUNT] //store txcnt
cmp r1, #0x06 // is DBLBULK
beq .L_epc_txdbl
- ldr r3, =#TX_USTALL //set state NAKED , clr DTOG_TX
+ ldr r3, =TX_USTALL //set state NAKED , clr DTOG_TX
cmp r1, #0x01 // is ISO
bne .L_epc_txsetstate //
.L_epc_txdbl:
- ldr r3, =#DTX_USTALL //set state VALID clr DTOG_TX & SWBUF_TX
+ ldr r3, =DTX_USTALL //set state VALID clr DTOG_TX & SWBUF_TX
bl _get_next_pma
bcc .L_epc_fail
strh r0, [r5, #TXADDR1] //store txaddr1
movs r0, #0x00
strh r0, [r5, #TXCOUNT1] //store txcnt
.L_epc_txsetstate:
- ldr r5, =#USB_EPBASE
+ ldr r5, =USB_EPBASE
ldrh r0, [r5, r4]
eors r0, r3
lsrs r3, #16
@@ -674,14 +673,14 @@ _ep_config:
adds r3, #0x3E
.L_epc_rxbb:
lsls r3, #9
- ldr r5, =#USB_PMABASE
+ ldr r5, =USB_PMABASE
adds r5, r5, r4, LSL (EPT_SHIFT - 2)
/* RX or RX1 */
bl _get_next_pma
bcc .L_epc_fail
strh r0, [r5, #RXADDR]
strh r3, [r5, #RXCOUNT]
- ldr r0, =#RX_USTALL
+ ldr r0, =RX_USTALL
/* check if doublebuffered */
cmp r1, 0x06 //if dblbulk
beq .L_epc_rxdbl
@@ -692,9 +691,9 @@ _ep_config:
bcc .L_epc_fail
strh r0, [r5, #RXADDR0] //store rxaddr0
strh r3, [r5, #RXCOUNT0] //store rxcnt0
- ldr r0, =#DRX_USTALL
+ ldr r0, =DRX_USTALL
.L_epc_rxsetstate:
- ldr r5, =#USB_EPBASE
+ ldr r5, =USB_EPBASE
ldrh r3, [r5, r4]
eors r3, r0
lsrs r0, #16
@@ -719,12 +718,12 @@ _ep_config:
_ep_deconfig:
lsls r1, r0, #28
lsrs r1, #26
- ldr r2, =#USB_EPBASE
- ldr r3, =#USB_PMABASE
+ ldr r2, =USB_EPBASE
+ ldr r3, =USB_PMABASE
adds r2, r1
adds r3, r3, r1, LSL (EPT_SHIFT - 2)
/* clearing endpoint register */
- ldr r1, =#EP_NOTOG
+ ldr r1, =EP_NOTOG
ldrh r0, [r2]
bics r0, r1
strh r0, [r2]
@@ -750,7 +749,7 @@ _ep_deconfig:
/*void evt_poll(usbd_device *dev, usbd_evt_callback callback)*/
_evt_poll:
push {r0, r1, r4, r5}
- ldr r3, =#USB_REGBASE
+ ldr r3, =USB_REGBASE
ldrh r0, [r3, #4] //USB->ISTR -> R2
/* ep_index -> R2 */
movs r2, 0x07
@@ -776,7 +775,7 @@ _evt_poll:
.L_ep_ctrm:
movs r5, #0x80 // CTR_TX mask to R5
- ldr r0,=#USB_EPBASE
+ ldr r0,=USB_EPBASE
add r0, r0, r2, LSL #2 // R0 ep register address
ldrh r4, [r0] // R4 EPR valur
lsrs r3, r4, #8 // CTR_TX -> CF
@@ -794,7 +793,7 @@ _evt_poll:
movs r1, #usbd_evt_epsetup
.L_ep_clr_ctr:
bics r4, r5 //clear CTR flag
- ldr r5, =#EP_NOTOG
+ ldr r5, =EP_NOTOG
ands r4, r5
strh r4, [r0] // store
b .L_ep_callback
@@ -829,9 +828,9 @@ _evt_poll:
/* do reset routine */
.L_ep_resetm:
movs r1, #7
- ldr r2, =#USB_EPBASE
- ldr r0, =#USB_PMABASE
- ldr r5, =#EP_NOTOG
+ ldr r2, =USB_EPBASE
+ ldr r0, =USB_PMABASE
+ ldr r5, =EP_NOTOG
.L_ep_reset_loop:
ldrh r4, [r2]
bics r4, r5
diff --git a/src/usbd_stm32l052_devfs_asm.S b/src/usbd_stm32l052_devfs_asm.S
index 0bc10c3..a5a0ab4 100644
--- a/src/usbd_stm32l052_devfs_asm.S
+++ b/src/usbd_stm32l052_devfs_asm.S
@@ -162,7 +162,7 @@ _get_serial_desc:
.thumb_func
.type _connect, %function
_connect:
- ldr r3, =#USB_REGBASE
+ ldr r3, =USB_REGBASE
movs r1, #0x03 //BCDEN + DCDEN
movs r2, #usbd_lane_dsc
strh r1, [r3, #USB_BCDR]
@@ -206,7 +206,7 @@ _setaddr:
.thumb_func
.type _get_frame, %function
_get_frame:
- ldr r0, =#USB_REGBASE
+ ldr r0, =USB_REGBASE
ldrh r0, [r0, #USB_FNR] //FNR
lsls r0, #21
lsrs r0, #21
@@ -216,8 +216,8 @@ _get_frame:
.thumb_func
.type _enable, %function
_enable:
- ldr r1, =#USB_REGBASE //USB->CNTR
- ldr r2, =#RCC_BASE //RCC
+ ldr r1, =USB_REGBASE //USB->CNTR
+ ldr r2, =RCC_BASE //RCC
movs r3, #0x01
lsls r3, #RCC_USBEN //USBEN or USBRST
tst r0, r0
@@ -238,7 +238,7 @@ _enable:
orrs r0, r3
str r0, [r2, #RCC_APB2ENR] //RCC->APB2ENR |= RCC_APB2ENR_SYSCFGCOMPEN
- ldr r2, =#SYSCFG_BASE //SYSCFG->CFGR1
+ ldr r2, =SYSCFG_BASE //SYSCFG->CFGR1
ldr r0, [r2]
lsls r3, #SYSCFG_USBREMAP
orrs r0, r3
@@ -273,12 +273,12 @@ _enable:
.type _getinfo, %function
_getinfo:
movs r0, #USBD_HW_BC
- ldr r2, =#RCC_BASE
+ ldr r2, =RCC_BASE
ldr r1, [r2, #RCC_APB1ENR]
lsrs r1, #24 //USBEN -> CF
bcc .L_getinfo_end
adds r0, #USBD_HW_ENABLED
- ldr r2, =#USB_REGBASE
+ ldr r2, =USB_REGBASE
ldr r1, [r2, #USB_BCDR]
lsrs r1, #15 //DPPU -> CF
bcc .L_getinfo_end
@@ -297,7 +297,7 @@ _ep_setstall:
push {r4, lr}
lsls r2, r0, #28
lsrs r2, #26
- ldr r3, =#USB_EPBASE
+ ldr r3, =USB_EPBASE
adds r3, r2 // epr -> r3
movs r2, 0x30 // TX_STAT_MASK -> r2
ldrh r4, [r3]
@@ -308,25 +308,25 @@ _ep_setstall:
cmp r0, #0x80
blo .L_eps_rx
.L_eps_tx:
- ldr r0, =#TX_STALL //stall TX
+ ldr r0, =TX_STALL //stall TX
cmp r1, #0x00
bne .L_eps_reg_set
.L_eps_tx_unstall:
- ldr r0, =#DTX_USTALL //unstall dblbulk or iso TX (VALID and clr DTOG_TX & SWBUF_TX)
+ ldr r0, =DTX_USTALL //unstall dblbulk or iso TX (VALID and clr DTOG_TX & SWBUF_TX)
cmp r4, #0x01 // if doublebuffered bulk endpoint
beq .L_eps_reg_set
- ldr r0, =#TX_USTALL // unstall other TX (NAKED + clr DTOG_TX)
+ ldr r0, =TX_USTALL // unstall other TX (NAKED + clr DTOG_TX)
b .L_eps_reg_set
.L_eps_rx:
lsls r2, #8 // RX_STAT_MASK -> R2
- ldr r0,=#RX_STALL //stall RX
+ ldr r0,=RX_STALL //stall RX
cmp r1, #0x00
bne .L_eps_reg_set
.L_eps_rx_unstall:
- ldr r0, =#DRX_USTALL //unstall dblbulk or iso (VALID. clr DTOG_RX set SWBUF_RX)
+ ldr r0, =DRX_USTALL //unstall dblbulk or iso (VALID. clr DTOG_RX set SWBUF_RX)
cmp r4, #0x01 // if dblbulk
beq .L_eps_reg_set
- ldr r0, =#RX_USTALL // unstall other RX (VALID + clr
+ ldr r0, =RX_USTALL // unstall other RX (VALID + clr
/* R0 - mask and toggle bits
* R2 - mask for STAT bits
* R3 - endpoint register pointer
@@ -348,7 +348,7 @@ _ep_setstall:
.type _ep_isstalled, %function
/* bool ep_isstalled(uint8t ep) */
_ep_isstalled:
- ldr r1, =#USB_EPBASE
+ ldr r1, =USB_EPBASE
lsls r2, r0, #28
lsrs r2, #26
ldr r1, [r1, r2]
@@ -376,8 +376,8 @@ _ep_isstalled:
*/
_ep_read:
push {r4, r5, lr}
- ldr r3, =#USB_EPBASE
- ldr r4, =#USB_PMABASE
+ ldr r3, =USB_EPBASE
+ ldr r4, =USB_PMABASE
lsls r0, #28
lsrs r0, #26
adds r3, r0 // *EPR -> R3
@@ -408,7 +408,7 @@ _ep_read:
eors r0, r5
lsrs r0, #7 // SW_RX ^ DTOG_RX -> CF
bcs .L_epr_notog // jmp if SW_RX != DTOG_RX (VALID)
- ldr r0, =#EP_NOTOG
+ ldr r0, =EP_NOTOG
ands r5, r0
adds r5, #EP_RX_SWBUF
strh r5, [r3] // toggling SW_RX
@@ -427,7 +427,7 @@ _ep_read:
lsls r0, #22
lsrs r0, #22 // r0 &= 0x3FF (RX count)
ldrh r5, [r4, #RXADDR]
- ldr r4, =#USB_PMABASE
+ ldr r4, =USB_PMABASE
adds r5, r4 // R5 now has a physical address
cmp r2, r0
blo .L_epr_read
@@ -452,7 +452,7 @@ _ep_read:
beq .L_epr_exit // ep is iso. no needs to set it to valid
cmp r1, #0x01
beq .L_epr_exit // ep is dblbulk. no needs to set it to valid
- ldr r2, =#TGL_SET(EP_RX_STAT , EP_RX_VAL)
+ ldr r2, =TGL_SET(EP_RX_STAT , EP_RX_VAL)
eors r5, r2
lsrs r2, #16
ands r5, r2
@@ -473,8 +473,8 @@ _ep_read:
*/
_ep_write:
push {r4, r5, r6, lr}
- ldr r3, =#USB_EPBASE
- ldr r4, =#USB_PMABASE
+ ldr r3, =USB_EPBASE
+ ldr r4, =USB_PMABASE
lsls r0, #28
lsrs r0, #26
adds r3, r0 // *EPR -> R3
@@ -509,7 +509,7 @@ _ep_write:
strh r2, [r4, #TXCOUNT]
mov r0, r2 // save count for return
ldrh r5, [r4, #TXADDR]
- ldr r4, =#USB_PMABASE
+ ldr r4, =USB_PMABASE
adds r5, r4 // PMA BUFFER -> R5
.L_epw_write:
cmp r2, #1
@@ -531,10 +531,10 @@ _ep_write:
lsrs r1, #29
cmp r1, #0x04
beq .L_epw_exit // isochronous ep. do nothing
- ldr r2, =#TGL_SET(EP_TX_STAT, EP_TX_VAL)
+ ldr r2, =TGL_SET(EP_TX_STAT, EP_TX_VAL)
cmp r1, #0x01
bne .L_epw_setstate // NOT a doublebuffered bulk
- ldr r2, =#TGL_SET(EP_TX_SWBUF, EP_TX_SWBUF)
+ ldr r2, =TGL_SET(EP_TX_SWBUF, EP_TX_SWBUF)
bics r5, r2 // clear TX_SWBUF
.L_epw_setstate:
eors r5, r2
@@ -554,7 +554,7 @@ _get_next_pma:
movs r1, #0x3C
movs r3, #1
lsls r3, #10 //R3 MAX_PMA_SIZE
- ldr r0, =#USB_PMABASE
+ ldr r0, =USB_PMABASE
.L_gnp_chkaddr:
ldrh r4, [r0, r1]
tst r4, r4
@@ -604,14 +604,14 @@ _ep_config:
lsrs r4, #28
orrs r3, r4
lsls r4, #2
- ldr r5, =#USB_EPBASE
+ ldr r5, =USB_EPBASE
strh r3, [r5, r4] //setup EPTYPE EPKIND EPADDR
cmp r1, #0x00 // is a control ep ?
beq .L_epc_setuptx
cmp r0, #0x80
blo .L_epc_setuprx
.L_epc_setuptx:
- ldr r5, =#USB_PMABASE
+ ldr r5, =USB_PMABASE
lsls r4, #1
adds r5, r4
/* setup buffer table */
@@ -623,19 +623,19 @@ _ep_config:
strh r0, [r5, #TXCOUNT] //store txcnt
cmp r1, #0x06 // is DBLBULK
beq .L_epc_txdbl
- ldr r3, =#TX_USTALL //set state NAKED , clr DTOG_TX
+ ldr r3, =TX_USTALL //set state NAKED , clr DTOG_TX
cmp r1, #0x01
bne .L_epc_txsetstate //if single buffered
.L_epc_txdbl:
/* TX1 */
- ldr r3, =#DTX_USTALL //set state VALID clr DTOG_TX & SWBUF_TX
+ ldr r3, =DTX_USTALL //set state VALID clr DTOG_TX & SWBUF_TX
bl _get_next_pma
bcc .L_epc_fail
strh r0, [r5, #TXADDR1] //store txaddr1
movs r0, #0x00
strh r0, [r5, #TXCOUNT1] //store txcnt
.L_epc_txsetstate:
- ldr r5, =#USB_EPBASE
+ ldr r5, =USB_EPBASE
lsrs r4, #1
ldrh r0, [r5, r4]
eors r0, r3
@@ -657,7 +657,7 @@ _ep_config:
adds r3, #0x3E
.L_epc_rxbb:
lsls r3, #9
- ldr r5, =#USB_PMABASE
+ ldr r5, =USB_PMABASE
lsls r4, #1
adds r5, r4
/* setup buffer table */
@@ -666,7 +666,7 @@ _ep_config:
/* set RX or RX1 */
strh r0, [r5, #RXADDR]
strh r3, [r5, #RXCOUNT]
- ldr r0, =#RX_USTALL
+ ldr r0, =RX_USTALL
/* check if doublebuffered */
cmp r1, 0x06 //if dblbulk
beq .L_epc_rxdbl
@@ -677,9 +677,9 @@ _ep_config:
bcc .L_epc_fail
strh r0, [r5, #RXADDR0] //store rxaddr0
strh r3, [r5, #RXCOUNT0] //store rxcnt0
- ldr r0, =#DRX_USTALL
+ ldr r0, =DRX_USTALL
.L_epc_rxsetstate:
- ldr r5, =#USB_EPBASE
+ ldr r5, =USB_EPBASE
lsrs r4, #1
ldrh r3, [r5, r4]
eors r3, r0
@@ -705,13 +705,13 @@ _ep_config:
_ep_deconfig:
lsls r1, r0, #28
lsrs r1, #26
- ldr r2, =#USB_EPBASE
- ldr r3, =#USB_PMABASE
+ ldr r2, =USB_EPBASE
+ ldr r3, =USB_PMABASE
adds r2, r1
lsls r1, #1
adds r3, r1
/* clearing endpoint register */
- ldr r1, =#EP_NOTOG
+ ldr r1, =EP_NOTOG
ldrh r0, [r2]
bics r0, r1
strh r0, [r2]
@@ -734,7 +734,7 @@ _ep_deconfig:
/*void evt_poll(usbd_device *dev, usbd_evt_callback callback)*/
_evt_poll:
push {r0, r1, r4, r5}
- ldr r3, =#USB_REGBASE
+ ldr r3, =USB_REGBASE
ldrh r0, [r3, #4] //USB->ISTR -> R2
/* ep_index -> R2 */
movs r2, 0x07
@@ -760,7 +760,7 @@ _evt_poll:
.L_ep_ctrm:
movs r5, #0x80 // CTR_TX mask to R5
- ldr r0,=#USB_EPBASE
+ ldr r0,=USB_EPBASE
lsrs r0, #2
adds r0, r2
lsls r0, #2 // R0 ep register address
@@ -780,7 +780,7 @@ _evt_poll:
movs r1, #usbd_evt_epsetup
.L_ep_clr_ctr:
bics r4, r5 //clear CTR flag
- ldr r5, =#EP_NOTOG
+ ldr r5, =EP_NOTOG
ands r4, r5
strh r4, [r0] // store
b .L_ep_callback
@@ -814,9 +814,9 @@ _evt_poll:
/* do reset routine */
.L_ep_resetm:
movs r1, #7
- ldr r2, =#USB_EPBASE
- ldr r0, =#USB_PMABASE
- ldr r5, =#EP_NOTOG
+ ldr r2, =USB_EPBASE
+ ldr r0, =USB_PMABASE
+ ldr r5, =EP_NOTOG
.L_ep_reset_loop:
ldrh r4, [r2]
bics r4, r5
diff --git a/src/usbd_stm32l100_devfs_asm.S b/src/usbd_stm32l100_devfs_asm.S
index 956d942..dc3c48b 100644
--- a/src/usbd_stm32l100_devfs_asm.S
+++ b/src/usbd_stm32l100_devfs_asm.S
@@ -161,7 +161,7 @@ _get_serial_desc:
.thumb_func
.type _connect, %function
_connect:
- ldr r1, =#SYSCFG_BASE
+ ldr r1, =SYSCFG_BASE
movs r3, #0x01
ldr r2, [r1, #SYSCFG_PMC]
bics r2, r3
@@ -177,12 +177,12 @@ _connect:
.type _getinfo, %function
_getinfo:
movs r0, 0
- ldr r2, =#RCC_BASE
+ ldr r2, =RCC_BASE
ldr r1, [r2, #RCC_APB1ENR]
lsrs r1, #24 //USBEN -> CF
bcc .L_getinfo_end
adds r0, #USBD_HW_ENABLED
- ldr r2, =#SYSCFG_BASE
+ ldr r2, =SYSCFG_BASE
ldr r1, [r2, #SYSCFG_PMC]
lsrs r1, #1 //PU -> CF
bcc .L_getinfo_end
@@ -203,7 +203,7 @@ _setaddr:
.thumb_func
.type _get_frame, %function
_get_frame:
- ldr r0, =#USB_REGBASE
+ ldr r0, =USB_REGBASE
ldrh r0, [r0, #USB_FNR] //FNR
lsls r0, #21
lsrs r0, #21
@@ -213,13 +213,13 @@ _get_frame:
.thumb_func
.type _enable, %function
_enable:
- ldr r2, =#RCC_BASE //RCC
+ ldr r2, =RCC_BASE //RCC
movs r3, #0x01
lsls r3, #23 //USBEN or USBRST
cbz r0, .L_disable
.L_enable:
/* enabling and resetting USB peripheral */
- ldr r1, =#USB_REGBASE
+ ldr r1, =USB_REGBASE
ldr r0, [r2, #RCC_APB1ENR]
orrs r0, r3
str r0, [r2, #RCC_APB1ENR] //RCC->APB1ENR |= USBEN
@@ -251,7 +251,7 @@ _enable:
str r0, [r2, #RCC_APB1ENR]
/* disabling USB_PU in SYSCFG_PMC */
movs r3, #0x01
- ldr r1, =#SYSCFG_BASE
+ ldr r1, =SYSCFG_BASE
ldr r0, [r1, #SYSCFG_PMC]
bics r0, r3
str r0, [r1, #SYSCFG_PMC]
@@ -271,7 +271,7 @@ _ep_setstall:
push {r4, lr}
lsls r2, r0, #28
lsrs r2, #26
- ldr r3, =#USB_EPBASE
+ ldr r3, =USB_EPBASE
adds r3, r2 // epr -> r3
movs r2, 0x30 // TX_STAT_MASK -> r2
ldrh r4, [r3]
@@ -282,25 +282,25 @@ _ep_setstall:
cmp r0, #0x80
blo .L_eps_rx
.L_eps_tx:
- ldr r0, =#TX_STALL //stall TX
+ ldr r0, =TX_STALL //stall TX
cmp r1, #0x00
bne .L_eps_reg_set
.L_eps_tx_unstall:
- ldr r0, =#DTX_USTALL //unstall dblbulk or iso TX (VALID and clr DTOG_TX & SWBUF_TX)
+ ldr r0, =DTX_USTALL //unstall dblbulk or iso TX (VALID and clr DTOG_TX & SWBUF_TX)
cmp r4, #0x01 // if doublebuffered bulk endpoint
beq .L_eps_reg_set
- ldr r0, =#TX_USTALL // unstall other TX (NAKED + clr DTOG_TX)
+ ldr r0, =TX_USTALL // unstall other TX (NAKED + clr DTOG_TX)
b .L_eps_reg_set
.L_eps_rx:
lsls r2, #8 // RX_STAT_MASK -> R2
- ldr r0,=#RX_STALL //stall RX
+ ldr r0,=RX_STALL //stall RX
cmp r1, #0x00
bne .L_eps_reg_set
.L_eps_rx_unstall:
- ldr r0, =#DRX_USTALL //unstall dblbulk or iso (VALID. clr DTOG_RX set SWBUF_RX)
+ ldr r0, =DRX_USTALL //unstall dblbulk or iso (VALID. clr DTOG_RX set SWBUF_RX)
cmp r4, #0x01 // if dblbulk
beq .L_eps_reg_set
- ldr r0, =#RX_USTALL // unstall other RX (VALID + clr
+ ldr r0, =RX_USTALL // unstall other RX (VALID + clr
/* R0 - mask and toggle bits
* R2 - mask for STAT bits
* R3 - endpoint register pointer
@@ -322,7 +322,7 @@ _ep_setstall:
.type _ep_isstalled, %function
/* bool ep_isstalled(uint8t ep) */
_ep_isstalled:
- ldr r1, =#USB_EPBASE
+ ldr r1, =USB_EPBASE
lsls r2, r0, #28
lsrs r2, #26
ldr r1, [r1, r2]
@@ -350,8 +350,8 @@ _ep_isstalled:
*/
_ep_read:
push {r4, r5, lr}
- ldr r3, =#USB_EPBASE
- ldr r4, =#USB_PMABASE
+ ldr r3, =USB_EPBASE
+ ldr r4, =USB_PMABASE
lsls r0, #28
lsrs r0, #26
adds r3, r0 // *EPR -> R3
@@ -382,7 +382,7 @@ _ep_read:
eors r0, r5
lsrs r0, #7 // SW_RX ^ DTOG_RX -> CF
bcs .L_epr_notog // jmp if SW_RX != DTOG_RX (VALID)
- ldr r0, =#EP_NOTOG
+ ldr r0, =EP_NOTOG
ands r5, r0
adds r5, #EP_RX_SWBUF
strh r5, [r3] // toggling SW_RX
@@ -401,7 +401,7 @@ _ep_read:
lsls r0, #22
lsrs r0, #22 // r0 &= 0x3FF (RX count)
ldrh r5, [r4, #RXADDR]
- ldr r4, =#USB_PMABASE
+ ldr r4, =USB_PMABASE
lsls r5, #0x01
adds r5, r4 // R5 now has a physical address
cmp r2, r0
@@ -427,7 +427,7 @@ _ep_read:
beq .L_epr_exit // ep is iso. no needs to set it to valid
cmp r1, #0x01
beq .L_epr_exit // ep is dblbulk. no needs to set it to valid
- ldr r2, =#TGL_SET(EP_RX_STAT , EP_RX_VAL)
+ ldr r2, =TGL_SET(EP_RX_STAT , EP_RX_VAL)
eors r5, r2
lsrs r2, #16
ands r5, r2
@@ -447,8 +447,8 @@ _ep_read:
*/
_ep_write:
push {r4, r5, r6, lr}
- ldr r3, =#USB_EPBASE
- ldr r4, =#USB_PMABASE
+ ldr r3, =USB_EPBASE
+ ldr r4, =USB_PMABASE
lsls r0, #28
lsrs r0, #26
adds r3, r0 // *EPR -> R3
@@ -483,7 +483,7 @@ _ep_write:
strh r2, [r4, #TXCOUNT]
mov r0, r2 // save count for return
ldrh r5, [r4, #TXADDR]
- ldr r4, =#USB_PMABASE
+ ldr r4, =USB_PMABASE
lsls r5, #1
adds r5, r4 // PMA BUFFER -> R5
.L_epw_write:
@@ -506,10 +506,10 @@ _ep_write:
lsrs r1, #29
cmp r1, #0x04
beq .L_epw_exit // isochronous ep. do nothing
- ldr r2, =#TGL_SET(EP_TX_STAT, EP_TX_VAL)
+ ldr r2, =TGL_SET(EP_TX_STAT, EP_TX_VAL)
cmp r1, #0x01
bne .L_epw_setstate // NOT a doublebuffered bulk
- ldr r2, =#TGL_SET(EP_TX_SWBUF, EP_TX_SWBUF)
+ ldr r2, =TGL_SET(EP_TX_SWBUF, EP_TX_SWBUF)
bics r5, r2 // clear TX_SWBUF
.L_epw_setstate:
eors r5, r2
@@ -531,7 +531,7 @@ _get_next_pma:
movs r1, #16
movs r3, #1
lsls r3, #9 //R3 MAX_PMA_SIZE 512b
- ldr r0, =#USB_PMABASE
+ ldr r0, =USB_PMABASE
.L_gnp_chkaddr:
ldrh r4, [r0, #0] //txaddr
tst r4, r4
@@ -585,14 +585,14 @@ _ep_config:
lsrs r4, #28
orrs r3, r4
lsls r4, #2
- ldr r5, =#USB_EPBASE
+ ldr r5, =USB_EPBASE
strh r3, [r5, r4] //setup EPTYPE EPKIND EPADDR
cmp r1, #0x00 // is a control ep ?
beq .L_epc_setuptx
cmp r0, #0x80
blo .L_epc_setuprx
.L_epc_setuptx:
- ldr r5, =#USB_PMABASE
+ ldr r5, =USB_PMABASE
lsls r4, #2
adds r5, r4
bl _get_next_pma
@@ -602,18 +602,18 @@ _ep_config:
strh r0, [r5, #TXCOUNT] //store txcnt
cmp r1, #0x06 // is DBLBULK
beq .L_epc_txdbl
- ldr r3, =#TX_USTALL //set state NAKED , clr DTOG_TX
+ ldr r3, =TX_USTALL //set state NAKED , clr DTOG_TX
cmp r1, #0x01 // is ISO
bne .L_epc_txsetstate //
.L_epc_txdbl:
- ldr r3, =#DTX_USTALL //set state VALID clr DTOG_TX & SWBUF_TX
+ ldr r3, =DTX_USTALL //set state VALID clr DTOG_TX & SWBUF_TX
bl _get_next_pma
bcc .L_epc_fail
strh r0, [r5, #TXADDR1] //store txaddr1
movs r0, #0x00
strh r0, [r5, #TXCOUNT1] //store txcnt
.L_epc_txsetstate:
- ldr r5, =#USB_EPBASE
+ ldr r5, =USB_EPBASE
lsrs r4, #2
ldrh r0, [r5, r4]
eors r0, r3
@@ -633,7 +633,7 @@ _ep_config:
adds r3, #0x3E
.L_epc_rxbb:
lsls r3, #9
- ldr r5, =#USB_PMABASE
+ ldr r5, =USB_PMABASE
lsls r4, #2
adds r5, r4
/* RX or RX1 */
@@ -641,7 +641,7 @@ _ep_config:
bcc .L_epc_fail
strh r0, [r5, #RXADDR]
strh r3, [r5, #RXCOUNT]
- ldr r0, =#RX_USTALL
+ ldr r0, =RX_USTALL
/* check if doublebuffered */
cmp r1, 0x06 //if dblbulk
beq .L_epc_rxdbl
@@ -652,9 +652,9 @@ _ep_config:
bcc .L_epc_fail
strh r0, [r5, #RXADDR0] //store rxaddr0
strh r3, [r5, #RXCOUNT0] //store rxcnt0
- ldr r0, =#DRX_USTALL
+ ldr r0, =DRX_USTALL
.L_epc_rxsetstate:
- ldr r5, =#USB_EPBASE
+ ldr r5, =USB_EPBASE
lsrs r4, #2
ldrh r3, [r5, r4]
eors r3, r0
@@ -680,13 +680,13 @@ _ep_config:
_ep_deconfig:
lsls r1, r0, #28
lsrs r1, #26
- ldr r2, =#USB_EPBASE
- ldr r3, =#USB_PMABASE
+ ldr r2, =USB_EPBASE
+ ldr r3, =USB_PMABASE
adds r2, r1
lsls r1, #1
adds r3, r1
/* clearing endpoint register */
- ldr r1, =#EP_NOTOG
+ ldr r1, =EP_NOTOG
ldrh r0, [r2]
bics r0, r1
strh r0, [r2]
@@ -712,7 +712,7 @@ _ep_deconfig:
/*void evt_poll(usbd_device *dev, usbd_evt_callback callback)*/
_evt_poll:
push {r0, r1, r4, r5}
- ldr r3, =#USB_REGBASE
+ ldr r3, =USB_REGBASE
ldrh r0, [r3, #4] //USB->ISTR -> R2
/* ep_index -> R2 */
movs r2, 0x07
@@ -738,7 +738,7 @@ _evt_poll:
.L_ep_ctrm:
movs r5, #0x80 // CTR_TX mask to R5
- ldr r0,=#USB_EPBASE
+ ldr r0,=USB_EPBASE
lsrs r0, #2
adds r0, r2
lsls r0, #2 // R0 ep register address
@@ -758,7 +758,7 @@ _evt_poll:
movs r1, #usbd_evt_epsetup
.L_ep_clr_ctr:
bics r4, r5 //clear CTR flag
- ldr r5, =#EP_NOTOG
+ ldr r5, =EP_NOTOG
ands r4, r5
strh r4, [r0] // store
b .L_ep_callback
@@ -793,9 +793,9 @@ _evt_poll:
/* do reset routine */
.L_ep_resetm:
movs r1, #7
- ldr r2, =#USB_EPBASE
- ldr r0, =#USB_PMABASE
- ldr r5, =#EP_NOTOG
+ ldr r2, =USB_EPBASE
+ ldr r0, =USB_PMABASE
+ ldr r5, =EP_NOTOG
.L_ep_reset_loop:
ldrh r4, [r2]
bics r4, r5