void target_early_init(void) { #if DEBUG_UART == 1 /* configure usart 1 pins */ gpio_config(GPIO_USART1_TX, GPIO_STM32_AF | GPIO_STM32_AFn(GPIO_AF7_USART1) | GPIO_PULLUP); gpio_config(GPIO_USART1_RX, GPIO_STM32_AF | GPIO_STM32_AFn(GPIO_AF7_USART1) | GPIO_PULLUP); #else #error need to configure gpio pins for debug uart #endif /* now that the uart gpios are configured, enable the debug uart */ stm32_debug_early_init(); /* The lcd framebuffer starts at the base of SDRAM */ BSP_LCD_Init(SDRAM_BASE); }
void target_early_init(void) { #ifdef DEBUG_UART #if DEBUG_UART == 2 gpio_config(GPIO_USART2_TX, GPIO_STM32_AF | GPIO_STM32_AFn(GPIO_AF_USART2) | GPIO_PULLUP); gpio_config(GPIO_USART2_RX, GPIO_STM32_AF | GPIO_STM32_AFn(GPIO_AF_USART2) | GPIO_PULLUP); #endif // DEBUG_UART == 2 #else #warn DEBUG_UART only supports USART2!!! #endif // defined DEBUG_UART stm32_debug_early_init(); /* configure some status leds */ gpio_config(GPIO_LED0, GPIO_OUTPUT); gpio_config(GPIO_LED1, GPIO_OUTPUT); gpio_config(GPIO_LED2, GPIO_OUTPUT); gpio_config(GPIO_LED3, GPIO_OUTPUT); }
void target_early_init(void) { 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. 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.Mode = GPIO_MODE_OUTPUT_PP; gpio_init.Pull = GPIO_NOPULL; gpio_init.Speed = GPIO_SPEED_LOW; 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.Pin = GPIO_TO_PIN_MASK(GPIO_LED112) | GPIO_TO_PIN_MASK(GPIO_LED113); HAL_GPIO_Init(GPIOD, &gpio_init); 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); gpio_set(GPIO_LED111, GPIO_LED_ON); gpio_set(GPIO_LED112, GPIO_LED_ON); gpio_set(GPIO_LED113, GPIO_LED_ON); gpio_set(GPIO_LED114, GPIO_LED_ON); gpio_set(GPIO_LED115, GPIO_LED_ON); // 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; 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); // Initialize Sensor bus (accelerometer / gyroscope / nrf51 spi bus sensor_bus_init_early(); // now that the uart gpios are configured, enable the debug uart. stm32_debug_early_init(); // default all the debug leds to off target_set_debug_led(0, false); target_set_debug_led(1, false); target_set_debug_led(2, false); target_set_debug_led(3, false); }