Die endende 0 bei Matrix gehört bei sizeof() dazu. Belegt ja auch Speicher.

mmcu ist ein Compilerschalter, mit dem du den Controller angibst. Wenn der nicht richtig steht wird Code für nen anderen µC generiert, der sich flashen lässt aber evtl. nicht funktioniert. Bei dir muss es heissen -mmcu=atmega162

Ansonsten fällt mir auch nix mehr ein.