Close

^6 ISCP ATmega328pb

A project log for RPUadpt - a shield for multidrop serial over CAT5

Serial mezzanine with management for host to one or many targets.

ronald.sutherlandronald.sutherland 07/14/2018 at 06:120 Comments

Yes it works, but...

There is a but.

The Debain mainline starting at buster allows using the Atmel support packages, so that is what I am doing, check a Makefile to see how it is used. Also avr-libc assumes one TWI port. TWSR is not defined, but we have TWSR0 and TWSR1.

#define TW_STATUS   (TWSR & TW_STATUS_MASK)
It has a new signature and fuse at efuse bit 3 for clock failure detection, so the avrdude config needs
part parent "m328"
    id			= "m328pb";
    desc		= "ATmega328PB";
    signature		= 0x1e 0x95 0x16;

    ocdrev              = 1;

    memory "efuse"
        size = 1;
        min_write_delay = 4500;
        max_write_delay = 4500;
        read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
               "x x x x x x x x o o o o o o o o";

        write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
                "x x x x x x x x x x x x i i i i";
    ;
;

I am not using SPI or the other serial port from the manager on this board so best look at MiniCore for info on those.

When ISCP is used to program the manager its control of the shutdown pin will stop and the pin will float. The Raspberry Pi should then halt, and nothing bad should happen, but it means the Raspberry Pi can not be the ICSP tool.

Discussions