f25d000d53
* ApiHal: console abstraction, change uart baud rate to 230400. Bootloader: drop F5. Furi: prevent thread local output to serial console in stdglue. * ApiHal: take control over system initialization, reorder some subsystems in a hope of fixing USB issues. * Main: cleanup dead code. ISR: take care of HSECSS by our self. USB: leave clock configuration alone. * F6 cube: switch RCC to LL. * Cli: rollback return behavior.
89 lines
2.0 KiB
C
89 lines
2.0 KiB
C
#include <api-hal.h>
|
|
|
|
#include <adc.h>
|
|
#include <aes.h>
|
|
#include <comp.h>
|
|
#include <crc.h>
|
|
#include <pka.h>
|
|
#include <rf.h>
|
|
#include <rng.h>
|
|
#include <rtc.h>
|
|
#include <spi.h>
|
|
#include <tim.h>
|
|
#include <usb_device.h>
|
|
#include <gpio.h>
|
|
|
|
void api_hal_init() {
|
|
api_hal_clock_init();
|
|
api_hal_console_init();
|
|
FURI_LOG_I("FURI_HAL", "CLOCK and CONSOLE OK");
|
|
api_hal_interrupt_init();
|
|
FURI_LOG_I("FURI_HAL", "INTERRUPT OK");
|
|
api_hal_delay_init();
|
|
FURI_LOG_I("FURI_HAL", "DELAY OK");
|
|
|
|
MX_GPIO_Init();
|
|
FURI_LOG_I("HAL", "GPIO OK");
|
|
|
|
MX_RTC_Init();
|
|
FURI_LOG_I("HAL", "RTC OK");
|
|
api_hal_boot_init();
|
|
FURI_LOG_I("FURI_HAL", "BOOT OK");
|
|
api_hal_version_init();
|
|
FURI_LOG_I("FURI_HAL", "VERSION OK");
|
|
|
|
MX_ADC1_Init();
|
|
FURI_LOG_I("HAL", "ADC1 OK");
|
|
|
|
MX_SPI1_Init();
|
|
FURI_LOG_I("HAL", "SPI1 OK");
|
|
MX_SPI2_Init();
|
|
FURI_LOG_I("HAL", "SPI2 OK");
|
|
api_hal_spi_init();
|
|
FURI_LOG_I("FURI_HAL", "SPI OK");
|
|
|
|
MX_TIM1_Init();
|
|
FURI_LOG_I("HAL", "TIM1 OK");
|
|
MX_TIM2_Init();
|
|
FURI_LOG_I("HAL", "TIM2 OK");
|
|
MX_TIM16_Init();
|
|
FURI_LOG_I("HAL", "TIM16 OK");
|
|
MX_COMP1_Init();
|
|
FURI_LOG_I("HAL", "COMP1 OK");
|
|
MX_RF_Init();
|
|
FURI_LOG_I("HAL", "RF OK");
|
|
MX_PKA_Init();
|
|
FURI_LOG_I("HAL", "PKA OK");
|
|
MX_RNG_Init();
|
|
FURI_LOG_I("HAL", "RNG OK");
|
|
MX_AES1_Init();
|
|
FURI_LOG_I("HAL", "AES1 OK");
|
|
MX_AES2_Init();
|
|
FURI_LOG_I("HAL", "AES2 OK");
|
|
MX_CRC_Init();
|
|
FURI_LOG_I("HAL", "CRC OK");
|
|
|
|
// VCP + USB
|
|
api_hal_vcp_init();
|
|
FURI_LOG_I("FURI_HAL", "VCP OK");
|
|
MX_USB_Device_Init();
|
|
FURI_LOG_I("HAL", "USB OK");
|
|
|
|
api_hal_i2c_init();
|
|
FURI_LOG_I("FURI_HAL", "I2C OK");
|
|
|
|
// High Level
|
|
api_hal_power_init();
|
|
FURI_LOG_I("FURI_HAL", "POWER OK");
|
|
api_hal_light_init();
|
|
FURI_LOG_I("FURI_HAL", "LIGHT OK");
|
|
api_hal_vibro_init();
|
|
FURI_LOG_I("FURI_HAL", "VIBRO OK");
|
|
api_hal_subghz_init();
|
|
FURI_LOG_I("FURI_HAL", "SUBGHZ OK");
|
|
|
|
// FreeRTOS glue
|
|
api_hal_os_init();
|
|
FURI_LOG_I("FURI_HAL", "OS OK");
|
|
}
|