cores: Now duplicate the global structure
[simavr] / simavr / cores / sim_mega644.c
1 /*
2         sim_mega644.c
3
4         Copyright 2008, 2009 Michel Pollet <buserror@gmail.com>
5
6         This file is part of simavr.
7
8         simavr is free software: you can redistribute it and/or modify
9         it under the terms of the GNU General Public License as published by
10         the Free Software Foundation, either version 3 of the License, or
11         (at your option) any later version.
12
13         simavr is distributed in the hope that it will be useful,
14         but WITHOUT ANY WARRANTY; without even the implied warranty of
15         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16         GNU General Public License for more details.
17
18         You should have received a copy of the GNU General Public License
19         along with simavr.  If not, see <http://www.gnu.org/licenses/>.
20  */
21
22 #include "sim_avr.h"
23
24 #define SIM_MMCU                "atmega644"
25 #define SIM_CORENAME    mcu_mega644
26
27 #define _AVR_IO_H_
28 #define __ASSEMBLER__
29 #include "avr/iom644.h"
30 // instanciate the new core
31 #include "sim_megax4.h"
32
33 static avr_t * make()
34 {
35         return avr_core_allocate(&SIM_CORENAME.core, sizeof(struct mcu_t));
36 }
37
38 avr_kind_t mega644 = {
39         .names = { "atmega644", "atmega644p" },
40         .make = make
41 };
42