ATmega128RFA1 wireless bootloader?

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

How do I get the ATmega128RFA1 to wirelessly bootload - entirely hands off?

I got it to reset wirelessly by turning on the WDT. And I got it to bootload in a wired manner using Danni's bootloader. But I don't know how it can receive data wirelessly without leaving the bootloader section first . . .

I would assume Atmel would have made this possible? Supposedly the Atmel BitCloud bootloader might work, but it requires something called a .srec file (not .hex). Not even sure where to begin with that . . .

Any ideas anyone?

How do YOU make a robot?
http://www.societyofrobots.com

Last Edited: Fri. Oct 16, 2015 - 02:32 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I don't think ANY avr will bootload fresh from the factory. They all come from the factory ready program with an In Circuit Programmer or a JTAG programmer. If this AVR is on a module, does the OEM docs say they have loaded a bootloader?

Imagecraft compiler user

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

AVR 8 bit, yes. But don't the AVR32s have a boot pre-installed? (I speak from ignorance about that product, but recall reading this).

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

bobgardner and stevech, you misunderstood my question . . . I never said anything about a factory pre-installing a bootloader =P

How do YOU make a robot?
http://www.societyofrobots.com

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

societyofrobots wrote:
Supposedly the Atmel BitCloud bootloader might work,

BitCloud's OTA bootloader is a mess since it is compatible with Smart Energy which is bigger mess itself :).

Think there is no readily available wireless bootloader. Generally wireless bootloading is a two stage process: first you download and store image into some external storage (SPI Flash serves nicely for that purpose) and then you program MCU internal flash from bootloader code (after verifying image integrity of course).

But I think it is possible to make simple peer-to-peer one hop bootloader working from bootloader section and programming MCU on the fly.

What do you use for normal communications?

societyofrobots wrote:
but it requires something called a .srec file (not .hex). Not even sure where to begin with that
Depending on tools you are using .srec can be created pretty much the same way as .hex.

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

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

alexru - I'm a professional mechanical engineer not a professional programmer, am I asking for pain if I bother with BitCloud's OTA bootloader?

What confuses me is this:
The avr must be running in the application section for wireless to work.
The avr must be running in the bootloader section for the bootloader to work.

Is it possible to store the new wirelessly received application program in EEPROM, then during reset the bootloader loads that data into the application section? Is that, at least in theory, possible?

How do YOU make a robot?
http://www.societyofrobots.com

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

societyofrobots wrote:
alexru - I'm a professional mechanical engineer not a professional programmer, am I asking for pain if I bother with BitCloud's OTA bootloader?
Pretty much, yes. You can try it, of course, but even setup process is counterintuitive.

societyofrobots wrote:
The avr must be running in the application section for wireless to work.
I did not knew about this limitation. Then the only way to go is to have external storage large enough to store application image. I don't think there are EEPROMs capable of storing 128k of data, but there are external SPI flash chips with large enough capacity. This is what you will need for BitCloud's OTA bootloader to work anyway.

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

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

Daniel from the uracoli Team already implemented a wireless bootloader.
Another friend was able to flash a 50 node network (homogenous board type)
with it. The approach is simple, with no big network voodoo and
backup flash around. We simply replaced the UART by the Radio Transceiver
and did poll the IRQ, Programming is done via SPM.

Before release we need to do testing, you are welcome to help us with
alpha testing, just send a mail to "axel/at/uracoli/dot/de".

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

uracolix wrote:
We simply replaced the UART by the Radio Transceiver
and did poll the IRQ, Programming is done via SPM.
So TRX is accessible from boot section?

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

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

Yes, the only thing is that you have to poll the IRQs (like in every bootloader), our test was running with a bunch of Zigbits as download targets, but the RFA1 will work as well.