|
Man...been a while since I did a status update. I just finished writing the driver for the AVR and the AT86RF230 on the Raven boards. I unashamedly borrowed a lot of code from the Contiki Raven driver, but had to make a bunch of mods to massage it into the FreakZ stack. Boy, my copy and paste fingers sure are tired. I kept all the original SICS headers and credits in case anybody is worried. Anyways, after integrating the driver, modifying parts of the MAC to account for the hardware MAC in the AT86RF230, and writing a sample application, here are the stats for the FreakZ stack. The memory footprint is as follows: Flash size: 42.3 kB RAM size: 4.3 kB Actually, that size includes the FreakUSB stack since I'm using the Raven AVR USB dongle. If you adjust for the size of the FreakUSB stack, then the memory footprint becomes: Flash size: ~36 kB RAM size: 4.2 kB FYI, I'm using a managed memory heap size of 2048 bytes with 30 memory elements. Not bad, since this is the Zigbee router code (as opposed to a Zigbee end device which should be much, much smaller). My original target was for the stack to be less than 60 kB so looks like I can still make it, even after I finish out the ZDO and implement the cluster library and profiles. Also, it looks like the managed memory lib I used from Contiki did a lot in reducing the RAM footprint. Okay, okay, stop comparing the size to uIP. The code size is still obese compared to it, but not too shabby in comparison with other Zigbee stack sizes. It can't approach the size of uIP until the Zigbee spec goes on a diet and I transplant Adam Dunkel's brain into my head. Anyways, now comes the nasty part...testing and debugging. I'll keep everyone updated on the progress...
Trackback(0)
|