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

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

?? ffstrace.c

?? MMI層OBJ不能完全編譯
?? C
字號:
/******************************************************************************
 * Flash File System (ffs)
 * Idea, design and coding by Mads Meisner-Jensen, mmj@ti.com
 *
 * ffs deprecated testing
 *
 * $Id: ffstrace.c 1.32.1.10 Thu, 18 Dec 2003 10:50:52 +0100 tsj $
 *
 ******************************************************************************/

#ifndef TARGET
   #ifdef VIRTIO_NOR
        #define TARGET 1
   #else
        #include "ffs.cfg"
   #endif
#endif

#include "../ffs.h"
#include "drv.h"
#include "ffstrace.h"

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

/******************************************************************************
 * LED control
 *****************************************************************************/

#if (TARGET == 1)

#ifndef VIRTIO_NOR
#include "rvf/rvf_api.h"
#include "rv/rv_general.h"
#include "rvm/rvm_use_id_list.h"  
#endif

static uint8 led_state     =   0;
static uint8 led_countbits =   0; // number of counter bits
static uint8 led_mask      = 0x0; // mask containing the counter bits

// configure the number of counter bits in the leds
void led_config(unsigned char n)
{
    led_countbits = (n <= 8 ? n : 0);
    led_mask      = (n <= 8 ? (1 << n) - 1 : 0);
}

// just set the bits, no checking whatsoever
void led_set(unsigned char n)
{
    *(char *) 0x2800000 = led_state = n;
}

void led_counter(unsigned char n)
{
    *(char *) 0x2800000 = led_state = led_state & ~led_mask | (n & led_mask);
}

void led_on(unsigned char n)
{
    *(char *) 0x2800000 = led_state = led_state | (1 << (led_countbits + n));
}

void led_off(unsigned char n)
{
    *(char *) 0x2800000 = led_state = led_state & ~(1 << (led_countbits + n));
}

void led_toggle(unsigned char n)
{
    *(char *) 0x2800000 = led_state = led_state ^ (1 << (led_countbits + n));
}
#endif


/******************************************************************************
 * Target Tracing
 *****************************************************************************/

#if (TARGET == 1)

static unsigned int ttr_mask = TTrFatal | TTrTest;

void ttr_init(unsigned int mask)
{
    ttr_mask = mask | TTrFatal | TTrTest;
}

void ttr(unsigned int mask, char *format, ...)
{
    va_list args;
    char buf[64];

    if (ttr_mask & mask)
    {
        // build string ala tr() then call str()
        va_start(args, format);
        vsprintf(buf, format, args);
        str(mask, buf);
        va_end(args);
    }
}

void str(unsigned mask, char *string)
{

#ifndef VIRTIO_NOR 

    if (ttr_mask & mask) {
        rvf_send_trace(string, strlen(string), NULL_PARAM,
                       RV_TRACE_LEVEL_ERROR, FFS_USE_ID);
        rvf_delay(5);
    }
#endif	
 
}


/******************************************************************************
 ** PC side Tracing and logging
 *****************************************************************************/

#else // (TARGET == 0)

static int tr_mask;    // bitmask of which modules to trace

static int tr_spaces;  // number of spaces to indent per level
static FILE *tr_fd;    // unused; file descriptor of file to write traces to


void tr_init(unsigned int mask, int spaces, char *filename)
{
    tr_mask = mask;
    tr_spaces = spaces;

    if (filename == NULL) {
        tr_fd = stdout;
    }
    else {
        if ( !(tr_fd = fopen(filename, "a+b")) ) {
            fprintf(stderr, "failed to open logfile: %s for append\n", filename);
            exit(1);
        }
    }
}

// Trace/Log the printf-like string if abs(level) > tr_level. If level is
// negative, the sematics are the same except that no indentation will occur
void tr(int type, unsigned int mask, char *format, ...)
{
    va_list args;
    int indent;
    static int indent_level = 0;
    static char buf[1024];
    const char spaces[] =
        "                                        "
                           "                                        "
                           "                                        "
                           "                                        ";
        
    if ((mask & tr_mask) == 0)
        return;

    // If tracing/debugging trace system
    if ((tr_mask & TrTrace) && (type & TR_END))
        fprintf(tr_fd, "END(%d)\n", indent_level);
    
    if (type & TR_END)
        indent_level--;

    indent = (type & TR_NULL ? 0 : indent_level);

    if (strlen(format) > 0)
    {
        va_start(args, format);
        vsprintf(buf, format, args);
        
        indent = tr_spaces * indent;
        if (indent < 0) {
            fprintf(tr_fd, "WARNING: tr() indenting too left (%d)\n",
                    indent_level);
            indent = 0;
        }
        if (indent > sizeof(spaces) - 1) {
            fprintf(tr_fd, "WARNING: tr() indenting too right (%d)\n",
                    indent_level);
            indent = sizeof(spaces) - 1;
        }
        fprintf(tr_fd, "%s%s", &spaces[sizeof(spaces) - 1 - indent], buf);
        fflush(tr_fd);
    }
    if (type & TR_BEGIN)
        indent_level++;

    // If tracing/debugging trace system
    if ((tr_mask & TrTrace) && (type & TR_BEGIN))
        fprintf(tr_fd, "BEGIN(%d)\n", indent_level);
}

#endif // (TARGET == 0)


/******************************************************************************
 ** Common Tracing and logging
 *****************************************************************************/

int tr_query(int mask)
{
#if (TARGET == 1)
    return (ttr_mask & mask);
#else
    return (tr_mask & mask);
#endif
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
性做久久久久久久久| 国产精品视频免费| av一二三不卡影片| 日本成人在线不卡视频| 精品国产一区二区三区av性色| 不卡的av中国片| 国产欧美一区二区三区网站| 精品美女一区二区三区| av亚洲精华国产精华精华 | 国产精品激情偷乱一区二区∴| 91久久精品日日躁夜夜躁欧美| 亚洲免费av网站| 精品国产凹凸成av人网站| 99久久er热在这里只有精品66| 日本欧美一区二区| 一区二区三区四区五区视频在线观看 | 日韩欧美的一区二区| 在线一区二区三区四区五区 | 欧美日韩综合不卡| 国产麻豆91精品| 亚洲小少妇裸体bbw| 亚洲欧洲av在线| 国产亚洲精品超碰| 678五月天丁香亚洲综合网| 成人性生交大片免费看视频在线| 日本午夜一区二区| 亚洲美女屁股眼交3| 国产无遮挡一区二区三区毛片日本| 欧美丰满一区二区免费视频| 一本一道综合狠狠老| www.激情成人| 高清久久久久久| 国产精品69久久久久水密桃| 精品一区在线看| 麻豆国产一区二区| 毛片不卡一区二区| 午夜精品国产更新| 亚洲一区二区综合| 国产精品欧美经典| 国产欧美日韩另类一区| 欧美一区在线视频| 国产精品久久久久久久久免费相片 | 色噜噜狠狠一区二区三区果冻| 国产成人精品亚洲777人妖| 毛片av一区二区| 麻豆国产精品视频| 麻豆91小视频| 99免费精品在线观看| 一本在线高清不卡dvd| 99久久er热在这里只有精品15| 9人人澡人人爽人人精品| 国产成人av电影| 91视频在线看| 欧美一a一片一级一片| 国产精品对白交换视频| 色播五月激情综合网| 成人免费福利片| 欧美精品丝袜久久久中文字幕| 欧美日韩精品一区二区天天拍小说 | 国产亚洲成aⅴ人片在线观看| 欧美videossexotv100| 欧美videossexotv100| 亚洲与欧洲av电影| 日韩欧美三级在线| 欧美精品一区视频| 国产亚洲一区二区在线观看| 国产精品人妖ts系列视频| 26uuu欧美| 国产精品无遮挡| 亚洲精品国产高清久久伦理二区| 亚洲国产精品久久一线不卡| 日本少妇一区二区| 亚洲影院免费观看| 不卡欧美aaaaa| 欧美日韩视频在线第一区| 日韩欧美激情一区| 中文字幕欧美国产| 中文字幕一区二区三| 国产一区二区免费在线| 国产一区二区三区黄视频| av亚洲产国偷v产偷v自拍| 欧美视频一区在线观看| 精品国产电影一区二区| 中文字幕成人av| 午夜激情综合网| 国产精品中文字幕一区二区三区| www.成人网.com| 欧美色图天堂网| 欧美草草影院在线视频| 日本成人在线看| 国产成人午夜精品影院观看视频 | 国内精品不卡在线| 国产成人高清在线| 2024国产精品视频| 亚洲日本一区二区| 秋霞成人午夜伦在线观看| 国产麻豆视频一区| 在线视频观看一区| 欧美午夜精品理论片a级按摩| 亚洲色图色小说| 久久国产精品99精品国产| 成人福利视频在线| 日韩女同互慰一区二区| 日本一区二区成人| 亚洲精品亚洲人成人网| 黑人巨大精品欧美黑白配亚洲| 91小视频免费观看| 日韩三级免费观看| 亚洲欧美日韩电影| 日韩精品一级中文字幕精品视频免费观看 | 欧美成人猛片aaaaaaa| 亚洲免费伊人电影| 激情欧美日韩一区二区| 欧美日韩在线直播| 成人免费毛片aaaaa**| 日本一区二区视频在线| 亚洲国产一区二区在线播放| 成人午夜在线视频| 欧美女孩性生活视频| 亚洲男同性视频| 狠狠网亚洲精品| 国产清纯美女被跳蛋高潮一区二区久久w | 亚洲黄色片在线观看| 国产精品影视天天线| 欧美精品电影在线播放| 中文字幕乱码久久午夜不卡| 99久精品国产| 精品av综合导航| 亚洲国产日韩一级| 一本大道av伊人久久综合| 欧美性做爰猛烈叫床潮| 免费不卡在线视频| 欧美色图12p| 中文字幕乱码久久午夜不卡| 黄网站免费久久| 91精品国产一区二区| 亚洲少妇最新在线视频| 波多野结衣精品在线| 国产亚洲人成网站| 日本亚洲免费观看| 91精品国产麻豆国产自产在线 | 精品剧情v国产在线观看在线| 国产大陆亚洲精品国产| 欧美日韩一区三区四区| 亚洲男人的天堂在线aⅴ视频| 99久久综合99久久综合网站| 国产精品久久久久一区二区三区共| 久久精品一二三| 色诱亚洲精品久久久久久| 国产精品你懂的在线欣赏| 国产高清亚洲一区| 国产午夜精品一区二区三区嫩草| 国产一区二区按摩在线观看| 欧美一区二区三区四区视频| www.视频一区| 亚洲同性gay激情无套| 色综合久久天天| 尤物在线观看一区| 欧美日韩一级视频| 中文字幕中文字幕在线一区 | 日韩激情在线观看| 日韩一区二区精品在线观看| 激情综合色丁香一区二区| 91免费精品国自产拍在线不卡| 国产三级欧美三级| 99在线精品免费| 亚洲精品国产精品乱码不99| 欧美日精品一区视频| 午夜天堂影视香蕉久久| 国产一区二区三区| 日韩欧美第一区| 国产iv一区二区三区| 麻豆91免费看| 亚洲成av人片一区二区三区| 国产精品高潮久久久久无| 日韩女优av电影| 欧美精品粉嫩高潮一区二区| 91国偷自产一区二区三区成为亚洲经典 | 欧美日韩成人综合天天影院| caoporn国产一区二区| 国产乱码精品一区二区三区忘忧草 | 777亚洲妇女| 欧美曰成人黄网| 成人av资源网站| 国产一区中文字幕| 免费成人美女在线观看.| 亚洲va在线va天堂| 亚洲欧美激情插| 中文字幕一区二区三区不卡 | 欧美国产欧美亚州国产日韩mv天天看完整 | 不卡欧美aaaaa| 国产精品123| 国内精品伊人久久久久av一坑| 日韩精品电影在线| 亚洲一区二区三区美女| 亚洲色图视频网| 亚洲人一二三区| 国产精品激情偷乱一区二区∴| 欧美激情综合在线| 国产欧美一区二区三区在线老狼|