Просмотр исходного кода

fix data struct bug for 64 again

宋超 4 лет назад
Родитель
Сommit
8aefe0bc69

+ 6 - 6
components/net/lwip-2.1.2/src/arch/sys_arch.c

@@ -327,9 +327,9 @@ u32_t sys_arch_sem_wait(sys_sem_t *sem, u32_t timeout)
 /** Check if a semaphore is valid/allocated:
  *  return 1 for valid, 0 for invalid
  */
-int sys_sem_valid(sys_sem_t *sem)
+rt_ubase_t sys_sem_valid(sys_sem_t *sem)
 {
-    return (int)(*sem);
+    return (rt_ubase_t)(*sem);
 }
 #endif
 
@@ -403,9 +403,9 @@ void sys_mutex_free(sys_mutex_t *mutex)
 /** Check if a mutex is valid/allocated:
  *  return 1 for valid, 0 for invalid
  */
-int sys_mutex_valid(sys_mutex_t *mutex)
+rt_ubase_t sys_mutex_valid(sys_mutex_t *mutex)
 {
-    return (int)(*mutex);
+    return (rt_ubase_t)(*mutex);
 }
 #endif
 
@@ -567,9 +567,9 @@ u32_t sys_arch_mbox_tryfetch(sys_mbox_t *mbox, void **msg)
 /** Check if an mbox is valid/allocated:
  *  return 1 for valid, 0 for invalid
  */
-int sys_mbox_valid(sys_mbox_t *mbox)
+rt_ubase_t sys_mbox_valid(sys_mbox_t *mbox)
 {
-    return (int)(*mbox);
+    return (rt_ubase_t)(*mbox);
 }
 #endif
 

+ 3 - 3
components/net/lwip-2.1.2/src/include/lwip/sys.h

@@ -161,7 +161,7 @@ void sys_mutex_free(sys_mutex_t *mutex);
  * When directly using OS structures, implementing this may be more complex.
  * This may also be a define, in which case the function is not prototyped.
  */
-int sys_mutex_valid(sys_mutex_t *mutex);
+rt_ubase_t sys_mutex_valid(sys_mutex_t *mutex);
 #endif
 #ifndef sys_mutex_set_invalid
 /**
@@ -233,7 +233,7 @@ void sys_sem_free(sys_sem_t *sem);
  * When directly using OS structures, implementing this may be more complex.
  * This may also be a define, in which case the function is not prototyped.
  */
-int sys_sem_valid(sys_sem_t *sem);
+rt_ubase_t sys_sem_valid(sys_sem_t *sem);
 #endif
 #ifndef sys_sem_set_invalid
 /**
@@ -376,7 +376,7 @@ void sys_mbox_free(sys_mbox_t *mbox);
  * When directly using OS structures, implementing this may be more complex.
  * This may also be a define, in which case the function is not prototyped.
  */
-int sys_mbox_valid(sys_mbox_t *mbox);
+rt_ubase_t sys_mbox_valid(sys_mbox_t *mbox);
 #endif
 #ifndef sys_mbox_set_invalid
 /**

+ 7 - 10
components/net/lwip-2.1.2/src/netif/ethernetif.c

@@ -84,10 +84,10 @@ struct eth_tx_msg
 static struct rt_mailbox eth_tx_thread_mb;
 static struct rt_thread eth_tx_thread;
 #ifndef RT_LWIP_ETHTHREAD_MBOX_SIZE
-static char eth_tx_thread_mb_pool[32 * 4];
+static char eth_tx_thread_mb_pool[32 * sizeof(void *)];
 static char eth_tx_thread_stack[512];
 #else
-static char eth_tx_thread_mb_pool[RT_LWIP_ETHTHREAD_MBOX_SIZE * 4];
+static char eth_tx_thread_mb_pool[RT_LWIP_ETHTHREAD_MBOX_SIZE * sizeof(void *)];
 static char eth_tx_thread_stack[RT_LWIP_ETHTHREAD_STACKSIZE];
 #endif
 #endif
@@ -96,10 +96,10 @@ static char eth_tx_thread_stack[RT_LWIP_ETHTHREAD_STACKSIZE];
 static struct rt_mailbox eth_rx_thread_mb;
 static struct rt_thread eth_rx_thread;
 #ifndef RT_LWIP_ETHTHREAD_MBOX_SIZE
-static char eth_rx_thread_mb_pool[48 * 4];
+static char eth_rx_thread_mb_pool[48 * sizeof(void *)];
 static char eth_rx_thread_stack[1024];
 #else
-static char eth_rx_thread_mb_pool[RT_LWIP_ETHTHREAD_MBOX_SIZE * 4];
+static char eth_rx_thread_mb_pool[RT_LWIP_ETHTHREAD_MBOX_SIZE * sizeof(void *)];
 static char eth_rx_thread_stack[RT_LWIP_ETHTHREAD_STACKSIZE];
 #endif
 #endif
@@ -632,7 +632,6 @@ rt_err_t eth_device_linkchange(struct eth_device* dev, rt_bool_t up)
 static void eth_tx_thread_entry(void* parameter)
 {
     struct eth_tx_msg* msg;
-
     while (1)
     {
         if (rt_mb_recv(&eth_tx_thread_mb, (rt_ubase_t *)&msg, RT_WAITING_FOREVER) == RT_EOK)
@@ -664,7 +663,6 @@ static void eth_tx_thread_entry(void* parameter)
 static void eth_rx_thread_entry(void* parameter)
 {
     struct eth_device* device;
-
     while (1)
     {
         if (rt_mb_recv(&eth_rx_thread_mb, (rt_ubase_t *)&device, RT_WAITING_FOREVER) == RT_EOK)
@@ -723,7 +721,6 @@ int eth_system_device_init(void)
 {
     return 0;
 }
-
 int eth_system_device_init_private(void)
 {
     rt_err_t result = RT_EOK;
@@ -732,7 +729,7 @@ int eth_system_device_init_private(void)
 #ifndef LWIP_NO_RX_THREAD
     /* initialize mailbox and create Ethernet Rx thread */
     result = rt_mb_init(&eth_rx_thread_mb, "erxmb",
-                        &eth_rx_thread_mb_pool[0], sizeof(eth_rx_thread_mb_pool)/4,
+                        &eth_rx_thread_mb_pool[0], sizeof(eth_rx_thread_mb_pool)/sizeof(void *),
                         RT_IPC_FLAG_FIFO);
     RT_ASSERT(result == RT_EOK);
 
@@ -748,7 +745,7 @@ int eth_system_device_init_private(void)
 #ifndef LWIP_NO_TX_THREAD
     /* initialize mailbox and create Ethernet Tx thread */
     result = rt_mb_init(&eth_tx_thread_mb, "etxmb",
-                        &eth_tx_thread_mb_pool[0], sizeof(eth_tx_thread_mb_pool)/4,
+                        &eth_tx_thread_mb_pool[0], sizeof(eth_tx_thread_mb_pool)/sizeof(void *),
                         RT_IPC_FLAG_FIFO);
     RT_ASSERT(result == RT_EOK);
 
@@ -758,9 +755,9 @@ int eth_system_device_init_private(void)
     RT_ASSERT(result == RT_EOK);
 
     result = rt_thread_startup(&eth_tx_thread);
+    
     RT_ASSERT(result == RT_EOK);
 #endif
-
     return (int)result;
 }