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

📄 rm9200.mac

📁 AT91RM9200-BasicTools-IAR4_30A-1_2
💻 MAC
字号:
// ---------------------------------------------------------
//   ATMEL Microcontroller Software Support  -  ROUSSET  -
// ---------------------------------------------------------
// The software is delivered "AS IS" without warranty or 
// condition of any  kind, either express, implied or 
// statutory. This includes without limitation any warranty 
// or condition with respect to merchantability or fitness 
// for any particular purpose, or against the infringements of
// intellectual property rights of others.
// ---------------------------------------------------------
//  File: RM9200.mac
//
//  User setup file for CSPY debugger to simulate interrupt
//  driven Fibonacchi data input. 
//  1.1 23/Aug/04 JPP    : Creation
//
//  $Revision: 1.1 $
//
// ---------------------------------------------------------

__var i;
__var pt;

// ---------------------------------------------------------
// Called after communication with the target system is established but before downloading the target application
// ---------------------------------------------------------
execUserPreload()
{
 SetPMC();
 CheckRemap();
}

// ---------------------------------------------------------
// Called once after the target application is downloaded
// ---------------------------------------------------------
execUserSetup()
{

}

// ---------------------------------------------------------
//  Called each time the reset command is issued. 
// ---------------------------------------------------------
execUserReset()
{
  __message "-------------------------------RESET";  
 ini();
}

// *********************************************************
//                      User Define
// *********************************************************
// ---------------------------------------------------------
//   Init All register for Reset
// ---------------------------------------------------------
ini()
{
__writeMemory32(0x0,0x00,"Register");
__writeMemory32(0x0,0x04,"Register");
__writeMemory32(0x0,0x08,"Register");
__writeMemory32(0x0,0x0C,"Register");
__writeMemory32(0x0,0x10,"Register");
__writeMemory32(0x0,0x14,"Register");
__writeMemory32(0x0,0x18,"Register");
__writeMemory32(0x0,0x1C,"Register");
__writeMemory32(0x0,0x20,"Register");
__writeMemory32(0x0,0x24,"Register");
__writeMemory32(0x0,0x28,"Register");
__writeMemory32(0x0,0x2C,"Register");
__writeMemory32(0x0,0x30,"Register");
__writeMemory32(0x0,0x34,"Register");
__writeMemory32(0x0,0x38,"Register");

__writeMemory32(0x0D3,0x98,"Register");
// __writeMemory32(0x0000000,0xB4,"Register");
i=__readMemory32(0x98,"Register");   __message "CPSR     ",i:%X; 
i=__readMemory32(0xB4,"Register");   __message "PC 0x",i:%X;  

}

// ---------------------------------------------------------
//   If remap is not execute a remap
// ---------------------------------------------------------
CheckRemap()
{
//* Read the value at 0x0
    i=__readMemory32(0x00000000,"Memory");
    i=i+1;
    __writeMemory32(i,0x00,"Memory");
    pt=__readMemory32(0x00000000,"Memory");
   
 if (i == pt)  
 {
   __message "------------------------------- The Remap is done ----------------------------------------";  
    i=i-1;
   __writeMemory32(i,0x00000000,"Memory");
   
 } else {  
   __message "------------------------------- The Remap is NOT -----------------------------------------";  
//* Set PMC at reset value
   SetPMC();
//* AT91C_PMC_SCDR disable all clock,PLLA,PLLB 
  __writeMemory32(0x00000001,0xFFFFFF00,"Memory");
     __message "------------------------------- Remap done -----------------------------------------";  
//  __writeMemory32(0x01,0xFFFFFF00,"Memory");
 }
i=__readMemory32(0x98,"Register");   __message "CPSR     ",i:%X; 
i=__readMemory32(0xB4,"Register");   __message "PC 0x",i:%X;  
}


// ---------------------------------------------------------
//   Set the PMC
// ---------------------------------------------------------
SetPMC()
{
   __message "------------------------------- Set PMC -----------------------------------------";  
  __writeMemory32(0x00000001,0xFFFFFC30,"Memory");
  __writeMemory32(0x00003F00,0xFFFFFC28,"Memory");
  __writeMemory32(0x00003F00,0xFFFFFC2C,"Memory");
}

// ---------------------------------------------------------
//   Read Register
// ---------------------------------------------------------
RG()
{
i=__readMemory32(0x00,"Register");   __message "R00 0x",i:%X;  
i=__readMemory32(0x04,"Register");   __message "R01 0x",i:%X;  
i=__readMemory32(0x08,"Register");   __message "R02 0x",i:%X;  
i=__readMemory32(0x0C,"Register");   __message "R03 0x",i:%X;  
i=__readMemory32(0x10,"Register");   __message "R04 0x",i:%X;  
i=__readMemory32(0x14,"Register");   __message "R05 0x",i:%X;  
i=__readMemory32(0x18,"Register");   __message "R06 0x",i:%X;  
i=__readMemory32(0x1C,"Register");   __message "R07 0x",i:%X;  
i=__readMemory32(0x20,"Register");   __message "R08 0x",i:%X;  
i=__readMemory32(0x24,"Register");   __message "R09 0x",i:%X;  
i=__readMemory32(0x28,"Register");   __message "R10 0x",i:%X;  
i=__readMemory32(0x2C,"Register");   __message "R11 0x",i:%X;  
i=__readMemory32(0x30,"Register");   __message "R12 0x",i:%X;  
i=__readMemory32(0x34,"Register");   __message "R13 0x",i:%X;  
i=__readMemory32(0x38,"Register");   __message "R14 0x",i:%X;  
i=__readMemory32(0x3C,"Register");   __message "R13 SVC 0x",i:%X;  
i=__readMemory32(0x40,"Register");   __message "R14 SVC 0x",i:%X;  
i=__readMemory32(0x44,"Register");   __message "R13 ABT 0x",i:%X;  
i=__readMemory32(0x48,"Register");   __message "R14 ABT 0x",i:%X;  
i=__readMemory32(0x4C,"Register");   __message "R13 UND 0x",i:%X;  
i=__readMemory32(0x50,"Register");   __message "R14 UND 0x",i:%X;  
i=__readMemory32(0x54,"Register");   __message "R13 IRQ 0x",i:%X;  
i=__readMemory32(0x58,"Register");   __message "R14 IRQ 0x",i:%X;  
i=__readMemory32(0x5C,"Register");   __message "R08 FIQ 0x",i:%X;  
i=__readMemory32(0x60,"Register");   __message "R09 FIQ 0x",i:%X;  
i=__readMemory32(0x64,"Register");   __message "R10 FIQ 0x",i:%X;  
i=__readMemory32(0x68,"Register");   __message "R11 FIQ 0x",i:%X;  
i=__readMemory32(0x6C,"Register");   __message "R12 FIQ 0x",i:%X;  
i=__readMemory32(0x70,"Register");   __message "R13 FIQ 0x",i:%X;  
i=__readMemory32(0x74,"Register");   __message "R14 FIQ0x",i:%X; 
i=__readMemory32(0x98,"Register");   __message "CPSR     ",i:%X; 
i=__readMemory32(0x94,"Register");   __message "SPSR     ",i:%X; 
i=__readMemory32(0x9C,"Register");   __message "SPSR ABT ",i:%X; 
i=__readMemory32(0xA0,"Register");   __message "SPSR ABT ",i:%X; 
i=__readMemory32(0xA4,"Register");   __message "SPSR UND ",i:%X; 
i=__readMemory32(0xA8,"Register");   __message "SPSR IRQ ",i:%X; 
i=__readMemory32(0xAC,"Register");   __message "SPSR FIQ ",i:%X; 

i=__readMemory32(0xB4,"Register");   __message "PC 0x",i:%X;  

}

⌨️ 快捷键说明

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