added volatile keyword for tx and rx buffers to remove compiler optimization
authorPotluri Krishna <x1082264@ti.com>
Mon, 4 Oct 2021 09:47:12 +0000 (15:17 +0530)
committerAnkur <ankurbaranwal@ti.com>
Mon, 4 Oct 2021 11:12:09 +0000 (06:12 -0500)
packages/ti/drv/uart/test/src/main_uart_test.c

index 642199df26fb8633acec991f03e6fdd69779fac3..018d32cfed3355043d64c299cabc0938023fb4f1 100644 (file)
@@ -159,14 +159,14 @@ typedef struct UART_Tests_s
 #define UART_TEST_CACHE_LINE_SIZE (128U)
 #endif
 
-char scanPrompt[MAX_TEST_BUFFER_SIZE] __attribute__ ((aligned (UART_TEST_CACHE_LINE_SIZE)));
+volatile char scanPrompt[MAX_TEST_BUFFER_SIZE] __attribute__ ((aligned (UART_TEST_CACHE_LINE_SIZE)));
 char echoPrompt[40] __attribute__ ((aligned (UART_TEST_CACHE_LINE_SIZE))) = "\n\r Data entered is as follows \r\n";
 char dataPrint[40] __attribute__ ((aligned (UART_TEST_CACHE_LINE_SIZE))) = "\r\n enter the data of 16 character \r\n";
 char readTimeoutPrompt[60] __attribute__ ((aligned (UART_TEST_CACHE_LINE_SIZE))) = "\r\n Read timed out \r\n";
 char breakErrPrompt[60] __attribute__ ((aligned (UART_TEST_CACHE_LINE_SIZE))) = "\r\n Received a break condition error \r\n";
 char rdCancelPrompt[60] __attribute__ ((aligned (UART_TEST_CACHE_LINE_SIZE))) = "\r\n Previous read canceled \r\n";
 char wrCancelPrompt[60] __attribute__ ((aligned (UART_TEST_CACHE_LINE_SIZE))) = "\r\n Previous write canceled \r\n";
-char fifoTrgLvlData[MAX_TEST_BUFFER_SIZE] __attribute__ ((aligned (UART_TEST_CACHE_LINE_SIZE))) =
+volatile char fifoTrgLvlData[MAX_TEST_BUFFER_SIZE] __attribute__ ((aligned (UART_TEST_CACHE_LINE_SIZE))) =
                         "0123456789112345678921234567893123456789412345678951234567896123456789712345678981234567899123456789"
                         "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789abcedef12345"
                         "6789ABCDEF012345678901234567899876543210deadbeef89512345";
@@ -763,7 +763,7 @@ bool UART_test_trglvl_xfer(UART_Handle uart, uint32_t dmaMode, uint32_t xferSize
     }
 
     /* Read in call back mode */
-    memset(scanPrompt, 0, sizeof(scanPrompt));
+    memset((void *)scanPrompt, 0, sizeof(scanPrompt));
     if (dmaMode)
     {
         CacheP_wbInv((void *)(uintptr_t)addrScanPrompt, (int32_t)sizeof(scanPrompt));
@@ -946,8 +946,8 @@ static bool UART_test_printf_scanf(bool dmaMode)
         UART_printf(stdioPrint);
 
 #ifndef UART_RX_LOOPBACK_ONLY
-        memset(scanPrompt, 0, sizeof(scanPrompt));
-        if (UART_scanFmt(scanPrompt) != S_PASS)
+        memset((void *)scanPrompt, 0, sizeof(scanPrompt));
+        if (UART_scanFmt((const char *)scanPrompt) != S_PASS)
         {
             goto Err;
         }
@@ -993,9 +993,9 @@ static bool UART_test_printf_scanf_stdio_params(bool dmaMode)
 
     UART_printf(stdioPrint);
 
-    memset(scanPrompt, 0, sizeof(scanPrompt));
+    memset((void *)scanPrompt, 0, sizeof(scanPrompt));
 #ifndef UART_RX_LOOPBACK_ONLY
-    if (UART_scanFmt(scanPrompt) != S_PASS)
+    if (UART_scanFmt((const char *)scanPrompt) != S_PASS)
     {
         goto Err;
     }
@@ -1241,7 +1241,7 @@ static bool UART_test_read_write_cancel(bool dmaMode)
     /* Test receive error */
 
     /* Perform the first read, which will be cancelled before completion */
-    memset(scanPrompt, 0, sizeof(scanPrompt));
+    memset((void *)scanPrompt, 0, sizeof(scanPrompt));
     if (dmaMode)
     {
        CacheP_wbInv((void *)(uintptr_t)addrScanPrompt, (int32_t)sizeof(scanPrompt));
@@ -1297,7 +1297,7 @@ static bool UART_test_read_write_cancel(bool dmaMode)
     }
 
     /* Perform the 2nd read, which will be completed */
-    memset(scanPrompt, 0, sizeof(scanPrompt));
+    memset((void *)scanPrompt, 0, sizeof(scanPrompt));
     if (dmaMode)
     {
        CacheP_wbInv((void *)(uintptr_t)addrScanPrompt, (int32_t)sizeof(scanPrompt));
@@ -1465,7 +1465,7 @@ static bool UART_test_rx_err(bool dmaMode)
     }
 
     /* Test receive error */
-    memset(scanPrompt, 0, sizeof(scanPrompt));
+    memset((void *)scanPrompt, 0, sizeof(scanPrompt));
     if (dmaMode)
     {
        CacheP_wbInv((void *)(uintptr_t)addrScanPrompt, (int32_t)sizeof(scanPrompt));
@@ -1543,7 +1543,7 @@ static bool UART_test_timeout(bool dmaMode)
     }
 
     /* Test read timeout */
-    memset(scanPrompt, 0, sizeof(scanPrompt));
+    memset((void *)scanPrompt, 0, sizeof(scanPrompt));
     if (dmaMode)
     {
        CacheP_wbInv((void *)(uintptr_t)addrScanPrompt, (int32_t)sizeof(scanPrompt));
@@ -1608,7 +1608,7 @@ static bool UART_test_polling_timeout(bool dmaMode)
         goto Err;
     }
 
-    memset(scanPrompt, 0, sizeof(scanPrompt));
+    memset((void *)scanPrompt, 0, sizeof(scanPrompt));
     if (UART_readPolling(uart, (void *)(uintptr_t)scanPrompt, rdSize) != rdSize)
     {
         if (UART_writePolling(uart, (const void *)readTimeoutPrompt, wrSize) != wrSize)
@@ -1633,7 +1633,7 @@ static bool UART_test_polling_timeout(bool dmaMode)
         }
 
         /* Test read timeout */
-        memset(scanPrompt, 0, sizeof(scanPrompt));
+        memset((void *)scanPrompt, 0, sizeof(scanPrompt));
         if (UART_readPolling(uart, (void *)(uintptr_t)scanPrompt, rdSize) != rdSize)
         {
             UART_writePolling(uart, (const void *)readTimeoutPrompt, wrSize);
@@ -1659,7 +1659,7 @@ static bool UART_test_polling_timeout(bool dmaMode)
         wrSize = strlen(dataPrint);
         UART_writePolling(uart, (const void *)dataPrint, wrSize);
 
-        memset(scanPrompt, 0, sizeof(scanPrompt));
+        memset((void *)scanPrompt, 0, sizeof(scanPrompt));
 
 #if !defined(UART_RX_LOOPBACK_ONLY)
         if (UART_readPolling(uart, (void *)(uintptr_t)scanPrompt, rdSize) != rdSize)
@@ -1743,7 +1743,7 @@ static bool UART_test_callback(bool dmaMode)
         goto Err;
     }
 
-    memset(scanPrompt, 0, sizeof(scanPrompt));
+    memset((void *)scanPrompt, 0, sizeof(scanPrompt));
     if (dmaMode)
     {
        CacheP_wbInv((void *)(uintptr_t)addrScanPrompt, (int32_t)sizeof(scanPrompt));
@@ -1808,7 +1808,7 @@ static bool UART_test_callback(bool dmaMode)
         goto Err;
     }
 
-    memset(scanPrompt, 0, sizeof(scanPrompt));
+    memset((void *)scanPrompt, 0, sizeof(scanPrompt));
     if (dmaMode)
     {
        CacheP_wbInv((void *)(uintptr_t)addrScanPrompt, (int32_t)sizeof(scanPrompt));
@@ -2175,7 +2175,7 @@ static bool UART_test_read_write(bool dmaMode)
         goto Err;
     }
 
-    memset(scanPrompt, 0, sizeof(scanPrompt));
+    memset((void *)scanPrompt, 0, sizeof(scanPrompt));
     if (dmaMode)
     {
        CacheP_wbInv((void *)(uintptr_t)addrScanPrompt, (int32_t)sizeof(scanPrompt));
@@ -2209,7 +2209,7 @@ static bool UART_test_read_write(bool dmaMode)
         goto Err;
     }
 
-    memset(scanPrompt, 0, sizeof(scanPrompt));
+    memset((void *)scanPrompt, 0, sizeof(scanPrompt));
     if (dmaMode)
     {
        CacheP_wbInv((void *)(uintptr_t)addrScanPrompt, (int32_t)sizeof(scanPrompt));
@@ -2314,7 +2314,7 @@ static bool UART_test_read_write_int_disable(bool dmaMode)
         goto Err;
     }
 
-    memset(scanPrompt, 0, sizeof(scanPrompt));
+    memset((void *)scanPrompt, 0, sizeof(scanPrompt));
     if (dmaMode)
     {
         CacheP_wbInv((void *)(uintptr_t)addrScanPrompt, (int32_t)sizeof(scanPrompt));
@@ -2348,7 +2348,7 @@ static bool UART_test_read_write_int_disable(bool dmaMode)
         goto Err;
     }
 
-    memset(scanPrompt, 0, sizeof(scanPrompt));
+    memset((void *)scanPrompt, 0, sizeof(scanPrompt));
     if (dmaMode)
     {
         CacheP_wbInv((void *)(uintptr_t)addrScanPrompt, (int32_t)sizeof(scanPrompt));
@@ -3020,7 +3020,7 @@ bool UART_test_loopback_data(bool dmaMode)
     }
 
     /* Reset the Rx buffer */
-    memset(scanPrompt, 0, MAX_TEST_BUFFER_SIZE);
+    memset((void *)scanPrompt, 0, MAX_TEST_BUFFER_SIZE);
 
     if (dmaMode)
     {