Go Down

Topic: Mighty-1284p repo updated for IDE 1.6.x (Read 15700 times) previous topic - next topic

pico

May 09, 2015, 03:27 pm Last Edit: Jun 02, 2015, 04:02 pm by pico
Just added a new v1.6.3 branch to the JChristensen github repo for the mighty-1284p:

https://github.com/JChristensen/mighty-1284p/tree/v1.6.3

There are three branches for this repo now, each with a different target set of IDE versions.

- The original v1.0.5 branch is for IDE 1.0.1 - 1.0.5.
- The v1.0.6 branch is for 1.0.6 only.
- The latest v.1.6.3 branch should work with 1.6.0-1.6.4 (tested only briefly on 1.6.4, but seems to be fine so far.)

Make sure you are on the correct branch when downloading the zip file.

The installation instructions are slightly different for 1.6.x (simpler, actually) so do read the installation steps.

The patched libs have been updated for 1.6.x. Thanks to Per (pert) for updating these!

Also thanks to Bill (bperrybap) for help with new the set-up for the 1.6.x files.

Any suggestions, questions, or problems, drop a note in this thread.

---

These are the manual installation steps on the github page from the link above:

Installation

1. Go to https://github.com/JChristensen/mighty-1284p/tree/v1.6.3, click the Download ZIP button and save the ZIP file to a convenient location on your computer.

2. Ensure that the Arduino IDE is not running.

3. Go to your Arduino "hardware" folder.

4. Unzip the downloaded file into the hardware folder.

5. The download from GitHub will have a dash and branch name appended, so the folder will be named, e.g. mighty-1284p-v1.6.3. Rename the folder to just mighty-1284p.

6. The following folders and files should now exist:

◦ hardware\mighty-1284p\avr\bootloaders
◦ hardware\mighty-1284p\avr\libraries
◦ hardware\mighty-1284p\avr\patched-3rd-party-libs
◦ hardware\mighty-1284p\avr\variants
◦ hardware\mighty-1284p\avr\boards.txt
◦ hardware\mighty-1284p\avr\boards.txt.alt
◦ hardware\mighty-1284p.gitignore
◦ hardware\mighty-1284p\README.md

7. Move any mighty-1284p compatible 3rd party patched libs under [sketchfolder]\libraries as required. (Note: the mighty-1284p compatible "official" patched libs are already set-up to be used as default when using mighty-1284p by being in avr\libraries. If the wrong libs are being used, check to see that there aren't old versions of the patched libs still under [sketchfolder]\libraries, as those would take precedence.)

8. Restart the Arduino IDE.

9. Select the desired board from the Tools > Board menu and enjoy those extra pins and all that extra memory!
WiFi shields/Yun too expensive? Embeddedcoolness.com is now selling the RFXduino nRF24L01+ <-> TCP/IP Linux gateway: Simpler, more affordable, and even more powerful wireless Internet connectivity for *all* your Arduino projects! (nRF24L01+ shield and dev board kits available too.)

mcnobby

Thank you Pico !!!
This was exactly what I was looking for today :)
http://www.youtube.com/user/Recovered
http://www.smartshow.lighting

pico

Thank you Pico !!!
This was exactly what I was looking for today :)
No probs -- glad you found it useful. You get karma points for actually bothering to say thank you.  :)

Recently we've added an alternative boards.txt file named board.txt.alt.

To explain, this note has been added under the installation instructions:

Note: There is an alternative version of the boards.txt file supplied named boards.txt.alt. It provides more combinations of boards and clock speeds than the standard boards.txt selection menu. It uses a two-step selection of board type and then clock-speed via a submenu. As this differs from the standard boards.txt format, it is provided as an option for those users with more specialized needs, while the default boards.txt retains the more familiar style of interface, to minimise any potential for confusion.

To enable the alternate version, rename boards.txt to boards.txt.org, and then rename boards.txt.alt to boards.txt. Restart IDE, and the new selection options will appear.


If you decide to try it out, and have any comments or questions, please post here.
WiFi shields/Yun too expensive? Embeddedcoolness.com is now selling the RFXduino nRF24L01+ <-> TCP/IP Linux gateway: Simpler, more affordable, and even more powerful wireless Internet connectivity for *all* your Arduino projects! (nRF24L01+ shield and dev board kits available too.)

mcnobby

Ok thanks for that, I already made an adapted entry for my 32MHz version, but I will have a look at that .alt :)
http://www.youtube.com/user/Recovered
http://www.smartshow.lighting

dThirteen

Very cool. I picked up a Mighty-1284p compatible board off ebay a couple of weeks ago and have been keen to try it out. I really appreciate the work you guys put into it.

THLL

Would you know if the atmega1284 (not P) 44pin tqfp has been tested with this bootloader?

pico

Very cool. I picked up a Mighty-1284p compatible board off ebay a couple of weeks ago and have been keen to try it out. I really appreciate the work you guys put into it.
No probs. Let us know how you go.
WiFi shields/Yun too expensive? Embeddedcoolness.com is now selling the RFXduino nRF24L01+ <-> TCP/IP Linux gateway: Simpler, more affordable, and even more powerful wireless Internet connectivity for *all* your Arduino projects! (nRF24L01+ shield and dev board kits available too.)

pico

Would you know if the atmega1284 (not P) 44pin tqfp has been tested with this bootloader?
I've tested the boot loader with a atmega1284  40 pin DIP, and it's fine -- I wouldn't expect any problems with the TQFP package.
WiFi shields/Yun too expensive? Embeddedcoolness.com is now selling the RFXduino nRF24L01+ <-> TCP/IP Linux gateway: Simpler, more affordable, and even more powerful wireless Internet connectivity for *all* your Arduino projects! (nRF24L01+ shield and dev board kits available too.)

pico

#8
Jun 15, 2015, 04:08 pm Last Edit: Jun 15, 2015, 04:14 pm by pico
Updated Mighty-1284p v1.6.3 repo today:

• added support for variant "Sleeping Beauty"
• updated boards.txt.alt to include menu options for enabling/disabling JTAG, as well as A4/A5 functionality for Sleeping Beauty
• updated boards.txt.alt clock speed options to disallow bootloader options that flash LED on PB7 for boards that do not have the board LED connected to PB7
• added platform.local.txt to restore Mighty-1284p separator heading in Tools|Board list

Thanks to Bill (bperrybap) for providing the variant file pins_arduino.h for "Sleeping Beauty" board.

boards.txt.alt has been extended, with more menu options added - JTAG enable/disable (all boards), A4/A5 pin function select (Sleeping Beauty only).

Clock speed for boards that do not have a board LED attached to PB7 have had bootloader options that flash the LED using that pin have been removed from the boards.txt.alt menu. This affects avr_developers and the original "maniacbug" Mighty-1284p layouts.

The issue is that "optiboot_atmega1284p.hex" is currently the only bootloader file in the "bootloaders" directory that has the LED flash on bootloader startup disabled. For compatibility across the different board types, _all_ bootloaders should have the LED flashing disabled, otherwise some boards may be getting unexpected toggling of the PB7 pin, which may be appear as a bug.

After some discussion last year, it was decided the preferred approach would be to simply disable the LED flash on all bootloaders for Mighty-1284p, but unfortunately it is now evident this was only actually done for one version of the bootloader, not all.

To fix this would require rebuilding the bootloaders, possibly renaming them with an appended "_NO_LED" for additional clarity. It may also be an opportunity to update optiboot.c to the latest version -- the current optiboot.c Makefile is out of date for the current avr-gcc tools. (Thanks to Bill for uncovering these issues and bringing them to my attention.)

Volunteers for the "clean up the Mighty-1284p bootloaders/optiboot directory" project welcome.  :)
WiFi shields/Yun too expensive? Embeddedcoolness.com is now selling the RFXduino nRF24L01+ <-> TCP/IP Linux gateway: Simpler, more affordable, and even more powerful wireless Internet connectivity for *all* your Arduino projects! (nRF24L01+ shield and dev board kits available too.)

mcnobby

I tried to make a 32MHz (TTL clock gen) entry into boards.txt with the correct clock gen unit.
No matter how hard I tried I just couldnt get it to work, it was like it was dead, or wouldnt start up
I lowered the frequency to 24MHz and changed the clock gen for a standard crystal (using the xtal1 & 2 pins) and everything was fine

I havent had any trouble getting '328, or Tiny's to work at 32MHz, just the '1284

Its probably well over the limit of overclocking :)
http://www.youtube.com/user/Recovered
http://www.smartshow.lighting

bperrybap

#10
Jun 15, 2015, 06:38 pm Last Edit: Jun 15, 2015, 06:52 pm by bperrybap
Mark,
Seriously?
You didn't add the B7 bootloader for sleeping beauty?
And no renaming for all the other bootloaders for clarity.
Why?

So SleepingBeauty users loose the LED functionality that they originally had when they re-burn their bootloader with this core.
That is unacceptable to me.

OK. I've had enough of the bootloader mess.
As long as I can get it into the tree,
I'll go fix all this optibootloader crap that exists today since everyone seems to just keep avoiding it.
For me, it is way less work to just go fix it, than to point out the issues in what is there now since
doing it is pretty trivial and I'm sick of this bootloader disaster that is being allowed to persist.

I'll use the latest optiboot and create a wrapper script that creates all the needed 15 bootloaders with descriptive names that includes the cpu clock rate, baud rate, and led support.
And then update the boards.txt files to match.

If I do this, can I get this checked into the tree?


BTW as a FYI to others.
To unsugar coat the state of the bootloader stuff:.
In my view, the bootloader stuff is a total mess right now.
This is a sample of what is there now:
- The code in the optiboot directory does not match what is in the pre-built bootloaders
- the optiboot code and build tools included are very old and won't build with the latest tools that ship with the IDE that this core is for
- boards in boards.txt.alt are using bootloaders that toggle the wrong the LED pin


---- bill

pico

#11
Jun 15, 2015, 06:57 pm Last Edit: Jun 15, 2015, 07:17 pm by pico
Mark,
Seriously?
You didn't add the B7 bootloader for sleeping beauty?


And no renaming for all the other bootloaders for clarity.
Why?

So SleepingBeauty users loose the LED functionality that they originally had when they re-burn their bootloader with this core.
That is unacceptable to me.

OK. I've had enough of the bootloader mess.
As long as I can get it into the tree,
I'll go fix all this optibootloader crap that exists today since everyone seems to just keep avoiding it.
For me, it is way less work to just go fix it, than to point out the issues in what is there now since
doing it is pretty trivial and I'm sick of this bootloader disaster that is being allowed to persist.

I'll use the latest optiboot and create a wrapper script that creates all the needed 15 bootloaders with descriptive names
that includes the cpu clock rate, baud rate, and led support.
And then update the boards.txt files to match.

If I do this, can I get this checked into the tree?


---- bill
Sounds like we have a volunteer. :)

As we discussed offline, the consensus way back when was that no bootloader for the Mighty-1284p project should flash the LED. I know you strongly dissent from that decision, but in the absence of a new consensus reversing the original decision, I think it should stand. And personally, I also think it was the correct decision, FWIW. Bootloaders should not flash LEDs, period, IMHO.

But if you want to undertake the bootloader overhaul project, and nobody else voices an opinion at this stage one way or the other, I will submit your updates... even though I think personally think maintaining the additional bootloaders required for "LED flashing" and "non-LED non-flashing" versions of the bootloaders, depending on target board, is just messy, unnecessary and actually, undesirable.

But I don't feel as strongly about all of this as you obviously do!

WiFi shields/Yun too expensive? Embeddedcoolness.com is now selling the RFXduino nRF24L01+ <-> TCP/IP Linux gateway: Simpler, more affordable, and even more powerful wireless Internet connectivity for *all* your Arduino projects! (nRF24L01+ shield and dev board kits available too.)

bperrybap

Sounds like we have a volunteer. :)

As we discussed offline, the consensus way back when was that no bootloader for the Mighty-1284p project should flash the LED. I know you strongly dissent from that decision, but in the absence of a new consensus reversing g the original decision, I think it should stand. And personally, I also think it was the correct decision, FWIW. Bootloaders should not flash LEDs, period, IMHO.

But if you want to undertake the bootloader overhaul project, and nobody else voices an opinion at this stage one way or the other, I will submit your updates... even though I think personally think the additional bootloader required for flashing and non-flashing versions of the bootloaders, depending on target board, is just messy, unnecessary and actually, undesirable.

But I don't feel as strongly about all of this as you obviously do!


The view of a non flashing led bootloader does not seemed to be shared by the wider arduino population (or at least team arduino.cc ) as all AVR based Arduino boards that are now shipping appear to have a blinking bootloader.

In general I don't believe in forcing personal/group opinions on people and instead believe in giving people the flexibility to "have it their way".


In the case of SB users, I think that by default, SB users should get the same bootloader that they had when then received their board when they use the IDE and this core to re-burn a SB bootlaoder. If they don't want the blinking led, then then can go in an modify their boards.txt entry to point to a non blinking LED bootloader.


In the larger picture, can I get an updated optiboot directory that uses the newer optiboot and creates all the combinations of bootlaoders with more descriptive names in to the tree?
(if there is concern, perhaps rename the current optiboot directory to something else when this is added)

--- bill

pico

In general I don't believe in forcing personal/group opinions on people and instead believe in giving people the flexibility to "have it their way".
Sounds good to me.

In the larger picture, can I get an updated optiboot directory that uses the newer optiboot and creates all the combinations of bootlaoders with more descriptive names in to the tree?
(if there is concern, perhaps rename the current optiboot directory to something else when this is added)
Yes, as I said, unless anyone else comes forward with a strong opinion about it one way or the other, if you are willing to do the tidy up, I will upload your updates to the repo. As you say, if anyone has strong religious convictions about the issue one way or the other, they can manually adjust which bootloader they want. (It's not like they will be wanting for choice...)
WiFi shields/Yun too expensive? Embeddedcoolness.com is now selling the RFXduino nRF24L01+ <-> TCP/IP Linux gateway: Simpler, more affordable, and even more powerful wireless Internet connectivity for *all* your Arduino projects! (nRF24L01+ shield and dev board kits available too.)

pico

- boards in boards.txt.alt are using bootloaders that toggle the wrong the LED pin
No, this isn't true - I fixed that. All the available bootloaders for each board match up to the board. (I think you were confused because you didn't realize Jack's Mini actually has a LED connected to PB7, unlike the original "maniacbug" Mighty layout. )
WiFi shields/Yun too expensive? Embeddedcoolness.com is now selling the RFXduino nRF24L01+ <-> TCP/IP Linux gateway: Simpler, more affordable, and even more powerful wireless Internet connectivity for *all* your Arduino projects! (nRF24L01+ shield and dev board kits available too.)

Go Up