ways to program AVR devices

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

Hello,

now we would like to integrate the AT90CAN128 into our products. The problem is, how to program this device as easy as possible. The JTAG interface and ICE-MKII are used for this purpose for the evaluation board DVK90CAN1 and I know some other ways to program it such as over UART and CAN. Which one do you suggest? As for CAN (Bootloader) I read from ‘AVR914’:

Quote:
The CAN & UART AT90CAN128/64/32 bootloader is loaded in the “Bootloader Flash Section”
of the on-chip Flash memory. The bootloader size is close to 8K bytes, so the physical “Bootloader Flash Section” is fully used. This section is reserved to the bootloader and the application program size must be lower or equal the “Application Flash Section” (c.f. Table 4-1 ”Device Memory Mapping (byte addressing)” on page 2).
 on page 2 of doc7972.pdf (AVR914)
Does that mean, I can program only up to 8k this way?
I have heard one special HEX file called bootloader must be flashed into the device first so that this functionality can be activated. Where do find such HEX files for AVR Studio?

Thank you.

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

No, it means the bootloader is 8k bytes, so the space available to your application is 8k smaller than would otherwise fit to the AVR.

If you program over JTAG or ISP, you don't need a bootloader. If you wish to program over CAN or UART or anything else like I2C or SPI, you need a bootloader.

Bootloader must be programmed over JTAG or ISP first to a empty AVR, before you can use it.

- Jani

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

To clarify:

A Bootloader is software within your chip. It usually is installed in a special bootolader area. This software can communicate with your PC (via USB or USART) and self-program the application software into the chip.

This is a good technique for updating software in the field or by the end-user.

It can also be a benifit in your laboratory, but here i think ISP or JTAG is good enough.

Klaus
********************************
Look at: www.megausb.de (German)
********************************

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

Hello,

Thanks a lot for your information. If the bootloader is a standard way of programming, this bootloader should be provided by Atmel, right? Or must we write this bootloader by ourselves? And if I have this bootloader in the MCU installed, are times of reprogramming limited?

Thank you.

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

You need a hardware programmer (isp/JTAG) to get the bootloader software into your AVR.

Search here in the folrum or at www.atmel.com for "bootloader".

You may find some bootloder code, but maybe you have to change it to fit your needs.

Klaus
********************************
Look at: www.megausb.de (German)
********************************

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

senmeis wrote:
If the bootloader is a standard way of programming, this bootloader should be provided by Atmel, right?

if you want CAN or UART bootloader, have a look at AVR914.zip

you may also check AVR230 and 231

searching for bootloader here in Projects also gives lot of results