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

!214 修正一些和相关的问题,使dbg命令能正常进入调试
Merge pull request !214 from jesven/dbg_args

bernard 4 лет назад
Родитель
Сommit
62a5b3664b

+ 3 - 31
bsp/raspberry-pi/raspi4-32/driver/board.c

@@ -46,10 +46,10 @@ size_t mbox_addr = MBOX_ADDR;
 
 size_t wdt_base_addr = WDT_BASE;
 
-void* mac_reg_base_addr = (void *)MAC_REG;
+uint8_t *mac_reg_base_addr = (uint8_t *)MAC_REG;
 
-void* eth_send_no_cache = (void *)SEND_DATA_NO_CACHE;
-void* eth_recv_no_cache = (void *)RECV_DATA_NO_CACHE;
+uint8_t *eth_send_no_cache = (uint8_t *)SEND_DATA_NO_CACHE;
+uint8_t *eth_recv_no_cache = (uint8_t *)RECV_DATA_NO_CACHE;
 
 #ifdef RT_USING_USERSPACE
 struct mem_desc platform_mem_desc[] = {
@@ -188,31 +188,3 @@ void rt_hw_board_init(void)
     rt_components_board_init();
 #endif
 }
-
-#ifdef RT_USING_GDBSERVER
-#include <dfs_posix.h>
-
-#define GDB_CONNECT_DEVICE "/dev/uart4"
-
-/* for gdb */
-int gdb_com_open(void)
-{
-    return open(GDB_CONNECT_DEVICE, O_RDWR);
-}
-
-void gdb_com_close(int fd)
-{
-    close(fd);
-}
-
-ssize_t gdb_com_read(int fd, void *buff, size_t len)
-{
-    return read(fd, buff, len);
-}
-
-ssize_t gdb_com_write(int fd, void *buff, size_t len)
-{
-    return write(fd, buff, len);
-}
-
-#endif

+ 1 - 2
bsp/raspberry-pi/raspi4-32/driver/drv_eth.c

@@ -49,7 +49,6 @@ static rt_uint32_t rx_index = 0;
 static rt_uint32_t index_flag = 0;
 
 static rt_uint8_t send_cache_pbuf[RECV_CACHE_BUF];
-static rt_uint8_t recv_data[RX_BUF_LENGTH];
 
 struct rt_eth_dev
 {
@@ -430,7 +429,7 @@ static rt_uint32_t bcmgenet_gmac_eth_recv(rt_uint8_t **packetp)
     }
     else
     {
-        if(prev_recv_cnt == prod_index)
+        if(prev_recv_cnt == (prod_index & 0xffffUL))
         {
             return 0;
         }

+ 0 - 10
bsp/raspberry-pi/raspi4-32/driver/drv_uart.c

@@ -117,16 +117,6 @@ static rt_err_t uart_control(struct rt_serial_device *serial, int cmd, void *arg
     switch (cmd)
     {
     case RT_DEVICE_CTRL_CLR_INT:
-        /* disable rx irq */
-        if(uart->hw_base == AUX_BASE)
-        {
-            AUX_MU_IER_REG(uart->hw_base) = 0x0;
-        }
-        else
-        {
-            PL011_REG_IMSC(uart->hw_base) &= ~((uint32_t)PL011_IMSC_RXIM);
-        }
-        rt_hw_interrupt_mask(uart->irqno);
         break;
 
     case RT_DEVICE_CTRL_SET_INT:

+ 3 - 3
bsp/raspberry-pi/raspi4-32/driver/raspi4.h

@@ -165,15 +165,15 @@ extern uint32_t mmc2_base_addr;
 
 //mac
 #define MAC_REG                 (void *)(0xfd580000)
-extern void *                   mac_reg_base_addr;
+extern uint8_t *                   mac_reg_base_addr;
 
 #define ETH_IRQ                 (160+29)
 
 #define SEND_DATA_NO_CACHE      (0x08200000)
-extern void *                   eth_send_no_cache;
+extern uint8_t *                   eth_send_no_cache;
 
 #define RECV_DATA_NO_CACHE      (0x08400000)
-extern void *                   eth_recv_no_cache;
+extern uint8_t *                   eth_recv_no_cache;
 
 /* the basic constants and interfaces needed by gic */
 rt_inline rt_uint32_t platform_get_gic_dist_base(void)

+ 3 - 3
bsp/raspberry-pi/raspi4-64/drivers/board.c

@@ -46,10 +46,10 @@ size_t mbox_addr = MBOX_ADDR;
 
 size_t wdt_base_addr = WDT_BASE;
 
-void* mac_reg_base_addr = (void *)MAC_REG;
+uint8_t *mac_reg_base_addr = (uint8_t *)MAC_REG;
 
-void* eth_send_no_cache = (void *)SEND_DATA_NO_CACHE;
-void* eth_recv_no_cache = (void *)RECV_DATA_NO_CACHE;
+uint8_t *eth_send_no_cache = (uint8_t *)SEND_DATA_NO_CACHE;
+uint8_t *eth_recv_no_cache = (uint8_t *)RECV_DATA_NO_CACHE;
 
 #ifdef RT_USING_USERSPACE
 struct mem_desc platform_mem_desc[] = {

+ 1 - 1
bsp/raspberry-pi/raspi4-64/drivers/drv_eth.c

@@ -431,7 +431,7 @@ static rt_uint32_t bcmgenet_gmac_eth_recv(rt_uint8_t **packetp)
     }
     else
     {
-        if(prev_recv_cnt == prod_index)
+        if(prev_recv_cnt == (prod_index & 0xffffUL))
         {
             return 0;
         }

+ 0 - 10
bsp/raspberry-pi/raspi4-64/drivers/drv_uart.c

@@ -117,16 +117,6 @@ static rt_err_t uart_control(struct rt_serial_device *serial, int cmd, void *arg
     switch (cmd)
     {
     case RT_DEVICE_CTRL_CLR_INT:
-        /* disable rx irq */
-        if(uart->hw_base == AUX_BASE)
-        {
-            AUX_MU_IER_REG(uart->hw_base) = 0x0;
-        }
-        else
-        {
-            PL011_REG_IMSC(uart->hw_base) &= ~((uint32_t)PL011_IMSC_RXIM);
-        }
-        rt_hw_interrupt_mask(uart->irqno);
         break;
 
     case RT_DEVICE_CTRL_SET_INT:

+ 3 - 3
bsp/raspberry-pi/raspi4-64/drivers/raspi4.h

@@ -165,15 +165,15 @@ extern size_t mmc2_base_addr;
 
 //mac
 #define MAC_REG                 (void *)(0xfd580000)
-extern void *                   mac_reg_base_addr;
+extern uint8_t *                mac_reg_base_addr;
 
 #define ETH_IRQ                 (160+29)
 
 #define SEND_DATA_NO_CACHE      (0x08200000)
-extern void *                   eth_send_no_cache;
+extern uint8_t *                eth_send_no_cache;
 
 #define RECV_DATA_NO_CACHE      (0x08400000)
-extern void *                   eth_recv_no_cache;
+extern uint8_t *                eth_recv_no_cache;
 
 /* the basic constants and interfaces needed by gic */
 rt_inline size_t platform_get_gic_dist_base(void)

+ 4 - 3
components/finsh/msh.c

@@ -314,6 +314,7 @@ int _msh_exec_lwp(char *cmd, rt_size_t length)
     char *argv[FINSH_ARG_MAX];
     int fd = -1;
     char *pg_name;
+    int ret;
 
     /* find the size of first command */
     while ((cmd[cmd0_size] != ' ' && cmd[cmd0_size] != '\t') && cmd0_size < length)
@@ -364,14 +365,14 @@ int _msh_exec_lwp(char *cmd, rt_size_t length)
     close(fd);
 
 #ifdef RT_USING_GDBSERVER
-    exec(pg_name, debug, argc, argv);
+    ret = exec(pg_name, debug, argc, argv);
 #else
-    exec(pg_name, argc, argv);
+    ret = exec(pg_name, argc, argv);
 #endif
     if (pg_name != argv[0])
         rt_free(pg_name);
 
-    return 0;
+    return ret;
 }
 #endif