Application Restarting

2021-08-31 Thread Rohail Rasool
?Hi,

I have an application running using Nuttx 10.1.0 release. It automatically 
restarts after a while. I tried to insert debug breakpoints using MCUXpress IDE 
but no luck in finding the cause of it.


The RTOS is running fine else my IDE would have given an exception . However, 
my application gets restarted without throwing any exception

?

Any clue what can be the cause of error


Regards,

Rohail Rasool


Problem in Initializing Extended Address for MRF24J40

2022-04-24 Thread Rohail Rasool
Hi,


As per the commit a8e1620f3c9f2248e90449ecb6dd65d512ff713d by Anthony Merlino


```The extended address is a read-only attribute and thus an attempt to write 
the extended address should be denied. Instead, the extended address should 
really be either set by the PHY/radio itself, or provided at board bring-up 
time to the radio layer. The MAC layer now pulls in the extended address from 
the radio any time the MAC is reset.```


I am setting the extended address at the board bring-up time before calling 
mac802154_create(). However, after the mac802154_create() it gets back to 
IEEE802154_EADDR_UNSPEC. After reviewing, I found out that 
mac802154_req_reset() calls mac802154_setcoordeaddr(priv, 
IEEE802154_EADDR_UNSPEC); which ultimately calls mrf24j40_setcoordeaddr to 
setup my extended address to IEEE802154_EADDR_UNSPEC. The definition of  
mrf24j40_setcoordeaddr? as mentioned in 
drivers/wireless/ieee802154/mrf24j40/mrf24j40_getset.c? is as


int mrf24j40_setcoordeaddr(FAR struct mrf24j40_radio_s *dev,
   FAR const uint8_t *eaddr)
{
  int i;

  for (i = 0; i < 8; i++)
{
  mrf24j40_setreg(dev->spi, MRF24J40_ASSOEADR0 + i, eaddr[i]);
  dev->addr.eaddr[i] = eaddr[i];
}

  wlinfo("%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X\n", eaddr[0], eaddr[1],
 eaddr[2], eaddr[3], eaddr[4], eaddr[5], eaddr[6], eaddr[7]);
  return OK;
}

dev->addr.eaddr must be set by mrf24j40_seteaddr() only. The structure 
mrf24j40_radio_s is missing struct ieee802154_addr_s coordaddr;? which should 
be used to hold values of coordinator short and extended address

In this way, extended address value will not get modified at time of reset

Regards,
Rohail Rasool?