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

📄 hardware.h

📁 tinyos2.0版本驱动
💻 H
字号:
/* * Copyright (c) 2005 Arched Rock 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 following disclaimer. *	Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. *   *   Neither the name of the Arched Rock Corporation nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE ARCHED * ROCK OR ITS CONTRIBUTORS 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. *//* * * * "Copyright (c) 2000-2002 The Regents of the University  of California.   * All rights reserved. * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose, without fee, and without written agreement is * hereby granted, provided that the above copyright notice, the following * two paragraphs and the author appear in all copies of this software. *  * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *  * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS." * *//* *  IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.  By *  downloading, copying, installing or using the software you agree to *  this license.  If you do not agree to this license, do not download, *  install, copy or use the software. * *  Intel Open Source License  * *  Copyright (c) 2002 Intel 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 following disclaimer. *	Redistributions in binary form must reproduce the above copyright *  notice, this list of conditions and the following disclaimer in the *  documentation and/or other materials provided with the distribution. *      Neither the name of the Intel Corporation nor the names of its *  contributors may be used to endorse or promote products derived from *  this software without specific prior written permission. *   *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *  PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE INTEL OR ITS *  CONTRIBUTORS 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. *  *  *//* * * @Author Philip Buonadonna * @Author Robbie Adler * */#ifndef __TOSH_HARDWARE_H__#define __TOSH_HARDWARE_H__#include "pxa27xhardware.h"//#include "AM.h"#define MIN(a,b) ((a) < (b) ? (a) : (b))/* Watchdog Prescaler */enum {  TOSH_period16 = 0x00, // 47ms  TOSH_period32 = 0x01, // 94ms  TOSH_period64 = 0x02, // 0.19s  TOSH_period128 = 0x03, // 0.38s  TOSH_period256 = 0x04, // 0.75s  TOSH_period512 = 0x05, // 1.5s  TOSH_period1024 = 0x06, // 3.0s  TOSH_period2048 = 0x07 // 6.0s};/* Global interrupt priority table.  *    Table is indexed by the Peripheral ID (PPID). Priorities are 0 - 39 *    where 0 is the highest.  Priorities MUST be unique. 0XFF = invalid/unassigned */const uint8_t TOSH_IRP_TABLE[] = { 0x05, // PPID  0 SSP_3 Service Req				   0xFF, // PPID  1 MSL				   0xFF, // PPID  2 USBH2				   0xFF, // PPID  3 USBH1				   0xFF, // PPID  4 Keypad				   0xFF, // PPID  5 Memory Stick				   0xFF, // PPID  6 Power I2C				   0x04, // PPID  7 OST match Register 4-11				   0x01, // PPID  8 GPIO_0				   0x03, // PPID  9 GPIO_1				   0x02, // PPID 10 GPIO_x				   0x08, // PPID 11 USBC				   0xFF, // PPID 12 PMU				   0xFF, // PPID 13 I2S				   0xFF, // PPID 14 AC '97				   0xFF, // PPID 15 SIM status/error				   0xFF, // PPID 16 SSP_2 Service Req				   0xFF, // PPID 17 LCD Controller Service Req				   0xFF, // PPID 18 I2C Service Req				   0xFF, // PPID 19 TX/RX ERROR IRDA				   0x07, // PPID 20 TX/RX ERROR STUART				   0xFF, // PPID 21 TX/RX ERROR BTUART				   0x06, // PPID 22 TX/RX ERROR FFUART				   0xFF, // PPID 23 Flash Card status/Error Detect				   0x0A, // PPID 24 SSP_1 Service Req				   0x00, // PPID 25 DMA Channel Service Req				   0xFF, // PPID 26 OST equals Match Register 0				   0xFF, // PPID 27 OST equals Match Register 1				   0xFF, // PPID 28 OST equals Match Register 2				   0xFF, // PPID 29 OST equals Match Register 3				   0xFF, // PPID 30 RTC One HZ TIC				   0xFF, // PPID 31 RTC equals Alarm				   0xFF, // PPID 32				   0x09, // PPID 33 Quick Capture Interface				   0xFF, // PPID 34				   0xFF, // PPID 35				   0xFF, // PPID 36				   0xFF, // PPID 37				   0xFF, // PPID 38				   0xFF  // PPID 39};#ifdef IMOTE2_DEVBOARD // LED assignments#define RED_LED_PIN (95)#define GREEN_LED_PIN (102)#define BLUE_LED_PIN (27)// CC2420 RADIO #defines#define CC2420_VREN_PIN (40)#define CC2420_RSTN_PIN (22)#define CC2420_FIFO_PIN (114)#define CC2420_CCA_PIN (116)#define CC2420_FIFOP_PIN (115)#define CC2420_SFD_PIN (16)#define CC2420_CSN_PIN (39)#else// LED assignments#define RED_LED_PIN (103)#define GREEN_LED_PIN (104)#define BLUE_LED_PIN (105)// CC2420 RADIO #defines#define CC2420_VREN_PIN (115)#define CC2420_RSTN_PIN (22)#define CC2420_FIFO_PIN (114)#define CC2420_CCA_PIN (116)#define CC2420_FIFOP_PIN (0)#define CC2420_SFD_PIN (16)#define CC2420_CSN_PIN (39)#endif /* IMOTE2_DEVBOARD */#define SSP3_RXD (41)#define SSP3_RXD_ALTFN (3)#define SSP3_TXD (35)#define SSP3_TXD_ALTFN (3)#define SSP3_SFRM (39)#define SSP3_SFRM_ALTFN (3)#define SSP3_SCLK (34)#define SSP3_SCLK_ALTFN (3)#define SSP1_RXD (26)#define SSP1_RXD_ALTFN (1 )#define SSP1_TXD (25)#define SSP1_TXD_ALTFN (2 )#define SSP1_SCLK (23)#define SSP1_SCLK_ALTFN (2 )#define SSP1_SFRM (24)#define SSP1_SFRM_ALTFN (2 )#define FFUART_RXD (96)#define FFUART_RXD_ALTFN (3)#define FFUART_TXD (99) #define FFUART_TXD_ALTFN (3)#define STUART_RXD (46)#define STUART_RXD_ALTFN (2)#define STUART_TXD (47) #define STUART_TXD_ALTFN (1)#define I2C_SCL (117)#define I2C_SCL_ALTFN (1)#define I2C_SDA (118)#define I2C_SDA_ALTFN (1)#define DS2745_SLAVE_ADDR (0x48)#if 0TOSH_ASSIGN_PIN(CC_VREN,A,CC_VREN_PIN); TOSH_ASSIGN_PIN(CC_RSTN,A,CC_RSTN_PIN);TOSH_ASSIGN_PIN(CC_FIFO,A,CC_FIFO_PIN);TOSH_ASSIGN_PIN(RADIO_CCA,A,RADIO_CCA_PIN);TOSH_ASSIGN_PIN(CC_FIFOP,A,CC_FIFOP_PIN);TOSH_ASSIGN_PIN(CC_SFD,A,CC_SFD_PIN);TOSH_ASSIGN_PIN(CC_CSN,A,CC_CSN_PIN);#endifvoid TOSH_SET_PIN_DIRECTIONS(void){  PSSR = (PSSR_RDH | PSSR_PH);   // Reenable the GPIO buffers (needed out of reset)#if 0  TOSH_CLR_CC_RSTN_PIN();  TOSH_MAKE_CC_RSTN_OUTPUT();  TOSH_CLR_CC_VREN_PIN();  TOSH_MAKE_CC_VREN_OUTPUT();  TOSH_SET_CC_CSN_PIN();  TOSH_MAKE_CC_CSN_OUTPUT();  TOSH_MAKE_CC_FIFOP_INPUT();  TOSH_MAKE_CC_FIFO_INPUT();  TOSH_MAKE_CC_SFD_INPUT();  TOSH_MAKE_RADIO_CCA_INPUT();#endif}#endif //TOSH_HARDWARE_H

⌨️ 快捷键说明

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