new global_logger, used in AVR_LOG(), default is stdout/stderr
[simavr] / simavr / cores / sim_mega328.c
1 /*
2         sim_mega328.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_VECTOR_SIZE 4
25 #define SIM_MMCU                "atmega328"
26 #define SIM_CORENAME    mcu_mega328
27
28 #define _AVR_IO_H_
29 #define __ASSEMBLER__
30 #include "avr/iom328p.h"
31 // instantiate the new core
32 #include "sim_megax8.h"
33
34 static avr_t * make()
35 {
36         return avr_core_allocate(&SIM_CORENAME.core, sizeof(struct mcu_t));
37 }
38
39 avr_kind_t mega328 = {
40         .names = { "atmega328", "atmega328p" },
41         .make = make
42 };
43