Skip to content

Support the Atmel STK500 and JTAGICE3 for ISP #2010

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed

Conversation

matthijskooijman
Copy link
Collaborator

This adds support for the STK500 development board.

@matthijskooijman
Copy link
Collaborator Author

I just added one more commit with support for the JTAGICE3 programmer. It doesn't actually work, due to bugs in avrdude, but since I invested the work to figure out the right commandline options etc. to use and don't want that work to get lost, I think adding it to programmers.txt already makes sense.

@cmaglie
Copy link
Member

cmaglie commented May 3, 2014

The configuration of stk500 looks identical to avrisp, are they the same device? May we merge them in some way to reduce the number of options?
The versions with forced firmware stk500v1 and stk500v2 are really needed?

(I always had some confusions about the amount of AVR ISP programmers available, I must admit...).

@matthijskooijman
Copy link
Collaborator Author

A lot of the ISP programmers use the same or similar protocols, so that's a bit confusing, yes. However, I'd say it is good to actually list the programmers explicitely in the menu, so it's clear to people which option they need. E.g., telling people to use AVR ISP if they have an STK500 (with firmware version 1) seems not so userfriendly. We could have an option named "AVR ISP or STK500 (firmware version 1)", but that doesn't scale well.

As for the firmware versions, just having a single stk500 entry is probably ok. However, avrdude.conf contains the following comment, which prompted me to have explicit entries too:

# This is supposed to be the "default" STK500 entry.
# Attempts to select the correct firmware version
# by probing for it.  Better use one of the entries
# below instead.

For my STK500 running v2 firmware, the default entry worked fine. If
you'd rather have a single entry, that's fine by me (we can always add
the explicit ones if we get complaints, I guess).

As for the disabled JTAGICE3 entry, I just realized that the avrdude
bugs only prevent burning the bootloader (only lock bits are broken),
programming regular sketches works. So perhaps we can just enable the
JTAGICE3 entry?

@matthijskooijman
Copy link
Collaborator Author

Ok, I just updated this pullrequest. It now only has a single STK500 entry, which should work with both firmware versions. Furthermore, I've enabled the JTAGICE3 entries, and included some comments about burn uploader not working.

Ok to merge like this?

@matthijskooijman matthijskooijman changed the title Support the Atmel STK500 development board for ISP Support the Atmel STK500 and JTAGICE3 for ISP May 13, 2014
@matthijskooijman
Copy link
Collaborator Author

I just updated the commit message of the last commit, it still said the entry was disabled (which it isn't anymore). Should be ready to merge, now.

@matthijskooijman matthijskooijman added Component: IDE The Arduino IDE Version: 1.5.x feature request A request to make an enhancement (not a bug fix) labels Sep 10, 2014
@matthijskooijman
Copy link
Collaborator Author

I just added one more commit, that allows programming of slower parts (like brand new 328 chips).

@cmaglie
Copy link
Member

cmaglie commented Jun 5, 2015

@matthijskooijman
for JTAGICE3 it seems a bit overkill to have 3 entries just for that, I'd keep only the slow ISP mode that seems the most common for burning a bootloader, what do you think?

@cmaglie cmaglie added this to the Release 1.6.5 milestone Jun 5, 2015
@matthijskooijman
Copy link
Collaborator Author

Well, one of the reasons I bought a JTAGICE3, is to get faster uploads on my Pinoccio board (uploading and verifying a 128k sketch takes over a minute through the bootloader). ISP at max speed is fast, JTAG is even faster.

So, perhaps we need submenus for programmers? :-)

This adds the configuration needed to support JTAGICE3. Note that
burning a bootloader doesn't work yet, due to bugs in avrdude. Uploading
sketches works as expected.
This uses a slower bitclock, allowing programming of parts < 4Mhz (like
fresh 328 MCU's, which run at 1Mhz by default).

For the JTAG version, this is not needed, since the JTAG clock
completely drives the chip, regardless of the configured CPU clock.
@matthijskooijman
Copy link
Collaborator Author

I just rebased this PR so it applies cleanly again.

@ffissore ffissore modified the milestones: Release 1.6.5, Release 1.6.6 Jun 15, 2015
@ffissore ffissore modified the milestones: Release 1.6.6, 1.6.7 Nov 4, 2015
@matthijskooijman
Copy link
Collaborator Author

Superseded by #5623.

@matthijskooijman matthijskooijman deleted the ide-1.5.x-stk500 branch December 30, 2016 14:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: IDE The Arduino IDE feature request A request to make an enhancement (not a bug fix)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants