⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 在BOOTLOADR中增加当今最好AES加密技术,可用于客户远程更新应用程式
💻 C
字号:
//-----------------------------------
// File:          main.c
// Function:      Boot test program 2 (remap)
// Supported chip(s):
//    - AT91SAM7XC128
//    - AT91SAM7XC256
// Supported toolchain(s):
//    - IAR Embedded Workbench
// Date created:  04 May 2006
// Created by:    JJo
//-----------------------------------

//-----------------------------------
// Includes

#include "board.h"
#include <AT91SAM7X256.h>
#include <lib_AT91SAM7X256.h>

//-----------------------------------
// Defines

#define SPEED     (MCK / 80)
#define NB_LEDS   4
#define LED1      AT91C_PIO_PB19
#define LED2      AT91C_PIO_PB20
#define LED3      AT91C_PIO_PB21
#define LED4      AT91C_PIO_PB22
#define LED_MASK  (LED1 | LED2 | LED3 | LED4)

//-----------------------------------
// Global variables

const unsigned int leds[] = {LED1, LED2, LED3, LED4};

//-----------------------------------
// Functions

/**
 * Name:      wait
 * Effect:    Waits for a specified period of time.
 * Input:
 *  - Time to wait for
 */
void wait(unsigned int time) {

    for (unsigned int i=0; i < time; i++);
}

/**
 * Name:      blinkLed
 * Effect:    Blinks specified led
 */
void blinkLed(unsigned int i) {

  AT91F_PIO_ClearOutput(AT91C_BASE_PIOB, leds[i]);
  wait(SPEED);
  AT91F_PIO_SetOutput(AT91C_BASE_PIOB, leds[i]);
}

//-----------------------------------
// Main

int main() {

  // Configure leds
  AT91F_PIOB_CfgPMC();
  AT91F_PIO_CfgOutput(AT91C_BASE_PIOB, LED_MASK);
  AT91F_PIO_SetOutput(AT91C_BASE_PIOB, LED_MASK);

  // Configure and enable interrupts
  AT91F_AIC_ConfigureIt(AT91C_BASE_AIC, AT91C_ID_US0, 0,
                        AT91C_AIC_SRCTYPE_INT_POSITIVE_EDGE, (void *) 0);
  AT91F_AIC_ConfigureIt(AT91C_BASE_AIC, AT91C_ID_FIQ, 0,
                        AT91C_AIC_SRCTYPE_INT_POSITIVE_EDGE, (void *) 0);
  AT91F_AIC_EnableIt(AT91C_BASE_AIC, AT91C_ID_US0);
  AT91F_AIC_EnableIt(AT91C_BASE_AIC, AT91C_ID_FIQ);

  // Undefined instruction exception
  asm("DC32 0xEEEEEEEE");
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -