HPM APP
HPMicro Application solution
monitor_config.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2022-2025 HPMicro
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 #ifndef __MONITOR_CONFIG_H
8 #define __MONITOR_CONFIG_H
9 
10 
11 #define MONITOR_PID (0xFFFF)
12 #define MONITOR_VID (0x34B7) /* HPMicro VID */
13 
14 #define MONITOR_PROFILE_MAXSIZE (4096)
15 
16 #define MONITOR_MEM_SIZE (10*1024)
17 
18 /*--------monitor log--------*/
19 #define CONFIG_MONITOR_PRINTF(...) printf(__VA_ARGS__)
20 
21 #ifndef CONFIG_MONITOR_DBG_LEVEL
22 #define CONFIG_MONITOR_DBG_LEVEL MONITOR_DBG_INFO
23 #endif
24 
25 /* Enable print with color */
26 #define CONFIG_MONITOR_PRINTF_COLOR_ENABLE
27 /*-----------------------------*/
28 /* attribute data into no cache ram */
29 #define MONITOR_NOCACHE_RAM_SECTION __attribute__((section(".fast_ram")))
30 #define MONITOR_NOCACHE_AHB_SECTION __attribute__((section(".ahb_sram")))
31 #define MONITOR_ATTR_ALIGN(alignment) ATTR_ALIGN(alignment)
32 
33 #define CONFIG_MONITOR_RUNNING_CORE HPM_CORE0
34 
35 #include "board.h"
36 
37 #if defined(CONFIG_UART_CHANNEL) && CONFIG_UART_CHANNEL
38 
39 #define MONITOR_UART_DMA_ENABLE
40 
41 #ifndef CONFIG_USE_CONSOLE_UART
42 #define MONITOR_UART_BASE HPM_UART2
43 #define MONITOR_UART_CLK_NAME clock_uart2
44 #define MONITOR_UART_IRQ IRQn_UART2
45 #define MONITOR_UART_BAUDRATE (2000000UL)//(115200UL)
46 
47 #ifdef MONITOR_UART_DMA_ENABLE
48 #define MONITOR_UART_TX_DMA_REQ HPM_DMA_SRC_UART2_TX
49 #define MONITOR_UART_RX_DMA_REQ HPM_DMA_SRC_UART2_RX
50 #endif
51 
52 #else
53 #define MONITOR_UART_BASE BOARD_CONSOLE_UART_BASE
54 #define MONITOR_UART_CLK_NAME BOARD_CONSOLE_UART_CLK_NAME
55 #define MONITOR_UART_IRQ BOARD_CONSOLE_UART_IRQ
56 #define MONITOR_UART_BAUDRATE BOARD_CONSOLE_UART_BAUDRATE
57 
58 #ifdef MONITOR_UART_DMA_ENABLE
59 #define MONITOR_UART_TX_DMA_REQ BOARD_CONSOLE_UART_TX_DMA_REQ
60 #define MONITOR_UART_RX_DMA_REQ BOARD_CONSOLE_UART_RX_DMA_REQ
61 #endif
62 #endif
63 
64 #ifdef MONITOR_UART_DMA_ENABLE
65 #define MONITOR_UART_DMA_CONTROLLER HPM_HDMA
66 #define MONITOR_UART_DMAMUX_CONTROLLER HPM_DMAMUX
67 #define MONITOR_UART_TX_DMA_CHN (0U)
68 #define MONITOR_UART_RX_DMA_CHN (1U)
69 #define MONITOR_UART_TX_DMAMUX_CHN DMA_SOC_CHN_TO_DMAMUX_CHN(MONITOR_UART_DMA_CONTROLLER, MONITOR_UART_TX_DMA_CHN)
70 #define MONITOR_UART_RX_DMAMUX_CHN DMA_SOC_CHN_TO_DMAMUX_CHN(MONITOR_UART_DMA_CONTROLLER, MONITOR_UART_RX_DMA_CHN)
71 #define MONITOR_UART_DMA_IRQ IRQn_HDMA
72 #endif
73 
74 #endif
75 
76 #if defined(CONFIG_USB_CHANNEL) && CONFIG_USB_CHANNEL
77 
78 #define CONFIG_USB_POLLING_ENABLE
79 
80 #include "usb_config.h"
81 #define MONITOR_USB_BASE CONFIG_HPM_USBD_BASE
82 #define MONITOR_USB_BUSID 0
83 #define MONITOR_USB_IRQ CONFIG_HPM_USBD_IRQn
84 #define MONITOR_USB_PRIORITY 2
85 
86 #endif
87 
88 #if defined(CONFIG_ENET_CHANNEL) && CONFIG_ENET_CHANNEL
89 
90 #define MONITOR_TCP_LOCAL_PORT 5001
91 
92 /* Static IP Address */
93 #define MONITOR_ENET_IP_ADDR0 192
94 #define MONITOR_ENET_IP_ADDR1 168
95 #define MONITOR_ENET_IP_ADDR2 100
96 #define MONITOR_ENET_IP_ADDR3 10
97 
98 #define MONITOR_NETMASK_ADDR0 255
99 #define MONITOR_NETMASK_ADDR1 255
100 #define MONITOR_NETMASK_ADDR2 255
101 #define MONITOR_NETMASK_ADDR3 0
102 /* Gateway Address */
103 #define MONITOR_ENET_GW_ADDR0 192
104 #define MONITOR_ENET_GW_ADDR1 168
105 #define MONITOR_ENET_GW_ADDR2 100
106 #define MONITOR_ENET_GW_ADDR3 1
107 
108 #define MONITOR_ENET_TIMER (HPM_GPTMR2)
109 #define MONITOR_ENET_TIMER_CH 1
110 #define MONITOR_ENET_TIMER_IRQ IRQn_GPTMR2
111 #define MONITOR_ENET_TIMER_CLK_NAME (clock_gptmr2)
112 
113 #endif
114 
115 #define MONITOR_REPORT_MAXCOUNT (16)
116 #define MONITOR_STREAM_BUFFER_MAXCOUNT MONITOR_REPORT_MAXCOUNT
117 #define MONITOR_CHANNEL_MAXCOUNT MONITOR_REPORT_MAXCOUNT
118 #define MONITOR_TRIGGER_MAXCOUNT (16)
119 #define MONITOR_DATA_LIST_MAXCOUNT (20)
120 
121 /*--------monitor timer sample config--------*/
122 #if 0
123 #define MONITOR_SAMPLE_GPTMR_1_BASE HPM_GPTMR0
124 #define MONITOR_SAMPLE_GPTMR_1_IRQ IRQn_GPTMR0
125 #define MONITOR_SAMPLE_GPTMR_1_CLOCK clock_gptmr0
126 #if MONITOR_STREAM_BUFFER_MAXCOUNT > 12
127 #define MONITOR_SAMPLE_GPTMR_4_BASE HPM_GPTMR3
128 #define MONITOR_SAMPLE_GPTMR_4_IRQ IRQn_GPTMR3
129 #define MONITOR_SAMPLE_GPTMR_4_CLOCK clock_gptmr3
130 #endif
131 #if MONITOR_STREAM_BUFFER_MAXCOUNT > 8
132 #define MONITOR_SAMPLE_GPTMR_3_BASE HPM_GPTMR2
133 #define MONITOR_SAMPLE_GPTMR_3_IRQ IRQn_GPTMR2
134 #define MONITOR_SAMPLE_GPTMR_3_CLOCK clock_gptmr2
135 #endif
136 #if MONITOR_STREAM_BUFFER_MAXCOUNT > 4
137 #define MONITOR_SAMPLE_GPTMR_2_BASE HPM_GPTMR1
138 #define MONITOR_SAMPLE_GPTMR_2_IRQ IRQn_GPTMR1
139 #define MONITOR_SAMPLE_GPTMR_2_CLOCK clock_gptmr1
140 #endif
141 
142 #ifdef HPM_XDMA
143 #define MONITOR_SAMPLE_DMA_1_BASE HPM_XDMA_BASE
144 #define MONITOR_SAMPLE_DMA_1 HPM_XDMA
145 #else
146 #define MONITOR_SAMPLE_DMA_1_BASE HPM_HDMA_BASE
147 #define MONITOR_SAMPLE_DMA_1 HPM_HDMA
148 #endif
149 
150 #if DMA_SOC_CHANNEL_NUM < MONITOR_STREAM_BUFFER_MAXCOUNT
151 #define MONITOR_SAMPLE_DMA_2_BASE HPM_HDMA_BASE
152 #define MONITOR_SAMPLE_DMA_2 HPM_HDMA
153 #endif
154 
155 #define MONITOR_SAMPLE_DMAMUX_BASE HPM_DMAMUX
156 #endif
157 
158 #endif //__MONITOR_CONFIG_H