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

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

?? syscall.s

?? 一個小型的嵌入式操作系統內核,可用于多種硬件平臺
?? S
?? 第 1 頁 / 共 2 頁
字號:
;**************************************************************************************************
;                                      EDL RTOS Kernel
;                              (c) Copyright 2005, Wu Jun
;                                   All Rights Reserved    
;                For further information, please visit http://www.enjoydigitallife.com
;
; Description:      None
; History:          
;    Date                         Remarks
;    2005-01-06                   Created initial version
;    2005-12-12                   Finished the version 2.01
;**************************************************************************************************


    EXPORT  edl_createTask
    EXPORT  edl_deleteTask
    EXPORT  edl_suspendTask
    EXPORT  edl_resumeTask    
    EXPORT  edl_sleep
    EXPORT  edl_wakeTask
    EXPORT  edl_sendEvent
    EXPORT  edl_getEvent
    EXPORT  edl_trunkAlloc
    EXPORT  edl_trunkFree
    EXPORT  edl_heapCreate
    EXPORT  edl_heapDelete
    EXPORT  edl_heapAlloc
    EXPORT  edl_heapFree
    EXPORT  edl_heapReAlloc
    EXPORT  edl_createSem
    EXPORT  edl_deleteSem
    EXPORT  edl_getSem
    EXPORT  edl_releaseSem
    EXPORT  edl_sendMsg
    EXPORT  edl_getMsg
    EXPORT  edl_createMutex
    EXPORT  edl_deleteMutex
    EXPORT  edl_getMutex
    EXPORT  edl_releaseMutex


    CODE32
    AREA    SYSTEM_CALLS, CODE,READONLY
;/**************************************************************************************************
;* Description:      create a task
;* Parameters:       tskProc             pointer to task's starting code
;                    pdata               Pointer to a data block which could be used by task's
;                                        routine
;                    prio                task's priority, start at 1
;                    stackSize           Specifies the stack size in unit of word( 4 bytes ).
;                    tskMode             Specifies the task mode
;                                        TSK_MODE_SYS            For kernel task
;                                        TSK_MODE_USR            For user task
;                    tskID               pointer to a U32 type variable to store task's ID
;* return values:    ERR_INVALID_PRIO            Invalid priority
;                    ERR_INVALID_STACK_SIZE      Invalid stack size
;                    ERR_ALLOC_STACK_FAIL        Failed to allocate stack
;                    ERR_ALLOC_TCB_FAIL          No TCB is available
;                    ERR_OUT_OF_TASK_MAX_NUM     Out of max task number
;                    ERR_SUCCESS                 OK
;**************************************************************************************************/
edl_createTask
    STMFD   SP!, {R4,R5}    ; Save the registers modified in the function
    add     r5,sp,#8        
    LDMFD   r5, {R4}        ; Get the fifth parameter from stack and assign it to r4 as the fifth 
                            ; parameter in system call
    swi 0                   ; Software interrupt
    LDMFD   SP!, {R4,R5}    ; Restore the registers modified in the function
    mov pc,lr


;/**************************************************************************************************
;* Description:      Delete a task
;* Parameters:       r0                     Specifies the task's ID to be deleted
;* return values:    ERR_INVALID_TSK_ID          Invalid task ID
;                    ERR_SUCCESS                 OK
;**************************************************************************************************/
edl_deleteTask
    swi 1
    mov pc,lr



;/**************************************************************************************************
;* Description:      Suspend a task
;* Parameters:       r0             Specifies the task's ID to be suspended
;* Return values:    ERR_INVALID_PARAM       Invalid parameters
;                    ERR_SUCCESS             OK         
;                    ERR_TASK_SUSPENDED      The specified task has already been suspended.
;* Notes:            This function is externally called to block a task.
;**************************************************************************************************/
edl_suspendTask
    swi 2
    mov pc,lr

;/**************************************************************************************************
;* Description:      Resume a task
;* Parameters:       r0             Specifies the task's ID to be suspended
;* Return values:    ERR_INVALID_PARAM       Invalid parameters
;                    ERR_SUCCESS             OK         
;                    ERR_TASK_READY          The specified task has already been ready.
;                    ERR_TSK_STATUS_ERROR    The task to be resumed is not in the specified status.
;* Notes:            This function is externally called to resume a task.
;**************************************************************************************************/
edl_resumeTask
    swi 3
    mov pc,lr

;/**************************************************************************************************
;* Description:      sleep for a period of time
;* Parameters:       r0             specify how long the task  should sleep, in unit of timer 
;                                        tick
;**************************************************************************************************/
edl_sleep
    swi 4
    mov pc,lr

;/**************************************************************************************************
;* Description:      wake up a task
;* Parameters:       tskID                   Specifies the task's ID to be woken up.
;* Notes:            This function is designed for user task
;**************************************************************************************************/
edl_wakeTask
    swi 5
    mov pc,lr


;/**************************************************************************************************
;* Description:      Send events to a specified task
;* Parameters:       tskID               task ID
;                    event               bitmaped events to be sent
;* return values:    ERR_INVALID_EVENT       invalid event
;                    ERR_SUCCESS             OK
;**************************************************************************************************/
edl_sendEvent
    swi 6
    mov pc,lr

;/**************************************************************************************************
;* Description:      Receive events
;* Parameters:       timeOut                wait time in unit of timer tick, 
;                                            If wait time is 0, this function just peeks at the event
;                                            buffer, if events arrived,it gets it and go back,otherwise
;                                            just return.
;                                            Else if wait time is INFINITE_TIME(0xffffffff), the task 
;                                            does not wake up until the events arrive.
;                                            Else sleep for a period of time to wait for the wanted events.
;                    evMask                  event mask specifying the wanted events.
;                    waitAll                 specify whether the task need to get all events
;                                            TRUE        this function returns only when all events arrive
;                                            FALSE       as long as events arrive, this function returns.
;                    event                   a pointer to a data structure of type U32.
;* Return values:    ERR_INVALID_PARAM       invalid parameter.
;                    ERR_NO_EVENT            No event
;                    ERR_SUCCESS             OK.
;                    ERR_TIMEOUT             time is out
;**************************************************************************************************/
edl_getEvent
    swi 7
    mov pc,lr

;/**************************************************************************************************
;* Description:      Allocate a trunk of memory block.
;* Parameters:       zone_id         Specifies the zone ID where the free page would be allocated
;                    size     Specifies the block size to allocate, if its value is zero,
;                                    then system allocate the max free block in the zone.
;* Return Values:    Allocated address
;* Note(s):          This function is only called by user application through system call
;**************************************************************************************************/
edl_trunkAlloc
    swi 8
    mov pc,lr

;/**************************************************************************************************
;* Description:      Free a trunk of memory block.
;* Parameters:       addr        The block's start address
;* return values:    ERR_INVALID_PARAM       Invalid parameter
;                    ERR_SUCCESS             OK
;* Note(s):          This function is only called by user application through system call                    
;**************************************************************************************************/
edl_trunkFree
    swi 9
    mov pc,lr

;/**************************************************************************************************
;* Description:      Create a heap.
;* Parameters:       start           Heap's start address 
;                    heapSize        Specifies the heap size in unit of byte
;                    unitSize        Specifies the unit size in unit of byte. Each allocated memory
;                                    block is composed by these unit
;                    maxUnitNbr      Specifies the max number of unit the heap could allocate
;                    heapID          Pointer to a variable to stores the heap ID
;* return values:    ERR_INVALID_PARAM       Invalid parameter
;                    ERR_OUT_OF_MEM_MAX_NUM  No heap control block is available
;                    ERR_SUCCESS             OK
;**************************************************************************************************/
edl_heapCreate
    STMFD   SP!, {R4,R5}    ; Save the registers modified in the function
    add     r5,sp,#8        
    LDMFD   r5, {R4}        ; Get the fifth parameter from stack and assign it to r4 as the fifth 
                            ; parameter in system call
    swi 10                   ; Software interrupt
    LDMFD   SP!, {R4,R5}    ; Restore the registers modified in the function
    mov pc,lr

;/**************************************************************************************************
;* Description:      Destroy a heap.
;* Parameters:       heapID      Specifies the heap ID
;* return values:    ERR_INVALID_PARAM       Invalid parameter
;                    ERR_SUCCESS             OK
;**************************************************************************************************/
edl_heapDelete

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品动漫一区二区三区在线观看 | 国产精品乱码妇女bbbb| 国产精品午夜久久| 日本人妖一区二区| 91亚洲精品久久久蜜桃网站 | 毛片一区二区三区| 91麻豆精品视频| 精品国偷自产国产一区| 亚洲图片一区二区| 成人午夜短视频| 欧美成人性战久久| 亚洲高清三级视频| av不卡免费电影| 久久精品夜色噜噜亚洲a∨| 色呦呦日韩精品| 日韩一区二区三区精品视频| 综合久久综合久久| 国产91露脸合集magnet| 91精品婷婷国产综合久久| 亚洲成在线观看| 91蝌蚪porny成人天涯| 久久久精品蜜桃| 久久成人免费网| 91麻豆精品国产91久久久久久| 日韩美女久久久| 成人开心网精品视频| 久久精品一区四区| 国产在线精品不卡| 精品国产1区二区| 精品影视av免费| 日韩一区二区免费电影| 日本女优在线视频一区二区 | 久久99国产精品久久| 91麻豆精品国产| 日韩中文字幕区一区有砖一区| 91福利资源站| 亚洲嫩草精品久久| 在线一区二区三区| 一级做a爱片久久| 欧美影视一区二区三区| 一个色妞综合视频在线观看| 在线观看网站黄不卡| 亚洲国产精品久久久久婷婷884 | 亚洲精品国产品国语在线app| 成人av在线看| 国产精品成人一区二区三区夜夜夜| 国产资源在线一区| 久久一区二区三区四区| 国产999精品久久久久久绿帽| 久久久久久久综合色一本| 国产成人av一区二区三区在线 | 国产精品视频看| voyeur盗摄精品| 一区二区三区在线视频播放| 91福利精品视频| 日本成人超碰在线观看| 久久综合色鬼综合色| 丰满白嫩尤物一区二区| 亚洲三级小视频| 欧美精品在线视频| 国产一区二区91| 亚洲精品中文字幕乱码三区 | 在线精品亚洲一区二区不卡| 天天色综合天天| 26uuu另类欧美| 91丝袜高跟美女视频| 亚洲v精品v日韩v欧美v专区| 欧美mv日韩mv国产网站| 成人毛片在线观看| 亚洲国产日日夜夜| 久久中文字幕电影| 在线免费精品视频| 国产在线精品不卡| 亚洲成人免费影院| 国产日产精品一区| 欧美人与性动xxxx| 成人美女视频在线观看18| 天堂va蜜桃一区二区三区漫画版 | 久久精品综合网| 欧美亚洲动漫精品| 国产成a人亚洲| 一区二区三区蜜桃网| 久久久91精品国产一区二区精品| 色狠狠色狠狠综合| 成人午夜激情影院| 美国十次综合导航| 亚洲高清免费在线| 国产精品视频免费看| 欧美tickling网站挠脚心| 色吧成人激情小说| 成人国产亚洲欧美成人综合网 | 亚洲免费在线视频| 久久亚洲综合色一区二区三区| 欧美在线视频日韩| 成人精品免费视频| 国产麻豆成人精品| 国产精品99久久久久久久女警| 欧美性一区二区| 国产成人久久精品77777最新版本| 亚洲成人av福利| 亚洲精品伦理在线| 欧美国产视频在线| 久久九九久精品国产免费直播| 欧美日韩久久久| 在线观看日韩一区| www.亚洲免费av| 成人在线视频首页| 国产精品自在在线| 激情综合一区二区三区| 亚洲va欧美va人人爽| 亚洲在线视频网站| 亚洲一区二区精品久久av| 一区视频在线播放| 国产精品国模大尺度视频| 国产日产亚洲精品系列| 国产亚洲综合av| 久久久精品免费网站| 久久影视一区二区| 亚洲美女电影在线| 亚洲人成人一区二区在线观看 | 亚洲午夜精品17c| 亚洲一区成人在线| 亚洲不卡av一区二区三区| 亚洲一区二区黄色| 肉色丝袜一区二区| 美腿丝袜一区二区三区| 久99久精品视频免费观看| 国产一区二区成人久久免费影院| 经典三级在线一区| 国产91在线观看| 成人av免费观看| 色网站国产精品| 欧美日韩不卡视频| 日韩一级片在线播放| 2020国产精品自拍| 国产精品乱人伦| 亚洲老司机在线| 五月综合激情婷婷六月色窝| 看电影不卡的网站| 国产99久久久久久免费看农村| 成人av在线一区二区| 色婷婷亚洲综合| 欧美一级一级性生活免费录像| 精品福利一二区| 亚洲欧美成人一区二区三区| 亚洲第一福利视频在线| 国内成人自拍视频| 99久久er热在这里只有精品66| 欧美色欧美亚洲另类二区| 日韩欧美你懂的| 国产精品久久久久久久蜜臀| 亚洲国产aⅴ天堂久久| 精品一区二区三区免费播放| 成a人片国产精品| 欧美日韩国产免费| 久久久国产一区二区三区四区小说| 中文在线免费一区三区高中清不卡 | 欧美国产一区二区在线观看| 一区二区三区在线不卡| 久久精品国产99国产| av在线不卡免费看| 日韩女同互慰一区二区| 亚洲视频香蕉人妖| 精品一区二区三区视频在线观看| 一本到一区二区三区| 精品乱码亚洲一区二区不卡| 亚洲欧美另类小说视频| 国内久久婷婷综合| 欧美三级乱人伦电影| 中文字幕免费不卡| 久久国产夜色精品鲁鲁99| 一本色道**综合亚洲精品蜜桃冫| 精品国产一区久久| 亚洲国产va精品久久久不卡综合| 欧美电影精品一区二区| 国产一区二区调教| 在线欧美日韩精品| 国产欧美日本一区二区三区| 日韩精品1区2区3区| 91国在线观看| 中文字幕一区二区不卡| 国产在线视频不卡二| 91精品国产综合久久久蜜臀粉嫩| 18涩涩午夜精品.www| 国产在线视频一区二区| 日韩免费视频一区二区| 亚洲超碰精品一区二区| 色综合天天在线| 国产精品无遮挡| 国产精品18久久久久久久久| 日韩精品一区二区三区在线 | 国产午夜精品一区二区| 美女视频黄频大全不卡视频在线播放 | 日本午夜精品一区二区三区电影| 一本色道久久综合精品竹菊| 国产精品国产三级国产普通话三级 | 久久精品久久精品| 91精品麻豆日日躁夜夜躁| 亚洲va韩国va欧美va精品| 欧美伊人久久大香线蕉综合69|