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

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

?? mx1-load-rs232.c

?? mx1ads 的bootloader下載程序
?? C
字號:
/*******************************************************************  MX1-Loader - DragonBall M9328/MX1 loader  mx1-load-rs232.c  - RS232 factory ROM bootstrap protocol support  (C) Copyright 2004 by Pavel Pisa - project originator        http://cmp.felk.cvut.cz/~pisa  (C) Copyright 2004 PiKRON Ltd.        http://www.pikron.com    USB support based on work of 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 "rs232_fn.h"#include "universal-load.h"int get_hex(char **p, unsigned *v, int chars){  unsigned u=0;  unsigned char c;  *v=0;  while(**p==' ') (*p)++;  do  { c=**p;    if((c>='0')&&(c<='9')) c-='0';    else if((c>='A')&&(c<='F')) c-=('A'-10);    else {      if(chars>=0) return -1;      *v=u;      return -chars;    }    u<<=4; u+=c;    (*p)++;  } while(--chars);  *v=u;  return 0;};int put_hex(char **p, unsigned long v, int chars){  unsigned char c;  while(chars--){    c=(v>>(4*chars))&0xf;    c+='0';    if(c>'9') c+='A'-'9'-1;    **p=c;    (*p)++;  }  return 0;};int mx1_setup(uniload_alg_info_t *algi){  int fd=algi->dev_fd;  if(rs232_sendf(fd, 0, "a")<0) return -1;  if(rs232_wait_delimit(fd,":",1000)<0){    fprintf(stderr,"No ':' reply\n");  }  rs232_sendch(fd,0xd);  if(rs232_wait_delimit(fd,"\015",1000)<0){    fprintf(stderr,"No new line reply\n");  }  return 0;}int mx1_mem_write(uniload_alg_info_t *algi, int mem_type, unsigned long start, unsigned long len, const char *buff){  int fd=algi->dev_fd;  int res;  char s[(4+1+32)*2];  char *p;  const unsigned char *b;  int blen=31;  int i;  int cnt;  char cr=0xd;    while(len){    cnt=(len>blen)?blen:len;    p=s;    b=buff;    put_hex(&p, start, 8);    put_hex(&p, 0x30*0+0x20*0+cnt, 2);    for(i=0;i<cnt;i++)      put_hex(&p, *(b++), 2);    if((res=rs232_writem(fd, RS232_SF_ECHO, s, p-s))<0){      fprintf(stderr,"write data bytes failed\n");      return -1;    }    if((res=rs232_recch_wait(fd, 100))!='/'){      fprintf(stderr,"write bad reply %c\n",res);      return -1;    }    if((res=rs232_writem(fd, RS232_SF_ECHO, &cr, 1))<0){      fprintf(stderr,"write line end failed\n");      return -1;    }        start+=cnt;    len-=cnt;    buff+=cnt;  }        return 0;}int mx1_mem_read(uniload_alg_info_t *algi, int mem_type, unsigned long start, unsigned long len, char *buff){  int fd=algi->dev_fd;  int res;  char s[(4+1+32)*2];  char *p;  unsigned char *b;  int blen=31;  int i;  int cnt;  unsigned val;  char cr=0xd;    while(len){    cnt=(len>blen)?blen:len;    p=s;    b=buff;    put_hex(&p, start, 8);    put_hex(&p, 0x30*0+0x20*1+cnt, 2);    if((res=rs232_writem(fd, RS232_SF_ECHO, s, p-s))<0){      fprintf(stderr,"read command failed\n");      return -1;    }    if((res=rs232_readm(fd, 1000, s, cnt*2))!=cnt*2){      fprintf(stderr,"read data failed\n");      return -1;    }    p=s;    for(i=0;i<cnt;i++){      if((res=get_hex(&p,&val,2))<0){	fprintf(stderr,"read hex bad format\n");	return -1;      }      *(b++)=val;    }    if((res=rs232_recch_wait(fd, 100))!='/'){      fprintf(stderr,"read bad reply %c\n",res);      return -1;    }    if((res=rs232_writem(fd, RS232_SF_ECHO, &cr, 1))<0){      fprintf(stderr,"write line end failed\n");      return -1;    }    start+=cnt;    len-=cnt;    buff+=cnt;  }        return 0;}int mx1_go_addr(uniload_alg_info_t *algi, unsigned long addr){  int fd=algi->dev_fd;  char s[16];  char *p;  int res;  p=s;  dbprintf("Starting target from %08lX\n", addr);  put_hex(&p, addr, 8);  put_hex(&p, 0x30*0+0x20*0+0, 2);  if((res=rs232_writem(fd, RS232_SF_ECHO, s, p-s))<0){    fprintf(stderr,"go command failed\n");    return -1;  }  if((res=rs232_recch_wait(fd, 100))!='/'){    fprintf(stderr,"go bad reply %c\n",res);    return -1;  }    return 0;}uniload_alg_ops_t mx1_rs232_alg_ops={  .setup=mx1_setup,  .mem_write=mx1_mem_write,  .mem_read=mx1_mem_read,  .go_addr=mx1_go_addr,};int mx1_rs232_open(uniload_alg_info_t *algi, char *sdev, int baud, int mode, int flowc){  int dev_fd;  /* Open RS232 device */  if ((dev_fd = open(sdev, O_RDWR | O_NONBLOCK)) == -1) {    fprintf(stderr,"Cannot open serial device %s\n",sdev);    return -1;  }  /* Set RS232 device mode and speed */  if(rs232_setmode(dev_fd,baud,0,0)<0){    printf("Error in rs232_setmode\n");    close(dev_fd);    return -1;  }  sleep(1);  tcflush(dev_fd, TCIOFLUSH);  sleep(1);  algi->dev_fd=dev_fd;  algi->dev_name=sdev;  algi->alg_ops=&mx1_rs232_alg_ops;    return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本免费在线视频不卡一不卡二| 日本成人中文字幕在线视频| wwwwxxxxx欧美| 91精品国产欧美日韩| 欧美群妇大交群中文字幕| 色香色香欲天天天影视综合网| 国产激情偷乱视频一区二区三区| 卡一卡二国产精品 | 久久 天天综合| 日本aⅴ亚洲精品中文乱码| 日本最新不卡在线| 另类小说一区二区三区| 国产乱国产乱300精品| 成人中文字幕在线| 色综合天天综合| 欧美三区在线视频| 精品日韩av一区二区| 国产日韩欧美一区二区三区乱码 | 一区二区三区在线观看视频| 一级做a爱片久久| 捆绑调教美女网站视频一区| 高清日韩电视剧大全免费| 97精品超碰一区二区三区| 欧美日韩在线播放| 亚洲精品在线免费观看视频| 国产精品视频一二| 日韩一区精品视频| 国产精品一卡二卡在线观看| 91在线国产福利| 日韩一级二级三级| 国产日韩av一区| 天天av天天翘天天综合网 | 在线观看国产精品网站| 91麻豆精品国产91久久久久久| 欧美成人一区二区| 亚洲一区二区三区在线看| 久久精品国产精品亚洲红杏| 91麻豆国产香蕉久久精品| 欧美成人一区二区三区在线观看| 国产精品久久久久一区二区三区 | 欧美在线啊v一区| 日韩欧美国产综合在线一区二区三区| 国产色一区二区| 午夜视频在线观看一区二区三区| 国产精品99久久久久久久女警| 一本色道久久综合亚洲精品按摩| 日韩欧美不卡一区| 夜夜精品浪潮av一区二区三区| 国产一区二区三区| 欧美肥妇bbw| 亚洲激情中文1区| 国产精品白丝jk黑袜喷水| 91精品国产高清一区二区三区蜜臀 | 欧美精品在欧美一区二区少妇| 日本一区二区在线不卡| 久久爱另类一区二区小说| 欧美日韩一区小说| 亚洲精品免费一二三区| 国产aⅴ精品一区二区三区色成熟| 欧美日韩高清在线| 亚洲丝袜另类动漫二区| 国产成人激情av| 久久日一线二线三线suv| 日日骚欧美日韩| 欧美日韩一区二区在线观看视频| 中文字幕日本不卡| caoporn国产精品| 国产精品欧美极品| 成人精品视频.| 国产精品无遮挡| 成人在线综合网站| 中文字幕一区二| eeuss国产一区二区三区| 国产精品久久网站| 成人av免费在线播放| 国产精品福利电影一区二区三区四区| 国产91对白在线观看九色| 久久精品亚洲麻豆av一区二区| 国产综合色在线| 久久久精品天堂| 成人一道本在线| 最新日韩在线视频| 91成人看片片| 日韩电影网1区2区| 2023国产精华国产精品| 国产成人综合精品三级| 亚洲国产精品av| 成年人网站91| 亚洲精品免费在线| 制服丝袜av成人在线看| 麻豆精品视频在线观看免费| 久久婷婷国产综合国色天香| 成人动漫精品一区二区| 亚洲精品免费在线观看| 91.xcao| 国产毛片一区二区| 日韩一区在线免费观看| 欧美日韩国产一级片| 午夜精品免费在线观看| 精品国产乱码久久久久久久| 国产激情视频一区二区三区欧美| 亚洲色图一区二区| 91精品国产综合久久久久久久| 久久综合综合久久综合| 国产精品网站在线| 欧美日韩精品一二三区| 国产久卡久卡久卡久卡视频精品| 国产精品乱子久久久久| 欧美高清视频一二三区| 国产成人午夜99999| 午夜伦理一区二区| 久久亚洲精华国产精华液| 日本国产一区二区| 国产伦精品一区二区三区免费迷| 一区在线观看视频| 337p粉嫩大胆噜噜噜噜噜91av| k8久久久一区二区三区| 激情文学综合丁香| 一区二区高清免费观看影视大全| 日韩一区二区视频在线观看| 色综合天天综合网天天狠天天 | 久久精品国产一区二区| 国产精品成人免费在线| 欧美成人女星排行榜| 91亚洲精品久久久蜜桃| 国产精品1区2区| 免费成人在线观看| 亚洲一区二区综合| 亚洲色欲色欲www| 欧美色视频在线| 成人h动漫精品| 国产一区二区三区四| 视频一区免费在线观看| 自拍偷拍国产精品| 国产欧美日韩精品在线| 欧美一级生活片| 欧美日韩国产成人在线91| 欧美在线|欧美| 色噜噜狠狠色综合欧洲selulu| 丰满白嫩尤物一区二区| 精品一区二区在线播放| 免费高清在线一区| 麻豆精品一区二区综合av| 亚洲高清免费一级二级三级| 亚洲乱码国产乱码精品精小说| 中文字幕精品—区二区四季| 久久久久久亚洲综合影院红桃| 欧美电视剧在线看免费| 日韩欧美国产综合一区 | 亚洲欧美日韩在线不卡| 国产精品三级在线观看| 中文字幕亚洲不卡| 亚洲欧美偷拍另类a∨色屁股| 国产精品三级久久久久三级| 亚洲国产精品成人综合色在线婷婷 | 久久精品国产在热久久| 久久国产人妖系列| 国产一区高清在线| 国产成人在线观看| 成人av在线资源网| 91尤物视频在线观看| 色婷婷综合中文久久一本| 在线观看视频一区| 在线91免费看| 精品久久久网站| 精品国产1区二区| 久久精品夜色噜噜亚洲a∨| 国产精品乱码妇女bbbb| 亚洲品质自拍视频网站| 亚洲18色成人| 久久国产精品区| 国产不卡在线一区| 一本久久a久久精品亚洲| 欧美在线观看视频一区二区三区 | 久久久av毛片精品| 中文字幕日韩一区二区| 午夜精品123| 国产精品一区久久久久| 色婷婷国产精品久久包臀| 欧美狂野另类xxxxoooo| 国产日韩精品一区二区三区| 亚洲视频综合在线| 精品一区二区三区久久久| 99免费精品视频| 欧美日韩久久久| 久久综合中文字幕| 亚洲精品视频自拍| 久久99这里只有精品| 91视频一区二区| 337p粉嫩大胆色噜噜噜噜亚洲 | 麻豆精品在线播放| 91在线看国产| 日韩一区二区三区电影在线观看| 中文久久乱码一区二区| 日韩在线观看一区二区| 92精品国产成人观看免费| 日韩欧美中文字幕制服| 一区二区国产盗摄色噜噜| 国产一区二区看久久| 欧美二区在线观看|