I am about to start a project using an ATmega162 that can have 32 kB or 512 kB of external SRAM and started to wonder how am I going to know when I need to initialize the variables stored there. I really do not want to do a CRC check of the whole thing but I could since I have about 1 1/2 seconds of idle time during a 2 second power up delay.
I thought about adding a "magic" number but really could not think of a good one.
I have a packet count, head and tail pointer variables that will be stored in the external SRAM and those could be CRC'd but that doesn't do anything for the data. Should I keep a running CRC that gets stored after the last data packet?
For the big SRAM, I will have 8 banks of 64 kB which means I will be missing 8 time 1280 bytes used for the register, I/O and internal SRAM. I was wondering the technique shown in the datasheet to recover the missing bytes is really as easy as it seems?