How do I establish communication between an AVR and an ARM?
Much the same way that you'd establish communication between any two devices!
"AVR" is a whole family of devices, and various AVR chips have various combinations of communication interfaces - plus generic IO functions which could be used to invent an interface all your own.
"ARM" has a whole family of architectures, and each architecture is embodied by a whole range of manufacturers in whole ranges of devices. All the multitudes of various ARM-based chips have various combinations of communication interfaces - plus, again, generic IO functions which could be used to invent an interface all your own.
So, would you care to be a little less vague?!