Skip to content

AVR32 support -- low priority #1882

Open
@sillydan1

Description

@sillydan1

I am trying to add a new MCU to the list of supported parts. Specifically, I am trying to add the AT32UC3C0512C MCU, which is (sorta) similar to the AT32UC3A0512 which is already in the default config, so I (perhaps naively) assume that it should be somewhat straight forward to add. However, when I try to use my initial config, I get an error:

avrdude error: uP_table neither knows mcuid -1 nor part AT32UC3C0512C
avrdude error: avrintel.c does not hold configuration information for AT32UC3C0512C

Doing some digging, it seems that the culprit is a lookup in an autogenerated table in avrintel.c. However, it seems that the autogenerated avrintel.c file is not being updated on compilation. According to the comment, these files are autogenerated by the perl script called mkavrintel.pl, but during my research, I found this and this comment which indicate that the script is simply not available, and doesn't seem to ever will be.

If this is the case, I am left to wonder:

How do I even add a new MCU, when the script that is required to use is not available?

Personally, I don't mind unreadable code, so publishing a required, but messy perl script is astronomically better than leaving it as "an exercise for the reader", so to speak.

P.S.
I noticed that the AT32UC3A0512 MCU is not in the autogenerated table either. Is this on purpose?

P.P.S.
For the curious, my initial config is (obviously not working yet):

#------------------------------------------------------------
# AVR32UC3C0512C
#------------------------------------------------------------

part # uc3c0512c
    desc                   = "AT32UC3C0512C";
    id                     = "uc3c0512c";
    variants               =
        "AT32UC3C0512C-ALUR:    LQFP144,  Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]",
        "AT32UC3C0512C-ALUT:    LQFP144,  Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]";
    prog_modes             = PM_AVR32JTAG | PM_aWire;
    signature              = 0x00 0x00 0x3f;

    memory "flash"
        paged              = yes;
        offset             = 0x80000000; 
        size               = 0x00080000;
        page_size          = 128;
        num_pages          = 1024;
    ;
;

I am using an AVRDragon as my programmer, and yes, I have a good, solid connection.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions