~arcachofo/simulide/1.1.0

« back to all changes in this revision

Viewing changes to src/simavr/cores/sim_mega324.c

  • Committer: arcachofo
  • Date: 2021-01-01 14:23:42 UTC
  • Revision ID: arcachofo@simulide.com-20210101142342-ozfljnll44g5lbl3
Initial Commit 0.5.15-RC3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
        sim_mega324.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                "atmega324"
 
25
#define SIM_CORENAME    mcu_mega324
 
26
 
 
27
#define _AVR_IO_H_
 
28
#define __ASSEMBLER__
 
29
#include "avr/iom324.h"
 
30
 
 
31
/* borken avr-libc missing these declarations :/ */
 
32
/* The one from 324a are also wrong, like, I'm embarassed for whomever
 
33
 * put that in... */
 
34
#ifndef LFUSE_DEFAULT
 
35
#define LFUSE_DEFAULT 0 // (FUSE_CKDIV8 & FUSE_SUT1 & FUSE_SUT0 & FUSE_CKSEL3 & FUSE_CKSEL2 & FUSE_CKSEL0)
 
36
#define HFUSE_DEFAULT 0 // (FUSE_JTAGEN & FUSE_SPIEN & FUSE_BOOTSZ1 & FUSE_BOOTSZ0)
 
37
#define EFUSE_DEFAULT (0xFF)
 
38
#endif
 
39
 
 
40
// instantiate the new core
 
41
#include "sim_megax4.h"
 
42
 
 
43
static avr_t * make()
 
44
{
 
45
        return avr_core_allocate(&SIM_CORENAME.core, sizeof(struct mcu_t));
 
46
}
 
47
 
 
48
avr_kind_t mega324 = {
 
49
        .names = { "atmega324", "atmega324p" },
 
50
        .make = make
 
51
};
 
52