Functions

# start_boot.c File Reference

This file contains the routines to jump in ISP mode. More...

`#include "config.h"`
`#include "start_boot.h"`
`#include "lib_mcu/wdt/wdt_drv.h"`
Include dependency graph for start_boot.c:

Go to the source code of this file.

## Functions
__no_init U32 boot_key | At (0x0100)
void | start_boot (void)
| This function will start the on-chip bootloader after a watchdog timer reset.
void | start_boot_if_required (void)
| This function calls the on-chip bootloader.
void | goto_boot (void)
| This function jump to on-chip bootloader without CPU reset.

## Detailed Description

This file contains the routines to jump in ISP mode.

- Compiler: IAR EWAVR and GNU GCC for AVR
- Supported devices: ATmega32U4

Author:
  Atmel Corporation: http://www.atmel.com
  Support and FAQ: http://support.atmel.no/

Definition in file start_boot.c.

## Function Documentation

__no_init U32 boot_key At | ( | 0x0100 | ) |

void start_boot | ( | void | ) |

This function will start the on-chip bootloader after a watchdog timer reset.

The function set a special key in sram (uninitialized during mcu start-up execution) and performs a mcu watchdog timer reset. This function should be called when a special eve,t is detected in the application that requires the bootloader activation. When this function is used, be sure to implement the "start_boot_if_required()" function at the begining of main().

Definition at line 82 of file start_boot.c.

References boot_key, wdtdrv_enable(), and WDTO_500MS.

    {
       boot_key=0x55AAAA55;

       // Enable the WDT for reset mode
       wdtdrv_enable(WDTO_500MS);
       while(1);
    }

Here is the call graph for this function:

void start_boot_if_required | ( | void | ) |

This function calls the on-chip bootloader.

The function starts the on-chip bootloader if the application has posted such a request. This function sould be inserted at the begining of the main function.

Jumping to bootloader

Definition at line 97 of file start_boot.c.

References boot_key, and GOTOBOOTKEY.

Referenced by main().

    {
      if(boot_key==GOTOBOOTKEY)
      {
          boot_key = 0;
          (*start_bootloader)();
      }
    }

Here is the caller graph for this function:

void goto_boot | ( | void | ) |

This function jump to on-chip bootloader without CPU reset.

Jumping to bootloader

Definition at line 109 of file start_boot.c.

    {
       (*start_bootloader)();
    }