BLIPs Bootloader data input timeout error

Go To Last Post
9 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi all

 

I have been using BLIPs for years for a reliable bootloader. Lately I've been doing a lot of ARM32 stuff which has in built bootloader. I've just gone back to an old project on a ATMega640V which at the time didn't need a bootloader. I decided since I had to do some firmware updates that I might as well add in the bootloader so I can do any future updates by serial rather than having to open up the box and use the ISP port. 

 

I tried porting my old code over to the M640 and it seems to work ok. I can reflash the firmware using BLIPs 4.0, but I seem to quite regularly fail on the verify with it saying "data input timeout error in receiveFlashBlock().... Verify flash in Block mode, wrong or no response to 'g' command".

 

Does anyone know what this means? It seems to fail about 75% of the time, but if I click verify again and again it will usually get through at some point. It never fails at the same point either, sometimes it will get though 8%, sometimes 80&, but always random spots.

 

Alternatively is there something more modern used these days? I've often wondered why Atmel don't provide their own, including full source for the PC side application like STM and some others do.

 

Cheers - Matt

Last Edited: Mon. Mar 19, 2018 - 11:58 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Sadly I haven't seen a post by Steve Childress (stevech) here in years. As the author of BLIPS he'd be the one best placed to help you. Perhaps a PM will trigger an email to him?

 

If you can't get hold of him I wonder if it would be breaking data protection if I PMd you his email address?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
I wonder if it would be breaking data protection if I PMd you his email address?

There  are 2 email addresses given in the BLIPS readme.pdf on the Project Page:

 

https://community.atmel.com/projects/blips-4-bootloader

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Ah, well spotted, then I don't suppose it's breaking any data protection to say that his account uses the second one (gmail). So that is the address I would try first.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks I will try a direct email. 

 

In the meantime is there any other program people use these days?

 

Matt

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well the bootloader half the world now uses is the Arduino one: "Optiboot"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks I will have a closer look at Optiboot tonight.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I've had a bit of a look at Optiboot. Is that just a plugin for Arduino? ie not standalone?

 

Matt

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It's just a plain old bootloader. The fact is that under the hood Arduino runs avrdude.exe on the PC and Optiboot in the AVR to get code from PC to AVR but nothing says it has to be used for Arduino alone. You can put Optiboot in a standalone AVR and then run avrdude.exe at a command prompt on the PC and achieve a transfer. There's lots of internet articles showing how to use avrdude "stand alone" to talk to Arduinos (ie Optiboot).

 

Just one issue - Arduino is only designed (initially) for about 10 models of AVR so it may be that Optiboot concentrates on support for those models. However one of them is mega2560 and I think the mega640 is going to be similar enough that the code can probably be built for 640 too.