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

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

?? tx_el.c

?? ThreadX優(yōu)秀的硬實(shí)時(shí)操作系統(tǒng).This Express Start Guide is designed to help you install and use ThreadX for the
?? C
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
/**************************************************************************/ 
/*                                                                        */ 
/*            Copyright (c) 1996-2000 by Express Logic Inc.               */ 
/*                                                                        */ 
/*  This software is copyrighted by and is the sole property of Express   */ 
/*  Logic, Inc.  All rights, title, ownership, or other interests         */ 
/*  in the software remain the property of Express Logic, Inc.  This      */ 
/*  software may only be used in accordance with the corresponding        */ 
/*  license agreement.  Any unauthorized use, duplication, transmission,  */ 
/*  distribution, or disclosure of this software is expressly forbidden.  */ 
/*                                                                        */
/*  This Copyright notice may not be removed or modified without prior    */ 
/*  written consent of Express Logic, Inc.                                */ 
/*                                                                        */ 
/*  Express Logic, Inc. reserves the right to modify this software        */ 
/*  without notice.                                                       */ 
/*                                                                        */ 
/*  Express Logic, Inc.                                                   */
/*  11440 West Bernardo Court               info@expresslogic.com         */
/*  Suite 366                               http://www.expresslogic.com   */
/*  San Diego, CA  92127                                                  */
/*                                                                        */
/**************************************************************************/


/**************************************************************************/
/**************************************************************************/
/**                                                                       */ 
/** ThreadX Component                                                     */ 
/**                                                                       */
/**   ThreadX/GHS Event Log (EL)                                          */
/**                                                                       */
/**************************************************************************/
/**************************************************************************/

#define TX_SOURCE_CODE
#define TX_EL_SOURCE_CODE


/* Include necessary system files.  */

#include    "tx_api.h"
#include    "tx_el.h"
#include    "string.h"


/* Define global variables used to manage the event pool.  */

UCHAR   *_tx_el_tni_start;
UCHAR   **_tx_el_current_event;
UCHAR   *_tx_el_event_area_start;
UCHAR   *_tx_el_event_area_end;
UINT    _tx_el_maximum_events;
ULONG   _tx_el_total_events;
UINT    _tx_el_event_filter;
ULONG   _tx_el_fake_time_stamp =  0;

extern char __ghsbegin_events[];
extern char __ghsend_events[];

extern  TX_THREAD   *_tx_thread_current_ptr;
UINT                _tx_thread_interrupt_control(UINT new_posture);


/**************************************************************************/ 
/*                                                                        */ 
/*  FUNCTION                                               RELEASE        */ 
/*                                                                        */ 
/*    _tx_el_initialize                                68332/Green Hills  */ 
/*                                                           3.0a         */ 
/*  AUTHOR                                                                */ 
/*                                                                        */ 
/*    William E. Lamie, Express Logic, Inc.                               */ 
/*                                                                        */ 
/*  DESCRIPTION                                                           */ 
/*                                                                        */ 
/*    This function creates the Event Log (in the format dictated by the  */ 
/*    GHS Event Analyzer) and sets up various information for subsequent  */ 
/*    operation.  The start and end of the Event Log is determined by the */ 
/*    .eventlog section in the linker control file.                       */ 
/*                                                                        */ 
/*  INPUT                                                                 */ 
/*                                                                        */ 
/*    None                                                                */ 
/*                                                                        */ 
/*  OUTPUT                                                                */ 
/*                                                                        */ 
/*    None                                                                */ 
/*                                                                        */ 
/*  CALLS                                                                 */ 
/*                                                                        */ 
/*    None                                                                */ 
/*                                                                        */ 
/*  CALLED BY                                                             */ 
/*                                                                        */ 
/*    Application Code                                                    */ 
/*                                                                        */ 
/*  RELEASE HISTORY                                                       */ 
/*                                                                        */ 
/*    DATE              NAME                      DESCRIPTION             */ 
/*                                                                        */ 
/*  12-02-1999     William E. Lamie         Initial Version 3.0a          */ 
/*                                                                        */ 
/**************************************************************************/ 
VOID  _tx_el_initialize(VOID)
{

UCHAR   *work_ptr;
UCHAR   *read_ptr;
ULONG   event_log_size;
UCHAR   *end_ptr;
UINT    i;


    /* Clear total event counter.  */
    _tx_el_total_events =  0;

    /* Clear event filter.  */
    _tx_el_event_filter =  0;

    /* First, pickup the starting and ending address of the Event Log memory.  */
    work_ptr =  (unsigned char *) __ghsbegin_events;
    end_ptr =   (unsigned char *) __ghsend_events;

    /* Calculate the event log size.  */
    event_log_size =  end_ptr - work_ptr;

    /* Subtract off the number of bytes in the header and the TNI area.  */
    event_log_size =  event_log_size - (TX_EL_HEADER_SIZE +
                                       (TX_EL_TNI_ENTRY_SIZE * TX_EL_TNIS));

    /* Make sure the event log is evenly divisible by the event size.  */
    event_log_size =  (event_log_size/TX_EL_EVENT_SIZE) * TX_EL_EVENT_SIZE;

    /* Build the Event Log header.  */

    /* Setup the Event Log Version ID and TNIS.  */
    *((unsigned short *) work_ptr) =  (unsigned short) TX_EL_VERSION_ID;
    work_ptr =  work_ptr + sizeof(unsigned short);
    *((unsigned short *) work_ptr) =  (unsigned short) TX_EL_TNIS;
    work_ptr =  work_ptr + sizeof(unsigned short);

    /* Setup the EVPS (event pool size) field.  */
    *((ULONG *) work_ptr) =  event_log_size;
    work_ptr =  work_ptr + sizeof(ULONG);

    /* Remember the maximum number of events.  */
    _tx_el_maximum_events =  event_log_size/TX_EL_EVENT_SIZE;

    /* Setup max_events field.  */
    *((ULONG *) work_ptr) =  _tx_el_maximum_events;
    work_ptr =  work_ptr + sizeof(ULONG);

    /* Setup the evploc (location of event pool).  */
    *((ULONG *) work_ptr) =  (ULONG) (((ULONG) __ghsbegin_events) + TX_EL_HEADER_SIZE +
                                        (TX_EL_TNIS * TX_EL_TNI_ENTRY_SIZE));
    work_ptr =  work_ptr + sizeof(ULONG);

    /* Save the current event pointer.  */
    _tx_el_current_event =  (UCHAR **) work_ptr;

    /* Setup event_ptr (pointer to oldest event) field to the start
       of the event pool.  */
    *_tx_el_current_event =  (UCHAR *) (((ULONG) __ghsbegin_events) + TX_EL_HEADER_SIZE + 
                                        (TX_EL_TNIS * TX_EL_TNI_ENTRY_SIZE));
    work_ptr =  work_ptr + sizeof(ULONG);

    /* Setup tbfreq (the number of ticks in a second) field.  */
    *((ULONG *) work_ptr) =  TX_EL_TICKS_PER_SECOND;
    work_ptr =  work_ptr + sizeof(ULONG);

    /* At this point we are pointing at the Thread Name Information (TNI) array.  */

    /* Remember the start of this for future updates.  */
    _tx_el_tni_start =  work_ptr;

    /* Clear the entire TNI array, this is the initial setting.  */
    end_ptr =  work_ptr + (TX_EL_TNIS * TX_EL_TNI_ENTRY_SIZE);
    memset((void *)work_ptr, 0, (TX_EL_TNIS * TX_EL_TNI_ENTRY_SIZE));
    work_ptr = end_ptr; 

    /* At this point, we are pointing at the actual Event Entry area.  */
    
    /* Remember the start of the actual event log area.  */
    _tx_el_event_area_start =  work_ptr;

    /* Clear the entire Event area.  */
    end_ptr =  work_ptr + event_log_size;
    memset((void *)work_ptr, 0, event_log_size);
    work_ptr = end_ptr; 

    /* Save the end pointer for later use.  */
    _tx_el_event_area_end =  work_ptr;

    /* Setup an entry to resolve all activites from initialization and from
       an idle system.  */
    work_ptr =  _tx_el_tni_start;
    read_ptr =  (UCHAR *) "Initialization/System Idle";
    i =         0;
    while ((i < TX_EL_TNI_NAME_SIZE) && (*read_ptr))
    {

        /* Copy a character of thread's name into TNI area of log.  */
        *work_ptr++ =  *read_ptr++;

        /* Increment the character count.  */
        i++;
    }

    /* Determine if a NULL needs to be inserted.  */
    if (i < TX_EL_TNI_NAME_SIZE)
    {

        /* Yes, insert a NULL into the event log string.  */
        *work_ptr =  (unsigned char) 0;        
    }

    /* Setup the thread ID to NULL.  */
    *((ULONG *) (_tx_el_tni_start + TX_EL_TNI_THREAD_ID_OFFSET)) =  (ULONG) TX_NULL;

    /* Set the valid field to indicate the entry is complete.  */
    *((UCHAR *) (_tx_el_tni_start + TX_EL_TNI_VALID_OFFSET)) =  (ULONG) TX_EL_VALID_ENTRY;

    /* At this point, we should be ready to insert thread names and track events!!  */
}


/**************************************************************************/ 
/*                                                                        */ 
/*  FUNCTION                                               RELEASE        */ 
/*                                                                        */ 
/*    _tx_el_thread_register                           68332/Green Hills  */ 
/*                                                           3.0a         */ 
/*  AUTHOR                                                                */ 
/*                                                                        */ 
/*    William E. Lamie, Express Logic, Inc.                               */ 
/*                                                                        */ 
/*  DESCRIPTION                                                           */ 
/*                                                                        */ 
/*    This function registers a thread in the event log for future        */ 
/*    display purposes.                                                   */
/*                                                                        */ 
/*  INPUT                                                                 */ 
/*                                                                        */ 
/*    thread_ptr                        Pointer to thread control block   */ 
/*                                                                        */ 
/*  OUTPUT                                                                */ 
/*                                                                        */ 
/*    TX_SUCCESS                        Thread was placed in TNI area     */
/*    TX_ERROR                          No more room in the TNI area      */
/*                                                                        */ 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av午夜精品一区二区三区| 在线免费不卡视频| 国产精品一区二区无线| 亚洲精品少妇30p| 日韩免费一区二区| 在线日韩av片| 国产98色在线|日韩| 奇米777欧美一区二区| 中文文精品字幕一区二区| 欧美一区二区三区播放老司机| 99国产精品久久久久久久久久| 久久精品国产亚洲高清剧情介绍 | 日日摸夜夜添夜夜添精品视频| 国产精品麻豆视频| 精品国产亚洲一区二区三区在线观看| 色噜噜狠狠成人中文综合| 国产91丝袜在线播放0| 久久精品国产精品亚洲综合| 亚洲图片欧美综合| 亚洲视频香蕉人妖| 国产精品视频一二三区 | 亚洲欧美日韩中文字幕一区二区三区 | 欧美视频中文字幕| 91美女在线看| 成人少妇影院yyyy| 丰满放荡岳乱妇91ww| 91麻豆高清视频| 成人精品免费网站| 国产91清纯白嫩初高中在线观看 | 欧美亚洲国产一区在线观看网站| 丁香激情综合五月| 国产成人免费xxxxxxxx| 国产呦精品一区二区三区网站| 欧美aⅴ一区二区三区视频| 午夜日韩在线观看| 亚洲成人av电影| 亚洲成av人片观看| 婷婷综合另类小说色区| 一区二区三区国产| 亚洲成av人影院| 图片区小说区区亚洲影院| 一区二区视频免费在线观看| 亚洲摸摸操操av| 依依成人精品视频| 午夜私人影院久久久久| 午夜精品在线看| 青草国产精品久久久久久| 日本不卡视频在线| 精品一二三四区| 国产一区二区三区美女| 国产在线观看一区二区| 风间由美一区二区三区在线观看 | 国产精品白丝av| 粗大黑人巨茎大战欧美成人| 99re在线精品| 精品婷婷伊人一区三区三| 欧美精品亚洲二区| 精品国产成人系列| 国产精品免费久久| 亚洲午夜视频在线观看| 日本不卡高清视频| 国产成人av电影在线| 91视频观看免费| 欧美一区二区三区视频免费| 精品1区2区在线观看| 国产精品久久久久久久久动漫| 亚洲美女免费在线| 日本sm残虐另类| 高清beeg欧美| 欧美视频在线一区| www国产亚洲精品久久麻豆| 国产精品乱码妇女bbbb| 亚洲成人动漫在线免费观看| 精品一区二区三区久久| 99久久精品久久久久久清纯| 欧美日韩免费电影| 国产色综合一区| 亚洲自拍欧美精品| 精品一区二区精品| 色狠狠av一区二区三区| 精品处破学生在线二十三| 亚洲欧洲日韩综合一区二区| 日韩电影免费一区| 豆国产96在线|亚洲| 欧美日韩国产另类不卡| 久久精品视频一区| 五月综合激情婷婷六月色窝| 国产成人在线观看免费网站| 在线视频国内自拍亚洲视频| 欧美精品一区二区久久婷婷| 亚洲天堂2014| 国产一区二区三区黄视频 | 国产综合色视频| 91黄色激情网站| 2020国产成人综合网| 亚洲永久免费视频| 粉嫩av一区二区三区| 欧美一区在线视频| 一区二区在线电影| 成人高清免费观看| 精品国产免费视频| 五月婷婷综合网| av男人天堂一区| 久久精品欧美一区二区三区麻豆| 天天色综合天天| 在线这里只有精品| 国产精品久久久久三级| 精品综合久久久久久8888| 欧美日韩一卡二卡| 亚洲乱码国产乱码精品精可以看 | 国产一区二区在线影院| 欧美欧美欧美欧美| 一区二区三区四区在线| av激情综合网| 国产精品久久久久桃色tv| 国产麻豆精品在线观看| 日韩免费视频一区| 青草国产精品久久久久久| 欧美日韩国产经典色站一区二区三区 | 美国av一区二区| 欧美美女bb生活片| 亚洲午夜国产一区99re久久| 一本一本久久a久久精品综合麻豆| 国产清纯美女被跳蛋高潮一区二区久久w | 奇米影视一区二区三区小说| 欧美综合久久久| 亚洲色图视频免费播放| av成人免费在线| 亚洲欧美一区二区视频| 成人久久久精品乱码一区二区三区| 国产亚洲污的网站| 国产成人精品影院| 日本一区二区视频在线观看| 国产91丝袜在线18| 国产精品私人自拍| 成人黄色软件下载| 中文字幕一区二区日韩精品绯色| 成人性生交大合| 中文字幕亚洲一区二区va在线| 成人免费不卡视频| 亚洲人被黑人高潮完整版| 色婷婷国产精品综合在线观看| 亚洲人成精品久久久久| 欧美性受xxxx| 视频一区中文字幕国产| 日韩欧美在线123| 韩国女主播成人在线观看| 国产亚洲女人久久久久毛片| 风流少妇一区二区| 亚洲视频电影在线| 欧美日韩精品专区| 久久精品国产99久久6| 久久新电视剧免费观看| 成人黄页在线观看| 夜夜嗨av一区二区三区| 欧美肥大bbwbbw高潮| 捆绑调教美女网站视频一区| 久久综合九色综合97_久久久| 国产精品一区免费视频| 亚洲私人黄色宅男| 在线电影一区二区三区| 麻豆精品视频在线观看视频| 久久久久久久综合| 91美女在线看| 日本中文在线一区| 亚洲国产精品精华液2区45| 国产精品系列在线| 色婷婷av一区二区三区大白胸 | 久久综合九色综合97婷婷女人| 成人美女视频在线观看18| 亚洲综合无码一区二区| 91精品国产品国语在线不卡| 国产乱国产乱300精品| 亚洲蜜臀av乱码久久精品蜜桃| 欧美日韩黄色影视| 国产精品99久久久| 亚洲与欧洲av电影| 精品国产一区二区三区久久影院| 成人黄色小视频在线观看| 五月天精品一区二区三区| 久久久精品中文字幕麻豆发布| 色哟哟精品一区| 激情五月激情综合网| 亚洲人妖av一区二区| 欧美一激情一区二区三区| 99视频有精品| 免费成人av在线| 亚洲精品老司机| 久久久久久免费毛片精品| 在线观看亚洲精品| 国产激情精品久久久第一区二区| 亚洲综合图片区| 中文av一区二区| 日韩精品最新网址| 欧美色图片你懂的| 成人免费av在线| 韩国成人在线视频| 午夜欧美一区二区三区在线播放| 国产精品嫩草影院av蜜臀| 日韩欧美国产1|