diff options
6 files changed, 29 insertions, 37 deletions
diff --git a/demos/STM32/RT-STM32F103-STM3210E_EVAL-FATFS-USB/.project b/demos/STM32/RT-STM32F103-STM3210E_EVAL-FATFS-USB/.project index 10fcc0bc1..27c76eacf 100644 --- a/demos/STM32/RT-STM32F103-STM3210E_EVAL-FATFS-USB/.project +++ b/demos/STM32/RT-STM32F103-STM3210E_EVAL-FATFS-USB/.project @@ -80,7 +80,7 @@ <link>
<name>board</name>
<type>2</type>
- <locationURI>CHIBIOS/os/hal/boards/OLIMEX_STM32_E407</locationURI>
+ <locationURI>CHIBIOS/os/hal/boards/ST_STM3210E_EVAL</locationURI>
</link>
<link>
<name>fatfs</name>
diff --git a/demos/STM32/RT-STM32F103-STM3210E_EVAL-FATFS-USB/halconf.h b/demos/STM32/RT-STM32F103-STM3210E_EVAL-FATFS-USB/halconf.h index d82305228..8ae5a3ebf 100644 --- a/demos/STM32/RT-STM32F103-STM3210E_EVAL-FATFS-USB/halconf.h +++ b/demos/STM32/RT-STM32F103-STM3210E_EVAL-FATFS-USB/halconf.h @@ -139,7 +139,7 @@ * @brief Enables the SERIAL subsystem.
*/
#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL TRUE
+#define HAL_USE_SERIAL FALSE
#endif
/**
diff --git a/demos/STM32/RT-STM32F103-STM3210E_EVAL-FATFS-USB/main.c b/demos/STM32/RT-STM32F103-STM3210E_EVAL-FATFS-USB/main.c index db7749bb0..1bc4a24c7 100644 --- a/demos/STM32/RT-STM32F103-STM3210E_EVAL-FATFS-USB/main.c +++ b/demos/STM32/RT-STM32F103-STM3210E_EVAL-FATFS-USB/main.c @@ -24,9 +24,6 @@ #include "chprintf.h"
#include "shell.h"
-#include "lwipthread.h"
-#include "web/web.h"
-
#include "ff.h"
/*===========================================================================*/
@@ -155,11 +152,11 @@ static FRESULT scan_files(BaseSequentialStream *chp, char *path) { /*===========================================================================*/
/*
- * Endpoints to be used for USBD2.
+ * Endpoints to be used for USBD1.
*/
-#define USBD2_DATA_REQUEST_EP 1
-#define USBD2_DATA_AVAILABLE_EP 1
-#define USBD2_INTERRUPT_REQUEST_EP 2
+#define USBD1_DATA_REQUEST_EP 1
+#define USBD1_DATA_AVAILABLE_EP 1
+#define USBD1_INTERRUPT_REQUEST_EP 2
/*
* Serial over USB Driver structure.
@@ -242,7 +239,7 @@ static const uint8_t vcom_configuration_descriptor_data[67] = { USB_DESC_BYTE (0x01), /* bSlaveInterface0 (Data Class
Interface). */
/* Endpoint 2 Descriptor.*/
- USB_DESC_ENDPOINT (USBD2_INTERRUPT_REQUEST_EP|0x80,
+ USB_DESC_ENDPOINT (USBD1_INTERRUPT_REQUEST_EP|0x80,
0x03, /* bmAttributes (Interrupt). */
0x0008, /* wMaxPacketSize. */
0xFF), /* bInterval. */
@@ -258,12 +255,12 @@ static const uint8_t vcom_configuration_descriptor_data[67] = { 4.7). */
0x00), /* iInterface. */
/* Endpoint 3 Descriptor.*/
- USB_DESC_ENDPOINT (USBD2_DATA_AVAILABLE_EP, /* bEndpointAddress.*/
+ USB_DESC_ENDPOINT (USBD1_DATA_AVAILABLE_EP, /* bEndpointAddress.*/
0x02, /* bmAttributes (Bulk). */
0x0040, /* wMaxPacketSize. */
0x00), /* bInterval. */
/* Endpoint 1 Descriptor.*/
- USB_DESC_ENDPOINT (USBD2_DATA_REQUEST_EP|0x80, /* bEndpointAddress.*/
+ USB_DESC_ENDPOINT (USBD1_DATA_REQUEST_EP|0x80, /* bEndpointAddress.*/
0x02, /* bmAttributes (Bulk). */
0x0040, /* wMaxPacketSize. */
0x00) /* bInterval. */
@@ -416,8 +413,8 @@ static void usb_event(USBDriver *usbp, usbevent_t event) { /* Enables the endpoints specified into the configuration.
Note, this callback is invoked from an ISR so I-Class functions
must be used.*/
- usbInitEndpointI(usbp, USBD2_DATA_REQUEST_EP, &ep1config);
- usbInitEndpointI(usbp, USBD2_INTERRUPT_REQUEST_EP, &ep2config);
+ usbInitEndpointI(usbp, USBD1_DATA_REQUEST_EP, &ep1config);
+ usbInitEndpointI(usbp, USBD1_INTERRUPT_REQUEST_EP, &ep2config);
/* Resetting the state of the CDC subsystem.*/
sduConfigureHookI(&SDU2);
@@ -454,10 +451,10 @@ static const USBConfig usbcfg = { * Serial over USB driver configuration.
*/
static const SerialUSBConfig serusbcfg = {
- &USBD2,
- USBD2_DATA_REQUEST_EP,
- USBD2_DATA_AVAILABLE_EP,
- USBD2_INTERRUPT_REQUEST_EP
+ &USBD1,
+ USBD1_DATA_REQUEST_EP,
+ USBD1_DATA_AVAILABLE_EP,
+ USBD1_INTERRUPT_REQUEST_EP
};
/*===========================================================================*/
@@ -602,7 +599,7 @@ static THD_FUNCTION(Thread1, arg) { (void)arg;
chRegSetThreadName("blinker");
while (true) {
- palTogglePad(GPIOC, GPIOC_LED);
+ palTogglePad(GPIOF, GPIOF_LED1);
chThdSleepMilliseconds(fs_ready ? 125 : 500);
}
}
@@ -624,11 +621,9 @@ int main(void) { * and performs the board-specific initializations.
* - Kernel initialization, the main() function becomes a thread and the
* RTOS is active.
- * - lwIP subsystem initialization using the default configuration.
*/
halInit();
chSysInit();
- lwipInit(NULL);
/*
* Initializes a serial-over-USB CDC driver.
@@ -652,13 +647,6 @@ int main(void) { shellInit();
/*
- * Activates the serial driver 6 and SDC driver 1 using default
- * configuration.
- */
- sdStart(&SD6, NULL);
- sdcStart(&SDCD1, NULL);
-
- /*
* Activates the card insertion monitor.
*/
tmr_init(&SDCD1);
@@ -669,12 +657,6 @@ int main(void) { chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
/*
- * Creates the HTTP thread (it changes priority internally).
- */
- chThdCreateStatic(wa_http_server, sizeof(wa_http_server), NORMALPRIO + 1,
- http_server, NULL);
-
- /*
* Normal main() thread activity, in this demo it does nothing except
* sleeping in a loop and listen for events.
*/
@@ -687,8 +669,6 @@ int main(void) { chThdRelease(shelltp); /* Recovers memory of the previous shell. */
shelltp = NULL; /* Triggers spawning of a new shell. */
}
- if (palReadPad(GPIOA, GPIOA_BUTTON_WKUP) != 0) {
- }
chEvtDispatch(evhndl, chEvtWaitOneTimeout(ALL_EVENTS, MS2ST(500)));
}
}
diff --git a/demos/STM32/RT-STM32F103-STM3210E_EVAL-FATFS-USB/mcuconf.h b/demos/STM32/RT-STM32F103-STM3210E_EVAL-FATFS-USB/mcuconf.h index 47918a688..62db5b883 100644 --- a/demos/STM32/RT-STM32F103-STM3210E_EVAL-FATFS-USB/mcuconf.h +++ b/demos/STM32/RT-STM32F103-STM3210E_EVAL-FATFS-USB/mcuconf.h @@ -154,7 +154,7 @@ * SERIAL driver system settings.
*/
#define STM32_SERIAL_USE_USART1 FALSE
-#define STM32_SERIAL_USE_USART2 TRUE
+#define STM32_SERIAL_USE_USART2 FALSE
#define STM32_SERIAL_USE_USART3 FALSE
#define STM32_SERIAL_USE_UART4 FALSE
#define STM32_SERIAL_USE_UART5 FALSE
diff --git a/os/hal/boards/ST_STM3210E_EVAL/board.h b/os/hal/boards/ST_STM3210E_EVAL/board.h index 979742b90..43501dd48 100644 --- a/os/hal/boards/ST_STM3210E_EVAL/board.h +++ b/os/hal/boards/ST_STM3210E_EVAL/board.h @@ -238,6 +238,16 @@ PIN_INPUT(15)) /* Joy Up. */
#define VAL_GPIOGODR 0xFFFFF7FF
+/*
+ * USB bus activation macro, required by the USB driver.
+ */
+#define usb_lld_connect_bus(usbp) palClearPad(GPIOB, GPIOB_USB_DISC)
+
+/*
+ * USB bus de-activation macro, required by the USB driver.
+ */
+#define usb_lld_disconnect_bus(usbp) palSetPad(GPIOB, GPIOB_USB_DISC)
+
#if !defined(_FROM_ASM_)
#ifdef __cplusplus
extern "C" {
diff --git a/os/hal/ports/STM32/STM32F1xx/stm32_registry.h b/os/hal/ports/STM32/STM32F1xx/stm32_registry.h index cc52dc7e0..2597a8468 100644 --- a/os/hal/ports/STM32/STM32F1xx/stm32_registry.h +++ b/os/hal/ports/STM32/STM32F1xx/stm32_registry.h @@ -725,6 +725,7 @@ /* SDIO attributes.*/
#define STM32_HAS_SDIO TRUE
+#define STM32_SDC_SDIO_DMA_STREAM STM32_DMA_STREAM_ID(2, 4)
/* SPI attributes.*/
#define STM32_HAS_SPI1 TRUE
@@ -967,6 +968,7 @@ /* SDIO attributes.*/
#define STM32_HAS_SDIO TRUE
+#define STM32_SDC_SDIO_DMA_STREAM STM32_DMA_STREAM_ID(2, 4)
/* SPI attributes.*/
#define STM32_HAS_SPI1 TRUE
|