Comments (48)
I have already made the needed changes for Arduino Mega to work but I have not really tested it since I do not have the
needed programmer to burn it on a ATmega2560 or ATmega1280. So if you have the programmer i could make a branch here on github just for that and you could test it.
from ariadne-bootloader.
I have Arduino 2560 and 1280. I can test using Arduino ISP, correct? Send me files please.
Em 18/10/2012, às 14:14, Stelios Tsampas escreveu:
I have already made the needed changes for Arduino Mega to work but I have not really tested it since I do not have the
needed programmer to burn it on a ATmega2560 or ATmega1280. So if you have the programmer i could make a branch here on github just for that and you could test it.—
Reply to this email directly or view it on GitHub.
from ariadne-bootloader.
You can't use ArduinoISP to program the 2560 or the 1280 because they cannot address the greater memory addresses where the bootloader is stored in those CPUs. I have tried it before with both ArduinoISP and USBtinyISP and they have both failed due to this problem. To program these two you need the AVRISP mkII. If you have it, i can build it and send you the hex. Or you can build it yourself.
from ariadne-bootloader.
Send hex to 2560 and I will use avrisp mkii.
Em 18/10/2012, às 15:24, Stelios Tsampas escreveu:
You can't use ArduinoISP to program the 2560 or the 1280 because they cannot address the greater memory addresses where the bootloader is stored in those CPUs. I have tried it before with both ArduinoISP and USBtinyISP and they have both failed due to this problem. To program these two you need the AVRISP mkII. If you have it, i can build it and send you the hex. Or you can build it yourself.
—
Reply to this email directly or view it on GitHub.
from ariadne-bootloader.
For now the tftp uploading should be working. The problem is with the serial uploading that needs a different protocol.
I will try to do this in the next few weeks but i will not be releasing anything until I am happy with my solution.
from ariadne-bootloader.
So does the mega 2560 need to be loaded with mkii with the hex file?
from ariadne-bootloader.
Once it is supported, yes. AVRISP mkII or any other ISP that can address 16bit memory addresses.
from ariadne-bootloader.
Have there been any updates on this?
from ariadne-bootloader.
Is it possible that you send me the hex for the ATMega2560? I got an AVRISP mkII and would like to try the aridane bootloader with my Mega2560. It would be really great if you can send me the corresponding hex file. Thank you!
from ariadne-bootloader.
It is still under heavy development. You can monitor the progress on these branches:
https://github.com/codebendercc/Ariadne-Bootloader/tree/mega
and
https://github.com/codebendercc/Ariadne-Bootloader/tree/debug
There are some hex files in these two branches but they are not working. There are some bugs still to be fixed and as soon as they are done I will merge them to the master branch.
from ariadne-bootloader.
I pushed some changes today and anyone who wants can test them. There are hex files for both the standard edition but also debugging versions for Arduino Uno and Arduino Mega2560. Right now both tftp and serial flashing work but they are not fully tested. If anyone can test them, it would be awesome.
Known issues:
- tftp: It has not been tested for programs larger than 64K.
- tftp: Program validation is disabled. Invalid files can be uploaded to Mega2560. Atmega328 based boards are unaffected.
- serial: When uploading to Mega2560, avrdude will report a timeout with this error message
avrdude: stk500v2_ReceiveMessage(): timeout
.
I am not sure what is causing this but uploading seems to proceed fine after that. Also note that debugging versions are very chatty and they will print various stuff during code upload.
You can find the most current version here:
https://github.com/codebendercc/Ariadne-Bootloader/tree/mega
from ariadne-bootloader.
I bought an AVR-ISP mkII. Should be able to try this out on the 2560 next week.
from ariadne-bootloader.
Important information
First of all, if you want to do a bug report for the mega branch, please reply here just to have them all gathered in one place.
It would be very helpful if you could provide the following information when you do a bug report:
- Programmer used
- Size of the uploaded binary
- Time it took to upload or until upload failed
- Other things connected to the arduino during upload including SD cards, sheilds, etc
It would also be great help if you could reproduce the bug with a debug version of the bootloader and post the output. It would give much needed information about might have happened. To capture the debug output, open the serial monitor in Arduino IDE at 115200
baud rate before uploading using tftp. If the output is more than 10 lines long please don't put it in the reply but use a pastebin service or gist here on github and attach a link to it.
from ariadne-bootloader.
Will this allow me to upload a new sketch to the board using TFTP and if so does it contain the code that works with the Watchdog timer?
from ariadne-bootloader.
Yes, it will allow you to upload your sketch on boards with either atmega328 or atmega2560.
If by "works with watchdog timer" you mean that it will disable it upon reset to avoid the eternal reset loop, yes it will do that too :).
from ariadne-bootloader.
Which of the Ariadne bootloaders needs to be specified to burn the "upload-over-TFTP" feature onto the 2560?
from ariadne-bootloader.
Either of them is fine. The debug version enables some serial messages that tell you what the bootloader is doing and it might interfere with serial programming, but they both work for TFTP.
from ariadne-bootloader.
Sorry I asked the wrong question. What I should have asked is which Ariadne
"board" should I specify to burn the TFTP bootloader on my Mega2560.
On Sep 7, 2013 5:47 AM, "Stelios Tsampas" [email protected] wrote:
Either of them is fine. The debug version enables some serial messages
that tell you what the bootloader is doing and it might interfere with
serial programming, but they both work for TFTP.—
Reply to this email directly or view it on GitHubhttps://github.com//issues/2#issuecomment-23991400
.
from ariadne-bootloader.
Arduino Mega 2560 (Ariadne Bootloader)
or Arduino Mega 2560 (Ariadne Bootloader Debug)
from ariadne-bootloader.
Can I trouble you for a copy of the HEX files for these bootloaders?
On Sep 7, 2013 9:21 AM, "Stelios Tsampas" [email protected] wrote:
Arduino Mega 2560 (Ariadne Bootloader) or Arduino Mega 2560 (Ariadne
Bootloader Debug)—
Reply to this email directly or view it on GitHubhttps://github.com//issues/2#issuecomment-23994039
.
from ariadne-bootloader.
I'm working on an Arduino Mega with Atmega2560 and Ethershield of WIZNET W5100
I have a problem with support for files larger than 64kb.
Upload the file in its entirety. When the bootloader goes to "start user apps"
nothing happens. is frozen. Files smaller than 64kb working properly.
I downloaded the latest version from GitHub. Are there any special libraries (pgmspace) required to compile? If it is available compiled bootloader if I emailed him to ask for? I can not cope with compiling acting version that supports more than 64kb. Thank you in advance and congratulations on a great project.
from ariadne-bootloader.
I has also the same problem as jac3k.. i need to be able to upload files that are biger as 64kb,
is there still progress in the development for this bootloader?
Or somebody know an other bootloader for Arduino MEGA 2560 that support Upload over Ethernet or Upload over SDCard (automatic programm file from a sdcard)?
from ariadne-bootloader.
There is a generic bug in this bootloader. The same bug the troubled the official Arduino bootloader for ages. This is down to using a unsigned 16bit variable to address the memory and thus wraps at 64K back around to the start and 'corrupts' the start of downloaded code. Hence the crashing when more that 64K is downloaded.
Because this is a fork from the original Arduino boot loaders, this fix has not made it through to Ariadne. I can see the bug in the source code. Why there are several Flash Write sections in the code?
The address pointers need to be uint32_t and although this appears to be declared correctly, in several places in the code, it is cast to uint16_t for some reason.
If this can be fixed, then the downloads that exceed 64K should be OK as per the changes made to the original Arduino serial boot loaders for the Mega.
Hopefully someone take take a look at this "show stopper" sooner rather than later please.
from ariadne-bootloader.
Braehead, i doubt you have read the code carefully or at all. This wasn't the same problem as the one in the original stk500v2 bootloader. All variables were declared correctly and no casts are happening where addresses are concerned. Please refrain from making assumptions without reading the actual code.
The problem was with the calculation of the address based on the sequence number of the incoming packet. Even though the variable was uint32_t the output of the calculation was uint16_t, if effect, emulating the bug of the serial bootloader.
After this fix, programs over 64k are uploading correctly as verified by dumping the uploaded code and contrasting it with the binary file sent. I will push the fix to github once I have done enough testing.
jac3k, whenever I upload a new version, I also upload compiled hex files of the latest tested code so if no human error happens, they are always in sync.
from ariadne-bootloader.
I pushed the fix to github. I have verified that large programs are uploaded correctly but the program I was using didn't run, possibly because it was the blink code and some long PGM strings to make it large enough for testing. Can anyone verify it is working with a real program?
Known issues:
- Every ~64 packet, a timeout occurs. This is probably related to the lightweight WizNet driver.
- There is no validation if the data sent is an actual Arduino program.
- The serial timeout persists...
from ariadne-bootloader.
Thanks for this fantastic fix!
I can confirm that the version that you uploaded on 1 december is working perfect
i was try with a real a 121 KB and 128 KB bin File and the programs works both correct.
I not has any timeouts or other problems, i testing the upload more as 20 times on different board and it works fine!
Thanks again for your fast fixing!
from ariadne-bootloader.
I test the program 71kb. For now, all ok. I will perform tests with larger files let you know about the results within a few days.
Testing platform: ATmega 2560, WizNet 5100 ,SD Card, DS1307, D18B20, HD44780.
from ariadne-bootloader.
I tried to burn the Arduino Mega 2560 (Ariadne Bootloader) with the avr mk II but get: avrdude.exe: usbdev_open(): did not find any USB device "usb" error while burning bootloader
If I connect the avr mk II I see it in the device manager.
from ariadne-bootloader.
@catwan
It sounds to me like an issue with your Arduino IDE installation and avrdude. I do not use Windows so my knowledge of avr problems is limited on that platform. You will have better luck searching the web.
If anyone here has encountered the issue, feel free to post a solution here.
from ariadne-bootloader.
I use Win7 64bit USBasp on libraries of here http://are.net.pl/?id=products&cmd=9&pid=13 works correctly with Ariadne. At another station I have Win7 64bit with STK500v2 also works correctly with Ariadne. The problem must be directly on your PC and is not related to the Ariadne.
from ariadne-bootloader.
Are you using an avr mk II.
Sent from my Samsung Epic™ 4G Touch
-------- Original message --------
From: jac3k [email protected]
Date: 12/07/2013 5:48 AM (GMT-05:00)
To: codebendercc/Ariadne-Bootloader [email protected]
Cc: catwan [email protected]
Subject: Re: [Ariadne-Bootloader] Ethernet Bootloader to Arduino Mega 2560 (#2)
I use Win7 64bit USBasp on libraries of here http://are.net.pl/?id=products&cmd=9&pid=13 works correctly with Ariadne. At another station I have Win7 64bit with STK500v2 also works correctly with Ariadne. The problem must be directly on your PC and is not related to the Ariadne.
—
Reply to this email directly or view it on GitHub.
from ariadne-bootloader.
@catwan,
I had exactly the same problem and tried several things. Finally the only one that helped was:
http://sourceforge.net/apps/trac/libusb-win32/wiki
Download and Install libusb-win32-devel-filter-1.2.6.0.exe
Then start Device Filter from the startmenu, select "install a device filter", click next an select your programmer.
from ariadne-bootloader.
@jenny16,
How did you finally manage to upload such big files? I'm using a Mega with Ethernet shield and I'm not able to upload files where the packet number exceeds 63.
I'd really appreciate if this "bug" will be resolved soon, because programs quickly become bigger than 32K (using 512Bytes packet sizes, btw., is this the maximum?) due to included libraries.
Despite that...great work so far!
from ariadne-bootloader.
@ AKBON, just get the latest ariadne bootloader version. that worked perfect for me.
from ariadne-bootloader.
@AKBON, with the newest version ( 1december 2013) of ardiane bootloader that include the 64kb flash fix i has no problems anymore.
I can we upload file that are bigger as 130K.
I use standard windows tftp tool for uploading with standard settings
from ariadne-bootloader.
@AKBON
The 512b packet size is the standart of the tftp protocol and also, without getting into too much detail, it is a nice value to use with the W5100's local cache due to the way it is distributed between the sockets.
The "packet 63" bug was fixed in the latest commit I pushed to the repo.
from ariadne-bootloader.
Thx for your replies, but it's not working for me, the Upload always stops at packet number 64. I redownloaded your project, put library and hardware folders into Arduino directory again, selected the Ariadne Mega 2560 Bootloader, burnt it with the mkII, put the Ethernet-Shield back on and loaded the network configuration sketch via serial.
I'm watching the TFTP process with Wireshark and 63 keeps to be the last packet successfuly transmitted. I tried it with two Mega hardwares and I have no idea why it's working for you but not for me.
from ariadne-bootloader.
Hi AKBON,
I had similar Problems, You need the latest atmel TOOLCHAIN. Use avr-gcc-4.8 directly from http://gcc.gnu.org/
The compiler from arduino is ancient, not even the Compiler from atmelstudio worked.
cheers
John
from ariadne-bootloader.
@johnvanzijl
I do not think it is related to the avr toolchain, since there is no compilation involved. My bet is that he is using the binaries that I include in the repository. Correct me if I am wrong.
@AKBON
Please use a debug version of ariadne, using one of the options below the standard bootloader in the arduino menu, and send me the long in my email address. It might give us some insight as to what is going on.
from ariadne-bootloader.
Moved to #11
from ariadne-bootloader.
@AKBON
Hello Akbon, do you has still the problem with uploading files bigger as 32K?
maybe this will help:
If you not has a gateway in your network, you need to set the gateway address for the bootloader to the ip address of your computer.
i found out that the bootloader try after exactly 32KB upload to reach the gateway..
with wireshark you can see the broadcast comming from your arduino that searching the gateway. and if there is no answer, the bootloader will not stop searching for the gateway.. so your transfer will be aborted because of timeout..
jenny16
from ariadne-bootloader.
That was a great advice, which solved my problem, thanks to you!
AKBON
from ariadne-bootloader.
OK, the problem is not yet solved completely. My bin-file has a size of about 290 KB. At package number 505 the bootloader tries do reach the gateway like mentioned by @jenny16, but while this is no problem 6 times before, at this point the process stops and an error is generated.
In Wireshark I can see an "Unknown (0x3131)" packet sent from the Arduino.
The gateway check from the Arduino goes to a weird address like 48.48.48.49 with destination port 12593. My tfpt-Software is giving me that number as an error code before it stops. Could that be any hint?
Is there any technical limitation for the file size (beside the flash size on the board)?
AKBON
from ariadne-bootloader.
The process stops because of size limitations. Packet 505 means (505*512) = 252.5 Kb of data, which is more than the Arduino can accomodate, because the flash is 256 Kb and 4Kb is being used for the bootloader. This leaves you with 252Kb for your program. In the case the binary being uploaded is larger than the available space, the bootloader is programmed to stop with an error, which is what happens in your case.
On another note, @jenny16 is right, you need to specify a valid gateway for the transfer for large binaries to work without problems.
from ariadne-bootloader.
Thanks for the quick answer. This of course totally right. But I wonder, why uploading via USB from the IDE is no problem. That's why I did not think about flash size issues. So there must be a problem in my hex->bin conversion, I'll have a look on this.
And I did not omit the gateway from the settings, I simply set it wrong...I'm not a network-pro, so... ;-)
Thank's for your help...maybe others will run into similiar problems, and they will be glad, if they find the simple answers here.
AKBON
from ariadne-bootloader.
convert the hex to bin file:
C:\ArduinoIDE\hardware\tools\avr\bin\avr-objcopy.exe -I ihex project1.hex -O binary project1.bin
then upload the bin file ....
from ariadne-bootloader.
Thanks, but I'm doing the conversion with a function within a C# program. There was a mistake in it, which I just corrected. Now it works perfectly.
from ariadne-bootloader.
I'm also unable to upload files larger than 64k.
I am using the latest version of bootloader with Arduino Mega2560.
Anyone have a solution?
from ariadne-bootloader.
Related Issues (20)
- Compile Problem HOT 6
- Ariadne misuses W5100 and W5200 HOT 5
- network reset HOT 16
- burning bootloader to mega and some questions HOT 11
- Automatic reset for every TFTP put operation HOT 3
- Ariadne installation via Arduino Boards Manager HOT 8
- Support for ENC28J60 HOT 1
- bin-file generated from PlatformIO (avr-gcc ide) does not work with Ariadne HOT 9
- Bootloader hanging on field application -2560 HOT 7
- TFTP upload fails with the message "Timeout occurred, Connect request failed" HOT 15
- Bootloader hangs on Mega2560 HOT 9
- TFTP upload not working with mini W5100 Board HOT 1
- Bootloader burned successfully, Failed to upload bin via TFTP. HOT 3
- getting error when flashing with tftp HOT 2
- Please specify fuses for alternative ICSP programmer. HOT 2
- Cannot use http post method with ethernet.client when ariadne ethernet.reset in use HOT 2
- EEPROM.put and get does not work HOT 11
- Endless reset HOT 1
- Don't report issues here. HOT 2
- removed
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ariadne-bootloader.