Skip to content

Instantly share code, notes, and snippets.

@goncalor
Last active February 14, 2024 02:50
Show Gist options
  • Star 10 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save goncalor/51e1c8038cc058b4379552477255b4e1 to your computer and use it in GitHub Desktop.
Save goncalor/51e1c8038cc058b4379552477255b4e1 to your computer and use it in GitHub Desktop.
How to add support for ATmega328PB to avr-gcc and avrdude

Adding support for ATmega328PB to avr-gcc and avrdude

avr-gcc

  1. Download ATmega's support pack from Microchip's website

  2. Unzip the relevant files

     unzip -j Atmel.ATmega_DFP.x.y.zzz.atpack \
     gcc/dev/atmega328pb/avr5/crtatmega328pb.o \
     gcc/dev/atmega328pb/avr5/libatmega328pb.a \
     include/avr/iom328pb.h
    
  3. Place the .o and .a files in /usr/avr/lib/avr5/

  4. Place the .h file in /usr/avr/include/avr/

  5. Add the following to /usr/avr/include/avr/io.h

     #elif defined (__AVR_ATmega328PB__) || defined (__AVR_ATmega328__)
     #  include <avr/iom328pb.h>
    

All set. Ready to compile.

avrdude

Add the following to /etc/avrdude.conf, right below the definition for ATmega328P.

part parent "m328"
	id          = "m328pb";
	desc        = "ATmega328PB";
	signature   = 0x1e 0x95 0x16;

	ocdrev      = 1;
;

Happy flashing!

@tm-sanjay
Copy link

can i use the same trick for atmega324pb ?

@andyjpb
Copy link

andyjpb commented Jun 13, 2021

Hi TM-Sanjay,

Yes it will work. Support for atmega324pb is included in the " Atmel ATmega Series Device Support (1.6.364)" Pack via the link to Microchip's website in the instructions above.

You'll have to modify the avrdude configuration that is given above. Change occurrences of 328 to 324 and insert the correct signature bytes. These can be found in the datasheet or, alternatively, just run it with the wrong ones and then avrdude will fail to connect and then tell you what it found instead. Then modify the config file a second time, substituting those bytes.

Good luck!

@samego176667
Copy link

Глупые советы.
Никакой архив не скачивается по ссылке. Скачивется инсталлятор, который устанавливает несколько сотен файлов. И чё куда потом копировать???? Авторы - бестолковые.

@sauttefk
Copy link

sauttefk commented Dec 8, 2021

@samego176667 you are wrong!
when doing as described, you get exactly 3 files and it is clearly written where to put them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment