亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? introutines.c

?? 數(shù)碼投影儀,包含電路,RS232通信,遠程控制
?? C
字號:
#include "arm_boot.h"

#define HIGH_PRIORITY	0x0001
#define LOW_PRIORITY	0x0002

// IRQ lines masks
#define IRQ_MSK_TIMER0      0x0001
#define IRQ_MSK_TIMER1      0x0002
#define IRQ_MSK_TIMER2      0x0004
#define IRQ_MSK_GPIO_0      0x0008
#define IRQ_MSK_EIM         0x0010
#define IRQ_MSK_KBGPIO_7_0  0x0020
#define IRQ_MSK_UART        0x0040
#define IRQ_MSK_UART_IRDA   0x0080
#define IRQ_MSK_KBGPIO_15_8 0x0100
#define IRQ_MSK_GPIO_3      0x0200
#define IRQ_MSK_GPIO_2      0x0400
#define IRQ_MSK_I2C         0x0800
#define IRQ_MSK_GPIO_1      0x1000
#define IRQ_MSK_SPI         0x2000
#define IRQ_MSK_GPIO_19_4   0x4000
#define IRQ_MSK_API         0x8000
#define IRQ_MSK_ALL         0xFFFF


// IRQ lines
#define IRQ_TIMER0      0
#define IRQ_TIMER1      1
#define IRQ_TIMER2      2
#define IRQ_GPIO_0      3
#define IRQ_EIM         4
#define IRQ_KBGPIO_7_0  5
#define IRQ_UART        6
#define IRQ_UART_IRDA   7
#define IRQ_KBGPIO_15_8 8
#define IRQ_GPIO_3      9
#define IRQ_GPIO_2      10
#define IRQ_I2C         11
#define IRQ_GPIO_1      12
#define IRQ_SPI         13
#define IRQ_GPIO_19_4   14
#define IRQ_API         15


// int_ctrl_reg register values
#define INT_CTRL_IRQ_AGR   0x0001
#define INT_CTRL_FIQ_AGR   0x0002



// ---------------------- Interrupt Setup --------------------------------
#define SWI_CMD_SETSTK         1
#define SWI_CMD_SETCPSR        2

#define SWI_MODE_USER          0x10
#define SWI_MODE_FIQ           0x11
#define SWI_MODE_IRQ           0x12
#define SWI_MODE_SVC           0x13

#define SWI_MASK_IRQ           0x80
#define SWI_MASK_FIQ           0x40

#define SWI_IRQENABLE          0x00
#define SWI_IRQDISABLE         0x80
#define SWI_FIQENABLE          0x00
#define SWI_FIQDISABLE         0x40

#define ENABLE_IRQ_INTERRUPTS  SWI_Command(SWI_CMD_SETCPSR, \
                                           SWI_MASK_IRQ,    \
                                           SWI_IRQENABLE)
#define DISABLE_IRQ_INTERRUPTS SWI_Command(SWI_CMD_SETCPSR, \
                                           SWI_MASK_IRQ,    \
                                           SWI_IRQDISABLE)
#define ENABLE_FIQ_INTERRUPTS  SWI_Command(SWI_CMD_SETCPSR, \
                                           SWI_MASK_FIQ,    \
                                           SWI_FIQENABLE)
#define DISABLE_FIQ_INTERRUPTS SWI_Command(SWI_CMD_SETCPSR, \
                                           SWI_MASK_FIQ,    \
                                           SWI_FIQDISABLE)

int SWI_cmd, SWI_arg1, SWI_arg2;

static void SWI_Command(int cmd, unsigned long arg1, unsigned long arg2)
{
    SWI_cmd = cmd;
    SWI_arg1 = arg1;
    SWI_arg2 = arg2;
    asm(" SWIAL #0");
}

// ---------------------- Stack Setup ---------------------------
#define SVC_STACK_SIZE  128      
#define IRQ_STACK_SIZE  128      
#define FIQ_STACK_SIZE  128      

static unsigned long _svc_stack[SVC_STACK_SIZE];
static unsigned long _irq_stack[IRQ_STACK_SIZE];
static unsigned long _fiq_stack[FIQ_STACK_SIZE];

void setupstacks()
{
    SWI_Command(SWI_CMD_SETSTK, SWI_MODE_SVC, 
                (unsigned long) _svc_stack + SVC_STACK_SIZE);
    SWI_Command(SWI_CMD_SETSTK, SWI_MODE_IRQ, 
                (unsigned long) _irq_stack + IRQ_STACK_SIZE);
    SWI_Command(SWI_CMD_SETSTK, SWI_MODE_FIQ, 
                (unsigned long) _fiq_stack + FIQ_STACK_SIZE);
} 
// --------------------------------------------------------------


unsigned long factorial = 0xFFFFFFFF;


asm("ISR: .sect \"isr\" ");

volatile unsigned long* const it_reg            	= (unsigned long*)0xffff2d00;
volatile unsigned long* const mask_it_reg           = (unsigned long*)0xffff2d04;
volatile unsigned long* const src_irq_reg           = (unsigned long*)0xffff2d08;
volatile unsigned long* const src_fiq_reg           = (unsigned long*)0xffff2d0c;
volatile unsigned long* const src_irq_bin_reg       = (unsigned long*)0xffff2d10;
volatile unsigned long* const src_fiq_bin_reg       = (unsigned long*)0xffff2d14;
volatile unsigned long* const int_ctrl_reg          = (unsigned long*)0xffff2d18;
volatile unsigned long* const ilr_irq[] = {
    (unsigned long*)0xffff2d1c, /*IRQ0  Watchdog TIMER */
    (unsigned long*)0xffff2d20, /*IRQ1  TIMER1*/
    (unsigned long*)0xffff2d24, /*IRQ2  TIMER2*/
    (unsigned long*)0xffff2d28, /*IRQ3  GPIO0*/
    (unsigned long*)0xffff2d2c, /*IRQ4  Ethernet interface*/
    (unsigned long*)0xffff2d30, /*IRQ5  KBGPIO(7:0) */
    (unsigned long*)0xffff2d34, /*IRQ6  UART*/
    (unsigned long*)0xffff2d38, /*IRQ7  UART_IRDA*/
    (unsigned long*)0xffff2d3c, /*IRQ8  KBGPIO(15:8)*/
    (unsigned long*)0xffff2d40, /*IRQ9  GPIO3*/
    (unsigned long*)0xffff2d44, /*IRQ10 GPIO2*/
    (unsigned long*)0xffff2d48, /*IRQ11 I2C*/
    (unsigned long*)0xffff2d4c, /*IRQ12 GPIO1*/
    (unsigned long*)0xffff2d50, /*IRQ13 SPI*/
    (unsigned long*)0xffff2d54, /*IRQ14 GPIO(19:4)*/
    (unsigned long*)0xffff2d58  /*IRQ15 API*/
};
	  
interrupt
void c_spin( void )
{
	while (1);  /*interrupted in bad place*/
}


void timer1_handler(void)
{
}

void timer2_handler(void)
{
}

// Enable the API interrupt on the MCU
void setup_api_interrupt(void)
{
#define API_IRQ      15

    // set the 'I' bit in CPSR to enable IRQ interrupts
    ENABLE_IRQ_INTERRUPTS;

    // configure the API interrupt level register:
    //      SENSE_EDGE = 1
    //      PRIORITY   = 0
    //      FIQ        = 0
	*ilr_irq[API_IRQ] = 0x20;

    // clear the API interrupt bit in the Interrupt Register
    // this clears all pending API interrupts
    *it_reg &= ~(1 << API_IRQ); 

    // clear the API interrupt bit in the Mask Interrupt Register
    // (enables the interrupt)
  	*mask_it_reg &= ~(1 << API_IRQ); 
}

// ISR for the API interrupt
void api_handler(void)
{
    volatile unsigned long  *dsp_output  = (unsigned long *)DSP_OUTPUT;
    factorial = Read_Long_API(dsp_output);
}


void it_handler(unsigned short priority)
{
    int it_source;

	if (priority == HIGH_PRIORITY) {
   		it_source = *src_fiq_reg;
   	}
  	else {
    	it_source = *src_irq_reg;
    }
    
  	switch (it_source) {

    case 0x0001 : 	break;
    case 0x0002 : 
        timer1_handler(); 
        break;
    case 0x0004 : 
        timer2_handler();
        break;
    case 0x0008 : 	break;
    case 0x0010 : 	break;
    case 0x0020 : 	break;
    case 0x0040 : 	break;
    case 0x0080 : 	break;
    case 0x0100 : 	break;
    case 0x0200 : 	break;
    case 0x0400 : 	break;
    case 0x0800 : 	break;
    case 0x1000 : 	break;
    case 0x2000 : 	break;
    case 0x4000 : 	break;
    case 0x8000 : 	
        api_handler();
        break;
        
    default	 	:   asm(" .long 0xDEFED0FE");
  	}

    /* re-enable interrupt on the interrupt controller */
  	if (priority == HIGH_PRIORITY) {
        *int_ctrl_reg |= INT_CTRL_FIQ_AGR;
    }
  	else {
        *int_ctrl_reg |= INT_CTRL_IRQ_AGR;
    }
}  

interrupt
void c_irq( void )
{
	it_handler(LOW_PRIORITY);
}

interrupt
void c_fiq( void )
{
	it_handler(HIGH_PRIORITY);
}

void resetinterrupts()
{
    // Disable all interrupts
    *mask_it_reg = IRQ_MSK_ALL;      
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合久久中文字幕综合网| 色综合久久88色综合天天| 国产一二精品视频| 国产精品亚洲人在线观看| 91在线免费视频观看| 欧美日韩国产高清一区| 日韩一级大片在线观看| 日本一区二区三区在线不卡| 综合婷婷亚洲小说| 日韩国产高清影视| www.av精品| 欧美精品色综合| 日本一区二区三区国色天香 | 国产高清一区日本| 在线亚洲一区二区| 日韩精品自拍偷拍| 日韩美女久久久| 久久精品国产77777蜜臀| av在线一区二区三区| 制服丝袜一区二区三区| 中文字幕精品一区二区精品绿巨人| 一区二区三区四区视频精品免费 | 久久综合狠狠综合久久激情| 亚洲美女偷拍久久| 精品午夜久久福利影院| 91麻豆精品在线观看| www精品美女久久久tv| 亚洲福利视频一区二区| 成人黄动漫网站免费app| 欧美一级高清片在线观看| 亚洲色欲色欲www| 国产乱子伦一区二区三区国色天香| 91精品福利在线| 亚洲国产高清不卡| 久久国内精品自在自线400部| 色女孩综合影院| 久久精品视频一区| 青青草国产成人99久久| 91美女福利视频| 国产精品伦理一区二区| 狠狠色丁香婷婷综合| 欧美电影一区二区| 一区二区三区中文字幕在线观看| 国产成人亚洲综合a∨婷婷图片 | 麻豆精品蜜桃视频网站| 欧美性猛交xxxxxxxx| 国产精品乱码一区二区三区软件| 久久国产人妖系列| 欧美一区二区成人| 亚洲成人精品影院| 色婷婷激情综合| 亚洲品质自拍视频| 成人黄色在线网站| 中文幕一区二区三区久久蜜桃| 激情欧美一区二区| 日韩欧美一级二级三级久久久| 亚洲综合在线五月| 欧美在线免费观看视频| 亚洲欧美国产三级| 91色视频在线| 亚洲丝袜精品丝袜在线| 94色蜜桃网一区二区三区| 国产精品美女一区二区| 国产成人免费视频| 亚洲国产精品国自产拍av| 国产69精品久久久久毛片| 久久久天堂av| 国产精品亚洲视频| 国产精品午夜在线| 成人精品国产福利| 亚洲品质自拍视频网站| 91精品91久久久中77777| 亚洲一区精品在线| 欧美日韩日日骚| 午夜精品免费在线观看| 欧美美女一区二区在线观看| 亚洲成人综合网站| 91麻豆精品国产91久久久资源速度 | 1024成人网| 99精品国产一区二区三区不卡| 国产精品久久久久影视| 91在线无精精品入口| 伊人婷婷欧美激情| 欧美日韩一级二级三级| 日韩精品乱码av一区二区| 日韩亚洲国产中文字幕欧美| 奇米综合一区二区三区精品视频| 5月丁香婷婷综合| 精品无人码麻豆乱码1区2区 | 国产精品一品二品| 国产免费成人在线视频| 99国产欧美久久久精品| 亚洲午夜视频在线| 欧美一区二区三区免费视频| 狠狠色丁香久久婷婷综合_中| 亚洲国产精华液网站w| 91福利视频网站| 免费高清在线视频一区·| 久久久久久久免费视频了| www.综合网.com| 亚洲成人黄色小说| 亚洲精品一区二区三区蜜桃下载| 国产成人aaa| 亚洲制服丝袜在线| 日韩一区二区三区三四区视频在线观看| 久久不见久久见中文字幕免费| 日本一区二区三区电影| 在线精品国精品国产尤物884a| 日本女人一区二区三区| 国产欧美日韩另类一区| 91电影在线观看| 久久99久久99| 亚洲美女屁股眼交3| 日韩欧美在线网站| 本田岬高潮一区二区三区| 午夜欧美在线一二页| 国产视频一区在线观看 | 久久精品国产久精国产| 成人免费在线视频| 日韩一区二区电影在线| 不卡免费追剧大全电视剧网站| 亚洲国产你懂的| 国产午夜精品久久| 欧美日韩成人综合在线一区二区| 国产高清亚洲一区| 日韩国产精品久久久| 中文字幕一区二区三区四区| 欧美一区二区高清| 91在线免费播放| 国产一区二区三区黄视频 | 91精品国产综合久久久久久久| 国产精品88888| 亚洲aaa精品| 国产精品欧美精品| 欧美一级夜夜爽| 色诱视频网站一区| 国产一区二区三区美女| 视频在线观看一区二区三区| 国产精品欧美综合在线| 日韩一区二区在线观看视频播放| 99视频在线精品| 精品一区二区三区免费观看| 一二三区精品视频| 中文字幕av一区 二区| 日韩欧美综合一区| 欧美日韩一区精品| 99久久er热在这里只有精品66| 久热成人在线视频| 午夜精品久久久久久久99樱桃| 亚洲色图一区二区| 国产精品人成在线观看免费| 精品国产乱码久久久久久久| 欧美日韩国产123区| 91精彩视频在线观看| 99国产精品视频免费观看| 岛国精品在线观看| 国产一区二区网址| 久久福利视频一区二区| 五月天国产精品| 亚洲va韩国va欧美va| 亚洲精品国产a| 最新中文字幕一区二区三区| 国产欧美一区二区精品性色 | 国产成人精品免费网站| 国内外成人在线| 裸体一区二区三区| 日韩电影免费在线看| 日韩成人午夜电影| 石原莉奈一区二区三区在线观看 | 91精品国产全国免费观看| 欧美影院精品一区| 色88888久久久久久影院野外| 97se亚洲国产综合自在线不卡| 成人黄色免费短视频| 99re成人精品视频| 一本大道av伊人久久综合| 色哟哟精品一区| 91久久精品国产91性色tv| 在线亚洲精品福利网址导航| 欧美在线观看视频在线| 在线视频国产一区| 欧美性一区二区| 制服丝袜激情欧洲亚洲| 91精品在线一区二区| 日韩一级黄色片| 精品国产伦理网| 久久久久99精品一区| 国产欧美精品一区| 中文字幕亚洲区| 亚洲精品国久久99热| 亚洲成人动漫精品| 青青草97国产精品免费观看无弹窗版 | 国产一区二三区好的| 国产夫妻精品视频| 成人av电影在线播放| 色综合天天综合狠狠| 欧美网站一区二区| 日韩一级大片在线观看| 国产亚洲短视频| 亚洲色欲色欲www|