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

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

?? semtest.c

?? dsp ccs_example 操作系統(tǒng) 信號發(fā)送測試程序
?? C
字號:
/*
 *  Copyright 2001 by Texas Instruments Incorporated.
 *  All rights reserved. Property of Texas Instruments Incorporated.
 *  Restricted rights to use, duplicate or disclose this code are
 *  granted through contract.
 *  
 */
/* "@(#) DSP/BIOS 4.60.22 12-07-01 (barracuda-j15)" */
/*
 *  ======== semtest.c ========
 *
 *  Use a QUE queue and SEM semaphore to send messages from 
 *  multiple writer() tasks to a single reader() task.  The reader task,
 *  the three writer tasks, queues, and semaphore are created by the
 *  Configuration tool.
 *
 *  The MsgObj's are preallocated in main(), and put on the free queue.
 *  The writer tasks get free message structures from the free queue,
 *  write the message, and then put the message structure onto the message
 *  queue.
 *  This example builds on quetest.c.  The major differences are:
 *    - one reader() and multiple writer() tasks.
 *    - SEM_pend() and SEM_post() are used to synchronize access 
 *      to the message queue.
 *    - 'id' field was added to MsgObj to specify writer() task id.
 *
 *  Unlike a mailbox, a queue can hold an arbitrary number of 
 *  messages or elements.  Each message must, however, be a 
 *  structure with a QUE_Elem as its first field.
 */
 
#include <std.h>

#include <log.h>
#include <mem.h>
#include <que.h>
#include <sem.h>
#include <sys.h>
#include <tsk.h>
#include <trc.h>

#include "semtestcfg.h"

#define NUMMSGS     3    /* number of messages */
#define NUMWRITERS  3    /* number of writer tasks created with Config Tool */

typedef struct MsgObj {
    QUE_Elem    elem;        /* first field for QUE */
    Int         id;          /* writer task id */
    Char        val;         /* message value */
} MsgObj, *Msg;

Void reader();
Void writer(Arg id_arg);

QUE_Obj msgQueue;
QUE_Obj freeQueue;


/*
 *  ======== main ========
 */
Void main()
{
    LOG_printf(&trace, "semtest example started.\n");
}

/*
 *  ======== initTask ========
 */
Void initTask()
{
    Int         i;
    MsgObj      *msg;
    Uns         mask;

    QUE_new(&msgQueue);
    QUE_new(&freeQueue);

    mask = TRC_LOGTSK | TRC_LOGSWI | TRC_STSSWI | TRC_LOGCLK;
    TRC_enable(TRC_GBLHOST | TRC_GBLTARG | mask);

    msg = (MsgObj *)MEM_alloc(0, NUMMSGS * sizeof(MsgObj), 0);
    if (msg == MEM_ILLEGAL) {
        SYS_abort("Memory allocation failed!\n");
    }

    /* Put all messages on freequeue */
    for (i = 0; i < NUMMSGS; msg++, i++) {
        QUE_put(&freeQueue, msg); 
    }
}

/*
 *  ======== reader ========
 */
Void reader()
{
    Msg         msg;
    Int         i,j;

    for (i = 0; i < NUMMSGS * NUMWRITERS; i++) {
        /*
         * Wait for semaphore to be posted by writer().
         */
       // for(j=0;j<10000;j++);
        
        SEM_pend(&sem, SYS_FOREVER);

        /* dequeue message */
        msg = QUE_get(&msgQueue);
        
        /* print value */
        LOG_printf(&trace, "read '%c' from (%d).", msg->val, msg->id);

        /* free msg */
        QUE_put(&freeQueue, msg);
    }
    LOG_printf(&trace, "reader done.");
}

/*
 *  ======== writer ========
 */
Void writer(Arg id_arg)
{
    Msg         msg;
    Int         i;
    Int id =    ArgToInt (id_arg);

    for (i = 0; i < NUMMSGS; i++) {
        /*
         *  Get msg from the free queue.  Since reader is higher priority
         *  and only blocks on sem, this queue will never be empty.
         */
        if (QUE_empty(&freeQueue)) {
            SYS_abort("Empty free queue!\n");
        }
        msg = QUE_get(&freeQueue);

        /* fill in value */
        msg->id = id;
        msg->val = (i & 0xf) + 'a';
        LOG_printf(&trace, "(%d) writing '%c' ...", id, msg->val);

        /* enqueue message */
        QUE_put(&msgQueue, msg);

        /* post semaphore */
        SEM_post(&sem);

        /* what happens if you call TSK_yield() here? */
        // TSK_yield(); 
    }
    LOG_printf(&trace, "writer (%d) done.", id);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国欧美国产一区| 色婷婷精品久久二区二区蜜臂av | 欧美一区二区三区色| 国产精品麻豆99久久久久久| 裸体一区二区三区| 欧美一区午夜精品| 日韩中文字幕av电影| 欧美亚洲高清一区二区三区不卡| 中文乱码免费一区二区 | 国产日韩精品久久久| 麻豆成人在线观看| 久久久综合网站| 韩国欧美国产1区| 国产婷婷一区二区| 不卡大黄网站免费看| 亚洲女同女同女同女同女同69| av中文一区二区三区| 亚洲婷婷综合久久一本伊一区| av电影在线观看一区| 国产精品欧美久久久久一区二区 | 有码一区二区三区| 欧美日韩日日摸| 激情偷乱视频一区二区三区| 国产精品视频观看| 精品视频999| 国产美女视频91| 亚洲国产综合色| 久久美女高清视频| 精品视频999| 成人免费视频一区二区| 亚洲丶国产丶欧美一区二区三区| 在线综合亚洲欧美在线视频| 成人午夜视频网站| 麻豆精品一区二区| 夜夜精品浪潮av一区二区三区| 欧美喷潮久久久xxxxx| 国产福利一区二区三区在线视频| 亚洲男人都懂的| 国产午夜精品一区二区| 欧美三级中文字幕| 99r精品视频| 成人午夜短视频| 热久久免费视频| 亚洲成人免费视频| 亚洲裸体xxx| 亚洲国产精品v| 久久久综合精品| 2017欧美狠狠色| 3d动漫精品啪啪1区2区免费| 欧美亚洲动漫制服丝袜| 波多野结衣的一区二区三区| 国产传媒一区在线| 国产一区二区不卡在线| 韩国在线一区二区| 成人毛片视频在线观看| 亚洲综合成人在线视频| 亚洲丝袜精品丝袜在线| 亚洲欧美怡红院| 亚洲最大成人网4388xx| 亚洲精品免费播放| 亚洲主播在线观看| 亚洲成人av电影| 久久精品99久久久| 国产精品18久久久久久vr| 国产91在线|亚洲| 99久久er热在这里只有精品66| 91色视频在线| 69堂国产成人免费视频| 日韩视频一区二区| 国产精品国产精品国产专区不片| 国产欧美一区在线| 又紧又大又爽精品一区二区| 日韩精品久久理论片| 激情小说亚洲一区| 在线观看成人小视频| 精品国产一区a| 亚洲免费在线观看| 国产精品小仙女| 欧美日本精品一区二区三区| 国产午夜精品一区二区三区四区 | 91社区在线播放| 精品欧美一区二区久久 | 日韩码欧中文字| 蜜臀精品一区二区三区在线观看| 成人丝袜18视频在线观看| 欧美精品三级日韩久久| 日韩一区日韩二区| 高清日韩电视剧大全免费| 欧美顶级少妇做爰| 一区二区三区四区激情| 国产成人精品免费在线| 日韩美女在线视频| 亚洲国产日韩一级| 色屁屁一区二区| 亚洲国产精品99久久久久久久久| 麻豆91在线播放免费| 欧美久久久一区| 午夜国产精品影院在线观看| 色乱码一区二区三区88| 国产三级欧美三级日产三级99| 日韩国产在线一| 欧美日韩大陆一区二区| 亚洲精品少妇30p| 99久久久国产精品| 亚洲图片你懂的| 欧美视频在线一区二区三区 | 在线欧美日韩国产| 亚洲综合色在线| 欧美一卡二卡在线| 久久99久久99| 亚洲天堂免费看| 欧美吻胸吃奶大尺度电影| 亚洲丶国产丶欧美一区二区三区| 91国内精品野花午夜精品| 亚洲一卡二卡三卡四卡无卡久久| 欧美性生活一区| 免费一级欧美片在线观看| 欧美一级日韩免费不卡| 韩国三级在线一区| 亚洲欧洲在线观看av| 久久精工是国产品牌吗| 欧美日韩亚洲不卡| 亚洲大片在线观看| 欧美国产一区视频在线观看| 国产乱码字幕精品高清av| 18涩涩午夜精品.www| 欧美日韩国产小视频| 国产一区二区导航在线播放| 日韩伦理电影网| 欧美不卡视频一区| 91在线高清观看| 精品写真视频在线观看| 一区二区三区精品视频| 欧美成人乱码一区二区三区| 99久久久久免费精品国产| 国内外精品视频| 人人爽香蕉精品| 亚洲国产另类av| 亚洲视频综合在线| 国产色产综合产在线视频| 欧美日韩国产在线观看| 91蝌蚪porny| 成人午夜激情在线| 国产xxx精品视频大全| 精品亚洲免费视频| 美女www一区二区| 日韩电影在线观看电影| 亚洲电影中文字幕在线观看| 亚洲美女在线国产| 亚洲色图在线播放| 尤物在线观看一区| 亚洲图片一区二区| 午夜精品久久久久久久99水蜜桃| 中文字幕一区二区三区av| 亚洲图片欧美激情| 亚洲与欧洲av电影| 性做久久久久久| 久久国产麻豆精品| 国产黄色成人av| 波多野结衣中文字幕一区 | 99久久国产综合精品女不卡| 成人一区二区三区视频在线观看 | 8x8x8国产精品| 精品国产乱码久久久久久影片| 精品国产乱码久久久久久浪潮| 日韩精品一区二区三区四区| 久久久精品影视| 一区二区三区免费观看| 免费成人在线视频观看| 国产精品乡下勾搭老头1| 色999日韩国产欧美一区二区| 欧美性猛片xxxx免费看久爱| 日韩一区二区电影在线| 国产精品免费久久久久| 午夜亚洲福利老司机| 韩国女主播成人在线| 91社区在线播放| 久久人人97超碰com| 亚洲bt欧美bt精品777| 国产福利91精品一区| 欧美一区二区福利在线| 亚洲男人天堂av| 成人美女在线视频| 日韩一级片网站| 午夜欧美大尺度福利影院在线看| 国产乱人伦偷精品视频不卡 | 国产成人精品www牛牛影视| 欧美日韩久久一区| 亚洲精品你懂的| 色婷婷精品久久二区二区蜜臂av| 久久一区二区三区国产精品| 亚洲国产成人va在线观看天堂| eeuss影院一区二区三区| 久久这里只精品最新地址| 日韩激情视频在线观看| 欧美做爰猛烈大尺度电影无法无天| 久久久久99精品国产片| 国产真实乱对白精彩久久| 另类专区欧美蜜桃臀第一页| 成人天堂资源www在线|