Keil Logo Arm Logo

ULINK2 User's Guide

Init

Summary
int Init(
  unsigned long adr,     /*  Device base address  */
  unsigned long clk,     /*  Clock frequency (Hz) */
  unsigned long fnc);    /*  Function code        */
Description

The Init function initializes the microcontroller for Flash programming. It is invoked whenever an attempt is made to download the program to Flash.

The last parameter fnc is a number:

  • 1 - that stands for Erase.
  • 2 - that stands for Program.
  • 3 - that stands for Verify.

Thus, different initialization sections can be implemented for each individual Flash programming step.

Return Value

The Init function returns a value:

  • 0 - on success.
  • 1 - on failure.

 

See Also

EraseChip, EraseSector, ProgramPage, Verify

Example
int Init (unsigned long adr, unsigned long clk, unsigned long fnc) {

  // Zero Wait State
  FLASH->ACR  = 0x00000000;

  // Unlock Flash
  FLASH->KEYR = FLASH_KEY1;
  FLASH->KEYR = FLASH_KEY2;

  // Test if IWDG is running (IWDG in HW mode)
  if ((FLASH->OBR & 0x04) == 0x00) {
    // Set IWDG time out to ~32.768 second
    IWDG->KR  = 0x5555; // Enable write access to IWDG_PR and IWDG_RLR
    IWDG->PR  = 0x06;   // Set prescaler to 256
    IWDG->RLR = 4095;   // Set reload value to 4095
  }

  return (0);
}

Complete example exists in folder \KEIL\ARM\FLASH\STM32F10x.

Keil logo

Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.