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

📄 at91sam9m10.h

📁 本代bootloader通过usb下载代码首先存放在sdram中
💻 H
📖 第 1 页 / 共 5 页
字号:
//  ----------------------------------------------------------------------------
//          ATMEL Microcontroller Software Support  -  ROUSSET  -
//  ----------------------------------------------------------------------------
//  Copyright (c) 2006, Atmel Corporation
// 
//  All rights reserved.
// 
//  Redistribution and use in source and binary forms, with or without
//  modification, are permitted provided that the following conditions are met:
// 
//  - Redistributions of source code must retain the above copyright notice,
//  this list of conditions and the disclaimer below.
// 
//  - Redistributions in binary form must reproduce the above copyright notice,
//  this list of conditions and the disclaimer below in the documentation and/or
//  other materials provided with the distribution. 
// 
//  Atmel's name may not be used to endorse or promote products derived from
//  this software without specific prior written permission. 
//  
//  DISCLAIMER:  THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
//  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
//  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
//  DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
//  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
//  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
//  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
//  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
//  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
//  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//  ----------------------------------------------------------------------------
// File Name           : AT91SAM9M10.h
// Object              : AT91SAM9M10 definitions
// Generated           : AT91 SW Application Group  09/10/2008 (16:04:26)
// 
// CVS Reference       : /AT91SAM9M10.pl/1.1/Mon Sep  1 13:32:53 2008//
// CVS Reference       : /SYS_SAM9264.pl/1.2/Tue Oct  2 12:19:30 2007//
// CVS Reference       : /HMATRIX2_SAM9264.pl/1.5/Fri Aug 31 13:13:12 2007//
// CVS Reference       : /CCR_SAM9264.pl/1.6/Fri Feb 29 14:02:52 2008//
// CVS Reference       : /PMC_SAM9264.pl/1.9/Thu Nov 29 09:55:11 2007//
// CVS Reference       : /HDDRSDRC2_6304B.pl/1.1/Thu Oct 11 10:44:49 2007//
// CVS Reference       : /EBI_SAM9260.pl/1.1/Fri Sep 30 12:12:14 2005//
// CVS Reference       : /HSMC3_SAM9264.pl/1.1/Wed Oct 10 09:39:31 2007//
// CVS Reference       : /HECC_6143A.pl/1.1/Wed Feb  9 17:16:57 2005//
// CVS Reference       : /SFR_SAM9264.pl/1.4/Fri Feb 29 14:02:55 2008//
// CVS Reference       : /AIC_6075A.pl/1.1/Mon Jul 12 17:04:01 2004//
// CVS Reference       : /PDC_6074C.pl/1.2/Thu Feb  3 09:02:11 2005//
// CVS Reference       : /DBGU_6059D.pl/1.1/Mon Jan 31 13:54:41 2005//
// CVS Reference       : /PIO_SAM9264.pl/1.1/Wed Oct 10 09:38:26 2007//
// CVS Reference       : /RSTC_6098A.pl/1.3/Thu Nov  4 13:57:00 2004//
// CVS Reference       : /SHDWC_6122A.pl/1.3/Wed Oct  6 14:16:58 2004//
// CVS Reference       : /RTTC_6081A.pl/1.2/Thu Nov  4 13:57:22 2004//
// CVS Reference       : /PITC_6079A.pl/1.2/Thu Nov  4 13:56:22 2004//
// CVS Reference       : /WDTC_6080A.pl/1.3/Thu Nov  4 13:58:52 2004//
// CVS Reference       : /TC_6082A.pl/1.7/Wed Mar  9 16:31:51 2005//
// CVS Reference       : /MCI_6101F.pl/1.1/Tue Sep 11 16:25:38 2007//
// CVS Reference       : /TWI_6061B.pl/1.2/Fri Aug  4 08:47:25 2006//
// CVS Reference       : /US_6089J.pl/1.2/Fri Oct 27 11:40:49 2006//
// CVS Reference       : /SSC_6078B.pl/1.2/Wed Apr 16 08:28:18 2008//
// CVS Reference       : /SPI_6088D.pl/1.3/Fri May 20 14:23:02 2005//
// CVS Reference       : /AC97C_XXXX.pl/1.3/Tue Feb 22 17:08:27 2005//
// CVS Reference       : /PWM_6044D.pl/1.2/Tue May 10 12:39:09 2005//
// CVS Reference       : /LCDC_6063A.pl/1.5/Mon Jun 30 09:38:02 2008//
// CVS Reference       : /HDMA_SAM9264.pl/1.2/Thu Sep 13 11:48:30 2007//
// CVS Reference       : /UDPHS_SAM9_7ept6dma4iso.pl/1.4/Tue Jun 24 13:05:14 2008//
// CVS Reference       : /TSC_SAM9264.pl/1.1/Fri Jul 13 10:30:41 2007//
// CVS Reference       : /RTC_1245D.pl/1.3/Fri Sep 17 14:01:31 2004//
// CVS Reference       : /EMACB_SAM9264.pl/1.1/Tue Sep 25 12:07:23 2007//
// CVS Reference       : /uhphs_ohci.pl/1.1/Fri Jun 22 14:20:34 2007//
// CVS Reference       : /uhphs_ehci.pl/1.3/Tue Jul 17 07:50:29 2007//
// CVS Reference       : /VDEC_7190.pl/1.2/Fri Aug 31 15:21:50 2007//
// CVS Reference       : /ISI_SAM9264.pl/1.1/Tue Aug 14 10:20:03 2007//
// CVS Reference       : /AES_6149B.pl/1.1/Fri Oct 14 13:30:02 2005//
// CVS Reference       : /DES3_6150A.pl/1.1/Mon Jan 17 13:30:33 2005//
// CVS Reference       : /SHA_6156B.pl/1.1/Fri Jun 22 13:26:18 2007//
// CVS Reference       : /TRNG_xxxxx.pl/1.1/Wed Jul 18 12:02:58 2007//
//  ----------------------------------------------------------------------------

#ifndef AT91SAM9M10_H
#define AT91SAM9M10_H

#ifndef __ASSEMBLY__
typedef volatile unsigned int AT91_REG;// Hardware register definition
#define AT91_CAST(a) (a)
#else
#define AT91_CAST(a)
#endif

// *****************************************************************************
//              SOFTWARE API DEFINITION  FOR SPECIAL FUNCTION REGISTER
// *****************************************************************************
#ifndef __ASSEMBLY__
typedef struct _AT91S_SFR {
	AT91_REG	 SFR_EMA; 	// memory Extra Margin Adjustment control
	AT91_REG	 SFR_DDRCFG; 	// DDR2 SSTL18 control
	AT91_REG	 SFR_DDRDELAY; 	// DDR2 controller clock delay
	AT91_REG	 SFR_EBIDELAY; 	// EBI DDR controller clock delay
	AT91_REG	 SFR_UTMICFG; 	// UTMI Software Reset, and OHCI suspend interrupt control
	AT91_REG	 SFR_INT; 	// OHCI suspend Interrupt status
} AT91S_SFR, *AT91PS_SFR;
#else
#define SFR_EMA         (AT91_CAST(AT91_REG *) 	0x00000000) // (SFR_EMA) memory Extra Margin Adjustment control
#define SFR_DDRCFG      (AT91_CAST(AT91_REG *) 	0x00000004) // (SFR_DDRCFG) DDR2 SSTL18 control
#define SFR_DDRDELAY    (AT91_CAST(AT91_REG *) 	0x00000008) // (SFR_DDRDELAY) DDR2 controller clock delay
#define SFR_EBIDELAY    (AT91_CAST(AT91_REG *) 	0x0000000C) // (SFR_EBIDELAY) EBI DDR controller clock delay
#define SFR_UTMICFG     (AT91_CAST(AT91_REG *) 	0x00000010) // (SFR_UTMICFG) UTMI Software Reset, and OHCI suspend interrupt control
#define SFR_OHCI_SUSP_INT (AT91_CAST(AT91_REG *) 	0x00000014) // (SFR_OHCI_SUSP_INT) OHCI suspend Interrupt status

#endif
// -------- SFR_EMA : (SFR Offset: 0x0) memory Extra Margin Adjustment control register -------- 
#define AT91C_SFR_RAM_EMA     (0x7 <<  0) // (SFR) SRAM EMA
#define 	AT91C_SFR_RAM_EMA_0                    (0x0) // (SFR) Normal Mode
#define 	AT91C_SFR_RAM_EMA_1                    (0x1) // (SFR) DEBUG MODE 1
#define 	AT91C_SFR_RAM_EMA_2                    (0x2) // (SFR) DEBUG MODE 2
#define 	AT91C_SFR_RAM_EMA_3                    (0x3) // (SFR) DEBUG MODE 3
#define 	AT91C_SFR_RAM_EMA_4                    (0x4) // (SFR) DEBUG MODE 4
#define 	AT91C_SFR_RAM_EMA_5                    (0x5) // (SFR) DEBUG MODE 5
#define 	AT91C_SFR_RAM_EMA_6                    (0x6) // (SFR) DEBUG MODE 6
#define 	AT91C_SFR_RAM_EMA_7                    (0x7) // (SFR) DEBUG MODE 7
#define AT91C_SFR_DPRAM_EMA   (0x7 <<  4) // (SFR) SRAM EMA
#define 	AT91C_SFR_DPRAM_EMA_0                    (0x0 <<  4) // (SFR) Normal Mode
#define 	AT91C_SFR_DPRAM_EMA_1                    (0x1 <<  4) // (SFR) DEBUG MODE 1
#define 	AT91C_SFR_DPRAM_EMA_2                    (0x2 <<  4) // (SFR) DEBUG MODE 2
#define 	AT91C_SFR_DPRAM_EMA_3                    (0x3 <<  4) // (SFR) DEBUG MODE 3
#define 	AT91C_SFR_DPRAM_EMA_4                    (0x4 <<  4) // (SFR) DEBUG MODE 4
#define 	AT91C_SFR_DPRAM_EMA_5                    (0x5 <<  4) // (SFR) DEBUG MODE 5
#define 	AT91C_SFR_DPRAM_EMA_6                    (0x6 <<  4) // (SFR) DEBUG MODE 6
#define 	AT91C_SFR_DPRAM_EMA_7                    (0x7 <<  4) // (SFR) DEBUG MODE 7
#define AT91C_SFR_RF_EMA      (0x7 <<  8) // (SFR) SRAM EMA
#define 	AT91C_SFR_RF_EMA_0                    (0x0 <<  8) // (SFR) Normal Mode
#define 	AT91C_SFR_RF_EMA_1                    (0x1 <<  8) // (SFR) DEBUG MODE 1
#define 	AT91C_SFR_RF_EMA_2                    (0x2 <<  8) // (SFR) DEBUG MODE 2
#define 	AT91C_SFR_RF_EMA_3                    (0x3 <<  8) // (SFR) DEBUG MODE 3
#define 	AT91C_SFR_RF_EMA_4                    (0x4 <<  8) // (SFR) DEBUG MODE 4
#define 	AT91C_SFR_RF_EMA_5                    (0x5 <<  8) // (SFR) DEBUG MODE 5
#define 	AT91C_SFR_RF_EMA_6                    (0x6 <<  8) // (SFR) DEBUG MODE 6
#define 	AT91C_SFR_RF_EMA_7                    (0x7 <<  8) // (SFR) DEBUG MODE 7
#define AT91C_SFR_DPRF_EMA    (0x7 << 12) // (SFR) SRAM EMA
#define 	AT91C_SFR_DPRF_EMA_0                    (0x0 << 12) // (SFR) Normal Mode
#define 	AT91C_SFR_DPRF_EMA_1                    (0x1 << 12) // (SFR) DEBUG MODE 1
#define 	AT91C_SFR_DPRF_EMA_2                    (0x2 << 12) // (SFR) DEBUG MODE 2
#define 	AT91C_SFR_DPRF_EMA_3                    (0x3 << 12) // (SFR) DEBUG MODE 3
#define 	AT91C_SFR_DPRF_EMA_4                    (0x4 << 12) // (SFR) DEBUG MODE 4
#define 	AT91C_SFR_DPRF_EMA_5                    (0x5 << 12) // (SFR) DEBUG MODE 5
#define 	AT91C_SFR_DPRF_EMA_6                    (0x6 << 12) // (SFR) DEBUG MODE 6
#define 	AT91C_SFR_DPRF_EMA_7                    (0x7 << 12) // (SFR) DEBUG MODE 7
#define AT91C_SFR_ROM_EMA     (0x7 << 16) // (SFR) SRAM EMA
#define 	AT91C_SFR_ROM_EMA_0                    (0x0 << 16) // (SFR) Normal Mode
#define 	AT91C_SFR_ROM_EMA_1                    (0x1 << 16) // (SFR) DEBUG MODE 1
#define 	AT91C_SFR_ROM_EMA_2                    (0x2 << 16) // (SFR) DEBUG MODE 2
#define 	AT91C_SFR_ROM_EMA_3                    (0x3 << 16) // (SFR) DEBUG MODE 3
#define 	AT91C_SFR_ROM_EMA_4                    (0x4 << 16) // (SFR) DEBUG MODE 4
#define 	AT91C_SFR_ROM_EMA_5                    (0x5 << 16) // (SFR) DEBUG MODE 5
#define 	AT91C_SFR_ROM_EMA_6                    (0x6 << 16) // (SFR) DEBUG MODE 6
#define 	AT91C_SFR_ROM_EMA_7                    (0x7 << 16) // (SFR) DEBUG MODE 7
// -------- SFR_DDRCFG : (SFR Offset: 0x4) DDR2 SSTL18 control register -------- 
#define AT91C_SFR_DDRCFG_SSTL (0x1 <<  0) // (SFR) Control DDR2 pads SSTL mode control
#define 	AT91C_SFR_DDRCFG_SSTL_NORMAL               (0x0) // (SFR) Force pads in SSTL18 mode when DDR2 is connected
#define 	AT91C_SFR_DDRCFG_SSTL_COMPATIBLE           (0x1) // (SFR) LVCMOS level (compatible SSTL18)
#define AT91C_SFR_DDRCFG_CLKDELAY (0x1 <<  8) // (SFR) Control DDR2 pads clocks delay on clk, dqs0, dqs1
#define 	AT91C_SFR_DDRCFG_CLKDELAY_HARD                 (0x0 <<  8) // (SFR) Fixed by hardware
#define 	AT91C_SFR_DDRCFG_CLKDELAY_SOFT                 (0x1 <<  8) // (SFR) Software must write correct delay value
// -------- SFR_DDRDELAY : (SFR Offset: 0x8) DDR2 controller clock delay -------- 
#define AT91C_SFR_DDRDELAY_CLK (0xFF <<  0) // (SFR) Control CLK clock delay
#define 	AT91C_SFR_DDRDELAY_CLK_0                    (0x0) // (SFR) minimum delay
#define 	AT91C_SFR_DDRDELAY_CLK_1                    (0x1) // (SFR) 
#define 	AT91C_SFR_DDRDELAY_CLK_2                    (0x2) // (SFR) 

⌨️ 快捷键说明

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