mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-25 17:25:20 +03:00
Add apm32f405/f407 support (#13796)
* Add APM32F4 driver libraries and USB middleware * Add the APM32F405 and APM32F407 target files * Add APM32 startup files * Add APM32F4 linker files * Add APM32F4.mk * Add APM32 driver files * Add APM32F40X MCU type * Sync with the Betaflight master branch and modify the driver directory structure * Implement CLI on the APM32 * Implement ADC on the APM32 * Implement config streamer on the APM32 * Implement I2C on the APM32 * Implement SPI on the APM32 * Implement DSHOT on the APM32 * Implement transponder ir on the APM32 * Implement serial uart on the APM32 * Implement MCO on the APM32 * Implement DWT on the APM32 * Update the init.c file, adding APM32 MCO configuration * Remove all duplicated APM32 driver files and retaining only the APM32 LIB directory * Create APM32F4.mk * Add linker files for APM32F405 and APM32F407 * Add startup and library config files for APM32F405 and APM32F407 * Add target files for APM32F405 and APM32F407 * Add apm32 MCU driver files * Add build configuration for APM32 MCU * Implement config streamer on APM32 * Implement CLI on the APM32 * Implement ADC on the APM32 * Implement RCC on the APM32 * Implement MCO on the APM32 * Implement I2C on the APM32 * Implement SPI on the APM32 * Implement serial uart on the APM32 * Implement IO on the APM32 * Implement DMA on the APM32 * Implement DSHOT on the APM32 * Implement transponder ir on the APM32 * Update init.c * Add the inclusion of the 'platform.h' file to the APM USB driver source file * Merge bus SPI duplicate code from APM32 to STM32 * Update timer_apm32.c * Merge motor duplicate code from APM32 to STM32 * Merge serial uart duplicate code from APM32 to STM32 * Update APM32F4.mk * Update cli.c * Update APM32F4.mk * Remove the apm32_flash_f4_split.ld * Associate the apm32 linker file with stm32_flash_f4_split.ld
This commit is contained in:
parent
27ec01ddda
commit
6dcc268918
84 changed files with 13936 additions and 49 deletions
|
@ -56,7 +56,7 @@
|
|||
#elif defined(STM32F7)
|
||||
#define UART_TX_BUFFER_ATTRIBUTE FAST_DATA_ZERO_INIT // DTCM RAM
|
||||
#define UART_RX_BUFFER_ATTRIBUTE FAST_DATA_ZERO_INIT // DTCM RAM
|
||||
#elif defined(STM32F4) || defined(AT32F4)
|
||||
#elif defined(STM32F4) || defined(AT32F4) || defined(APM32F4)
|
||||
#define UART_TX_BUFFER_ATTRIBUTE // NONE
|
||||
#define UART_RX_BUFFER_ATTRIBUTE // NONE
|
||||
#else
|
||||
|
@ -395,7 +395,7 @@ void uartConfigureDma(uartDevice_t *uartdev)
|
|||
dmaChannelSpec = dmaGetChannelSpecByPeripheral(DMA_PERIPH_UART_TX, device, serialUartConfig(device)->txDmaopt);
|
||||
if (dmaChannelSpec) {
|
||||
uartPort->txDMAResource = dmaChannelSpec->ref;
|
||||
#if defined(STM32F4) || defined(STM32F7) || defined(STM32H7) || defined(STM32G4)
|
||||
#if defined(STM32F4) || defined(STM32F7) || defined(STM32H7) || defined(STM32G4) || defined(APM32F4)
|
||||
uartPort->txDMAChannel = dmaChannelSpec->channel;
|
||||
#elif defined(AT32F4)
|
||||
uartPort->txDMAMuxId = dmaChannelSpec->dmaMuxId;
|
||||
|
@ -407,7 +407,7 @@ void uartConfigureDma(uartDevice_t *uartdev)
|
|||
dmaChannelSpec = dmaGetChannelSpecByPeripheral(DMA_PERIPH_UART_RX, device, serialUartConfig(device)->txDmaopt);
|
||||
if (dmaChannelSpec) {
|
||||
uartPort->rxDMAResource = dmaChannelSpec->ref;
|
||||
#if defined(STM32F4) || defined(STM32F7) || defined(STM32H7) || defined(STM32G4)
|
||||
#if defined(STM32F4) || defined(STM32F7) || defined(STM32H7) || defined(STM32G4) || defined(APM32F4)
|
||||
uartPort->rxDMAChannel = dmaChannelSpec->channel;
|
||||
#elif defined(AT32F4)
|
||||
uartPort->rxDMAMuxId = dmaChannelSpec->dmaMuxId;
|
||||
|
@ -419,7 +419,7 @@ void uartConfigureDma(uartDevice_t *uartdev)
|
|||
|
||||
if (hardware->rxDMAResource) {
|
||||
uartPort->rxDMAResource = hardware->rxDMAResource;
|
||||
#if defined(STM32F4) || defined(STM32F7) || defined(STM32H7) || defined(STM32G4)
|
||||
#if defined(STM32F4) || defined(STM32F7) || defined(STM32H7) || defined(STM32G4) || defined(APM32F4)
|
||||
uartPort->rxDMAChannel = hardware->rxDMAChannel;
|
||||
#elif defined(AT32F4)
|
||||
uartPort->rxDMAMuxId = hardware->rxDMAMuxId;
|
||||
|
@ -428,7 +428,7 @@ void uartConfigureDma(uartDevice_t *uartdev)
|
|||
|
||||
if (hardware->txDMAResource) {
|
||||
uartPort->txDMAResource = hardware->txDMAResource;
|
||||
#if defined(STM32F4) || defined(STM32F7) || defined(STM32H7) || defined(STM32G4)
|
||||
#if defined(STM32F4) || defined(STM32F7) || defined(STM32H7) || defined(STM32G4) || defined(APM32F4)
|
||||
uartPort->txDMAChannel = hardware->txDMAChannel;
|
||||
#elif defined(AT32F4)
|
||||
uartPort->txDMAMuxId = hardware->txDMAMuxId;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue