Reduce IRAM memory footprint

This commit is contained in:
logicog
2025-08-28 16:58:51 +02:00
parent fab02c947e
commit e8c6492786
4 changed files with 16 additions and 15 deletions
+8 -7
View File
@@ -85,9 +85,9 @@ uip_neighbor_periodic(void)
}
/*---------------------------------------------------------------------------*/
void
uip_neighbor_add(uip_ipaddr_t ipaddr, __xdata struct uip_neighbor_addr *addr)
uip_neighbor_add(__xdata uip_ipaddr_t ipaddr, __xdata struct uip_neighbor_addr *addr)
{
int i, oldest;
uint16_t i, oldest;
u8_t oldest_time;
/*
@@ -130,12 +130,13 @@ uip_neighbor_add(uip_ipaddr_t ipaddr, __xdata struct uip_neighbor_addr *addr)
}
/*---------------------------------------------------------------------------*/
__xdata static struct neighbor_entry *
find_entry(uip_ipaddr_t ipaddr)
find_entry(__xdata uip_ipaddr_t ipaddr)
{
int i;
uint16_t i;
for(i = 0; i < ENTRIES; ++i) {
if(uip_ipaddr_cmp(entries[i].ipaddr, ipaddr)) {
// if(uip_ipaddr_cmp(entries[i].ipaddr, ipaddr)) {
if (entries[i].ipaddr[0] == ipaddr[0] && entries[i].ipaddr[1] == ipaddr[1]) {
return &entries[i];
}
}
@@ -143,7 +144,7 @@ find_entry(uip_ipaddr_t ipaddr)
}
/*---------------------------------------------------------------------------*/
void
uip_neighbor_update(uip_ipaddr_t ipaddr)
uip_neighbor_update(__xdata uip_ipaddr_t ipaddr)
{
struct neighbor_entry *e;
@@ -154,7 +155,7 @@ uip_neighbor_update(uip_ipaddr_t ipaddr)
}
/*---------------------------------------------------------------------------*/
__xdata struct uip_neighbor_addr *
uip_neighbor_lookup(uip_ipaddr_t ipaddr)
uip_neighbor_lookup(__xdata uip_ipaddr_t ipaddr)
{
__xdata struct neighbor_entry *e;
+3 -3
View File
@@ -54,9 +54,9 @@ struct uip_neighbor_addr {
};
void uip_neighbor_init(void);
void uip_neighbor_add(uip_ipaddr_t ipaddr, __xdata struct uip_neighbor_addr *addr);
void uip_neighbor_update(uip_ipaddr_t ipaddr);
__xdata struct uip_neighbor_addr *uip_neighbor_lookup(uip_ipaddr_t ipaddr);
void uip_neighbor_add(__xdata uip_ipaddr_t ipaddr, __xdata struct uip_neighbor_addr *addr);
void uip_neighbor_update(__xdata uip_ipaddr_t ipaddr);
__xdata struct uip_neighbor_addr *uip_neighbor_lookup(__xdata uip_ipaddr_t ipaddr);
void uip_neighbor_periodic(void);
#endif /* __UIP-NEIGHBOR_H__ */
+4 -4
View File
@@ -397,9 +397,9 @@ uip_init(void) __banked
/*---------------------------------------------------------------------------*/
#if UIP_ACTIVE_OPEN
__xdata struct uip_conn *
uip_connect(register __xdata uip_ipaddr_t *ripaddr, register u16_t rport)
uip_connect(register __xdata uip_ipaddr_t *ripaddr, __xdata u16_t rport)
{
register __xdata struct uip_conn *conn, *cconn;
__xdata struct uip_conn *conn, *cconn;
/* Find an unused local port. */
again:
@@ -411,7 +411,7 @@ uip_connect(register __xdata uip_ipaddr_t *ripaddr, register u16_t rport)
/* Check if this port is already in use, and if so try to find
another one. */
for(c = 0; c < UIP_CONNS; ++c) {
for(uint8_t c = 0; c < UIP_CONNS; ++c) {
conn = &uip_conns[c];
if(conn->tcpstateflags != UIP_CLOSED &&
conn->lport == htons(lastport)) {
@@ -420,7 +420,7 @@ uip_connect(register __xdata uip_ipaddr_t *ripaddr, register u16_t rport)
}
conn = 0;
for(c = 0; c < UIP_CONNS; ++c) {
for(uint8_t c = 0; c < UIP_CONNS; ++c) {
cconn = &uip_conns[c];
if(cconn->tcpstateflags == UIP_CLOSED) {
conn = cconn;
+1 -1
View File
@@ -495,7 +495,7 @@ void uip_unlisten(u16_t port);
* or NULL if no connection could be allocated.
*
*/
__xdata struct uip_conn *uip_connect(register __xdata uip_ipaddr_t *ripaddr, register u16_t port);
__xdata struct uip_conn *uip_connect(register __xdata uip_ipaddr_t *ripaddr, __xdata u16_t port);