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

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

?? mx1-load-usb.c

?? mx1ads 的bootloader下載程序
?? C
字號:
/*******************************************************************  MX1-Loader - DragonBall M9328/MX1 loader  mx1-load-usb.c  - USB communication with target  (C) Copyright 2004 by Pavel Pisa - project originator        http://cmp.felk.cvut.cz/~pisa  (C) Copyright 2004 PiKRON Ltd.        http://www.pikron.com  (C) Copyright 2004 Roman Bartosinski        (bartosr@centrum.cz)  The MX1-Loader project can be used and distributed  in compliance with any of next licenses   - GPL - GNU Public License     See file COPYING for details.   - LGPL - Lesser GNU Public License   - MPL - Mozilla Public License   - and other licenses added by project originator  Code can be modified and re-distributed under any combination  of the above listed licenses. If contributor does not agree with  some of the licenses, he/she can delete appropriate line.  WARNING: if you delete all lines, you are not allowed to  distribute code or sources in any form. *******************************************************************/#define _GNU_SOURCE#include <stdlib.h>#include <stdio.h>#include <string.h>#include <ctype.h>#include <termios.h>#include <sys/time.h>#include <sys/types.h>#include <errno.h>#include <unistd.h>#include <fcntl.h>#include "universal-load.h"#include "usb_loader.h"#define USB_TIMEOUT 500int verbose=0;/*****************************************************************************//*****************************************************************************//*****************************************************************************//* USB functions */void print_devices(void){  struct usb_bus *bus;  struct usb_device *dev;  int i = 0;  usb_init(); // NO for more devices  usb_find_busses();  usb_find_devices();  printf("All connected usb devices\n");  printf("  bus/device    idVendor/idProduct\n");  for (bus = usb_busses; bus; bus = bus->next) {    for (dev = bus->devices; dev; dev = dev->next) {      i++;      printf("    %s/%s     0x%04X/0x%04X\n", bus->dirname, dev->filename, dev->descriptor.idVendor, dev->descriptor.idProduct);    }  }  if ( !i)    printf(" -- no device.\n");}struct usb_device *find_usb_device(int vendor, int product){  struct usb_bus *bus;  struct usb_device *dev;  for (bus = usb_busses; bus; bus = bus->next) {    for (dev = bus->devices; dev; dev = dev->next) {      if((dev->descriptor.idVendor==vendor)&&         (dev->descriptor.idProduct)==product)         return dev;    }  }  return NULL;}usb_dev_handle *usb_open_device( int uvid, int upid) {  struct usb_device *dev;  usb_dev_handle *hdev;  usb_init(); // NO for more devices  usb_find_busses();  usb_find_devices();  dev = find_usb_device( uvid, upid);  if( !dev) {    if( verbose) printf( "!!! Cannot find device 0x%04X:0x%04X\n", uvid, upid);    return NULL;  }  if (( hdev = usb_open( dev)) == NULL) {    if ( verbose) printf( "!!! USB device wasn't opened !!!\n");    return NULL;  }  usb_claim_interface( hdev, 0);  if ( verbose) printf(" USB Device 0x%04X:0x%04X '%s' is open.\n", uvid, upid, dev->filename);  return hdev;}int usb_close_device( usb_dev_handle *hdev) {  int bRes=1;  usb_release_interface( hdev, 0);  bRes = usb_close( hdev);  if ( bRes && verbose)    printf( "!!! USB Device wasn't closed !!!\n");  return bRes;}/*****************************************************************************//*****************************************************************************//*****************************************************************************/int uniusb_setup(uniload_alg_info_t *algi){  /*usb_dev_handle *hdev=algi->usb_hdev;*/  return 0;}int uniusb_mem_write(uniload_alg_info_t *algi, int mem_type, unsigned long start, unsigned long len, const char *buff){  usb_dev_handle *hdev=algi->usb_hdev;  int res;  int blen=1024;  int i;  int cnt;    while(len){    cnt=(len>blen)?blen:len;    i = 3;    do {      res = usb_control_msg( hdev, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT, USB_VENDOR_GET_SET_MEMORY | mem_type /*USB_VENDOR_TARGET_XDATA*/,                            (unsigned long)(start) & 0xffff, (((unsigned long)start) >> 16) & 0xffff, (void *)buff, len, 150+len); //USB_TIMEOUT);//      res = usb_bulk_write( hdev, USB_ENDPOINT_IN | 0x02, buf, len, 1000);      i--;    } while ( res<0 && i);    if(res<0){      fprintf(stderr,"USB write data failed %d\n",res);      return res;    }        start+=cnt;    len-=cnt;    buff+=cnt;  }        return 0;}int uniusb_mem_read(uniload_alg_info_t *algi, int mem_type, unsigned long start, unsigned long len, char *buff){  usb_dev_handle *hdev=algi->usb_hdev;  int res;  int blen=1024;  int i;  int cnt;    while(len){    cnt=(len>blen)?blen:len;    i = 3;    do {      res = usb_control_msg( hdev, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN, USB_VENDOR_GET_SET_MEMORY | mem_type /*USB_VENDOR_TARGET_XDATA*/,                            (unsigned long)(start) & 0xffff, (((unsigned long)start) >> 16) & 0xffff, (void *)buff, len, 100+len); //USB_TIMEOUT);//      res = usb_bulk_write( hdev, USB_ENDPOINT_IN | 0x02, buf, len, 1000);      i--;    } while ( res<0 && i);    if(res<0){      fprintf(stderr,"USB read data failed %d\n",res);      return res;    }        start+=cnt;    len-=cnt;    buff+=cnt;  }        return 0;}int uniusb_go_addr(uniload_alg_info_t *algi, unsigned long addr){  usb_dev_handle *hdev=algi->usb_hdev;  int res;  res = usb_control_msg( hdev, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN,           USB_VENDOR_GOTO, (unsigned long)addr & 0xffff, ((unsigned long)addr >> 16) & 0xffff, NULL, 0, USB_TIMEOUT);  if(res<0) fprintf(stderr,"Goto to %4lX ERROR %d\n",addr,res);       else fprintf(stderr,"Goto to %4lX OK\n",addr);  return 0;}int uniusb_masserase(uniload_alg_info_t *algi, unsigned long mode){  usb_dev_handle *hdev=algi->usb_hdev;  int res;  res = usb_control_msg( hdev, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN,          USB_VENDOR_MASS_ERASE, mode & 0xffff, (mode >> 16) & 0xffff, NULL, 0, USB_TIMEOUT*20);  if(res<0) {    printf("Mass Erase to %4lX ERROR %d\n",mode,res);    return -1;  }  return 0;}int uniusb_regerase(uniload_alg_info_t *algi, unsigned long addr, unsigned long len){   usb_dev_handle *hdev=algi->usb_hdev;  int res;  if(addr+len<0x10000) {    res = usb_control_msg( hdev, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN,            USB_VENDOR_ERASE_MEMORY, addr, len, NULL, 0, USB_TIMEOUT*5);  } else {    len += addr & 0x3ff;    res = usb_control_msg( hdev, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN,            USB_VENDOR_ERASE_1KB_MEMORY, addr>>10, len>>10, NULL, 0, USB_TIMEOUT*10);  }  return 0;}int uniusb_release(uniload_alg_info_t *algi){  usb_dev_handle *hdev=algi->usb_hdev;  int res;  res = usb_close_device(hdev);    return res;}uniload_alg_ops_t uniusb_alg_ops={  .setup=uniusb_setup,  .mem_write=uniusb_mem_write,  .mem_read=uniusb_mem_read,  .go_addr=uniusb_go_addr,  .release=uniusb_release,  .masserase=uniusb_masserase,  .regerase=uniusb_regerase,};int mx1_usb_open(uniload_alg_info_t *algi, char *dev_name){  usb_dev_handle *hdev=algi->usb_hdev;  int uvid=0;  int upid=0;  char *p, *r;    p=dev_name;  if(*p!=':') {    if((p[0]=='0')&&(p[1]=='x'))      p+=2;    uvid=strtoul(p,&r,16);    if(p==r)      return -1;    p=r;    if(*p!=':')      return -1;  }  p++;  if(*p) {      if((p[0]=='0')&&(p[1]=='x'))    p+=2;      upid=strtoul(p,&r,16);    if(p==r)      return -1;  }  hdev=usb_open_device(uvid,upid);  if(!hdev)    return -1;  algi->usb_hdev=hdev;  algi->dev_name=dev_name;  algi->alg_ops=&uniusb_alg_ops;    return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久久综合色一本| 中文字幕一区二区不卡| 久久综合九色综合欧美就去吻| 国产日韩精品一区| 午夜精品久久久久久久99樱桃 | 久久国产精品99精品国产| www.日韩av| 欧美精品一区二区三区在线播放| 亚洲一区电影777| av一区二区不卡| 久久久久9999亚洲精品| 日韩和的一区二区| 91美女在线视频| 国产欧美一区二区三区在线看蜜臀| 亚洲gay无套男同| 色偷偷成人一区二区三区91| 国产嫩草影院久久久久| 国产一区视频在线看| 欧美精品丝袜中出| 亚洲综合另类小说| 91国产福利在线| 日韩理论片一区二区| 91视频国产观看| 国产日韩视频一区二区三区| 久草热8精品视频在线观看| 欧美麻豆精品久久久久久| 伊人一区二区三区| 色综合久久中文字幕| 成人欧美一区二区三区黑人麻豆| 国产一区二区三区黄视频 | 蜜桃精品视频在线观看| 欧美三级一区二区| 亚洲最新在线观看| 欧美性大战久久| 亚洲va国产天堂va久久en| 欧美日韩国产欧美日美国产精品| 亚洲精品视频在线看| 色呦呦国产精品| 一个色综合av| 制服.丝袜.亚洲.中文.综合| 日韩不卡手机在线v区| 日韩欧美国产1| 国内偷窥港台综合视频在线播放| 精品免费视频一区二区| 狠狠狠色丁香婷婷综合激情 | 日韩亚洲欧美一区二区三区| 日本成人在线电影网| 久久综合精品国产一区二区三区| 国产精品中文欧美| 中文字幕一区二区视频| 色综合咪咪久久| 亚洲综合男人的天堂| 91精品久久久久久久91蜜桃| 国内精品免费**视频| 中文av字幕一区| 色就色 综合激情| 青青青伊人色综合久久| 国产亚洲一区字幕| 欧美精品精品一区| 美女爽到高潮91| 欧美激情一区二区三区| 色婷婷久久99综合精品jk白丝| 天堂一区二区在线免费观看| 欧美成人免费网站| 91视视频在线直接观看在线看网页在线看 | 激情综合网天天干| 国产精品私人自拍| 欧美自拍丝袜亚洲| 激情六月婷婷综合| 亚洲中国最大av网站| 91精品国产丝袜白色高跟鞋| 成人av免费在线| 美日韩一区二区三区| 亚洲男人的天堂av| 久久久久久久久久久久久夜| 日本韩国精品在线| 国产综合色在线视频区| 一区二区三区欧美| 国产亚洲精久久久久久| 欧美日韩1234| 91麻豆蜜桃一区二区三区| 裸体一区二区三区| 一区二区三区高清| 中文字幕精品—区二区四季| 777久久久精品| 91黄视频在线观看| proumb性欧美在线观看| 国产精品一区二区三区网站| 亚洲网友自拍偷拍| 久久色在线观看| 国产精品入口麻豆原神| 欧美精品国产精品| 91麻豆国产精品久久| 精品一区在线看| 免费日本视频一区| 五月天亚洲精品| 亚洲一区在线观看免费| 亚洲天堂中文字幕| 成人欧美一区二区三区小说| 国产日韩成人精品| 久久久国产精华| 久久人人超碰精品| 精品国产乱码久久久久久影片| 欧美一区二区成人| 正在播放亚洲一区| 欧美一区二区三区在线视频| 欧美日高清视频| 欧美日韩国产另类不卡| 在线观看视频91| 欧美性猛片xxxx免费看久爱| 99久久精品免费观看| av午夜精品一区二区三区| 福利视频网站一区二区三区| 国产精品香蕉一区二区三区| 国产一区美女在线| 国产精品系列在线播放| 国产一区二区不卡| 国产成人精品亚洲午夜麻豆| 国产91丝袜在线播放九色| 粉嫩在线一区二区三区视频| 成人午夜视频福利| 99精品视频在线免费观看| 一本在线高清不卡dvd| 欧美三日本三级三级在线播放| 欧美精品久久一区二区三区| 欧美一区二区三区日韩视频| 欧美大片日本大片免费观看| 久久久久久久久久久久久女国产乱 | xnxx国产精品| 国产精品午夜在线观看| 亚洲日本中文字幕区| 亚洲高清免费观看| 久久精品国产第一区二区三区| 久久电影网电视剧免费观看| 国产电影精品久久禁18| 97国产精品videossex| 欧美私模裸体表演在线观看| 欧美一区二区观看视频| 国产亚洲精品免费| 亚洲免费观看高清完整版在线观看熊 | 欧美日韩一区三区四区| 日韩欧美aaaaaa| 亚洲欧美在线观看| 日本不卡中文字幕| 成人精品高清在线| 在线91免费看| 国产精品久久久久精k8 | 亚洲自拍偷拍九九九| 秋霞国产午夜精品免费视频| 国产激情精品久久久第一区二区| 91久久人澡人人添人人爽欧美| 日韩三区在线观看| 国产精品理论在线观看| 人人狠狠综合久久亚洲| 不卡影院免费观看| 日韩情涩欧美日韩视频| 成人免费在线播放视频| 免费在线视频一区| 色8久久精品久久久久久蜜| 欧美精品一区二区三区很污很色的| 综合av第一页| 国产综合一区二区| 欧美男生操女生| 最近日韩中文字幕| 国内成人自拍视频| 欧美日韩免费一区二区三区视频| 国产三级精品视频| 琪琪久久久久日韩精品| 91视视频在线观看入口直接观看www | 日韩欧美一级片| 亚洲精品精品亚洲| 成人永久看片免费视频天堂| 欧美精品一区二区在线观看| 亚洲一区二区三区视频在线| 国产成人精品一区二区三区四区 | 国产精品二三区| 国产一区二区0| 日韩亚洲欧美在线观看| 一区二区三国产精华液| 国产成人在线视频播放| 欧美一级一级性生活免费录像| 亚洲精品少妇30p| 国产91对白在线观看九色| 精品日本一线二线三线不卡| 亚洲国产欧美日韩另类综合 | 丝瓜av网站精品一区二区| 99精品久久久久久| 中文字幕国产精品一区二区| 精品在线播放免费| 日韩美女一区二区三区四区| 日韩国产高清在线| 欧美区视频在线观看| 一区二区三区久久| 欧美伊人久久大香线蕉综合69| 亚洲欧美在线视频观看| 99久久久免费精品国产一区二区| 国产精品三级av| 97久久久精品综合88久久| 中文字幕日韩av资源站| jlzzjlzz亚洲女人18|