您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术如何在以S3C44B0X为核心的ARMSYS开发板上建立uClinux内核移植总结 正文
如何在以S3C44B0X为核心的ARMSYS开发板上建立uClinux内核移植总结

如何在以S3C44B0X为核心的ARMSYS开发板上建立uClinux内核移植总结

点击数:7889 次   录入时间:03-04 12:03:21   整理:http://www.55dianzi.com   嵌入式系统-技术

    HandleBDMA0#4

    HandleZDMA1#4

    HandleZDMA0#4

    HandleTICK#4

    HandleEINT4567#4

    HandleEINT3#4

    HandleEINT2#4

    HandleEINT1#4

    HandleEINT0#4

    将异常中断矢量重构到SDRAM,这样的好处就是可以在其它的功能程序内对中断处理程序的地址任意赋值。为此,我们在44b。h文件中定义:

    /*ISR*/

    #definepISR_RESET(*(unsigned*)(_IRQ_BASEADDRESS+0x0))

    #definepISR_UNDEF(*(unsigned*)(_IRQ_BASEADDRESS+0x4))

    #definepISR_SWI(*(unsigned*)(_IRQ_BASEADDRESS+0x8))

    #definepISR_PABORT(*(unsigned*)(_IRQ_BASEADDRESS+0xc))

    #definepISR_DABORT(*(unsigned*)(_IRQ_BASEADDRESS+0x10))

    #definepISR_RESERVED(*(unsigned*)(_IRQ_BASEADDRESS+0x14))

    #definepISR_IRQ(*(unsigned*)(_IRQ_BASEADDRESS+0x18))

    #definepISR_FIQ(*(unsigned*)(_IRQ_BASEADDRESS+0x1c))

    #definepISR_ADC(*(unsigned*)(_IRQ_BASEADDRESS+0x100))//0x20))

    #definepISR_RTC(*(unsigned*)(_IRQ_BASEADDRESS+0x104))//0x24))

    #definepISR_UTXD1(*(unsigned*)(_IRQ_BASEADDRESS+0x108))//0x28))

    #definepISR_UTXD0(*(unsigned*)(_IRQ_BASEADDRESS+0x10c))//0x2c))

    #definepISR_SIO(*(unsigned*)(_IRQ_BASEADDRESS+0x110))//0x30))

    #definepISR_IIC(*(unsigned*)(_IRQ_BASEADDRESS+0x114))//0x34))

    #definepISR_URXD1(*(unsigned*)(_IRQ_BASEADDRESS+0x118))//0x38))

    #definepISR_URXD0(*(unsigned*)(_IRQ_BASEADDRESS+0x11c))//0x3c))

    #definepISR_TIMER5(*(unsigned*)(_IRQ_BASEADDRESS+0x120))//0x40))

    #definepISR_TIMER4(*(unsigned*)(_IRQ_BASEADDRESS+0x124))//0x44))

    #definepISR_TIMER3(*(unsigned*)(_IRQ_BASEADDRESS+0x128))//0x48))

    #definepISR_TIMER2(*(unsigned*)(_IRQ_BASEADDRESS+0x12c))//0x4c))

    #definepISR_TIMER1(*(unsigned*)(_IRQ_BASEADDRESS+0x130))//0x50))

    #definepISR_TIMER0(*(unsigned*)(_IRQ_BASEADDRESS+0x134))//0x54))

    #definepISR_UERR01(*(unsigned*)(_IRQ_BASEADDRESS+0x138))//0x58))

    #definepISR_WDT(*(unsigned*)(_IRQ_BASEADDRESS+0x13c))//0x5c))

    #definepISR_BDMA1(*(unsigned*)(_IRQ_BASEADDRESS+0x140))//0x60))

    #definepISR_BDMA0(*(unsigned*)(_IRQ_BASEADDRESS+0x144))//0x64))

    #definepISR_ZDMA1(*(unsigned*)(_IRQ_BASEADDRESS+0x148))//0x68))

    #definepISR_ZDMA0(*(unsigned*)(_IRQ_BASEADDRESS+0x14c))//0x6c))

    #definepISR_TICK(*(unsigned*)(_IRQ_BASEADDRESS+0x150))//0x70))

    #definepISR_EINT4567(*(unsigned*)(_IRQ_BASEADDRESS+0x154))//0x74))

    #definepISR_EINT3(*(unsigned*)(_IRQ_BASEADDRESS+0x158))//0x78))

    #definepISR_EINT2(*(unsigned*)(_IRQ_BASEADDRESS+0x15c))//0x7c))

    #definepISR_EINT1(*(unsigned*)(_IRQ_BASEADDRESS+0x160))//0x80))

    #definepISR_EINT0(*(unsigned*)(_IRQ_BASEADDRESS+0x164))//0x84))

    例如,我们要使用到Exint4567中断,定义好中断处理程序Meint4567Isr()后,仅需要一条语句:

    pISR_EINT4567=(int)MEint4567Isr;

    就能使中断发生后正确跳转到我们编写的处理程序上。



上一页  [1] [2] 


本文关键字:如何  开发  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术

《如何在以S3C44B0X为核心的ARMSYS开发板上建立uClinux内核移植总结》相关文章>>>