diff --git a/bsp/raspberry-pi/raspi4-32/driver/board.c b/bsp/raspberry-pi/raspi4-32/driver/board.c index f3d683bfc1a7be4fc41e71d18ba8f5c2c140f60c..8eeca85f50bbb7fe222a7eea483241d6e393ae7f 100644 --- a/bsp/raspberry-pi/raspi4-32/driver/board.c +++ b/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 - -#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 diff --git a/bsp/raspberry-pi/raspi4-32/driver/drv_eth.c b/bsp/raspberry-pi/raspi4-32/driver/drv_eth.c index 12c7ee89e89ed22a64b43bf90028651b864ef75a..8ab6fc79a3aa42f8dd0c6add2c9fbf1be9bf363f 100644 --- a/bsp/raspberry-pi/raspi4-32/driver/drv_eth.c +++ b/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; } diff --git a/bsp/raspberry-pi/raspi4-32/driver/drv_uart.c b/bsp/raspberry-pi/raspi4-32/driver/drv_uart.c index 31331a4609829d590b77b7593c47db54b597f8de..e0b849c34dd3b4f4e7ca76c67ad0f098b5ef31c7 100644 --- a/bsp/raspberry-pi/raspi4-32/driver/drv_uart.c +++ b/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: diff --git a/bsp/raspberry-pi/raspi4-32/driver/raspi4.h b/bsp/raspberry-pi/raspi4-32/driver/raspi4.h index e0afd1f712682a37141756346e3fad4f06880651..be46bfd9589a29b2c50b75519ac6232349879754 100644 --- a/bsp/raspberry-pi/raspi4-32/driver/raspi4.h +++ b/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) diff --git a/bsp/raspberry-pi/raspi4-64/drivers/board.c b/bsp/raspberry-pi/raspi4-64/drivers/board.c index e5960b0fa56b72200059785693b110814e87f385..6bc919595d78a8957191661bbb3f2169c6eb48ae 100644 --- a/bsp/raspberry-pi/raspi4-64/drivers/board.c +++ b/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[] = { diff --git a/bsp/raspberry-pi/raspi4-64/drivers/drv_eth.c b/bsp/raspberry-pi/raspi4-64/drivers/drv_eth.c index 29b598b1f5e8d9c2e0687a89f5b94422312cd30e..da65b94bb9e3d53ce9288c476eb82cbcff97bc21 100644 --- a/bsp/raspberry-pi/raspi4-64/drivers/drv_eth.c +++ b/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; } diff --git a/bsp/raspberry-pi/raspi4-64/drivers/drv_uart.c b/bsp/raspberry-pi/raspi4-64/drivers/drv_uart.c index 31331a4609829d590b77b7593c47db54b597f8de..e0b849c34dd3b4f4e7ca76c67ad0f098b5ef31c7 100644 --- a/bsp/raspberry-pi/raspi4-64/drivers/drv_uart.c +++ b/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: diff --git a/bsp/raspberry-pi/raspi4-64/drivers/raspi4.h b/bsp/raspberry-pi/raspi4-64/drivers/raspi4.h index cff7ab906a475802abd93d90a2abfec231d16171..f3e6ed89274fd7a91452bafb4f950cc2437ba5c2 100644 --- a/bsp/raspberry-pi/raspi4-64/drivers/raspi4.h +++ b/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) diff --git a/components/finsh/msh.c b/components/finsh/msh.c index 1ebb21df087c62e09806f30e7b1a9018f53fc953..4e3323a821c759d86d21d5333639d4ad2f64c00d 100644 --- a/components/finsh/msh.c +++ b/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