davids5 commented on code in PR #11020:
URL: https://github.com/apache/nuttx/pull/11020#discussion_r1372665663
##########
arch/arm/src/imxrt/imxrt_serial.c:
##########
@@ -1373,6 +1373,7 @@ static inline void imxrt_serialout(struct imxrt_uart_s
*priv,
static int imxrt_dma_nextrx(struct imxrt_uart_s *priv)
{
int dmaresidual = imxrt_dmach_getcount(priv->rxdma);
+ DEBUGASSERT(dmaresidual <= RXDMA_BUFFER_SIZE);
Review Comment:
@danielappiagyei-bc
I dusted off a 1062 board MCU: i.MX RT1062 r1.1, rev. 1
I added
```
diff --git a/arch/arm/src/imxrt/imxrt_serial.c
b/arch/arm/src/imxrt/imxrt_serial.c
index 4d344f4815..14165aca10 100644
--- a/arch/arm/src/imxrt/imxrt_serial.c
+++ b/arch/arm/src/imxrt/imxrt_serial.c
@@ -1056,7 +1056,7 @@ static char
g_lpuart8rxbuffer[CONFIG_LPUART8_RXBUFSIZE];
static char g_lpuart8txbuffer[LPUART8_TXBUFSIZE_ADJUSTED] \
LPUART8_TXBUFSIZE_ALGN;
#endif
-
+
#ifdef CONFIG_IMXRT_LPUART9
static char g_lpuart9rxbuffer[CONFIG_LPUART9_RXBUFSIZE];
static char g_lpuart9txbuffer[LPUART9_TXBUFSIZE_ADJUSTED]
@@ -1923,6 +1923,7 @@ static inline void imxrt_serialout(struct imxrt_uart_s
*priv,
static int imxrt_dma_nextrx(struct imxrt_uart_s *priv)
{
int dmaresidual = imxrt_dmach_getcount(priv->rxdma);
+ ASSERT(dmaresidual != 0);
DEBUGASSERT(dmaresidual <= RXDMA_BUFFER_SIZE);
return RXDMA_BUFFER_SIZE - dmaresidual;
```
and set a break on it failing.
```
nsh> serial_test -c -s -p /dev/ttyS2 -b 3000000
serial test app
/dev/ttyS2: count for this session: rx=30852, tx=60416, rx err=0
/dev/ttyS2: count for this session: rx=975236, tx=1838080, rx err=0
/dev/ttyS2: count for this session: rx=1919620, tx=3615744, rx err=0
/dev/ttyS2: count for this session: rx=2864004, tx=5393408, rx err=0
/dev/ttyS2: count for this session: rx=3807844, tx=7170048, rx err=0
.
... it was running 0 errors but I attached a logic analyze
..
.
/dev/ttyS2: count for this session: rx=345661140, tx=650660864, rx err=362
/dev/ttyS2: count for this session: rx=346605524, tx=652438528, rx err=362
/dev/ttyS2: count for this session: rx=347549908, tx=654216192, rx err=362
/dev/ttyS2: count for this session: rx=348494292, tx=655993856, rx err=362
/dev/ttyS2: count for this session: rx=349438676, tx=657771520, rx err=362
/dev/ttyS2: count for this session: rx=350383060, tx=659549184, rx err=362
/dev/ttyS2: count for this session: rx=351327444, tx=661326848, rx err=362
/dev/ttyS2: count for this session: rx=352271828, tx=663104512, rx err=362
/dev/ttyS2: count for this session: rx=353216212, tx=664882176, rx err=362
/dev/ttyS2: count for this session: rx=354160596, tx=666659840, rx err=362
/dev/ttyS2: count for this session: rx=355104980, tx=668437504, rx err=362
/dev/ttyS2: count for this session: rx=356049364, tx=670215168, rx err=362
/dev/ttyS2: count for this session: rx=356993748, tx=671992832, rx err=362
/dev/ttyS2: count for this session: rx=357937588, tx=673769472, rx err=362
/dev/ttyS2: count for this session: rx=358881972, tx=675547136, rx err=362
/dev/ttyS2: count for this session: rx=359826356, tx=677324800, rx err=362
/dev/ttyS2: count for this session: rx=360770756, tx=679102464, rx err=362
/dev/ttyS2: count for this session: rx=361715140, tx=680880128, rx err=362
/dev/ttyS2: count for this session: rx=362659524, tx=682657792, rx err=362
```
Running for 2340 Second - no breakpoint
Yellow TX->PC
Green CTS<-PC
Orange TX->PC
Blue RTS->PC

There are ~544 characters per RTS-
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]