| Index: target/dartuinoP0/init.c
|
| diff --git a/target/dartuinoP0/init.c b/target/dartuinoP0/init.c
|
| index 99c071571d3652418c2ff5b4903da0f1fcb9387f..535801c592db0baff470e3827d4adda1224219d6 100644
|
| --- a/target/dartuinoP0/init.c
|
| +++ b/target/dartuinoP0/init.c
|
| @@ -55,36 +55,35 @@ const sdram_config_t target_sdram_config = {
|
|
|
| void target_early_init(void)
|
| {
|
| -
|
| - GPIO_InitTypeDef gpio_init_structure;
|
| + GPIO_InitTypeDef gpio_init;
|
|
|
| __HAL_RCC_GPIOE_CLK_ENABLE();
|
| __HAL_RCC_GPIOD_CLK_ENABLE();
|
| __HAL_RCC_GPIOJ_CLK_ENABLE();
|
|
|
| -
|
| #if DEBUG_UART == 3
|
| - /* configure usart 3 pins */
|
| + // configure usart 3 pins.
|
| gpio_config(GPIO_USART3_TX, GPIO_STM32_AF | GPIO_STM32_AFn(GPIO_AF7_USART3) | GPIO_PULLUP);
|
| gpio_config(GPIO_USART3_RX, GPIO_STM32_AF | GPIO_STM32_AFn(GPIO_AF7_USART3) | GPIO_PULLUP);
|
| #else
|
| #error need to configure gpio pins for debug uart
|
| #endif
|
|
|
| - gpio_init_structure.Mode = GPIO_MODE_OUTPUT_PP;
|
| - gpio_init_structure.Pull = GPIO_NOPULL;
|
| - gpio_init_structure.Speed = GPIO_SPEED_LOW;
|
| + gpio_init.Mode = GPIO_MODE_OUTPUT_PP;
|
| + gpio_init.Pull = GPIO_NOPULL;
|
| + gpio_init.Speed = GPIO_SPEED_LOW;
|
|
|
| - gpio_init_structure.Pin = GPIO_TO_PIN_MASK(GPIO_LED108) | GPIO_TO_PIN_MASK(GPIO_LED109) |\
|
| - GPIO_TO_PIN_MASK(GPIO_LED110) | GPIO_TO_PIN_MASK(GPIO_LED111);
|
| - HAL_GPIO_Init(GPIOE, &gpio_init_structure);
|
| + gpio_init.Pin = GPIO_TO_PIN_MASK(GPIO_LED108) | GPIO_TO_PIN_MASK(GPIO_LED109) |
|
| + GPIO_TO_PIN_MASK(GPIO_LED110) | GPIO_TO_PIN_MASK(GPIO_LED111);
|
| + HAL_GPIO_Init(GPIOE, &gpio_init);
|
|
|
| - gpio_init_structure.Pin = GPIO_TO_PIN_MASK(GPIO_LED112) | GPIO_TO_PIN_MASK(GPIO_LED113);
|
| - HAL_GPIO_Init(GPIOD, &gpio_init_structure);
|
| + gpio_init.Pin = GPIO_TO_PIN_MASK(GPIO_LED112) | GPIO_TO_PIN_MASK(GPIO_LED113);
|
| + HAL_GPIO_Init(GPIOD, &gpio_init);
|
|
|
| - gpio_init_structure.Pin = GPIO_TO_PIN_MASK(GPIO_LED114) | GPIO_TO_PIN_MASK(GPIO_LED115);
|
| - HAL_GPIO_Init(GPIOJ, &gpio_init_structure);
|
| - // Initialize to a pattern just so we know we have something
|
| + gpio_init.Pin = GPIO_TO_PIN_MASK(GPIO_LED114) | GPIO_TO_PIN_MASK(GPIO_LED115);
|
| + HAL_GPIO_Init(GPIOJ, &gpio_init);
|
| +
|
| + // Initialize to a pattern just so we know we have something.
|
| gpio_set(GPIO_LED108, GPIO_LED_ON);
|
| gpio_set(GPIO_LED109, GPIO_LED_ON);
|
| gpio_set(GPIO_LED110, GPIO_LED_ON);
|
| @@ -94,10 +93,20 @@ void target_early_init(void)
|
| gpio_set(GPIO_LED114, GPIO_LED_ON);
|
| gpio_set(GPIO_LED115, GPIO_LED_ON);
|
|
|
| - /* now that the uart gpios are configured, enable the debug uart */
|
| - stm32_debug_early_init();
|
| + // Initialize the switches GPIOs for interrupt on raising edge. In order
|
| + // to use stm32_EXTI15_10_IRQ() handler needs to be provided and EXTI15_10_IRQn
|
| + // needs to be enabled.
|
| + gpio_init.Mode = GPIO_MODE_INPUT;
|
| + gpio_init.Pull = GPIO_NOPULL;
|
| + gpio_init.Speed = GPIO_SPEED_FAST;
|
| + gpio_init.Mode = GPIO_MODE_IT_RISING;
|
|
|
| - /* The lcd framebuffer starts at the base of SDRAM */
|
| + gpio_init.Pin = GPIO_TO_PIN_MASK(GPIO_SW100) | GPIO_TO_PIN_MASK(GPIO_SW101) |
|
| + GPIO_TO_PIN_MASK(GPIO_SW102) | GPIO_TO_PIN_MASK(GPIO_SW103);
|
| + HAL_GPIO_Init(GPIOJ, &gpio_init);
|
| +
|
| + // now that the uart gpios are configured, enable the debug uart.
|
| + stm32_debug_early_init();
|
| }
|
|
|
| static uint8_t* gen_mac_address(void)
|
|
|