uc3b0256 uart bootloader

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

Hi,

I need to make a serial bootloader for the uc3b0256. The only serial(uart)based bootloader I can find in the framework is for the UC3L0128, which is quite a different chip from the UC3B.

Now my question is, can anyone guide me as to what to modify to port this bootloader, or else guide to to something that already exists if possible please?

I would think that I most likely need to modify stuff in the linker .lds file in the project, but right now I am guessing.

Can anyone help with advice and or guidance.

Thanks,

Steed.

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

Hi,

simply replace the ASF drivers that correspond to the UC3L
with those that must be used for your micro, e.g.
avr32/drivers/pm/pm_uc3l.c \
avr32/drivers/scif/scif_uc3l.c
and adapt the makefile's PART = uc3l016.
you may have a look into any other ASF's makefile that is written for your micro.
also the config files (e.g. conf_clock.h) must be adapted.

-sb

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

Thanks for your advice. I ended up making a bootloader by using the uart bootloader code for the UC3L, and then modifying it for the UC3B. However I now have further problems that you can see here https://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=130031 please.

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

Hi,

I can't tell anything about flip. What kind of file do you pass over? a hex file, raw binary? how do you define which area gets erased / written to?
First make sure that the memory layout of your application does not overlap with that of your bootloader. For example, if you use the ASF's trampoline mechanism it will be quite clear that your application overwrites the entry point of your flash.
Next add debug output to flashc routines (you may also use the debugger if you don't have a second serial interface available) that erase and program your device. It should be quite easy to find out which pages get accessed by your bootloader.

-sb