Ver Fonte

[bsp][cvitek] fix c906_little build warning in cache.c

build warning: passing argument 1 of 'inv_icache_range' makes integer
from pointer without a cast [-Wint-conversion]

Analyze: The passed parameter type is void*, which is a pointer type,
but the required type is uintptr_t, which is an integer type. Therefore,
there will be a 'makes integer from pointer without a cast' warning.

Solution: casting the void* pointer to uintptr_t, ensure that the
function receives the correct type.

Signed-off-by: zdtyuiop4444 <ign7798540@gmail.com>
imcu há 3 meses atrás
pai
commit
680333fc18
1 ficheiros alterados com 4 adições e 3 exclusões
  1. 4 3
      bsp/cvitek/c906_little/board/cache.c

+ 4 - 3
bsp/cvitek/c906_little/board/cache.c

@@ -5,6 +5,7 @@
  *
  * Change Logs:
  * Date           Author       Notes
+ * 2025/01/16     zdtyuiop4444 fix type cast warning
  * 2024/11/26     zdtyuiop4444 The first version
  */
 
@@ -33,10 +34,10 @@ inline void rt_hw_cpu_dcache_ops(int ops, void* addr, int size)
     switch (ops)
     {
     case RT_HW_CACHE_FLUSH:
-        flush_dcache_range(addr, size);
+        flush_dcache_range((uintptr_t)addr, size);
         break;
     case RT_HW_CACHE_INVALIDATE:
-        inv_dcache_range(addr, size);
+        inv_dcache_range((uintptr_t)addr, size);
         break;
     default:
         break;
@@ -62,7 +63,7 @@ inline void rt_hw_cpu_icache_ops(int ops, void* addr, int size)
     switch (ops)
     {
     case RT_HW_CACHE_INVALIDATE:
-        inv_icache_range(addr, size);
+        inv_icache_range((uintptr_t)addr, size);
         break;
     default:
         break;