BitCloud OTAU client side

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

Hello,
i got a problem with OTAU client with a ATmega128RFA1 module (deRFmega128 and deRFnode development board).
The OTAU itself works fine, server will be found, image is downloaded and stored to external eeprom and bootloader writes the image to flash.

The problem is as soon as the application calls ZCL_StartOtauService() the communication to PC per USART (and also FTDI) got very unreliable/slow.
This happens even if there is no OTAU server at all and the client just should idle or looking for a server (i guess some ZDP requests).

So the question is, has my application a bug or is BitCloud doing something heavy in the background?

Sadly ZCL_StopOtauService() isn't implemented for client (as the documentaion states). the only way to recover from this state is to restart the device.

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

ZCL_StartOtauService() will try to open flash drive (using OFD_Open()), it then will try to look for a server. I don't see any heavy code in there.

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

Ah thx! I see OFD_Open() will open the USART in SPI mode, I ve forgotten to deactivate these lines. (I'm using the AT24C1024 EEPROM as external memory which uses I2C, so no SPI) USART0 which is just for PC communication was reconfigured - this would explain why it behaves so weird :-)

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

Keep in mind that 128k EEPROM is not enough for a standard OTA since bootloader will try to save existing firmware first in order to restore it back if something goes wrong. You can remove this, of course, if you don't need this.

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

In this project only the 128K EEPROM is available, so the Bootloader has to trust the Image-CRC. (Bootloader is modified to deal with only one image)

Nodes which in the worst case stop working will be replaced in the field :-)

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

Hi,

I've also question about OTAU:

I see form configuration.h that OTAU uses 3 flash chips:

#define AT25F2048  0x01
#define AT45DB041  0x02
#define AT25DF041A 0x03

Can I use AT25DF081D for OTAU and what do I have to do to make it work?

My plan is to use this flash(AT25DF081D) for OTAU and for storing data.

So which sectors in flash are occupied by OTAU and which are free for storing my data?

Thanx !

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

Look at BitCloud\Components\HAL\drivers\OFD and how it works.

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