drivers/rtt: check whether Jlink is connected

Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
This commit is contained in:
yinshengkai
2023-07-06 22:09:05 +08:00
committed by Xiang Xiao
parent 980462bf27
commit e1553e8407
3 changed files with 31 additions and 1 deletions
+23
View File
@@ -89,4 +89,27 @@
#define RTT_USE_ASM 0
#define SEGGER_RTT_FLAG_UP(ch) (((FAR SEGGER_RTT_BUFFER_UP *)((FAR char *) \
&_SEGGER_RTT.aUp[ch] + SEGGER_RTT_UNCACHED_OFF))->Flags)
#define SEGGER_RTT_RDOFF_UP(ch) (((FAR SEGGER_RTT_BUFFER_UP *)((FAR char *) \
&_SEGGER_RTT.aUp[ch] + SEGGER_RTT_UNCACHED_OFF))->RdOff)
#define SEGGER_RTT_IS_CONNECTED(ch) (SEGGER_RTT_RDOFF_UP(ch) != 0)
#define SEGGER_RTT_IS_FIFO_MODE(ch) (SEGGER_RTT_FLAG_UP(ch) == SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL)
/* Determine whether JLink is connected, and use FIFO mode
* after connection to ensure that data is not lost.
*/
#define SEGGER_RTT_BLOCK_IF_FIFO_FULL(ch) \
do \
{ \
if (!SEGGER_RTT_IS_FIFO_MODE(ch) && SEGGER_RTT_IS_CONNECTED(ch)) \
{ \
SEGGER_RTT_SetFlagsUpBuffer(ch, SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL); \
SEGGER_RTT_SetFlagsDownBuffer(ch, SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL); \
} \
} \
while (0)
#endif /* __DRIVERS_SEGGER_CONFIG_SEGGER_RTT_CONF_H */