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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sysalib.s

?? Vxworks下BSP源碼
?? S
字號(hào):
/* sysALib.s - Samsung SBC ARM7 system-dependent routines *//* Copyright 1984-2001 Wind River Systems, Inc. *//*modification history--------------------01d,18oct01,jb  Removing pre-pended underscores for new compilers (Diab/Gnu                 elf)01c,26apr01,m_h  fix thumb mode01b,26apr01,m_h  convert tabs to spaces for readability01a,12apr01,m_h  created from snds100 template.*//*DESCRIPTIONThis module contains system-dependent routines written in assemblylanguage.  It contains the entry code, sysInit(), for VxWorks imagesthat start running from RAM, such as 'vxWorks'.  These images areloaded into memory by some external program (e.g., a boot ROM) and thenstarted.  The routine sysInit() must come first in the text segment.Its job is to perform the minimal setup needed to call the generic Croutine usrInit().sysInit() masks interrupts in the processor and the interruptcontroller and sets the initial stack pointer.  Other hardware anddevice initialisation is performed later in the sysHwInit routine insysLib.c.NOTEThe routines in this module don't use the "C" frame pointer %r11@ ! orestablish a stack frame.SEE ALSO:.I "ARM Architecture Reference Manual,".I "Samsung KS32C50100 Microcontroller User's Manual,".I "Samsung KS32C5000(A)/50100 Microcontroller Application Notes."*/#define _ASMLANGUAGE#include "vxWorks.h"#include "arch/arm/arm.h"#include "regs.h"#include "sysLib.h"#include "config.h"#include "wrSbcArm7.h"    .data    .globl  FUNC(copyright_wind_river)    .long   FUNC(copyright_wind_river)/* internals */    .globl    FUNC(sysInit)        /* start of system code */    .globl    FUNC(sysIntStackSplit)    /* routine to split interrupt stack *//* externals */    .extern    FUNC(usrInit)        /* system initialization routine */    .extern    FUNC(vxSvcIntStackBase)    /* base of SVC-mode interrupt stack */    .extern    FUNC(vxSvcIntStackEnd)    /* end of SVC-mode interrupt stack */    .extern    FUNC(vxIrqIntStackBase)    /* base of IRQ-mode interrupt stack */    .extern    FUNC(vxIrqIntStackEnd)    /* end of IRQ-mode interrupt stack */    .text    .balign 4/********************************************************************************* sysInit - start after boot** This routine is the system start-up entry point for VxWorks in RAM, the* first code executed after booting.  It disables interrupts, sets up* the stack, and jumps to the C routine usrInit() in usrConfig.c.** The initial stack is set to grow down from the address of sysInit().  This* stack is used only by usrInit() and is never used again.  Memory for the* stack must be accounted for when determining the system load address.** NOTE: This routine should not be called by the user.** RETURNS: N/A* sysInit ()              /@ THIS IS NOT A CALLABLE ROUTINE @/*/_ARM_FUNCTION(sysInit)#ifdef  INCLUDE_VWARE_LAUNCH    LDR    r2, =sysPrivateVwareParams    STR    r1, [r2]    LDR    r2, =sysPrivateVwareParams + 0x04    STR    r0, [r2]#endif /* INCLUDE_VWARE_LAUNCH */    /* disable interrupts and force SVC32 mode, just like reset */    MRS    r1, cpsr    BIC    r1, r1, #MASK_MODE    ORR    r1, r1, #MODE_SVC32 | I_BIT | F_BIT    MSR    cpsr, r1    /*     * CPU INTERRUPTS DISABLED     *     * disable individual interrupts in the interrupt controller     */    LDR    r2, =0xFFFFF124            /* R2->interrupt controller */    MVN    r1, #0                /* &FFFFFFFF */    STR    r1, [r2]            /* disable all interrupt soucres */    /* set initial stack pointer so stack grows down from start of code */    LDR    sp, L$_STACK_ADDR    MOV    fp, #0            /* zero frame pointer */   /* Call C_Entry application routine with a pointer to the first */   /* available memory address after ther compiler's global data */   /* This memory may be used by the application. */    /* now call usrInit */    MOV    fp, #0            /* initialize frame pointer */    MOV    r0, #BOOT_WARM_AUTOBOOT    /* pass startType */#if    (CPU == ARMARCH4_T)    LDR    r12, L$_usrInit    BX     r12#else    B     FUNC(usrInit)#endif    /* (CPU == ARMARCH4_T) *//********************************************************************************* sysIntStackSplit - split interrupt stack and set interrupt stack pointers** This routine is called, via a function pointer, during kernel* initialisation.  It splits the allocated interrupt stack into IRQ and* SVC-mode stacks and sets the processor's IRQ stack pointer. Note that* the pointer passed points to the bottom of the stack allocated i.e.* highest address+1.** IRQ stack needs 6 words per nested interrupt;* SVC-mode will need a good deal more for the C interrupt handlers.* For now, use ratio 1:7 with any excess allocated to the SVC-mode stack* at the lowest address.** Note that FIQ is not handled by VxWorks so no stack is allocated for it.** The stacks and the variables that describe them look like this.* .CS**         - HIGH MEMORY -*     ------------------------ <--- vxIrqIntStackBase (r0 on entry)*     |                      |*     |       IRQ-mode       |*     |    interrupt stack   |*     |                      |*     ------------------------ <--{ vxIrqIntStackEnd*     |                      |    { vxSvcIntStackBase*     |       SVC-mode       |*     |    interrupt stack   |*     |                      |*     ------------------------ <--- vxSvcIntStackEnd*         - LOW  MEMORY -* .CE** NOTE: This routine should not be called by the user.* void sysIntStackSplit*     (*     char *pBotStack   /@ pointer to bottom of interrupt stack @/*     long size        /@ size of stack @/*     )*/_ARM_FUNCTION_CALLED_FROM_C(sysIntStackSplit)    /*     * r0 = base of space allocated for stacks (i.e. highest address)     * r1 = size of space     */    SUB    r2, r0, r1            /* r2->lowest usable address */    LDR    r3, L$_vxSvcIntStackEnd    STR    r2, [r3]            /*  == end of SVC-mode stack */    SUB    r2, r0, r1, ASR #3        /* leave 1/8 for IRQ */    LDR    r3, L$_vxSvcIntStackBase    STR    r2, [r3]    /* now allocate IRQ stack, setting irq_sp */    LDR    r3, L$_vxIrqIntStackEnd    STR    r2, [r3]    LDR    r3, L$_vxIrqIntStackBase    STR    r0, [r3]    MRS    r2, cpsr    BIC    r3, r2, #MASK_MODE    ORR    r3, r3, #MODE_IRQ32 | I_BIT    /* set irq_sp */    MSR    cpsr, r3    MOV    sp, r0    /* switch back to original mode and return */    MSR    cpsr, r2#if    (CPU == ARMARCH4_T)    BX     lr#else    MOV    pc, lr#endif    /* (CPU == ARMARCH4_T) */#ifdef INCLUDE_VWARE_LAUNCH#include "sysAVware.s"#endif /* INCLUDE_VWARE_LAUNCH *//******************************************************************************//* * PC-relative-addressable pointers - LDR Rn,=sym is broken * note "_" after "$" to stop preprocessor preforming substitution */    .balign    4L$_vxSvcIntStackBase:    .long    FUNC(vxSvcIntStackBase)L$_vxSvcIntStackEnd:    .long    FUNC(vxSvcIntStackEnd)L$_vxIrqIntStackBase:    .long    FUNC(vxIrqIntStackBase)L$_vxIrqIntStackEnd:    .long    FUNC(vxIrqIntStackEnd)#if    (CPU == ARMARCH4_T)L$_usrInit:    .long    FUNC(usrInit)#endif    /* (CPU == ARMARCH4_T) */L$_STACK_ADDR:    .long    FUNC(sysInit)/*L$_SbcArm7Intmsk:    .long    SNGKS32C_INTMASKL$_IopModReg:    .long    SNGKS32C_IOPMODL$_IopDat:    .long    SNGKS32C_IOPDATA*/

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲最大的成人av| 日韩成人午夜电影| 欧美一卡二卡三卡| 成人aa视频在线观看| 视频在线观看91| 国产人成一区二区三区影院| 欧美性生交片4| 福利一区二区在线| 日韩电影在线免费看| 亚洲视频一区在线观看| 欧美变态凌虐bdsm| 欧美三区在线视频| av午夜精品一区二区三区| 久久精品999| 亚洲va国产天堂va久久en| 亚洲国产精华液网站w| 欧美一级欧美一级在线播放| 99精品欧美一区二区三区小说 | 国产一区二区毛片| 偷拍与自拍一区| 国产精品白丝在线| 亚洲精品一区二区精华| 在线成人av影院| 色狠狠色狠狠综合| 成人av网站免费| 国产乱淫av一区二区三区| 日韩成人伦理电影在线观看| 夜夜爽夜夜爽精品视频| 亚洲丝袜自拍清纯另类| 亚洲国产精品激情在线观看| 欧美精品一区二区三区四区| 欧美欧美欧美欧美首页| 91成人免费电影| 91网站最新地址| 成人国产在线观看| 国产成人鲁色资源国产91色综| 日本欧洲一区二区| 午夜精品久久久久久久| 亚洲一区二区免费视频| 亚洲国产日韩一区二区| 亚洲色图一区二区三区| 亚洲视频一二三区| 中文字幕色av一区二区三区| 国产精品天干天干在观线| 国产欧美日韩三级| 久久午夜色播影院免费高清 | 亚洲蜜臀av乱码久久精品蜜桃| 国产欧美日韩在线观看| 国产农村妇女精品| 国产精品沙发午睡系列990531| 国产无遮挡一区二区三区毛片日本| 久久久久综合网| 亚洲国产精品t66y| 中文字幕中文字幕中文字幕亚洲无线| 国产精品日韩精品欧美在线| 国产精品免费观看视频| 成人欧美一区二区三区视频网页| 亚洲欧美日韩中文播放| 亚洲一区二区三区中文字幕在线| 亚洲国产视频a| 天堂精品中文字幕在线| 久久69国产一区二区蜜臀| 国产在线精品一区二区夜色| 国产精品羞羞答答xxdd| 成人黄色av电影| 色综合视频一区二区三区高清| 欧美日韩一区中文字幕| 日韩三区在线观看| 欧美国产精品v| 亚洲黄色小视频| 欧美a一区二区| 国产成人啪免费观看软件 | 国产一区二区0| 成人丝袜18视频在线观看| 色婷婷一区二区三区四区| 5566中文字幕一区二区电影| 久久嫩草精品久久久精品| 中文字幕一区av| 日韩高清不卡一区二区三区| 国产成人免费视频网站| 91激情五月电影| 日韩视频在线观看一区二区| 中文字幕欧美国产| 亚洲成av人片| 国产福利一区二区| 欧美影院一区二区三区| 26uuuu精品一区二区| 一区二区三区在线观看动漫| 日本不卡的三区四区五区| 成人激情开心网| 这里是久久伊人| 成人免费一区二区三区在线观看| 日韩专区一卡二卡| av中文字幕不卡| 欧美不卡123| 亚洲自拍偷拍欧美| 国产麻豆精品一区二区| 欧美性色aⅴ视频一区日韩精品| 精品国产一区a| 亚洲1区2区3区视频| 成人午夜视频网站| 日韩精品在线一区二区| 亚洲精品网站在线观看| 国产黄人亚洲片| 精品视频在线免费看| 中国色在线观看另类| 久久国产精品色婷婷| 欧亚洲嫩模精品一区三区| 欧美激情艳妇裸体舞| 麻豆视频观看网址久久| 欧美日韩在线播放三区| 亚洲视频 欧洲视频| 国产精品小仙女| 日韩欧美一二区| 日韩中文欧美在线| 91国内精品野花午夜精品| 中文字幕精品一区二区三区精品 | 久久99久国产精品黄毛片色诱| 一道本成人在线| 欧美国产97人人爽人人喊| 国产在线看一区| 日韩精品专区在线影院观看| 婷婷综合五月天| 欧美色网站导航| 亚洲自拍另类综合| 91福利资源站| 亚洲欧美激情插| av在线播放不卡| 久久精品免费在线观看| 狠狠色狠狠色合久久伊人| 日韩三级在线免费观看| 美女一区二区久久| 日韩一级大片在线| 日本欧美一区二区三区乱码| 欧美日韩成人激情| 午夜欧美视频在线观看| 欧美吞精做爰啪啪高潮| 一二三四社区欧美黄| 91污片在线观看| 亚洲女人的天堂| 色狠狠av一区二区三区| 亚洲在线一区二区三区| 欧美色图第一页| 五月婷婷激情综合网| 欧美日韩国产在线观看| 亚洲成a天堂v人片| 日韩一区二区三区免费看| 奇米影视一区二区三区小说| 日韩一二三四区| 九九久久精品视频| 久久久99免费| 99视频超级精品| 亚洲精品成人少妇| 欧美久久一二区| 免费看精品久久片| 久久久五月婷婷| 成人av动漫网站| 亚洲一级二级在线| 在线不卡一区二区| 国产乱妇无码大片在线观看| 久久精品人人做| 97国产一区二区| 亚洲成av人片一区二区梦乃| 日韩午夜激情免费电影| 国产成人综合亚洲91猫咪| 中文字幕亚洲在| 欧美日韩另类国产亚洲欧美一级| 免费观看成人av| 国产日韩欧美麻豆| 欧洲国内综合视频| 精品一区精品二区高清| 国产精品无遮挡| 欧美妇女性影城| 国产乱人伦精品一区二区在线观看| 国产精品久久久久久久久晋中 | 91丨porny丨蝌蚪视频| 亚洲自拍都市欧美小说| 精品久久人人做人人爽| av亚洲精华国产精华精| 日韩中文字幕av电影| 中文字幕欧美日韩一区| 欧美日韩国产综合久久| 成人性视频网站| 午夜精品久久久久久久99水蜜桃| 久久精品人人做人人爽人人 | 日韩精品一区二区三区在线| 成人免费看视频| 性感美女极品91精品| 久久综合久久综合久久| 欧美主播一区二区三区美女| 精品午夜久久福利影院| 美女mm1313爽爽久久久蜜臀| 日韩一本二本av| 色呦呦日韩精品| 精品一区二区综合| 亚洲综合无码一区二区| 久久女同互慰一区二区三区| 欧美情侣在线播放| 成人免费毛片app| 精品一区二区三区在线观看|