Giter Club home page Giter Club logo

Comments (48)

loathingKernel avatar loathingKernel commented on July 23, 2024

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.

leonardorcortes avatar leonardorcortes commented on July 23, 2024

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.

loathingKernel avatar loathingKernel commented on July 23, 2024

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.

leonardorcortes avatar leonardorcortes commented on July 23, 2024

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.

loathingKernel avatar loathingKernel commented on July 23, 2024

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.

catwan avatar catwan commented on July 23, 2024

So does the mega 2560 need to be loaded with mkii with the hex file?

from ariadne-bootloader.

loathingKernel avatar loathingKernel commented on July 23, 2024

Once it is supported, yes. AVRISP mkII or any other ISP that can address 16bit memory addresses.

from ariadne-bootloader.

rexpark avatar rexpark commented on July 23, 2024

Have there been any updates on this?

from ariadne-bootloader.

FloeHerrmann avatar FloeHerrmann commented on July 23, 2024

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.

loathingKernel avatar loathingKernel commented on July 23, 2024

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.

loathingKernel avatar loathingKernel commented on July 23, 2024

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.

rexpark avatar rexpark commented on July 23, 2024

I bought an AVR-ISP mkII. Should be able to try this out on the 2560 next week.

from ariadne-bootloader.

loathingKernel avatar loathingKernel commented on July 23, 2024

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.

MYeager1967 avatar MYeager1967 commented on July 23, 2024

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.

loathingKernel avatar loathingKernel commented on July 23, 2024

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.

cbeaudoin avatar cbeaudoin commented on July 23, 2024

Which of the Ariadne bootloaders needs to be specified to burn the "upload-over-TFTP" feature onto the 2560?

from ariadne-bootloader.

loathingKernel avatar loathingKernel commented on July 23, 2024

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.

cbeaudoin avatar cbeaudoin commented on July 23, 2024

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.

loathingKernel avatar loathingKernel commented on July 23, 2024

Arduino Mega 2560 (Ariadne Bootloader) or Arduino Mega 2560 (Ariadne Bootloader Debug)

from ariadne-bootloader.

cbeaudoin avatar cbeaudoin commented on July 23, 2024

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.

jac3k avatar jac3k commented on July 23, 2024

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.

jenny16 avatar jenny16 commented on July 23, 2024

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.

Braehead avatar Braehead commented on July 23, 2024

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.

loathingKernel avatar loathingKernel commented on July 23, 2024

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.

loathingKernel avatar loathingKernel commented on July 23, 2024

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.

jenny16 avatar jenny16 commented on July 23, 2024

@loathingKernel

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.

jac3k avatar jac3k commented on July 23, 2024

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.

catwan avatar catwan commented on July 23, 2024

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.

loathingKernel avatar loathingKernel commented on July 23, 2024

@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.

jac3k avatar jac3k commented on July 23, 2024

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.

catwan avatar catwan commented on July 23, 2024

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.

saukaibli avatar saukaibli commented on July 23, 2024

@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.

AKBON avatar AKBON commented on July 23, 2024

@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.

saukaibli avatar saukaibli commented on July 23, 2024

@ AKBON, just get the latest ariadne bootloader version. that worked perfect for me.

from ariadne-bootloader.

jenny16 avatar jenny16 commented on July 23, 2024

@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.

loathingKernel avatar loathingKernel commented on July 23, 2024

@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.

AKBON avatar AKBON commented on July 23, 2024

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.

johnvanzijl avatar johnvanzijl commented on July 23, 2024

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.

loathingKernel avatar loathingKernel commented on July 23, 2024

@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.

MarekLew avatar MarekLew commented on July 23, 2024

Moved to #11

from ariadne-bootloader.

jenny16 avatar jenny16 commented on July 23, 2024

@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.

AKBON avatar AKBON commented on July 23, 2024

@jenny16

That was a great advice, which solved my problem, thanks to you!

AKBON

from ariadne-bootloader.

AKBON avatar AKBON commented on July 23, 2024

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.

loathingKernel avatar loathingKernel commented on July 23, 2024

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.

AKBON avatar AKBON commented on July 23, 2024

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.

jenny16 avatar jenny16 commented on July 23, 2024

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.

AKBON avatar AKBON commented on July 23, 2024

@jenny16

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.

waytronix avatar waytronix commented on July 23, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.