/* * Copyright (c) 2006-2021, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * 2009-09-22 Bernard add board.h to this bsp */ // <<< Use Configuration Wizard in Context Menu >>> #ifndef __BOARD_H__ #define __BOARD_H__ #include /* board configuration */ // SDCard Driver <1=>SDIO sdcard <0=>SPI MMC card // Default: 1 #define STM32_USE_SDIO 1 /* whether use board external SRAM memory */ // Use external SRAM memory on the board // Enable External SRAM memory #define STM32_EXT_SRAM 0 // Begin Address of External SRAM // Default: 0x68000000 #define STM32_EXT_SRAM_BEGIN 0x68000000 /* the begining address of external SRAM */ // End Address of External SRAM // Default: 0x68080000 #define STM32_EXT_SRAM_END 0x68080000 /* the end address of external SRAM */ // // Internal SRAM memory size[Kbytes] <8-128> // Default: 64 #define STM32_SRAM_SIZE 128 #define STM32_SRAM_END (0x20000000 + STM32_SRAM_SIZE * 1024) // Console on USART: <0=> no console <1=>USART 1 <2=>USART 2 <3=> USART 3 // Default: 1 #define STM32_CONSOLE_USART 1 // Ethernet Interface: <0=> Microchip ENC28J60 #define STM32_ETH_IF 0 void rt_hw_board_led_on(int n); void rt_hw_board_led_off(int n); void rt_hw_board_init(void); #if STM32_CONSOLE_USART == 0 #define CONSOLE_DEVICE "no" #elif STM32_CONSOLE_USART == 1 #define CONSOLE_DEVICE "uart1" #elif STM32_CONSOLE_USART == 2 #define CONSOLE_DEVICE "uart2" #elif STM32_CONSOLE_USART == 3 #define CONSOLE_DEVICE "uart3" #endif #if STM32_USE_SDIO /** * @brief SD FLASH SDIO Interface */ #define SD_DETECT_PIN GPIO_Pin_0 /* PB.0 */ #define SD_DETECT_GPIO_PORT GPIOB /* GPIOB */ #define SD_DETECT_GPIO_CLK RCC_AHB1Periph_GPIOB #define SDIO_FIFO_ADDRESS ((uint32_t)0x40012C80) /** * @brief SDIO Intialization Frequency (400KHz max) */ #define SDIO_INIT_CLK_DIV ((uint8_t)0x76) /** * @brief SDIO Data Transfer Frequency (25MHz max) */ #define SDIO_TRANSFER_CLK_DIV ((uint8_t)0x0) #define SD_SDIO_DMA DMA2 #define SD_SDIO_DMA_CLK RCC_AHB1Periph_DMA2 #define SD_SDIO_DMA_STREAM3 3 //#define SD_SDIO_DMA_STREAM6 6 #ifdef SD_SDIO_DMA_STREAM3 #define SD_SDIO_DMA_STREAM DMA2_Stream3 #define SD_SDIO_DMA_CHANNEL DMA_Channel_4 #define SD_SDIO_DMA_FLAG_FEIF DMA_FLAG_FEIF3 #define SD_SDIO_DMA_FLAG_DMEIF DMA_FLAG_DMEIF3 #define SD_SDIO_DMA_FLAG_TEIF DMA_FLAG_TEIF3 #define SD_SDIO_DMA_FLAG_HTIF DMA_FLAG_HTIF3 #define SD_SDIO_DMA_FLAG_TCIF DMA_FLAG_TCIF3 #elif defined SD_SDIO_DMA_STREAM6 #define SD_SDIO_DMA_STREAM DMA2_Stream6 #define SD_SDIO_DMA_CHANNEL DMA_Channel_4 #define SD_SDIO_DMA_FLAG_FEIF DMA_FLAG_FEIF6 #define SD_SDIO_DMA_FLAG_DMEIF DMA_FLAG_DMEIF6 #define SD_SDIO_DMA_FLAG_TEIF DMA_FLAG_TEIF6 #define SD_SDIO_DMA_FLAG_HTIF DMA_FLAG_HTIF6 #define SD_SDIO_DMA_FLAG_TCIF DMA_FLAG_TCIF6 #endif /* SD_SDIO_DMA_STREAM3 */ void SD_LowLevel_DeInit(void); void SD_LowLevel_Init(void); void SD_LowLevel_DMA_TxConfig(uint32_t *BufferSRC, uint32_t BufferSize); void SD_LowLevel_DMA_RxConfig(uint32_t *BufferDST, uint32_t BufferSize); #endif void rt_hw_usart_init(void); /* SD Card init function */ void rt_hw_msd_init(void); /* ETH interface init function */ #endif // <<< Use Configuration Wizard in Context Menu >>>