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

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

?? create_rvtasks.c

?? MMI層OBJ不能完全編譯
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*************************************************************************************
 *                                                                                   *
 *  Name        create_RVtasks.c                                                     *
 *                                                                                   *
 *  Function    this file contains functions allowing tasks creation in              *
 *              the Riviera environment                                              *
 *                                                                                   *
 *  Version     0.1                                                                  *
 *                                                                                   *
 *  Date        Modification                                                         *
 *  ------------------------------------                                             *
 *  03 August 2000      Create                                                       *
 *                                                                                   *
 *  Author      Pascal Puel                                                          *
 *                                                                                   *
 * (C) Copyright 2000 by Texas Instruments Incorporated, All Rights Reserved         *
 *                                                                                   *
 * --------------------------------------------------------------------------------- *
 *                                                                                   *
 *   History:                                                                        *
 *                                                                                   *
 *   10/18/2001 - Updated for R2D by Christophe Favergeon                            *
 *   08/28/2002 - Clean-Up by Gerard Cauvy                                           *
 *                                                                                   *
 ************************************************************************************/

#ifndef _WINDOWS
    #include "rv.cfg"
#endif

#include "rv/rv_general.h"
#include "rvf/rvf_api.h"
#include "rvm/rvm_api.h"
#include "rvm/rvm_use_id_list.h"
#include "rvt/rvt_gen.h"
//sys_types.h is necessary for function prototypes in buzzer.h
#include "sys_types.h"
#include "buzzer/buzzer.h"
#include "rv/rv_defined_swe.h"
#include "chipset.cfg"

#ifndef _WINDOWS
#  include "power/power.h"
#endif

#include <stdio.h>
#include <string.h>


#define START_TASK_ID      (MAX_RVF_TASKS-1)
#define RV_START_TASK_PRIO (249)

T_RVT_USER_ID rv_trace_user_id = 0xff;
T_RVT_USER_ID etm_trace_user_id;

extern void etm_receive(unsigned char *inbuf, unsigned short size);

#ifdef MIXED_TRACE
  T_RVT_USER_ID l23_trace_user_id;
  extern void ext_processExtInput (T_RVT_BUFFER, UINT16);
#endif

#ifdef RVM_RNET_BR_SWE
  T_RVT_USER_ID rnet_trace_user_id;
  extern void rnet_receive (UINT8 *inbuf, UINT16 size);
#endif

#if (TEST==1)

  // The name that uniquely identifies the Memory Bank MUST be
  // 'TEST1', whereas it might be used by some other software
  // entity for testing purpose.
  #define RVTEST_MENU_MB_NAME          ("TEST1")

  // Memory requirements.
  #define RVTEST_MENU_MB_SIZE          (5000)
  #define RVTEST_MENU_MB_WATERMARK     (4000)

  extern void rv_test (UINT32 p);
#endif


/*******************************************************************************
**
** Function         rvt_init_trace
**
** Description      This function is called by the RV_START task to register
**                  the Riviera Frame in the trace module
**
** Returns          void
**
*******************************************************************************/
void rvt_init_trace (void)
{
    rvt_register_id ("RV", &rv_trace_user_id, rvt_set_trace_level);
}

#ifdef RVM_ETM_SWE
/*******************************************************************************
**
** Function         etm_init_trace
**
** Description      This function is called by the RV_START task to register
**                  the ETM in the trace module
**
** Returns          void
**
*******************************************************************************/
void etm_init_trace (void)
{
    extern T_RVT_USER_ID tm_trace_user_id;

    rvt_register_id("TM", &etm_trace_user_id, etm_receive);

#if (PSP_STANDALONE != 1)
    tm_trace_user_id = etm_trace_user_id; // TML1 use the tm_trace_user_id
#endif
}
#endif

#ifdef MIXED_TRACE
/*******************************************************************************
**
** Function         l23_init_trace
**
** Description      This function is called by the RV_START task to register
**                  the Protocol Stack (Layers 2 & 3) in the trace module
**
** Returns          void
**
*******************************************************************************/
void l23_init_trace (void)
{
    rvt_register_id ("L23", &l23_trace_user_id, ext_processExtInput);
}
#endif

#ifdef RVM_RNET_BR_SWE
/*******************************************************************************
**
** Function         rnet_init_trace
**
** Description      This function is called by the RV_START task to register
**                  RNET in the trace module
**
** Returns          void
**
*******************************************************************************/
void rnet_init_trace (void)
{
    rvt_register_id ("RNET", &rnet_trace_user_id, rnet_receive);
}
#endif


/*******************************************************************************
**
** Function         rv_start_swe_and_check
**
** Description      This internal function is called by the stater task to
**                  start the basic SWEs in the system and to check if
**                  they started successfully or not.
**
** Returns          void
**
*******************************************************************************/
#if (CHIPSET!=15) || (REMU==0)
BOOLEAN rv_start_swe_and_check (T_RVM_USE_ID swe_use_id, T_RVM_NAME swe_name)
{
    T_RV_RETURN return_path    = {0};
    T_RV_HDR    *msg_ptr       = NULL;
    UINT16      rec_evt        = 0;
    char        error_msg[150] = "";

    /* temporary initialization of addr_id */
    return_path.addr_id = START_TASK_ID;
    return_path.callback_func = NULL;

    /* attempt to initialize the required SWE */
    if (rvm_start_swe (swe_use_id, return_path) != RVM_OK)
    {
        sprintf (error_msg,
                 "create_RVtasks: Unable to start %s (0x%.8x). Error in rvm_start_swe",
                 (char *)swe_name,
                 swe_use_id);
        rvf_send_trace ((char *)error_msg,
                        strlen((char *)error_msg),
                        NULL_PARAM,
                        RV_TRACE_LEVEL_WARNING, RVM_USE_ID);
        return FALSE;
    }

    /*
     * wait for the SWE to be actually started.
     * note that the 'RVM_EVT_TO_APPLI' notification is sent back
     * once xxx_start () is invoked.
     */
    while (rec_evt = rvf_evt_wait (START_TASK_ID, \
                                   0xFFFF, \
                                   0xFFFFFFFFL))
    {
        if (rec_evt & ~RVF_TASK_MBOX_0_EVT_MASK)
        {
            sprintf (error_msg,
                     "create_RVtasks: Starting %s (0x%.8x). Event ",
                     (char *)swe_name,
                     swe_use_id);
            rvf_send_trace ((char *)error_msg,
                            strlen((char *)error_msg),
                            (UINT32)rec_evt,
                            RV_TRACE_LEVEL_WARNING,
                            RVM_USE_ID);
        }
        if (rec_evt & RVF_TASK_MBOX_0_EVT_MASK)
        {
            if ((msg_ptr = (T_RV_HDR *) rvf_read_addr_mbox (START_TASK_ID, \
                                                            RVF_TASK_MBOX_0)) == NULL)
            {
                sprintf (error_msg,
                         "create_RVtasks: Starting %s (0x%.8x). Message NULL",
                         (char *)swe_name,
                         swe_use_id);
                rvf_send_trace ((char *)error_msg,
                                strlen((char *)error_msg),
                                NULL_PARAM,
                                RV_TRACE_LEVEL_WARNING,
                                RVM_USE_ID);
                continue;
            }
            if (msg_ptr->msg_id != RVM_EVT_TO_APPLI)
            {
                sprintf (error_msg,
                         "create_RVtasks: Starting %s (0x%.8x). Message ID ",
                         (char *)swe_name,
                         swe_use_id);
                rvf_send_trace ((char *)error_msg,
                                strlen((char *)error_msg),
                                msg_ptr->msg_id,
                                RV_TRACE_LEVEL_WARNING,
                                RVM_USE_ID);
                rvf_free_buf (msg_ptr);
                continue;
            }
            break;
        }
    }
    switch (((T_RVM_APPLI_RESULT *)msg_ptr)->result)
    {
        case RVM_OK:
            {
                sprintf (error_msg,
                         "create_RVtasks: %s (0x%.8x) started",
                         (char *)swe_name,
                         swe_use_id);
                rvf_send_trace ((char *)error_msg,
                                strlen ((char *)error_msg),
                                NULL_PARAM,
                                RV_TRACE_LEVEL_DEBUG_HIGH,
                                RVM_USE_ID);
                rvf_free_buf (msg_ptr);
                return TRUE;
            }
        case RVM_NOT_READY:
            {
                sprintf (error_msg,
                         "create_RVtasks: %s (0x%.8x) already started",
                         (char *)swe_name,
                         swe_use_id);
                rvf_send_trace ((char *)error_msg,
                                strlen ((char *)error_msg),
                                NULL_PARAM,
                                RV_TRACE_LEVEL_DEBUG_MEDIUM,
                                RVM_USE_ID);
                rvf_free_buf (msg_ptr);
                return TRUE;
            }
        default:
            {
                break;
            }
    }
    sprintf (error_msg,
             "create_RVtasks: Unable to start %s (0x%.8x). Error ",
             (char *)swe_name,
             swe_use_id);
    rvf_send_trace ((char *)error_msg,
                    strlen ((char *)error_msg),
                    ((T_RVM_APPLI_RESULT *)msg_ptr)->result,
                    RV_TRACE_LEVEL_WARNING,
                    RVM_USE_ID);
    rvf_free_buf (msg_ptr);
    return FALSE;
}

#endif
/*******************************************************************************
**
** Function         rv_start
**
** Description      This function is called by the RV_START task. It starts the
**                  Riviera environment and the TRACE task. This start must be
**                  done after Application_initialize().
**
** Returns          void
**
*******************************************************************************/
void rv_start (void)
{
#if (TEST==1)
    T_RVF_MB_ID     mb_id           = RVF_INVALID_MB_ID;
    T_RVF_MB_PARAM  mb_requirements = {0};
    volatile UINT16 result          = 0;
#endif

    /* initialize the RVM and the RVF at the same time */
#if (CHIPSET!=15) || (REMU==0)
    rvm_start_environment ();
#endif
    /*
    ** Init trace module
    */
    rvt_init_trace ();
#ifdef RVM_ETM_SWE
    etm_init_trace ();
#endif

#if (_GSM==1)
    #ifdef MIXED_TRACE

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久国产视频网| 一区二区三区在线观看视频| 欧美日韩精品电影| 91在线观看一区二区| 国产成人综合自拍| 成人在线视频首页| 成人黄页毛片网站| 色婷婷亚洲综合| 日本伦理一区二区| 91精品在线麻豆| 欧美成人官网二区| 国产女同互慰高潮91漫画| 国产精品久久久一本精品| 国产精品超碰97尤物18| 中文字幕在线观看一区二区| 《视频一区视频二区| 亚洲一区二区av电影| 日本美女视频一区二区| 久久国产人妖系列| 成人性色生活片| 91国内精品野花午夜精品| 欧美剧在线免费观看网站| 精品入口麻豆88视频| 国产精品天天看| 亚洲一区二区在线免费看| 蜜臀久久99精品久久久久宅男| 国产精品66部| 欧美视频一区二区三区四区 | 久久久.com| 国产精品久久久久久久第一福利| 亚洲免费观看高清| 美国十次综合导航| 色综合久久久久网| 精品精品欲导航| 亚洲美女视频在线观看| 蜜臀91精品一区二区三区| 成人精品高清在线| 91精品福利在线一区二区三区| 国产色婷婷亚洲99精品小说| 亚洲va欧美va人人爽| 成人av电影在线| 精品久久99ma| 天涯成人国产亚洲精品一区av| 国产91丝袜在线播放| 欧美一区二区三区系列电影| 综合自拍亚洲综合图不卡区| 久久99精品久久久久婷婷| 在线观看日韩一区| 国产精品久久久久久久久免费桃花| 青青草伊人久久| 色婷婷久久久综合中文字幕| 欧美国产97人人爽人人喊| 美腿丝袜亚洲色图| 欧美专区在线观看一区| 国产精品三级av| 狠狠色狠狠色合久久伊人| 欧美一级免费观看| 亚洲高清免费视频| 91日韩在线专区| 亚洲国产精品传媒在线观看| 国内成人免费视频| 欧美大片在线观看| 麻豆精品一区二区综合av| 欧美中文字幕亚洲一区二区va在线 | 中文一区在线播放| 九色综合国产一区二区三区| 欧美一区二区三区思思人| 亚洲二区视频在线| 欧洲精品一区二区| 亚洲精品日产精品乱码不卡| 成人aa视频在线观看| 久久综合色天天久久综合图片| 全部av―极品视觉盛宴亚洲| 日韩欧美国产一区在线观看| 亚洲一区二区黄色| 欧美日韩国产综合一区二区| 亚洲小说欧美激情另类| 欧美午夜精品免费| 日本欧美大码aⅴ在线播放| 日韩一区二区三区视频在线| 秋霞av亚洲一区二区三| 欧美不卡一区二区| 国产麻豆成人精品| 国产精品欧美一区喷水| 91在线观看视频| 亚洲一区二区三区激情| 在线不卡a资源高清| 久久99精品国产91久久来源| 久久免费午夜影院| av亚洲精华国产精华精华| 亚洲一本大道在线| 欧美tk—视频vk| 成人av电影在线| 天天色 色综合| xfplay精品久久| 99久久精品情趣| 日韩精品久久理论片| 精品久久国产老人久久综合| www.爱久久.com| 视频一区二区不卡| 国产亚洲欧美中文| 色女孩综合影院| 麻豆精品久久久| 国产精品久久久久影视| 欧美色图天堂网| 国产成人8x视频一区二区 | 555www色欧美视频| 精品在线一区二区| 亚洲精品一二三| 久久久影院官网| 欧美综合亚洲图片综合区| 麻豆精品久久久| 一区二区三区在线免费观看| 精品88久久久久88久久久| 色婷婷av一区二区三区软件| 蜜臀av性久久久久av蜜臀妖精| 成人欧美一区二区三区| 精品免费一区二区三区| 色欧美片视频在线观看在线视频| 精品中文av资源站在线观看| 亚洲一区二区中文在线| 国产日产欧美一区| 欧美一区二区在线免费播放| 色先锋资源久久综合| 国产美女在线精品| 美国三级日本三级久久99| 亚洲午夜羞羞片| 国产精品国产三级国产专播品爱网| 日韩女优av电影| 欧美日本国产视频| 91啦中文在线观看| 成人夜色视频网站在线观看| 激情欧美一区二区三区在线观看| 视频一区免费在线观看| 亚洲国产精品麻豆| 亚洲欧美日韩人成在线播放| 中文字幕免费不卡在线| 久久久不卡网国产精品二区 | 国产精品一二二区| 麻豆精品在线观看| 免费成人你懂的| 蜜臀av一级做a爰片久久| 日韩精品91亚洲二区在线观看| 亚洲午夜av在线| 亚洲成人av福利| 亚洲国产精品影院| 亚洲国产日韩a在线播放| 亚洲第一成人在线| 亚洲成人av中文| 日本欧美在线看| 久久国产人妖系列| 国产精品1区2区3区| 福利一区福利二区| 成人亚洲一区二区一| 99久久久久免费精品国产| 99久久久久久99| 欧美三日本三级三级在线播放| 91黄色免费观看| 制服丝袜成人动漫| 日韩欧美国产午夜精品| 久久婷婷国产综合国色天香| 久久久美女毛片| 国产精品盗摄一区二区三区| 亚洲伦在线观看| 亚洲成av人片一区二区| 美女精品一区二区| 国产成人av电影在线播放| 91视频观看免费| 精品一区免费av| 三级影片在线观看欧美日韩一区二区| 亚洲激情成人在线| 亚洲成人av一区| 韩国一区二区三区| 99热精品国产| 欧美美女一区二区| 久久精品视频免费| 亚洲欧美一区二区三区极速播放| 一区二区欧美视频| 久久99精品一区二区三区三区| 高清不卡在线观看| 欧美日韩三级一区| 日韩欧美www| 亚洲精品久久7777| 久99久精品视频免费观看| 99久久综合精品| 欧美电视剧在线观看完整版| 亚洲欧美在线另类| 免费观看30秒视频久久| 91小视频在线观看| 日韩精品一区二区三区视频播放 | 欧美伦理影视网| 久久久亚洲精华液精华液精华液| 亚洲欧美日韩成人高清在线一区| 五月婷婷综合激情| 懂色av中文字幕一区二区三区| 精品视频全国免费看| 国产精品卡一卡二卡三| 肉色丝袜一区二区| 色综合久久久久| 国产日产欧美一区|