1
0

board.h 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. /*
  2. * Copyright (c) 2006-2021, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2021-09-22 AisinoCip add board.h to this bsp
  9. */
  10. #ifndef __BOARD_H__
  11. #define __BOARD_H__
  12. #include <rtconfig.h>
  13. #include "ACM32Fxx_HAL.h"
  14. /*-------------------------- UART CONFIG BEGIN --------------------------*/
  15. /** After configuring corresponding UART or UART DMA, you can use it.
  16. *
  17. * STEP 1, define macro define related to the serial port opening based on the serial port number
  18. * such as #define BSP_USING_UATR1
  19. *
  20. * STEP 2, according to the corresponding pin of serial port, modify the related serial port information
  21. * such as #define UART1_TX_PORT GPIOX -> GPIOA
  22. * #define UART1_RX_PORT GPIOX -> GPIOA
  23. * #define UART1_TX_PIN GPIO_PIN_X -> GPIO_PIN_9
  24. * #define UART1_RX_PIN GPIO_PIN_X -> GPIO_PIN_10
  25. *
  26. * STEP 3, if you want using SERIAL DMA, you must open it in the RT-Thread Settings.
  27. * RT-Thread Setting -> Components -> Device Drivers -> Serial Device Drivers -> Enable Serial DMA Mode
  28. *
  29. * STEP 4, according to serial port number to define serial port tx/rx DMA function in the board.h file
  30. * such as #define BSP_UART1_RX_USING_DMA
  31. *
  32. */
  33. #if defined(BSP_USING_UART1)
  34. #define UART1_TX_PORT GPIOA
  35. #define UART1_RX_PORT GPIOA
  36. #define UART1_TX_PIN GPIO_PIN_9
  37. #define UART1_RX_PIN GPIO_PIN_10
  38. #if defined(BSP_UART1_RX_USING_DMA)
  39. #define UART1_RX_DMA_INSTANCE DMA_Channel0
  40. #define UART1_RX_DMA_RCC BIT12
  41. #define UART1_RX_DMA_IRQ DMA_IRQn
  42. #define UART1_RX_DMA_CHANNEL 0
  43. #define UART1_RX_DMA_REQUEST REQ6_UART1_RECV
  44. #endif /* BSP_UART1_RX_USING_DMA */
  45. #if defined(BSP_UART1_TX_USING_DMA)
  46. #define UART1_TX_DMA_INSTANCE DMA_Channel1
  47. #define UART1_TX_DMA_RCC BIT12
  48. #define UART1_TX_DMA_IRQ DMA_IRQn
  49. #define UART1_TX_DMA_CHANNEL 1
  50. #define UART1_TX_DMA_REQUEST REQ5_UART1_SEND
  51. #endif /* BSP_UART1_TX_USING_DMA */
  52. #endif /* BSP_USING_UART1 */
  53. #if defined(BSP_USING_UART2)
  54. #define UART2_TX_PORT GPIOA
  55. #define UART2_RX_PORT GPIOA
  56. #define UART2_TX_PIN GPIO_PIN_2
  57. #define UART2_RX_PIN GPIO_PIN_3
  58. #if defined(BSP_UART2_RX_USING_DMA)
  59. #define UART2_RX_DMA_INSTANCE DMA_Channel0
  60. #define UART2_RX_DMA_RCC BIT12
  61. #define UART2_RX_DMA_IRQ DMA_IRQn
  62. #define UART2_RX_DMA_CHANNEL 0
  63. #define UART2_RX_DMA_REQUEST REQ8_UART2_RECV
  64. #endif /* BSP_UART2_RX_USING_DMA */
  65. #if defined(BSP_UART2_TX_USING_DMA)
  66. #define UART2_TX_DMA_INSTANCE DMA_Channel1
  67. #define UART2_TX_DMA_RCC BIT12
  68. #define UART2_TX_DMA_IRQ DMA_IRQn
  69. #define UART2_TX_DMA_CHANNEL 1
  70. #define UART2_TX_DMA_REQUEST REQ7_UART2_SEND
  71. #endif /* BSP_UART2_TX_USING_DMA */
  72. #endif /* BSP_USING_UART2 */
  73. #if defined(BSP_USING_UART3)
  74. #define UART3_TX_PORT GPIOB
  75. #define UART3_RX_PORT GPIOB
  76. #define UART3_TX_PIN GPIO_PIN_10
  77. #define UART3_RX_PIN GPIO_PIN_11
  78. #if defined(BSP_UART3_RX_USING_DMA)
  79. #define UART3_RX_DMA_INSTANCE DMA_Channel2
  80. #define UART3_RX_DMA_RCC BIT12
  81. #define UART3_RX_DMA_IRQ DMA_IRQn
  82. #define UART3_RX_DMA_CHANNEL 2
  83. #define UART3_RX_DMA_REQUEST REQ29_UART3_RECV
  84. #endif /* BSP_UART3_RX_USING_DMA */
  85. #if defined(BSP_UART3_TX_USING_DMA)
  86. #define UART3_TX_DMA_INSTANCE DMA_Channel3
  87. #define UART3_TX_DMA_RCC BIT12
  88. #define UART3_TX_DMA_IRQ DMA_IRQn
  89. #define UART3_TX_DMA_CHANNEL 3
  90. #define UART3_TX_DMA_REQUEST REQ27_UART3_SEND
  91. #endif /* BSP_UART3_TX_USING_DMA */
  92. #endif /* BSP_USING_UART3 */
  93. #if defined(BSP_USING_UART4)
  94. #define UART4_TX_PORT GPIOC
  95. #define UART4_RX_PORT GPIOC
  96. #define UART4_TX_PIN GPIO_PIN_10
  97. #define UART4_RX_PIN GPIO_PIN_11
  98. #if defined(BSP_UART4_RX_USING_DMA)
  99. #define UART4_RX_DMA_INSTANCE DMA_Channel4
  100. #define UART4_RX_DMA_RCC BIT12
  101. #define UART4_RX_DMA_IRQ DMA_IRQn
  102. #define UART4_RX_DMA_CHANNEL 4
  103. #define UART4_RX_DMA_REQUEST REQ46_UART4_RECV
  104. #endif /* BSP_UART4_RX_USING_DMA */
  105. #if defined(BSP_UART4_TX_USING_DMA)
  106. #define UART4_TX_DMA_INSTANCE DMA_Channel5
  107. #define UART4_TX_DMA_RCC BIT12
  108. #define UART4_TX_DMA_IRQ DMA_IRQn
  109. #define UART4_TX_DMA_CHANNEL 5
  110. #define UART4_TX_DMA_REQUEST REQ45_UART4_SEND
  111. #endif /* BSP_UART4_TX_USING_DMA */
  112. #endif /* BSP_USING_UART4 */
  113. /*-------------------------- UART CONFIG END --------------------------*/
  114. /* board configuration */
  115. void rt_hw_board_init(void);
  116. #endif /* __BOARD_H__ */