mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-01-18 10:03:30 +08:00
Merge pull request #4901 from mysterywolf/eth
[stm32][eth] beautify codes
This commit is contained in:
commit
b8a75f8f28
@ -41,9 +41,9 @@ struct rt_stm32_eth
|
||||
/* interface address info, hw address */
|
||||
rt_uint8_t dev_addr[MAX_ADDR_LEN];
|
||||
/* ETH_Speed */
|
||||
uint32_t ETH_Speed;
|
||||
rt_uint32_t ETH_Speed;
|
||||
/* ETH_Duplex_Mode */
|
||||
uint32_t ETH_Mode;
|
||||
rt_uint32_t ETH_Mode;
|
||||
};
|
||||
|
||||
static ETH_DMADescTypeDef *DMARxDscrTab, *DMATxDscrTab;
|
||||
@ -167,8 +167,14 @@ static rt_err_t rt_stm32_eth_control(rt_device_t dev, int cmd, void *args)
|
||||
{
|
||||
case NIOCTL_GADDR:
|
||||
/* get mac address */
|
||||
if (args) rt_memcpy(args, stm32_eth_device.dev_addr, 6);
|
||||
else return -RT_ERROR;
|
||||
if (args)
|
||||
{
|
||||
SMEMCPY(args, stm32_eth_device.dev_addr, 6);
|
||||
}
|
||||
else
|
||||
{
|
||||
return -RT_ERROR;
|
||||
}
|
||||
break;
|
||||
|
||||
default :
|
||||
@ -214,7 +220,7 @@ rt_err_t rt_stm32_eth_tx(rt_device_t dev, struct pbuf *p)
|
||||
while ((byteslefttocopy + bufferoffset) > ETH_TX_BUF_SIZE)
|
||||
{
|
||||
/* Copy data to Tx buffer*/
|
||||
memcpy((uint8_t *)((uint8_t *)buffer + bufferoffset), (uint8_t *)((uint8_t *)q->payload + payloadoffset), (ETH_TX_BUF_SIZE - bufferoffset));
|
||||
SMEMCPY((uint8_t *)((uint8_t *)buffer + bufferoffset), (uint8_t *)((uint8_t *)q->payload + payloadoffset), (ETH_TX_BUF_SIZE - bufferoffset));
|
||||
|
||||
/* Point to next descriptor */
|
||||
DmaTxDesc = (ETH_DMADescTypeDef *)(DmaTxDesc->Buffer2NextDescAddr);
|
||||
@ -236,7 +242,7 @@ rt_err_t rt_stm32_eth_tx(rt_device_t dev, struct pbuf *p)
|
||||
}
|
||||
|
||||
/* Copy the remaining bytes */
|
||||
memcpy((uint8_t *)((uint8_t *)buffer + bufferoffset), (uint8_t *)((uint8_t *)q->payload + payloadoffset), byteslefttocopy);
|
||||
SMEMCPY((uint8_t *)((uint8_t *)buffer + bufferoffset), (uint8_t *)((uint8_t *)q->payload + payloadoffset), byteslefttocopy);
|
||||
bufferoffset = bufferoffset + byteslefttocopy;
|
||||
framelength = framelength + byteslefttocopy;
|
||||
}
|
||||
@ -327,7 +333,7 @@ struct pbuf *rt_stm32_eth_rx(rt_device_t dev)
|
||||
while ((byteslefttocopy + bufferoffset) > ETH_RX_BUF_SIZE)
|
||||
{
|
||||
/* Copy data to pbuf */
|
||||
memcpy((uint8_t *)((uint8_t *)q->payload + payloadoffset), (uint8_t *)((uint8_t *)buffer + bufferoffset), (ETH_RX_BUF_SIZE - bufferoffset));
|
||||
SMEMCPY((uint8_t *)((uint8_t *)q->payload + payloadoffset), (uint8_t *)((uint8_t *)buffer + bufferoffset), (ETH_RX_BUF_SIZE - bufferoffset));
|
||||
|
||||
/* Point to next descriptor */
|
||||
dmarxdesc = (ETH_DMADescTypeDef *)(dmarxdesc->Buffer2NextDescAddr);
|
||||
@ -338,7 +344,7 @@ struct pbuf *rt_stm32_eth_rx(rt_device_t dev)
|
||||
bufferoffset = 0;
|
||||
}
|
||||
/* Copy remaining data in pbuf */
|
||||
memcpy((uint8_t *)((uint8_t *)q->payload + payloadoffset), (uint8_t *)((uint8_t *)buffer + bufferoffset), byteslefttocopy);
|
||||
SMEMCPY((uint8_t *)((uint8_t *)q->payload + payloadoffset), (uint8_t *)((uint8_t *)buffer + bufferoffset), byteslefttocopy);
|
||||
bufferoffset = bufferoffset + byteslefttocopy;
|
||||
}
|
||||
}
|
||||
@ -385,7 +391,9 @@ void HAL_ETH_RxCpltCallback(ETH_HandleTypeDef *heth)
|
||||
rt_err_t result;
|
||||
result = eth_device_ready(&(stm32_eth_device.parent));
|
||||
if (result != RT_EOK)
|
||||
{
|
||||
LOG_I("RxCpltCallback err = %d", result);
|
||||
}
|
||||
}
|
||||
|
||||
void HAL_ETH_ErrorCallback(ETH_HandleTypeDef *heth)
|
||||
|
@ -28,13 +28,12 @@
|
||||
|
||||
/* The PHY ID one register */
|
||||
#define PHY_ID1_REG 0x02U
|
||||
|
||||
/* The PHY ID two register */
|
||||
#define PHY_ID2_REG 0x03U
|
||||
|
||||
/* The PHY auto-negotiate advertise register */
|
||||
#define PHY_AUTONEG_ADVERTISE_REG 0x04U
|
||||
|
||||
|
||||
#ifdef PHY_USING_LAN8720A
|
||||
/* The PHY interrupt source flag register. */
|
||||
#define PHY_INTERRUPT_FLAG_REG 0x1DU
|
||||
@ -51,9 +50,8 @@
|
||||
#define PHY_Status_SPEED_10M(sr) ((sr) & PHY_10M_MASK)
|
||||
#define PHY_Status_SPEED_100M(sr) ((sr) & PHY_100M_MASK)
|
||||
#define PHY_Status_FULL_DUPLEX(sr) ((sr) & PHY_FULL_DUPLEX_MASK)
|
||||
#endif /* PHY_USING_LAN8720A */
|
||||
|
||||
#ifdef PHY_USING_DM9161CEP
|
||||
#elif defined(PHY_USING_DM9161CEP)
|
||||
#define PHY_Status_REG 0x11U
|
||||
#define PHY_10M_MASK ((1<<12) || (1<<13))
|
||||
#define PHY_100M_MASK ((1<<14) || (1<<15))
|
||||
@ -69,9 +67,7 @@
|
||||
#define PHY_LINK_CHANGE_MASK (1<<9)
|
||||
#define PHY_INT_MASK 0
|
||||
|
||||
#endif /* PHY_USING_DM9161CEP */
|
||||
|
||||
#ifdef PHY_USING_DP83848C
|
||||
#elif defined(PHY_USING_DP83848C)
|
||||
#define PHY_Status_REG 0x10U
|
||||
#define PHY_10M_MASK (1<<1)
|
||||
#define PHY_FULL_DUPLEX_MASK (1<<2)
|
||||
@ -87,6 +83,6 @@
|
||||
/* The PHY interrupt mask register. */
|
||||
#define PHY_INTERRUPT_MASK_REG 0x12U
|
||||
#define PHY_INT_MASK (1<<5)
|
||||
#endif /* PHY_USING_DP83848C */
|
||||
#endif
|
||||
|
||||
#endif /* __DRV_ETH_H__ */
|
||||
|
@ -222,6 +222,13 @@
|
||||
#define LWIP_DBG_TYPES_ON (LWIP_DBG_ON|LWIP_DBG_TRACE|LWIP_DBG_STATE|LWIP_DBG_FRESH|LWIP_DBG_HALT)
|
||||
|
||||
/* ---------- Memory options ---------- */
|
||||
#ifdef RT_USING_ASM_MEMCPY
|
||||
#define MEMCPY(dst,src,len) rt_memcpy(dst,src,len)
|
||||
#else
|
||||
#define MEMCPY(dst,src,len) memcpy(dst,src,len)
|
||||
#endif /* RT_USING_ASM_MEMCPY */
|
||||
#define SMEMCPY(dst,src,len) MEMCPY(dst,src,len)
|
||||
|
||||
#define MEM_ALIGNMENT 4
|
||||
|
||||
#define MEM_LIBC_MALLOC 1
|
||||
|
@ -201,14 +201,14 @@ int lwip_netdev_ping(struct netdev *netif, const char *host, size_t data_len,
|
||||
{
|
||||
return -RT_ERROR;
|
||||
}
|
||||
rt_memcpy(&h, &res->ai_addr, sizeof(struct sockaddr_in *));
|
||||
rt_memcpy(&ina, &h->sin_addr, sizeof(ina));
|
||||
SMEMCPY(&h, &res->ai_addr, sizeof(struct sockaddr_in *));
|
||||
SMEMCPY(&ina, &h->sin_addr, sizeof(ina));
|
||||
lwip_freeaddrinfo(res);
|
||||
if (inet_aton(inet_ntoa(ina), &target_addr) == 0)
|
||||
{
|
||||
return -RT_ERROR;
|
||||
}
|
||||
rt_memcpy(&(ping_resp->ip_addr), &target_addr, sizeof(ip_addr_t));
|
||||
SMEMCPY(&(ping_resp->ip_addr), &target_addr, sizeof(ip_addr_t));
|
||||
|
||||
/* new a socket */
|
||||
if ((s = lwip_socket(AF_INET, SOCK_RAW, IP_PROTO_ICMP)) < 0)
|
||||
@ -331,7 +331,7 @@ static int netdev_add(struct netif *lwip_netif)
|
||||
netdev->mtu = lwip_netif->mtu;
|
||||
netdev->ops = &lwip_netdev_ops;
|
||||
netdev->hwaddr_len = lwip_netif->hwaddr_len;
|
||||
rt_memcpy(netdev->hwaddr, lwip_netif->hwaddr, lwip_netif->hwaddr_len);
|
||||
SMEMCPY(netdev->hwaddr, lwip_netif->hwaddr, lwip_netif->hwaddr_len);
|
||||
netdev->ip_addr = lwip_netif->ip_addr;
|
||||
netdev->gw = lwip_netif->gw;
|
||||
netdev->netmask = lwip_netif->netmask;
|
||||
|
@ -230,14 +230,21 @@
|
||||
#define LWIP_DBG_TYPES_ON (LWIP_DBG_ON|LWIP_DBG_TRACE|LWIP_DBG_STATE|LWIP_DBG_FRESH|LWIP_DBG_HALT)
|
||||
|
||||
/* ---------- Memory options ---------- */
|
||||
#ifdef RT_USING_ASM_MEMCPY
|
||||
#define MEMCPY(dst,src,len) rt_memcpy(dst,src,len)
|
||||
#else
|
||||
#define MEMCPY(dst,src,len) memcpy(dst,src,len)
|
||||
#endif /* RT_USING_ASM_MEMCPY */
|
||||
#define SMEMCPY(dst,src,len) MEMCPY(dst,src,len)
|
||||
|
||||
#ifdef RT_LWIP_MEM_ALIGNMENT
|
||||
#define MEM_ALIGNMENT RT_LWIP_MEM_ALIGNMENT
|
||||
#else
|
||||
#define MEM_ALIGNMENT 4
|
||||
#endif
|
||||
|
||||
#define MEMP_OVERFLOW_CHECK 1 ////
|
||||
#define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 1 ////
|
||||
#define MEMP_OVERFLOW_CHECK 1
|
||||
#define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 1
|
||||
//#define MEM_LIBC_MALLOC 1
|
||||
//#define MEM_USE_POOLS 1
|
||||
//#define MEMP_USE_CUSTOM_POOLS 1
|
||||
|
@ -210,14 +210,14 @@ int lwip_netdev_ping(struct netdev *netif, const char *host, size_t data_len,
|
||||
{
|
||||
return -RT_ERROR;
|
||||
}
|
||||
rt_memcpy(&h, &res->ai_addr, sizeof(struct sockaddr_in *));
|
||||
rt_memcpy(&ina, &h->sin_addr, sizeof(ina));
|
||||
SMEMCPY(&h, &res->ai_addr, sizeof(struct sockaddr_in *));
|
||||
SMEMCPY(&ina, &h->sin_addr, sizeof(ina));
|
||||
lwip_freeaddrinfo(res);
|
||||
if (inet_aton(inet_ntoa(ina), &target_addr) == 0)
|
||||
{
|
||||
return -RT_ERROR;
|
||||
}
|
||||
rt_memcpy(&(ping_resp->ip_addr), &target_addr, sizeof(ip_addr_t));
|
||||
SMEMCPY(&(ping_resp->ip_addr), &target_addr, sizeof(ip_addr_t));
|
||||
|
||||
/* new a socket */
|
||||
if ((s = lwip_socket(AF_INET, SOCK_RAW, IP_PROTO_ICMP)) < 0)
|
||||
@ -340,7 +340,7 @@ static int netdev_add(struct netif *lwip_netif)
|
||||
netdev->mtu = lwip_netif->mtu;
|
||||
netdev->ops = &lwip_netdev_ops;
|
||||
netdev->hwaddr_len = lwip_netif->hwaddr_len;
|
||||
rt_memcpy(netdev->hwaddr, lwip_netif->hwaddr, lwip_netif->hwaddr_len);
|
||||
SMEMCPY(netdev->hwaddr, lwip_netif->hwaddr, lwip_netif->hwaddr_len);
|
||||
netdev->ip_addr = lwip_netif->ip_addr;
|
||||
netdev->gw = lwip_netif->gw;
|
||||
netdev->netmask = lwip_netif->netmask;
|
||||
|
@ -230,14 +230,21 @@
|
||||
#define LWIP_DBG_TYPES_ON (LWIP_DBG_ON|LWIP_DBG_TRACE|LWIP_DBG_STATE|LWIP_DBG_FRESH|LWIP_DBG_HALT)
|
||||
|
||||
/* ---------- Memory options ---------- */
|
||||
#ifdef RT_USING_ASM_MEMCPY
|
||||
#define MEMCPY(dst,src,len) rt_memcpy(dst,src,len)
|
||||
#else
|
||||
#define MEMCPY(dst,src,len) memcpy(dst,src,len)
|
||||
#endif /* RT_USING_ASM_MEMCPY */
|
||||
#define SMEMCPY(dst,src,len) MEMCPY(dst,src,len)
|
||||
|
||||
#ifdef RT_LWIP_MEM_ALIGNMENT
|
||||
#define MEM_ALIGNMENT RT_LWIP_MEM_ALIGNMENT
|
||||
#else
|
||||
#define MEM_ALIGNMENT 4
|
||||
#endif
|
||||
|
||||
#define MEMP_OVERFLOW_CHECK 1 ////
|
||||
#define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 1 ////
|
||||
#define MEMP_OVERFLOW_CHECK 1
|
||||
#define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 1
|
||||
//#define MEM_LIBC_MALLOC 1
|
||||
//#define MEM_USE_POOLS 1
|
||||
//#define MEMP_USE_CUSTOM_POOLS 1
|
||||
|
@ -210,14 +210,14 @@ int lwip_netdev_ping(struct netdev *netif, const char *host, size_t data_len,
|
||||
{
|
||||
return -RT_ERROR;
|
||||
}
|
||||
rt_memcpy(&h, &res->ai_addr, sizeof(struct sockaddr_in *));
|
||||
rt_memcpy(&ina, &h->sin_addr, sizeof(ina));
|
||||
SMEMCPY(&h, &res->ai_addr, sizeof(struct sockaddr_in *));
|
||||
SMEMCPY(&ina, &h->sin_addr, sizeof(ina));
|
||||
lwip_freeaddrinfo(res);
|
||||
if (inet_aton(inet_ntoa(ina), &target_addr) == 0)
|
||||
{
|
||||
return -RT_ERROR;
|
||||
}
|
||||
rt_memcpy(&(ping_resp->ip_addr), &target_addr, sizeof(ip_addr_t));
|
||||
SMEMCPY(&(ping_resp->ip_addr), &target_addr, sizeof(ip_addr_t));
|
||||
|
||||
/* new a socket */
|
||||
if ((s = lwip_socket(AF_INET, SOCK_RAW, IP_PROTO_ICMP)) < 0)
|
||||
@ -340,7 +340,7 @@ static int netdev_add(struct netif *lwip_netif)
|
||||
netdev->mtu = lwip_netif->mtu;
|
||||
netdev->ops = &lwip_netdev_ops;
|
||||
netdev->hwaddr_len = lwip_netif->hwaddr_len;
|
||||
rt_memcpy(netdev->hwaddr, lwip_netif->hwaddr, lwip_netif->hwaddr_len);
|
||||
SMEMCPY(netdev->hwaddr, lwip_netif->hwaddr, lwip_netif->hwaddr_len);
|
||||
netdev->ip_addr = lwip_netif->ip_addr;
|
||||
netdev->gw = lwip_netif->gw;
|
||||
netdev->netmask = lwip_netif->netmask;
|
||||
|
@ -242,9 +242,16 @@
|
||||
#endif
|
||||
|
||||
/* ---------- Memory options ---------- */
|
||||
#ifdef RT_USING_ASM_MEMCPY
|
||||
#define MEMCPY(dst,src,len) rt_memcpy(dst,src,len)
|
||||
#else
|
||||
#define MEMCPY(dst,src,len) memcpy(dst,src,len)
|
||||
#endif /* RT_USING_ASM_MEMCPY */
|
||||
#define SMEMCPY(dst,src,len) MEMCPY(dst,src,len)
|
||||
|
||||
#define MEM_ALIGNMENT 4
|
||||
#define MEMP_OVERFLOW_CHECK 1 ////
|
||||
#define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 1 ////
|
||||
#define MEMP_OVERFLOW_CHECK 1
|
||||
#define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 1
|
||||
//#define MEM_LIBC_MALLOC 1
|
||||
//#define MEM_USE_POOLS 1
|
||||
//#define MEMP_USE_CUSTOM_POOLS 1
|
||||
|
@ -208,14 +208,14 @@ int lwip_netdev_ping(struct netdev *netif, const char *host, size_t data_len,
|
||||
{
|
||||
return -RT_ERROR;
|
||||
}
|
||||
rt_memcpy(&h, &res->ai_addr, sizeof(struct sockaddr_in *));
|
||||
rt_memcpy(&ina, &h->sin_addr, sizeof(ina));
|
||||
SMEMCPY(&h, &res->ai_addr, sizeof(struct sockaddr_in *));
|
||||
SMEMCPY(&ina, &h->sin_addr, sizeof(ina));
|
||||
lwip_freeaddrinfo(res);
|
||||
if (inet_aton(inet_ntoa(ina), &target_addr) == 0)
|
||||
{
|
||||
return -RT_ERROR;
|
||||
}
|
||||
rt_memcpy(&(ping_resp->ip_addr), &target_addr, sizeof(ip_addr_t));
|
||||
SMEMCPY(&(ping_resp->ip_addr), &target_addr, sizeof(ip_addr_t));
|
||||
|
||||
/* new a socket */
|
||||
if ((s = lwip_socket(AF_INET, SOCK_RAW, IP_PROTO_ICMP)) < 0)
|
||||
@ -338,7 +338,7 @@ static int netdev_add(struct netif *lwip_netif)
|
||||
netdev->mtu = lwip_netif->mtu;
|
||||
netdev->ops = &lwip_netdev_ops;
|
||||
netdev->hwaddr_len = lwip_netif->hwaddr_len;
|
||||
rt_memcpy(netdev->hwaddr, lwip_netif->hwaddr, lwip_netif->hwaddr_len);
|
||||
SMEMCPY(netdev->hwaddr, lwip_netif->hwaddr, lwip_netif->hwaddr_len);
|
||||
netdev->ip_addr = lwip_netif->ip_addr;
|
||||
netdev->gw = lwip_netif->gw;
|
||||
netdev->netmask = lwip_netif->netmask;
|
||||
|
@ -131,6 +131,10 @@ config RT_KSERVICE_USING_TINY_SIZE
|
||||
bool "Enable kservice to use tiny size"
|
||||
default n
|
||||
|
||||
config RT_USING_ASM_MEMCPY
|
||||
bool
|
||||
default n
|
||||
|
||||
endmenu
|
||||
|
||||
menuconfig RT_DEBUG
|
||||
|
@ -198,6 +198,7 @@ RT_WEAK void *rt_memset(void *s, int c, rt_ubase_t count)
|
||||
}
|
||||
RTM_EXPORT(rt_memset);
|
||||
|
||||
#ifndef RT_USING_ASM_MEMCPY
|
||||
/**
|
||||
* This function will copy memory content from source address to destination
|
||||
* address.
|
||||
@ -208,7 +209,7 @@ RTM_EXPORT(rt_memset);
|
||||
*
|
||||
* @return the address of destination memory
|
||||
*/
|
||||
RT_WEAK void *rt_memcpy(void *dst, const void *src, rt_ubase_t count)
|
||||
void *rt_memcpy(void *dst, const void *src, rt_ubase_t count)
|
||||
{
|
||||
#ifdef RT_KSERVICE_USING_TINY_SIZE
|
||||
char *tmp = (char *)dst, *s = (char *)src;
|
||||
@ -280,6 +281,7 @@ RT_WEAK void *rt_memcpy(void *dst, const void *src, rt_ubase_t count)
|
||||
#endif /* RT_KSERVICE_USING_TINY_SIZE */
|
||||
}
|
||||
RTM_EXPORT(rt_memcpy);
|
||||
#endif /* RT_USING_ASM_MEMCPY */
|
||||
|
||||
#ifndef RT_KSERVICE_USING_STDLIB
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user