forked from nanoframework/nf-interpreter
-
Notifications
You must be signed in to change notification settings - Fork 2
/
target_windows_devices_serialcommunication_config.cpp
109 lines (84 loc) · 2.38 KB
/
target_windows_devices_serialcommunication_config.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
//
// Copyright (c) .NET Foundation and Contributors
// See LICENSE file in the project root for full license information.
//
#include "target_windows_devices_serialcommunication_config.h"
#include <win_dev_serial_native_target.h>
///////////
// UART2 //
///////////
UART_CONFIG_PINS(2, GPIOD, GPIOD, 5, 6, 7)
// buffers
#if defined(__GNUC__)
__attribute__((aligned (32)))
#endif
uint8_t Uart2_TxBuffer[UART2_TX_SIZE];
#if defined(__GNUC__)
__attribute__((aligned (32)))
#endif
uint8_t Uart2_RxBuffer[UART2_RX_SIZE];
// initialization for UART2
UART_INIT(2, UART2_TX_SIZE, UART2_RX_SIZE)
// un-initialization for UART2
UART_UNINIT(2)
///////////
// UART3 //
///////////
// pin configuration for UART3
UART_CONFIG_PINS(3, GPIOB, GPIOB, 10, 11, 7)
// buffers
#if defined(__GNUC__)
__attribute__((aligned (32)))
#endif
uint8_t Uart3_TxBuffer[UART3_TX_SIZE];
#if defined(__GNUC__)
__attribute__((aligned (32)))
#endif
uint8_t Uart3_RxBuffer[UART3_RX_SIZE];
// initialization for UART3
UART_INIT(3, UART3_TX_SIZE, UART3_RX_SIZE)
// un-initialization for UART3
UART_UNINIT(3)
///////////
// UART6 //
///////////
// pin configuration for UART6
// port for TX pin is: GPIOC
// port for RX pin is: GPIOC
// TX pin: is GPIOC_6
// RX pin: is GPIOC_7
// GPIO alternate pin function is 8 (see "Table 13. STM32F765xx, STM32F767xx, STM32F768Ax and STM32F769xx alternate function mapping" in STM32F769I datasheet)
UART_CONFIG_PINS(6, GPIOC, GPIOC, 6, 7, 8)
// buffers
// buffers that are R/W by DMA are recommended to be aligned with 32 bytes cache page size boundary
// because of issues with cache coherency and DMA (this is particularly important with Cortex-M7 because of cache)
#if defined(__GNUC__)
__attribute__((aligned (32)))
#endif
uint8_t Uart6_TxBuffer[UART6_TX_SIZE];
#if defined(__GNUC__)
__attribute__((aligned (32)))
#endif
uint8_t Uart6_RxBuffer[UART6_RX_SIZE];
// initialization for UART6
UART_INIT(6, UART6_TX_SIZE, UART6_RX_SIZE)
// un-initialization for UART6
UART_UNINIT(6)
///////////
// UART7 //
///////////
// pin configuration for UART7
UART_CONFIG_PINS(7, GPIOF, GPIOF, 7, 6, 8)
// buffers
#if defined(__GNUC__)
__attribute__((aligned (32)))
#endif
uint8_t Uart7_TxBuffer[UART7_TX_SIZE];
#if defined(__GNUC__)
__attribute__((aligned (32)))
#endif
uint8_t Uart7_RxBuffer[UART7_RX_SIZE];
// initialization for UART7
UART_INIT(7, UART7_TX_SIZE, UART7_RX_SIZE)
// un-initialization for UART7
UART_UNINIT(7)