Skip to content

Instantly share code, notes, and snippets.

@martonmiklos
Created February 1, 2024 09:08
Show Gist options
  • Save martonmiklos/a78d7b5720a7475657532c733cc94adf to your computer and use it in GitHub Desktop.
Save martonmiklos/a78d7b5720a7475657532c733cc94adf to your computer and use it in GitHub Desktop.
ATmega16M1 IDA config file
.ATmega16M1
SUBARCH=107 ; should be AVR8 -- 107 is highest supported
ROM=16384
RAM=1280
EEPROM=512
area DATA REGISTERS_ 0x0000:0x0020 REGISTERS_
area DATA MAPPED_IO_ 0x0020:0x0100 MAPPED_IO_
area DATA IRAM_ 0x0100:0x0500 IRAM_
; Interrupt and reset vector assignments
entry RESET_ 0x0000 External Pin, Power-on Reset, Brown-out Reset, Watchdog Reset and JTAG AVR Reset
entry ANACOMP0_ 0x0002 Analog Comparator 0
entry ANACOMP1_ 0x0004 Analog Comparator 1
entry ANACOMP2_ 0x0006 Analog Comparator 2
entry ANACOMP3_ 0x0008 Analog Comparator 3
entry PSC_FAULT_ 0x000a PSC Fault
entry PSC_EC_ 0x000c PSC End of Cycle
entry INT0_ 0x000e External Interrupt Request 0
entry INT1_ 0x0010 External Interrupt Request 1
entry INT2_ 0x0012 External Interrupt Request 2
entry INT3_ 0x0014 External Interrupt Request 3
entry TIMER1_CAPT_ 0x0016 Timer/Counter1 Capture Event
entry TIMER1_COMPA_ 0x0018 Timer/Counter1 Compare Match A
entry TIMER1_COMPB_ 0x001a Timer/Counter1 Compare Match B
entry TIMER1_OVF_ 0x001c Timer1/Counter1 Overflow
entry TIMER0_COMPA_ 0x001e Timer/Counter0 Compare Match A
entry TIMER0_COMPB_ 0x0020 Timer/Counter0 Compare Match B
entry TIMER0_OVF_ 0x0022 Timer/Counter0 Overflow
entry CAN_INT_ 0x0024 CAN MOB, Burst, General Errors
entry CAN_TOVF_ 0x0026 CAN Timer Overflow
entry LIN_TC_ 0x0028 LIN Transfer Complete
entry LIN_ERR_ 0x002a LIN Error
entry PCINT0_ 0x002c Pin Change Interrupt Request 0
entry PCINT1_ 0x002e Pin Change Interrupt Request 1
entry PCINT2_ 0x0030 Pin Change Interrupt Request 2
entry PCINT3_ 0x0032 Pin Change Interrupt Request 3
entry SPI_STC_ 0x0034 SPI Serial Transfer Complete
entry ADC_ 0x0036 ADC Conversion Complete
entry WDT_ 0x0038 Watchdog Time-Out Interrupt
entry EE_READY_ 0x003a EEPROM Ready
entry SPM_READY_ 0x003c Store Program Memory Read
; INPUT/OUTPUT PORTS
PORTB_PORTB 0x0005
PORTB_DDRB 0x0004
PORTB_PINB 0x0003
PORTC_PORTC 0x0008
PORTC_DDRC 0x0007
PORTC_PINC 0x0006
PORTD_PORTD 0x000b
PORTD_DDRD 0x000a
PORTD_PIND 0x0009
PORTE_PORTE 0x000e
PORTE_DDRE 0x000d
PORTE_PINE 0x000c
PORTB_PORTB_ 0x00025
PORTB_DDRB_ 0x00024
PORTB_PINB_ 0x00023
PORTC_PORTC_ 0x00028
PORTC_DDRC_ 0x00027
PORTC_PINC_ 0x00026
PORTD_PORTD_ 0x0002b
PORTD_DDRD_ 0x0002a
PORTD_PIND_ 0x00029
PORTE_PORTE 0x0002e
PORTE_DDRE 0x0002d
PORTE_PINE 0x0002c
CPU_GPIOR2_ 0x001a
CPU_GPIOR1_ 0x0019
CPU_GPIOR0_ 0x001e
CPU_GPIOR0_.GPIOR07 7
CPU_GPIOR0_.GPIOR06 6
CPU_GPIOR0_.GPIOR05 5
CPU_GPIOR0_.GPIOR04 4
CPU_GPIOR0_.GPIOR03 3
CPU_GPIOR0_.GPIOR02 2
CPU_GPIOR0_.GPIOR01 1
CPU_GPIOR0_.GPIOR00 0
CPU_GPIOR1_.GPIOR17 7
CPU_GPIOR1_.GPIOR16 6
CPU_GPIOR1_.GPIOR15 5
CPU_GPIOR1_.GPIOR14 4
CPU_GPIOR1_.GPIOR13 3
CPU_GPIOR1_.GPIOR12 2
CPU_GPIOR1_.GPIOR11 1
CPU_GPIOR1_.GPIOR10 0
CPU_GPIOR2_.GPIOR27 7
CPU_GPIOR2_.GPIOR26 6
CPU_GPIOR2_.GPIOR25 5
CPU_GPIOR2_.GPIOR24 4
CPU_GPIOR2_.GPIOR23 3
CPU_GPIOR2_.GPIOR22 2
CPU_GPIOR2_.GPIOR21 1
CPU_GPIOR2_.GPIOR20 0
TC1_TIFR1_ 0x0016
TC1_TIFR1_.ICF1 5
TC1_TIFR1_.OCF1B 2
TC1_TIFR1_.OCF1A 1
TC1_TIFR1_.TOV1 0
CAN_CANGCON 0x00d8
CAN_CANGCON.ABRQ 7
CAN_CANGCON.OVRQ 6
CAN_CANGCON.TTC 5
CAN_CANGCON.SYNTTC 4
CAN_CANGCON.LISTEN 3
CAN_CANGCON.TEST 2
CAN_CANGCON.ENASTB 1
CAN_CANGCON.SWRES 0
CAN_CANGSTA 0x00d9
CAN_CANGSTA.OVFG 6
CAN_CANGSTA.TXBSY 4
CAN_CANGSTA.RXBSY 3
CAN_CANGSTA.ENFG 2
CAN_CANGSTA.BOFF 1
CAN_CANGSTA.ERRP 0
CAN_CANGIT 0x00da
CAN_CANGIT.CANIT 7
CAN_CANGIT.BOFFIT 6
CAN_CANGIT.OVRTIM 5
CAN_CANGIT.BXOK 4
CAN_CANGIT.SERG 3
CAN_CANGIT.CERG 2
CAN_CANGIT.FERG 1
CAN_CANGIT.AERG 0
CAN_CANGIE 0x00db
CAN_CANGIE.ENIT 7
CAN_CANGIE.ENBOFF 6
CAN_CANGIE.ENRX 5
CAN_CANGIE.ENTX 4
CAN_CANGIE.ENERR 3
CAN_CANGIE.ENBX 2
CAN_CANGIE.ENERG 1
CAN_CANGIE.ENOVRT 0
CAN_CANEN2 0x00dc
CAN_CANEN1 0x00dd
CAN_CANIE2 0x00de
CAN_CANIE1 0x00df
CAN_CANSIT2 0x00e0
CAN_CANSIT1 0x00e1
CAN_CANBT1 0x00e2
CAN_CANBT2 0x00e3
CAN_CANBT3 0x00e4
CAN_CANBT3.SMP 0
CAN_CANTCON 0x00e5
CAN_CANTIM 0x00e6
CAN_CANTTC 0x00e8
CAN_CANTEC 0x00ea
CAN_CANREC 0x00eb
CAN_CANHPMOB 0x00ec
CAN_CANPAGE 0x00ed
CAN_CANPAGE.AINC 3
CAN_CANSTMOB 0x00ee
CAN_CANSTMOB.DLCW 7
CAN_CANSTMOB.TXOK 6
CAN_CANSTMOB.RXOK 5
CAN_CANSTMOB.BERR 4
CAN_CANSTMOB.SERR 3
CAN_CANSTMOB.CERR 2
CAN_CANSTMOB.FERR 1
CAN_CANSTMOB.AERR 0
CAN_CANCDMOB 0x00ef
CAN_CANCDMOB.RPLV 5
CAN_CANCDMOB.IDE 4
CAN_CANIDT4 0x00f0
CAN_CANIDT4.RTRTAG 2
CAN_CANIDT4.RB1TAG 1
CAN_CANIDT4.RB0TAG 0
CAN_CANIDT3 0x00f1
CAN_CANIDT2 0x00f2
CAN_CANIDT1 0x00f3
CAN_CANIDM4 0x00f4
CAN_CANIDM4.IDEMSK 0
CAN_CANIDM4.RTRMSK 2
CAN_CANIDM3 0x00f5
CAN_CANIDM2 0x00f6
CAN_CANIDM1 0x00f7
CAN_CANSTM 0x00f8
CAN_CANMSG 0x00fa
AC_AC0CON 0x0094
AC_AC0CON.AC0EN 7
AC_AC0CON.AC0IE 6
AC_AC0CON.ACCKSEL 3
AC_AC1CON 0x0095
AC_AC1CON.AC1EN 7
AC_AC1CON.AC1IE 6
AC_AC1CON.AC1ICE 3
AC_AC2CON 0x0096
AC_AC2CON.AC2EN 7
AC_AC2CON.AC2IE 6
AC_AC3CON 0x0097
AC_AC3CON.AC3EN 7
AC_AC3CON.AC3IE 6
AC_ACSR 0x0050
AC_ACSR.AC3IF 7
AC_ACSR.AC2IF 6
AC_ACSR.AC1IF 5
AC_ACSR.AC0IF 4
AC_ACSR.AC3O 3
AC_ACSR.AC2O 2
AC_ACSR.AC1O 1
AC_ACSR.AC0O 0
DAC_DAC 0x0091
DAC_DACON 0x0090
DAC_DACON.DAATE 7
DAC_DACON.DALA 2
DAC_DACON.DAOE 1
DAC_DACON.DAEN 0
CPU_SPMCSR 0x0057
CPU_SPMCSR.SPMIE 7
CPU_SPMCSR.RWWSB 6
CPU_SPMCSR.SIGRD 5
CPU_SPMCSR.RWWSRE 4
CPU_SPMCSR.BLBSET 3
CPU_SPMCSR.PGWRT 2
CPU_SPMCSR.PGERS 1
CPU_SPMCSR.SPMEN 0
CPU_SREG 0x005f
CPU_SREG.I 7
CPU_SREG.T 6
CPU_SREG.H 5
CPU_SREG.S 4
CPU_SREG.V 3
CPU_SREG.N 2
CPU_SREG.Z 1
CPU_SREG.C 0
CPU_SP 0x005d
CPU_MCUCR 0x0055
CPU_MCUCR.SPIPS 7
CPU_MCUCR.PUD 4
CPU_MCUCR.IVSEL 1
CPU_MCUCR.IVCE 0
CPU_MCUSR 0x0054
CPU_MCUSR.WDRF 3
CPU_MCUSR.BORF 2
CPU_MCUSR.EXTRF 1
CPU_MCUSR.PORF 0
CPU_OSCCAL 0x0066
CPU_CLKPR 0x0061
CPU_CLKPR.CLKPCE 7
CPU_SMCR 0x0053
CPU_SMCR.SE 0
CPU_GPIOR2 0x003a
CPU_GPIOR1 0x0039
CPU_GPIOR0 0x003e
CPU_GPIOR0.GPIOR07 7
CPU_GPIOR0.GPIOR06 6
CPU_GPIOR0.GPIOR05 5
CPU_GPIOR0.GPIOR04 4
CPU_GPIOR0.GPIOR03 3
CPU_GPIOR0.GPIOR02 2
CPU_GPIOR0.GPIOR01 1
CPU_GPIOR0.GPIOR00 0
CPU_GPIOR1.GPIOR17 7
CPU_GPIOR1.GPIOR16 6
CPU_GPIOR1.GPIOR15 5
CPU_GPIOR1.GPIOR14 4
CPU_GPIOR1.GPIOR13 3
CPU_GPIOR1.GPIOR12 2
CPU_GPIOR1.GPIOR11 1
CPU_GPIOR1.GPIOR10 0
CPU_GPIOR2.GPIOR27 7
CPU_GPIOR2.GPIOR26 6
CPU_GPIOR2.GPIOR25 5
CPU_GPIOR2.GPIOR24 4
CPU_GPIOR2.GPIOR23 3
CPU_GPIOR2.GPIOR22 2
CPU_GPIOR2.GPIOR21 1
CPU_GPIOR2.GPIOR20 0
CPU_PLLCSR 0x0049
CPU_PLLCSR.PLLF 2
CPU_PLLCSR.PLLE 1
CPU_PLLCSR.PLOCK 0
CPU_PRR 0x0064
CPU_PRR.PRCAN 6
CPU_PRR.PRPSC 5
CPU_PRR.PRTIM1 4
CPU_PRR.PRTIM0 3
CPU_PRR.PRSPI 2
CPU_PRR.PRLIN 1
CPU_PRR.PRADC 0
TC0_TIMSK0 0x006e
TC0_TIMSK0.OCIE0B 2
TC0_TIMSK0.OCIE0A 1
TC0_TIMSK0.TOIE0 0
TC0_TIFR0 0x0035
TC0_TIFR0.OCF0B 2
TC0_TIFR0.OCF0A 1
TC0_TIFR0.TOV0 0
TC0_TCCR0A 0x0044
TC0_TCCR0B 0x0045
TC0_TCCR0B.FOC0A 7
TC0_TCCR0B.FOC0B 6
TC0_TCCR0B.WGM02 3
TC0_TCNT0 0x0046
TC0_OCR0A 0x0047
TC0_OCR0B 0x0048
TC0_GTCCR 0x0043
TC0_GTCCR.TSM 7
TC0_GTCCR.ICPSEL1 6
TC0_GTCCR.PSRSYNC 0
TC1_TIMSK1 0x006f
TC1_TIMSK1.ICIE1 5
TC1_TIMSK1.OCIE1B 2
TC1_TIMSK1.OCIE1A 1
TC1_TIMSK1.TOIE1 0
TC1_TIFR1 0x0036
TC1_TIFR1.ICF1 5
TC1_TIFR1.OCF1B 2
TC1_TIFR1.OCF1A 1
TC1_TIFR1.TOV1 0
TC1_TCCR1A 0x0080
TC1_TCCR1B 0x0081
TC1_TCCR1B.ICNC1 7
TC1_TCCR1B.ICES1 6
TC1_TCCR1C 0x0082
TC1_TCCR1C.FOC1A 7
TC1_TCCR1C.FOC1B 6
TC1_TCNT1L 0x0084
TC1_TCNT1H 0x0085
TC1_OCR1AL 0x0088
TC1_OCR1AH 0x0089
TC1_OCR1B 0x008a
TC1_ICR1 0x0086
TC1_GTCCR 0x0083
TC1_GTCCR.TSM 7
TC1_GTCCR.ICPSEL1 6
TC1_GTCCR.PSRSYNC 0
ADC_ADMUX 0x007c
ADC_ADMUX.ADLAR 5
ADC_ADCSRA 0x007a
ADC_ADCSRA.ADEN 7
ADC_ADCSRA.ADSC 6
ADC_ADCSRA.ADATE 5
ADC_ADCSRA.ADIF 4
ADC_ADCSRA.ADIE 3
ADC_ADCL 0x0078
ADC_ADCH 0x0079
ADC_ADCSRB 0x007b
ADC_ADCSRB.ADHSM 7
ADC_ADCSRB.ISRCEN 6
ADC_ADCSRB.AREFEN 5
ADC_DIDR0 0x007e
ADC_DIDR0.ADC7D 7
ADC_DIDR0.ADC6D 6
ADC_DIDR0.ADC5D 5
ADC_DIDR0.ADC4D 4
ADC_DIDR0.ADC3D 3
ADC_DIDR0.ADC2D 2
ADC_DIDR0.ADC1D 1
ADC_DIDR0.ADC0D 0
ADC_DIDR1 0x007f
ADC_DIDR1.AMP2PD 6
ADC_DIDR1.ACMP0D 5
ADC_DIDR1.AMP0PD 4
ADC_DIDR1.AMP0ND 3
ADC_DIDR1.ADC10D 2
ADC_DIDR1.ADC9D 1
ADC_DIDR1.ADC8D 0
ADC_AMP0CSR 0x0075
ADC_AMP0CSR.AMP0EN 7
ADC_AMP0CSR.AMP0IS 6
ADC_AMP0CSR.AMPCMP0 3
ADC_AMP1CSR 0x0076
ADC_AMP1CSR.AMP1EN 7
ADC_AMP1CSR.AMP1IS 6
ADC_AMP1CSR.AMPCMP1 3
ADC_AMP2CSR 0x0077
ADC_AMP2CSR.AMP2EN 7
ADC_AMP2CSR.AMP2IS 6
ADC_AMP2CSR.AMPCMP2 3
LINUART_LINCR 0x00c8
LINUART_LINCR.LSWRES 7
LINUART_LINCR.LIN13 6
LINUART_LINCR.LENA 3
LINUART_LINSIR 0x00c9
LINUART_LINSIR.LBUSY 4
LINUART_LINSIR.LERR 3
LINUART_LINSIR.LIDOK 2
LINUART_LINSIR.LTXOK 1
LINUART_LINSIR.LRXOK 0
LINUART_LINENIR 0x00ca
LINUART_LINENIR.LENERR 3
LINUART_LINENIR.LENIDOK 2
LINUART_LINENIR.LENTXOK 1
LINUART_LINENIR.LENRXOK 0
LINUART_LINERR 0x00cb
LINUART_LINERR.LABORT 7
LINUART_LINERR.LTOERR 6
LINUART_LINERR.LOVERR 5
LINUART_LINERR.LFERR 4
LINUART_LINERR.LSERR 3
LINUART_LINERR.LPERR 2
LINUART_LINERR.LCERR 1
LINUART_LINERR.LBERR 0
LINUART_LINBTR 0x00cc
LINUART_LINBTR.LDISR 7
LINUART_LINBRR 0x00cd
LINUART_LINDLR 0x00cf
LINUART_LINIDR 0x00d0
LINUART_LINSEL 0x00d1
LINUART_LINSEL.LAINC 3
LINUART_LINDAT 0x00d2
SPI_SPCR 0x004c
SPI_SPCR.SPIE 7
SPI_SPCR.SPE 6
SPI_SPCR.DORD 5
SPI_SPCR.MSTR 4
SPI_SPCR.CPOL 3
SPI_SPCR.CPHA 2
SPI_SPSR 0x004d
SPI_SPSR.SPIF 7
SPI_SPSR.WCOL 6
SPI_SPSR.SPI2X 0
SPI_SPDR 0x004e
WDT_WDTCSR 0x0060
WDT_WDTCSR.WDIF 7
WDT_WDTCSR.WDIE 6
WDT_WDTCSR.WDCE 4
WDT_WDTCSR.WDE 3
EXINT_EICRA 0x0069
EXINT_EIMSK 0x003d
EXINT_EIFR 0x003c
EXINT_PCICR 0x0068
EXINT_PCMSK3 0x006d
EXINT_PCMSK2 0x006c
EXINT_PCMSK1 0x006b
EXINT_PCMSK0 0x006a
EXINT_PCIFR 0x003b
EEPROM_EEAR 0x0041
EEPROM_EEDR 0x0040
EEPROM_EECR 0x003f
EEPROM_EECR.EERIE 3
EEPROM_EECR.EEMWE 2
EEPROM_EECR.EEWE 1
EEPROM_EECR.EERE 0
PSC_PIFR 0x00bc
PSC_PIFR.PEOP 0
PSC_PIM 0x00bb
PSC_PIM.PEOPE 0
PSC_PMIC2 0x00ba
PSC_PMIC2.POVEN2 7
PSC_PMIC2.PISEL2 6
PSC_PMIC2.PELEV2 5
PSC_PMIC2.PFLTE2 4
PSC_PMIC2.PAOC2 3
PSC_PMIC1 0x00b9
PSC_PMIC1.POVEN1 7
PSC_PMIC1.PISEL1 6
PSC_PMIC1.PELEV1 5
PSC_PMIC1.PFLTE1 4
PSC_PMIC1.PAOC1 3
PSC_PMIC0 0x00b8
PSC_PMIC0.POVEN0 7
PSC_PMIC0.PISEL0 6
PSC_PMIC0.PELEV0 5
PSC_PMIC0.PFLTE0 4
PSC_PMIC0.PAOC0 3
PSC_PCTL 0x00b7
PSC_PCTL.PCLKSEL 5
PSC_PCTL.PCCYC 1
PSC_PCTL.PRUN 0
PSC_POC 0x00b6
PSC_POC.POEN2B 5
PSC_POC.POEN2A 4
PSC_POC.POEN1B 3
PSC_POC.POEN1A 2
PSC_POC.POEN0B 1
PSC_POC.POEN0A 0
PSC_PCNF 0x00b5
PSC_PCNF.PULOCK 5
PSC_PCNF.PMODE 4
PSC_PCNF.POPB 3
PSC_PCNF.POPA 2
PSC_PSYNC 0x00b4
PSC_POCR_RB 0x00b2
PSC_POCR2SB 0x00b0
PSC_POCR2RA 0x00ae
PSC_POCR2SA 0x00ac
PSC_POCR1SB 0x00aa
PSC_POCR1RA 0x00a8
PSC_POCR1SA 0x00a6
PSC_POCR0SB 0x00a4
PSC_POCR0RA 0x00a2
PSC_POCR0SA 0x00a0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment