日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HEX文件格式解析(转)

發(fā)布時間:2023/12/15 编程问答 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HEX文件格式解析(转) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Hex格式文件有兩種,一種是Intel的Intel HEX,另一種是Motorola(摩托羅拉)的SREC(又稱MOT)。


Intel HEX 文件是由一行行符合Intel HEX 文件格式的文本所 構(gòu) 成的ASCII 文本文件。在Intel HEX 文件中,每一行包含一 個 HEX 記錄 。 這 些 記錄 由 對應(yīng) 機器 語 言 碼 和/ 或常量 數(shù) 據(jù)的十六 進 制 編碼數(shù) 字 組 成。Intel HEX 文件通常用于 傳輸將 被存于ROM 或者EPROM 中的程序和 數(shù) 據(jù)。大多 數(shù) EPROM 編 程器或模 擬器使用Intel HEX 文件。

Hex文件是可以燒寫到單片機中,被單片機執(zhí)行的一種文件格式,生成Hex文件的方式由很多種,可以通過不同的編譯器將C程序或者匯編程序編譯生成hex。

一般Hex文件通過記事本就可以打開。可以發(fā)現(xiàn)一般Hex文件的記錄格式如下:

Intel HEX 由任意數(shù)量的十六 進 制 記錄組 成。每 個記錄 包含5 個 域, 它們按以下格式排列:

每一組字母 對應(yīng) 一 個 不同的域,每一 個 字母 對應(yīng) 一 個 十六 進 制 編碼 的 數(shù) 字。每一 個 域由至少 兩個 十六 進制 編碼數(shù) 字 組 成, 它們構(gòu) 成一 個 字 節(jié) ,就像以下描述的那 樣:

(1):(冒號)每個Intel HEX 記錄 都由冒 號開頭 ;

(2)LL 是 數(shù) 據(jù) 長 度域, 它 代表 記錄當(dāng) 中 數(shù) 據(jù)字 節(jié) (dd) 的 數(shù)量 ;

(3)aaaa 是地址域, 它代表 記錄當(dāng) 中 數(shù)據(jù)的起始地址;

(4)TT是代表HEX 記錄類 型的域 , 它 可能是以下 數(shù) 據(jù) 當(dāng) 中的一 個:
00 – 數(shù) 據(jù) 記錄(Data Record)
01 – 文件結(jié) 束 記錄(End of FileRecord)
02 – 擴展段地址 記錄(ExtendedSegment Address Record)
03 – 開始段地址 記錄(Start Segment Address Record)
04 – 擴展 線 性地址 記錄(Extended Linear Address Record)
05 – 開始線性地址 記錄(Extended Segment Address Record)

(5)dd 是數(shù) 據(jù)域 , 它 代表一 個 字 節(jié) 的 數(shù) 據(jù). 一 個記錄 可以有 許 多 數(shù) 據(jù)字 節(jié) . 記錄當(dāng) 中 數(shù) 據(jù)字 節(jié) 的 數(shù) 量必 須 和數(shù) 據(jù) 長 度域(ll) 中指定的 數(shù)字相符.

(6)cc 是校驗 和域 , 它 表示 這個記錄 的校 驗 和. 校 驗 和的 計 算是通 過將記錄當(dāng) 中所有十六 進 制 編碼數(shù) 字 對 的 值相加, 以256 為 模 進 行以下 補 足.

表示為:“:[1字節(jié)長度][2字節(jié)地址][1字節(jié)記錄類型][n字節(jié)數(shù)據(jù)段][1字節(jié)校驗和] ”


(TT)具體根據(jù)記錄類型分析如下:

(1)數(shù)據(jù)記錄”00”

Intel HEX文件由任意數(shù) 量以回車換行符結(jié)束的數(shù)據(jù)記錄組成數(shù)據(jù)記錄外觀如下:
:10246200464C5549442050524F46494C4500464C33
其中:10 是這個記錄當(dāng)中 數(shù) 據(jù)字 節(jié) 的 數(shù)量.即0x10 ;
2462 是數(shù)據(jù) 將 被下 載 到存 儲 器 當(dāng)中的地址.即0x2462 ;

00 是記錄類型( 數(shù) 據(jù) 記錄).即0x00 ;
464C…464C是 數(shù)據(jù).分別代表0x46,0x4C… ;
33 是這個記錄的校 驗和即0x33;計算方法如下:256D-(10H+24H+62H+00H+46H+4CH+55H+49H+44H+20H+50H+52H+4FH+46H+49H+4CH+45H+00H+46H+4CH)/100H=33H;

(2)文件結(jié)束(EOF)”01”

Intel HEX文件必須以文件結(jié)束(EOF) 記錄結(jié)束這個記錄的記錄類的值必須是01.EOF 記錄 外 觀總是如下:
:00000001FF
其中:00 是記錄當(dāng)中 數(shù) 據(jù)字 節(jié) 的 數(shù)量.
0000 是數(shù)據(jù)被下載到存儲器當(dāng)中的地址. 在文件結(jié)束記錄當(dāng)中地址是沒有意義,被忽略的.0000h 是典型的地址;
01 是記錄類型 01( 文件 結(jié) 束 記錄)
FF 是 這個記錄 的校 驗 和, 計算方法如下: 256D-(00H+00H+00H+01H)=FFH;

(3)擴展線性地址記錄(HEX386) ”04”

由于每行標(biāo)識數(shù)據(jù)地址的只有2Byte,所以最大只能到64K,為了可以保存高地址的數(shù)據(jù),就有了Extended Linear AddressRecord。如果這行的數(shù)據(jù)類型是0x04,那么,這行的數(shù)據(jù)就是隨后數(shù)據(jù)的基地址。

擴展線性地址記錄也叫作32位地址記錄或HEX386記錄.這些記錄含數(shù)據(jù)的高16位擴展線性地址記錄總是有兩個數(shù)據(jù)字節(jié),外觀如下:
:02000004FFFFFC

其中:02 是這個記錄當(dāng)中 數(shù) 據(jù)字 節(jié) 的 數(shù)量.
0000 是地址域, 對于 擴 展 線 性地址 記錄 , 這個 域 總是0000.
04 是記錄類型 04( 擴 展 線 性地址 記錄)
FFFF 是地址的高16 位.
FC 是這個記錄的校 驗 和, 計算如下: 256D-(02H+00H+00H+04H+FFH+FFH)/100H=FCH;

當(dāng)一 個擴展 線 性地址記錄被讀 取, 存 儲于數(shù)據(jù)域的擴展線性地址被保存,它被應(yīng)于

從 Intel HEX 文件 讀取 來 的 隨 后的 記錄 . 線 性地址保持有效, 到 它 被另外一 個擴址記錄 所改 變。

通 過 把 記錄當(dāng) 中的地址域 與 被移位的 來 自 擴 展 線 性地址 記錄 的地址 數(shù) 據(jù)相加

獲 得 數(shù) 據(jù) 記錄 的 絕對 存 儲器地址。

以下的例子演示了這個過 程:

:0200000480007A //數(shù)據(jù)記錄的絕對存儲器地址高16位為0x8000

:100000001D000A00000000000000000000000000C9

:100010000000000085F170706F0104005D00BD00FC

第一行,是Extended Linear Address Record,里面的數(shù)據(jù),也就是基地址是0x8000,第二行是DataRecord,里面的地址值是0x0000。那么數(shù)據(jù)1D000A00000000000000000000000000(共16個字節(jié))要寫入FLASH中的地址為 (0x8000<< 16)| 0x0000,也就是寫入FLASH的0x80000000這個地址;第三行的數(shù)據(jù)寫入地址為0x80000010.當(dāng)一個HEX文件的數(shù)據(jù)超過64k的時候,文件中就會出現(xiàn)多個Extended Linear Address Record。

(4)擴展段地址記錄(HEX86)“02“

擴展段地址記錄也叫HEX86 記錄 , 它包括4-19 位數(shù)據(jù)地址段. 擴展段地址記總是有兩

個數(shù) 據(jù)字節(jié) , 外觀如下:
:020000021200EA
其中:02 是記錄當(dāng)中 數(shù) 據(jù)字 節(jié) 的 數(shù)量;
0000 是地址域. 對于 擴 展段地址 記錄 , 這個 域 總是0000;
02 是記錄類型 02( 擴 展段地址 記錄);
1200 是地址段;
EA 是這個記錄的校 驗 和;

當(dāng)一 個擴 展段地址 記錄 被 讀 取, 存 儲 于 數(shù) 據(jù)域的 擴 展段地址被保存, 它 被 應(yīng) 用于 從 Intel HEX 文件 讀 取 來的 隨 后的 記錄 . 段地址保持有效, 直到 它 被另外一 個擴 展地址 記錄 所改 變。

通 過 把 記錄當(dāng) 中的地址域 與 被移位的 來 自 擴 展段地址 記錄 的地址 數(shù) 據(jù)相加 獲 得 數(shù) 據(jù) 記錄 的 絕對 存 儲器地址。
以下的例子演示了這個過 程…
來自 數(shù) 據(jù) 記錄地址域的地址 2462
擴展段地址 記錄數(shù)據(jù)域 + 1200
---------
絕對存 儲 器地址 00014462

Intel HEX 文件例子:
下面是一個 完整的Intel HEX 文件的例子:
:10001300AC12AD13AE10AF1112002F8E0E8F0F2244
:10000300E50B250DF509E50A350CF5081200132259
:03000000020023D8
:0C002300787FE4F6D8FD7581130200031D
:10002F00EFF88DF0A4FFEDC5F0CEA42EFEEC88F016
:04003F00A42EFE22CB
:00000001FF


SREC
SREC全稱Motorola S-record,一種文件格式,由摩托羅拉創(chuàng)建的,該文件使用ASCII HEX文件格式表達二進制信息。這種格式也叫做SRECORD, SREC, S19, S28, S37。通常用于微控制器編程,EPROMs和其他可編程的邏輯器件。在通常的應(yīng)用中,編譯器或匯編器將程序的源代碼(如C語言或匯編語言)轉(zhuǎn)換成機器代碼,并將其輸出到一個HEX文件。然后這個HEX文件被程序員燒寫到ROM中,或者轉(zhuǎn)移到目標(biāo)系統(tǒng)用于裝載和執(zhí)行。
//SREC格式

//第一行數(shù)據(jù)
S0 0F 0000 636B3631302D6C2E73686578 0C
//行數(shù)據(jù)
S2 08 010000 FFFFFFFF FA
S3 15 08640000 6C0264086C0264086C0264086C026408 16
S5 03 0002 FA
S7 05 08640214 78

SREC文件一行為單位,分為5個部分。分別是記錄類型域、字節(jié)數(shù)域、地址域、數(shù)據(jù)域、校驗域。

第一部分類型域是SREC文件的起始標(biāo)志,代表該行的類型,必須已S開始,值可以是從S0到S9;


第二部分字節(jié)數(shù)域是每行記錄的長度,地址域、數(shù)據(jù)域、校驗域三個域的長度,單位為字節(jié)數(shù)。

第三部分地址域,該域的長度取決于第一部分類型域。

第四部分數(shù)據(jù)域,該自動長度=字節(jié)數(shù)域的值-地址域長度-1(校驗域長度)

第五部分校驗域,該域長度為1byte(16-bit),校驗方法是:除了類型域的值其他十六進制值每兩個一組相加結(jié)果末兩位為0xFF。


讀取代碼:
QT語言

#include<stdio.h> #include<stdlib.h> #include<QDebug> #include<QString> #include<QByteArray> #include<QDebug> #include<QFile> #include<QDataStream>static char pq=9; //規(guī)范代碼/****16進制的數(shù)據(jù)類型*****/ const QString HexTypeTable[6] = {"00","01","02","03","04","05", };/****配套數(shù)據(jù)類型使用的枚舉變量*****/ typedef enum __tagHexType {RECORD_DATA = 0,RECORD_END_OF_FILE,RECORD_EXTENDED_SEGMENT_ADDRESS,RECORD_START_SEGMENT_ADDRESS,RECORD_EXTENDED_LINEAR_ADDRESS,RECORD_START_LINEAR_ADDRESS,RECORD_HEX_MAX, }emHexType;typedef enum Boolsymbol {DATA_Flase = 0,DATA_Ture }BoolTureFlase;//定義字符串的類型格式 typedef struct StringTypes {char Firstsymbolis;char StringCrcis;char StringSizeis;char StringResultis;char StringType;//QString BaseAddress; }StringType;static StringType StringTypeLine={DATA_Ture,DATA_Ture,DATA_Ture,DATA_Ture,RECORD_DATA}; //定義字符串的類型格式/****函數(shù)聲明*********/ QString AnalyseHEX(QByteArray dest); int mystrlen(const char *StrDest); int HexToDec(char *src); QString QStringLeftBit(QString src,int num); QString QStringToAdd(QString dest,QString src); StringType FormatHexjudge(QByteArray src); QString BaseAddjudge(QByteArray src); void ReadWrite(QString filenameread,QString filenameWrite);/****計算字符串長度*****/ int mystrlen(const char *StrDest) {int i;i=0;while((*StrDest++)!='\0'){i++;}//這個循環(huán)體意思是從字符串第一個字符起計數(shù),只遇到字符串結(jié)束標(biāo)志'\0’才停止計數(shù)return i; }/****16進制轉(zhuǎn)換10進制*****/ int HexToDec(char *src) {//將src中的無符號十六進制字符串轉(zhuǎn)為十進制數(shù)//如src="001A",則返回26//字符串src需要以'\0'作為結(jié)束標(biāo)志int value=0,srclen=mystrlen(src);int i;for(i=0;i<srclen;i++){if(src[i]<='9'&&src[i]>='0'){value=value*16+(int)(src[i]-'0'); //'0'}else if(src[i]<='f'&&src[i]>='a'){value=value*16+(int)(src[i]-'a'+10);}else{value=value*16+(int)(src[i]-'A'+10);}}return value;//返回轉(zhuǎn)換后的數(shù)值 }/****字符串效驗*返回效驗的十進制數(shù)用來與字符串后兩位做比較****/ QString AnalyseHEX(QByteArray dest) {unsigned char i=1;int tempsum=0; //必須初始化,否則亂碼QString stype;QString ZERO="0";QString Date0x100="100";QString result;do{stype = dest.mid(i,2); //轉(zhuǎn)換成10進制運算后,再轉(zhuǎn)換成十六進制printf(" %d",HexToDec(stype.toLatin1().data()));tempsum+=HexToDec(stype.toLatin1().data());i+=2;} while (i<(mystrlen(dest)-2));/***HEX計算公式(0x100-(16進制數(shù)據(jù)和后兩位))再取后兩位=字符串后兩位*****/result=QString::number((HexToDec(Date0x100.toLatin1().data())-HexToDec(QString::number(tempsum,16).right(2).toLatin1().data())),16);if(result.size()<2){int count=2-result.size();//printf("count=2-result.right(2).size()=%d\n",count);while(count-->0){result.insert(0,ZERO);}}//qDebug()<<"result.right(2).toUpper()"<<result.right(2).toUpper();return result.right(2).toUpper();}/***0613*****字符串左移num位*****************/QString QStringLeftBit(QString src,int num) //{QString zero="0";while(num-->0){src.insert(src.size()-2,zero); //末尾位加零src.remove(0,1); //刪除起始位}return src;}/***0613*****字符串以十六進制的形式轉(zhuǎn)換成十進制相加,然后轉(zhuǎn)換成十六進制的字符串形式輸出*****/QString QStringToAdd(QString dest,QString src){QString ResultDate;QString ZERO="0";int num1,num2,ans;int count;bool ok;num1=dest.toInt(&ok,16); //轉(zhuǎn)換成10進制num2=src.toInt(&ok,16);ans=num1+num2;ResultDate=QString::number(ans,16);/**判斷結(jié)果字符串與輸入的兩個字符串的最大差值,用于給結(jié)果字符串補零***/(dest.size()-ResultDate.size()>src.size()-ResultDate.size())?count=dest.size()-ResultDate.size():count=src.size()-ResultDate.size();while(count-->0){ResultDate.insert(0,ZERO);}return ResultDate.toUpper();//十進制轉(zhuǎn)換成Qstring的形式輸出 toUpper() //轉(zhuǎn)換成大寫字母}/****文件格式類型判斷,有錯誤打印,返回值為基地址******/ StringType FormatHexjudge(QByteArray src) //QString *resultBaseAddres {QByteArray resultString=":00000001FF";static uint32_t count_num=0;count_num++;/******驗證一下傳入的數(shù)據(jù)***********/char *pcdata = src.data();//printf("Length of src:%d\n",mystrlen(src)); //打印傳入數(shù)據(jù)大小while(*pcdata){//printf("%c",*pcdata); //打印原始數(shù)據(jù)++pcdata;}//printf("\n");if(src.left(1)!=":"){//不是以":"開始StringTypeLine.Firstsymbolis=DATA_Flase;printf("Format FirstSymbol wrong!\n");system("Pause");}else{StringTypeLine.Firstsymbolis=DATA_Ture;}if(strlen(src)<11){//字符串長度小于11printf("Format length wrong!\n");system("Pause");}else{StringTypeLine.StringSizeis=DATA_Flase;}if(strcmp(src,resultString)==0){//結(jié)束標(biāo)志StringTypeLine.StringResultis=DATA_Ture;printf("End of file\n");}else{StringTypeLine.StringResultis=DATA_Flase;}if(src.right(2)!= AnalyseHEX(src)) //字符效驗{StringTypeLine.StringCrcis=DATA_Flase; //字符效驗失敗printf("\nSerialcount is wrong in Address=%d\n",count_num);printf("XiaoYan_cc:%c%c\n",*src.right(2).data(),*(src.right(2).data()+1));printf("\nXiaoYan_calcu_int:%d\n",AnalyseHEX(src).toInt());printf("XiaoYan_read_int:%d\n",HexToDec(src.right(2).data())); //讀出來的效驗值system("Pause"); //如果效驗值錯誤,暫停界面}else{StringTypeLine.StringCrcis=DATA_Ture; //字符效驗正確//printf("\nFormat Effect Vaild!!!!!\n");while(mystrlen(src)-2>pq) //打印完所有的數(shù)據(jù){QString st = src.mid(pq,2);pq+=2;printf("%c%c ",*st.toLatin1().data(),*(st.toLatin1().data()+1));}}/****判斷數(shù)據(jù)類型****/QString stringtype = src.mid(7,2);//printf("\nstringtype: %c%c\n",*stringtype.toLatin1().data(),*(stringtype.toLatin1().data()+1));if(stringtype==HexTypeTable[RECORD_DATA]){ //00正常數(shù)據(jù)類型StringTypeLine.StringType=RECORD_DATA;QString styadd = src.mid(3,4);/****只是分割字符串****/// printf("styadd:%c%c%c%c\n",*styadd.toLatin1().data(),*(styadd.toLatin1().data()+1),*(styadd.toLatin1().data()+2),*(styadd.toLatin1().data()+3));}else if (stringtype==HexTypeTable[RECORD_END_OF_FILE]){ //01 用來標(biāo)識文件結(jié)束StringTypeLine.StringType=RECORD_END_OF_FILE;printf("RECORD_END_OF_FILE\n ");}else if (stringtype==HexTypeTable[RECORD_EXTENDED_LINEAR_ADDRESS]) //TODO:只需要判斷一次{ //04 擴展線性地址記錄StringTypeLine.StringType=RECORD_EXTENDED_LINEAR_ADDRESS;printf("RECORD_EXTENDED_LINEAR_ADDRESS \n");QString styadd = src.mid(3,4);QString styaddsub = src.mid(9,4); //字符串拼接styadd.insert(0,styaddsub);//printf("StyaddSub04:%c%c%c%c%c%c%c%c\n",*styadd.toLatin1().data(),*(styadd.toLatin1().data()+1),// *(styadd.toLatin1().data()+2),*(styadd.toLatin1().data()+3),*(styadd.toLatin1().data()+4),*(styadd.toLatin1().data()+5),*(styadd.toLatin1().data()+6),*(styadd.toLatin1().data()+7));//system("Pause");}else if(stringtype==HexTypeTable[RECORD_EXTENDED_SEGMENT_ADDRESS]){ //02 擴展段地址記錄StringTypeLine.StringType=RECORD_EXTENDED_SEGMENT_ADDRESS;printf("RECORD_EXTENDED_SEGMENT_ADDRESS\n");}else if(stringtype==HexTypeTable[RECORD_START_LINEAR_ADDRESS]){ //05 開始線性地址記錄StringTypeLine.StringType=RECORD_START_LINEAR_ADDRESS;printf("RECORD_START_LINEAR_ADDRESS\n");}else if(stringtype==HexTypeTable[RECORD_START_SEGMENT_ADDRESS]){ //03 開始段地址記錄StringTypeLine.StringType=RECORD_START_SEGMENT_ADDRESS;printf("RECORD_START_SEGMENT_ADDRESS\n");system("Pause"); //如果遇到03則暫停,預(yù)留處理03的代碼 (0613/還未遇到)}return StringTypeLine; }/******判斷基地址**如果數(shù)據(jù)類型為04調(diào)用*******/ QString BaseAddjudge(QByteArray src) {QString resultBaseAddres;QString stringtype = src.mid(7,2); /****判斷數(shù)據(jù)類型****/if (stringtype==HexTypeTable[RECORD_EXTENDED_LINEAR_ADDRESS]) //TODO:只需要判斷一次RECORD_EXTENDED_LINEAR_ADDRESS{ //04 擴展線性地址記錄QString styadd = src.mid(3,4);QString styaddsub = src.mid(9,4); //字符串拼接styadd.insert(0,styaddsub);printf("StyaddSub04:%c%c%c%c%c%c%c%c\n",*styadd.toLatin1().data(),*(styadd.toLatin1().data()+1),*(styadd.toLatin1().data()+2),*(styadd.toLatin1().data()+3),*(styadd.toLatin1().data()+4),*(styadd.toLatin1().data()+5),*(styadd.toLatin1().data()+6),*(styadd.toLatin1().data()+7));return styadd;}if (stringtype==HexTypeTable[RECORD_EXTENDED_SEGMENT_ADDRESS]) //TODO:只需要判斷一次RECORD_EXTENDED_LINEAR_ADDRESS{ //02 擴展段地址記錄QString Basezer0 = "0000";QString styaddsub = src.mid(9,4); //字符串拼接Basezer0.insert(4,styaddsub);Basezer0=QStringLeftBit(Basezer0,1);printf("StyaddSub02:%c%c%c%c%c%c%c%c\n",*Basezer0.toLatin1().data(),*(Basezer0.toLatin1().data()+1),*(Basezer0.toLatin1().data()+2),*(Basezer0.toLatin1().data()+3),*(Basezer0.toLatin1().data()+4),*(Basezer0.toLatin1().data()+5),*(Basezer0.toLatin1().data()+6),*(Basezer0.toLatin1().data()+7));return Basezer0; //在02數(shù)據(jù)類型的方式下需要左移一位}return resultBaseAddres; }/****新字符串拼接*****/ QString FormatTranQARRYbyte(QByteArray src) {char count=9;char newcount=10;QString ResultDate;static QString resultBaseAddress="00000000"; //static 修飾只初始化一次 //0x08000000QString space=" ";StringTypeLine=FormatHexjudge(src);if(StringTypeLine.StringCrcis==DATA_Ture) //如果效驗碼正確{if(StringTypeLine.StringType==RECORD_EXTENDED_LINEAR_ADDRESS) //如果是擴展性數(shù)據(jù)類型 04{resultBaseAddress=BaseAddjudge(src); //接收擴展地址qDebug()<<"resultBaseAddress"<<resultBaseAddress;}if(StringTypeLine.StringType==RECORD_EXTENDED_SEGMENT_ADDRESS) //如果是段數(shù)據(jù)類型 02{resultBaseAddress=BaseAddjudge(src);qDebug()<<"resultBaseAddress"<<resultBaseAddress;}ResultDate=resultBaseAddress; //第一個是地址ResultDate=QStringToAdd(ResultDate,src.mid(3,4)); //基地址和絕對地址相加if(StringTypeLine.Firstsymbolis==DATA_Ture) //如果字符串的第一個符號是“:”{ResultDate.insert(8,src.left(1)); //插入符號ResultDate.insert(9,space);}while(mystrlen(src)-2>count) //打印完所有的數(shù)據(jù){ResultDate.insert(newcount,src.mid(count,2));newcount=newcount+3;ResultDate.insert(newcount,space);count=count+2;}if(StringTypeLine.StringType==RECORD_DATA) //當(dāng)數(shù)據(jù)類型為00的時候才打印{printf("\n");qDebug()<<"ResultDate "<<ResultDate<<endl<<endl<<endl;}}return ResultDate; }#if 0 /***按行讀取HEX文件并進行處理*****/ void read(QString filename){QFile file(filename);if(!file.open(QFile::ReadOnly | QFile::Text)){qDebug() << " Could not open the file for reading";return;}QTextStream in(&file);while(!in.atEnd()){QString myText = in.readLine();QString str(myText);QByteArray bytes = str.toLatin1(); //Qstring 轉(zhuǎn) QByteArrayqDebug() << bytes;FormatTranQARRYbyte(bytes);printf("\n\n\n");}file.close();}/***按行讀取HEX文件并進行處理*****/ void Write(QString filename) {QFile file(filename);if(!file.open(QFile::WriteOnly | QFile::Text)){qDebug() << " Could not open the file for reading";return;}//QTextStream stream(&file);//stream.seek(file.size());QString resultString=":00000001FF\n";QString EnterResul="\n";QByteArray AER=":10246200464c5549442050524f46494c4500464c33";file.write(FormatTranQARRYbyte(AER).toUtf8());file.write(EnterResul.toUtf8());file.write(resultString.toUtf8());file.close();return; } #endif/***按行讀取HEX文件并進行處理*****/ void ReadWrite(QString filenameread,QString filenameWrite){QString EnterResul="\n";QFile fileread(filenameread);if(!fileread.open(QFile::ReadOnly | QFile::Text)){qDebug() << " Could not open the file for reading";return;}QFile filewrite(filenameWrite);if(!filewrite.open(QFile::WriteOnly | QFile::Text)){qDebug() << " Could not open the file for reading";return;}QTextStream in(&fileread);while(!in.atEnd()){QString myText = in.readLine();QString str(myText);QByteArray bytes = str.toLatin1(); //Qstring 轉(zhuǎn) QByteArrayqDebug() << bytes;QString ResultText;ResultText=FormatTranQARRYbyte(bytes);if(StringTypeLine.StringType==RECORD_DATA) //只將數(shù)據(jù)類型為 00 的字符串寫入{filewrite.write(ResultText.toUtf8()); //寫入數(shù)據(jù)filewrite.write(EnterResul.toUtf8()); //寫入回車}printf("\n");}fileread.close();filewrite.close();}/**0613生成成功**/ int main() {QString filename = "C:/Users/Administrator/Desktop/HEX2/VCU_S32K14X.hex";//QString filename = "C:/Users/Administrator/Desktop/HEX2/Projec.hex";QString filewritename = "C:/Users/Administrator/Desktop/HEX2/Pro1.hex";//QByteArray AER=":020000040800F2";// QByteArray AER=":105CC00010831C46234618465DF8044B704708B500";//FormatTranQARRYbyte(AER);ReadWrite(filename,filewritename);}

C#語言
頭文件

#ifndef CHEX_H #define CHEX_H#include <QFile>const quint8 MIN_HEX_LINE_COUNT_LENGHT = 12;typedef enum __tagHexErrorCode {HEX_NO_ERROR = 0,HEX_FORMAT_ERROR,HEX_VERIFY_ERROR,HEX_LENGHT_ERROR,HEX_USERPAPR_EEROR, }EHexErrorCode;typedef enum __tagHexType {RECORD_DATA = 0,RECORD_END_OF_FILE,RECORD_EXTENDED_SEGMENT_ADDRESS,RECORD_START_SEGMENT_ADDRESS,RECORD_EXTENDED_LINEAR_ADDRESS,RECORD_START_LINEAR_ADDRESS,RECORD_HEX_MAX, }emHexType;typedef struct __tagHexLineData {emHexType type;quint8 count;quint32 address;quint8 data[80];quint8 checksum;quint8 datalen; }stHexLineData;class CHex { public:CHex();EHexErrorCode getHexLineData(QByteArray bydata,stHexLineData *p); private:char ConvertHexChar(char ch); };#endif // CHEX_H

源文件

#include "chex.h"const QString HexTypeTable[6] = {"00","01","02","03","04","05", };CHex::CHex() {}char CHex::ConvertHexChar(char ch) {if((ch >= '0') && (ch <= '9'))return (ch-0x30);else if((ch >= 'A') && (ch <= 'F'))return ((ch-'A')+10);else if((ch >= 'a') && (ch <= 'f'))return ((ch-'a')+10);else return (-1); }EHexErrorCode CHex::getHexLineData(QByteArray bydata,stHexLineData *p) {quint8 i = 0;quint8 cs_temp = 0;QString str(bydata);char *pcdata = bydata.data();quint32 linelen = str.size();if((linelen < MIN_HEX_LINE_COUNT_LENGHT)) {return HEX_LENGHT_ERROR;}if(*pcdata != 0x3A) {return HEX_FORMAT_ERROR;}//必須以":"號開始//獲取TypeQString stype = str.mid(7,2);for(i = 0; i < RECORD_HEX_MAX; i++){if(stype == HexTypeTable[i]){p->type = (emHexType)i;break;}}if(i == RECORD_HEX_MAX) {qDebug("HEX_FORMAT_ERROR");return HEX_FORMAT_ERROR;}cs_temp += (ConvertHexChar(*(pcdata + 7)) << 4) | ConvertHexChar(*(pcdata + 8));//獲取countp->count = (ConvertHexChar(*(pcdata + 1)) << 4) | ConvertHexChar(*(pcdata + 2));cs_temp += p->count;if(p->count != (((linelen - 2) / 2) - 5)) {qDebug("HEX_FORMAT_ERROR");return HEX_FORMAT_ERROR;}//獲取addressp->address = (ConvertHexChar(*(pcdata + 3)) << 12) | (ConvertHexChar(*(pcdata + 4)) << 8) | (ConvertHexChar(*(pcdata + 5)) << 4) | ConvertHexChar(*(pcdata + 6));cs_temp += (p->address >> 8) & 0xFF;cs_temp += p->address & 0xFF;//獲取datafor(i = 0; i < p->count; i++){p->data[i] = (ConvertHexChar(*(pcdata + 2*i + 9)) << 4) | ConvertHexChar(*(pcdata + 2*i + 10));cs_temp += p->data[i];}p->checksum = (ConvertHexChar(*(pcdata + 2*i + 9)) << 4) | ConvertHexChar(*(pcdata + 2*i + 10));if(p->checksum != ((0x100 - cs_temp) & 0xFF)){qDebug("HEX_VERIFY_ERROR");return HEX_VERIFY_ERROR;}p->datalen = p->count;return HEX_NO_ERROR; }

總結(jié)

以上是生活随笔為你收集整理的HEX文件格式解析(转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

国产精品久久嫩一区二区免费 | 9999精品免费视频 | www.色午夜,com | 人人爽人人 | 激情婷婷综合网 | 中文av在线免费观看 | 亚洲精品 在线视频 | 九九免费在线观看 | 一区二区三区国产精品 | 美女网站免费福利视频 | 在线成人av | 黄色片视频免费 | www.国产在线视频 | 日本在线观看中文字幕无线观看 | 欧美福利网址 | 中文字幕影视 | 在线一区观看 | 91精品视频在线看 | 国产高清av免费在线观看 | 日韩免费视频在线观看 | 丁香婷五月 | 欧美综合久久久 | 亚洲欧洲日韩 | 日韩三级成人 | 久久综合婷婷综合 | 欧美日韩高清一区二区三区 | 国产精品一区二区电影 | 国产精品视频免费观看 | 欧美成年人在线视频 | 久久爱导航 | 久草在线最新 | 丁香五香天综合情 | www.久久色 | 国产精品精 | 麻豆影视在线免费观看 | 久久久久久久久综合 | 欧美激情xxxx | 日日碰狠狠躁久久躁综合网 | 国产精品一区二区三区久久 | 操操操天天操 | jizz999| 91麻豆看国产在线紧急地址 | 亚洲精品免费在线播放 | 亚洲精品国产精品久久99 | 日韩欧美高清一区二区 | 一区二区精品在线视频 | 国内一级片在线观看 | 精品99久久 | 中文字幕av免费在线观看 | 日本精品中文字幕在线观看 | 国产精品黄色在线观看 | 插久久| 在线观看免费成人av | 久久综合九色综合久99 | 久久亚洲私人国产精品 | 国产精品12 | 成年人黄色免费网站 | 欧美精品久久天天躁 | 99久久日韩精品免费热麻豆美女 | 亚洲人成在线观看 | 亚洲国产高清在线观看视频 | 欧美色综合天天久久综合精品 | 青青河边草观看完整版高清 | 久久人人爽| 亚洲精品动漫成人3d无尽在线 | 中文字幕黄色 | 国产一级a毛片视频爆浆 | 麻豆免费在线视频 | 97伊人网| www.在线观看视频 | 色婷婷欧美 | 很污的网站 | 久久国产剧场电影 | 国产精品久久久久久久久久久免费看 | 精品国产一区二区三区久久久蜜臀 | 国产在线免费观看 | 日韩毛片精品 | 尤物九九久久国产精品的分类 | 亚洲少妇xxxx | 91夫妻自拍| 国产美女黄网站免费 | 91福利免费 | 国产精品资源 | 国产一区二区精品久久 | 免费日韩 精品中文字幕视频在线 | 2022国产精品视频 | 国产精品原创 | 国产精品一区二区电影 | 四虎在线免费观看 | 在线观看日韩一区 | 成人av电影免费在线播放 | 婷婷精品| 午夜电影av| 精品久久久久久国产偷窥 | 婷婷久久久久 | 国产精品久久久久免费观看 | 国产精品18久久久久久不卡孕妇 | 日韩中文字幕免费视频 | 国产一级视频在线 | 精品国模一区二区 | 狠狠久久 | 国产91国语对白在线 | 天天干天天天 | av线上免费看 | 99久久影视| 一级精品视频在线观看宜春院 | 色黄久久久久久 | 精品国产乱码久久久久 | 黄色免费网站下载 | 在线看片日韩 | 一区二区三区韩国免费中文网站 | 午夜精品视频福利 | 午夜天使 | 成人免费 在线播放 | 久久国产露脸精品国产 | 天天天天天天干 | 国产亚洲在线 | 久久激五月天综合精品 | 九九热视频在线免费观看 | 超碰av在线免费观看 | 久久精品99精品国产香蕉 | 五月婷婷在线视频观看 | 美女av在线免费 | 制服丝袜亚洲 | 亚洲精品在线国产 | 欧美一区二区三区不卡 | 伊人www22综合色 | 午夜久久福利视频 | 午夜的福利 | 久久久久久久久久网 | 色激情五月 | 日韩艹| 成人亚洲精品国产www | 日韩欧美69 | 91av视频导航 | 一级免费片 | 五月婷婷播播 | 久久综合操 | 欧美精品成人在线 | 国产精品亚洲人在线观看 | 五月天综合网站 | 人人爽人人爽人人爽学生一级 | 欧美日韩亚洲在线观看 | 在线有码中文字幕 | 久久免费看毛片 | 成人av电影在线播放 | av在线播放国产 | 中文字幕在线国产精品 | 在线观看日韩中文字幕 | 日日干日日 | 亚洲乱码精品久久久 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 久久久久久高潮国产精品视 | www.一区二区三区 | 91亚洲视频在线观看 | 中文字幕在线网 | 国产成人av片 | 国内精品久久久久影院一蜜桃 | 人人插人人爱 | 在线蜜桃视频 | 国产精品黑丝在线观看 | 国产精品久久久久三级 | 麻豆影视在线观看 | 五月婷婷电影网 | 国产美女搞久久 | 亚洲天天综合 | 精品久久久久久国产91 | 操操操综合 | 色欲综合视频天天天 | 狠狠色丁香久久婷婷综合五月 | 天无日天天操天天干 | 国产精品美女久久久久久免费 | 亚洲精品免费观看 | 日韩免 | 国产亚州精品视频 | 国产精品91一区 | 国产特级毛片aaaaaa高清 | 天天爽天天爽夜夜爽 | 精品99免费| 欧美一区二区日韩一区二区 | 久久99网站 | 五月婷视频 | 免费成人在线观看 | 97视频资源| 欧美美女激情18p | 九九久久久久99精品 | 一区 二区 精品 | 一区二区不卡在线观看 | 好看av在线 | 日本中文在线播放 | 一本一本久久a久久精品综合 | www.天天操 | 午夜国产在线 | 欧美精品久久久久久久 | 亚洲天堂色婷婷 | 亚洲专区路线二 | 五月婷香蕉久色在线看 | 日韩精品在线播放 | 久久国产网站 | 在线观看91精品国产网站 | 亚洲黄色免费观看 | 成人av av在线 | 免费亚洲黄色 | 亚洲四虎 | www.久艹 | 亚洲精品美女在线观看 | 操久在线 | 九九免费精品视频 | 91漂亮少妇露脸在线播放 | 中文超碰字幕 | 国产一级免费观看 | 久久有精品 | 国产成人亚洲在线观看 | 国语精品免费视频 | 成人一区在线观看 | 久久精品久久久久电影 | 亚洲黄色成人av | 国产97av| 九九在线国产视频 | 日韩中文字幕免费在线观看 | 亚洲最大在线视频 | 久日精品| 日韩高清一区二区 | 亚洲精品高清一区二区三区四区 | 久久精品一区二区三区中文字幕 | 黄色网址中文字幕 | 婷婷色中文网 | 国产精品一区二区久久精品爱涩 | 国产污视频在线观看 | 国产精品片 | 成人三级黄色 | 97视频入口免费观看 | 国产黄色看片 | 亚洲干视频在线观看 | 欧美在线free | 久操操| 亚洲最新在线视频 | 日本精品免费看 | 亚洲精品久久久蜜臀下载官网 | 日本二区三区在线 | 成人av免费 | 国产精品中文久久久久久久 | 久久久久久久免费看 | 免费看在线看www777 | 婷婷丁香激情五月 | 国产91免费在线 | 综合网伊人| 久久久亚洲网站 | 在线av资源| 久久免费看 | 国产99久久九九精品免费 | 91天堂影院 | 91精品国产91久久久久福利 | av免费看av| 精品福利av | 久久久久二区 | 日韩免费电影 | 国产精品成人自产拍在线观看 | 日韩电影中文字幕 | 欧美日韩91| 国产成人不卡 | 亚洲高清不卡av | 久久手机免费观看 | 国产精品无av码在线观看 | 婷婷九九 | 久久综合九色99 | 免费在线观看污网站 | 久久人操| 精品国产一区二区三区久久久久久 | 精品国产一区二区三区久久久蜜月 | 91丨九色丨首页 | 欧美一区二视频在线免费观看 | 全黄网站| 国产91精品久久久久 | 亚洲理论片在线观看 | 狠狠的干狠狠的操 | 国产无限资源在线观看 | 成人一区二区在线观看 | 99久久精品免费看国产免费软件 | 99免费在线观看 | 五月天婷婷综合 | 免费观看的黄色片 | 国内综合精品午夜久久资源 | 一级片视频在线 | 亚洲天堂在线观看完整版 | 国产亚洲一区 | 黄色精品免费 | 国产精品国产自产拍高清av | 在线а√天堂中文官网 | 国产精品福利一区 | www操操操| 免费三级av | 97在线精品国自产拍中文 | 久久99这里只有精品 | www178ccom视频在线 | 国产精品美女在线 | 成人免费 在线播放 | 福利网在线 | 中文一区二区三区在线观看 | 又粗又长又大又爽又黄少妇毛片 | 成人精品视频久久久久 | 欧美巨大荫蒂茸毛毛人妖 | 国产亚洲午夜高清国产拍精品 | 成人免费网站视频 | 亚洲免费永久精品国产 | 久久怡红院| av在线播放中文字幕 | 97超碰伊人 | 久久精品草 | 免费日韩一级片 | 一区二区欧美日韩 | 狠狠狠色丁香婷婷综合激情 | 久久精品99国产精品 | 亚洲欧洲一区二区在线观看 | 日韩a级黄色片 | 精品久久久久久电影 | 久章操| 91 中文字幕 | 国产精品久久久久久久久久 | 97视频在线看 | 中文字幕av全部资源www中文字幕在线观看 | 欧美在线a视频 | 国产v欧美 | 在线激情电影 | 网站在线观看日韩 | 91视频免费播放 | 欧美高清成人 | 亚洲成人精品久久 | a色视频 | 欧美一级片免费在线观看 | 天天躁天天躁天天躁婷 | 青春草视频 | 成片免费观看视频999 | 一区二区三区高清不卡 | 超碰夜夜| 亚洲成人资源网 | 国产亚洲视频系列 | 美女网站在线看 | 天天操天天干天天玩 | avove黑丝| 亚洲精品在线观看的 | 91精品导航 | 香蕉网在线观看 | 超碰在线人人草 | 久草在线免费看视频 | 99久久影视| 久久久99精品免费观看app | 日本久久久久久久久久久 | 91免费观看网站 | 婷婷亚洲综合五月天小说 | 亚洲欧美日韩精品一区二区 | 成人影片在线播放 | 国产福利小视频在线 | 亚洲伦理中文字幕 | 国产成人三级在线播放 | 美女视频黄免费的 | 国产精品久久久久免费a∨ 欧美一级性生活片 | www.夜夜操.com | 欧美精品在线视频 | 中文字幕美女免费在线 | 精品国产一区二区三区久久影院 | 亚洲精品国产日韩 | 国产黄色精品在线 | 精品久久久久久国产 | 久草视频在线看 | 91人人视频在线观看 | 免费福利在线播放 | 亚洲在线视频播放 | 久久福利剧场 | 亚洲 成人 欧美 | 久久精品美女 | 免费三级网 | 福利视频导航网址 | 6080yy午夜一二三区久久 | 91在线精品播放 | 久久99久久久久久 | 男女激情免费网站 | 黄色1级大片 | 国产96av | 午夜精品一区二区三区在线播放 | 91亚洲视频在线观看 | 久久人人爽人人爽 | 日韩欧美电影在线 | 亚洲va欧美va人人爽 | 日韩欧美在线中文字幕 | 毛片3| 一本一道久久a久久精品 | 欧美日韩视频一区二区三区 | 91九色pron| 日本一区二区免费在线观看 | 国产一级片播放 | 亚洲最大成人免费网站 | 在线视频日韩一区 | 色橹橹欧美在线观看视频高清 | 亚洲精品麻豆视频 | 91手机在线看片 | 久久久精品视频成人 | 欧美日韩亚洲一 | 亚洲精品成人av在线 | 国产91免费在线观看 | 久久99免费观看 | 在线观看成人一级片 | 黄色大片中国 | 麻豆视频国产精品 | 97视频播放| av在线com| 欧洲色吧| 在线日韩中文字幕 | 久久久国产精品免费 | 国产精品午夜久久 | 免费在线国产 | 欧美看片 | 最新av电影网站 | 综合网成人 | 日韩中文字幕国产 | 日本九九视频 | 日本69hd| 欧美做受高潮 | 91人人射| 国产精品黄色 | 成人国产精品久久久久久亚洲 | 六月婷操| 久久1区 | 国产精品久久网 | 久草视频在 | 91中文在线观看 | 中文字幕专区高清在线观看 | 亚洲 欧美变态 另类 综合 | 国产精品免费在线 | 久久精品国产第一区二区三区 | 99久久婷婷国产一区二区三区 | 波多野结衣电影一区二区三区 | 免费三级a | 成人免费视频观看 | 国产视频在线免费 | 日本视频久久久 | 韩国中文三级 | 天天久久综合 | 黄色大片视频网站 | av在线播放快速免费阴 | 黄色免费观看网址 | 日韩理论电影在线观看 | 菠萝菠萝在线精品视频 | 欧美91成人网| 激情婷婷六月 | 免费a网址 | 久久成人亚洲欧美电影 | 亚洲国产精品成人综合 | 在线成人免费 | 青青草国产免费 | 国产一级a毛片视频爆浆 | 日韩午夜电影网 | 激情综合狠狠 | 国产又粗又硬又爽的视频 | 久久久久综合精品福利啪啪 | 国产亚洲日本 | 国产成人99久久亚洲综合精品 | 在线观看成人 | 久久久麻豆精品一区二区 | 99精品久久久久久久 | 偷拍视频一区 | 欧日韩在线视频 | 波多野结衣电影一区二区 | 午夜美女av | 夜色资源站国产www在线视频 | 久久久久久久久久久精 | 视频 国产区 | 美女视频黄网站 | www色网站| 国产精品毛片久久久久久久 | 国产色啪 | 中文字幕三区 | 亚洲理论片 | 国产在线视频资源 | 黄色小说在线观看视频 | 久久久国产精品一区二区中文 | 女人18精品一区二区三区 | 97超碰在线资源 | 国产免费一区二区三区网站免费 | 中文字幕亚洲欧美日韩 | 日韩欧美黄色网址 | av在线免费观看网站 | 久精品视频在线观看 | 国产91免费观看 | 久草网站在线 | 91成人蝌蚪 | 久99久在线 | 精品亚洲视频在线观看 | 国产精品久久久电影 | 国产精品精品 | 欧美日韩中文字幕视频 | aaa日本高清在线播放免费观看 | 国产 日韩 中文字幕 | 激情综合电影网 | 999精品 | 91av在线国产 | 亚洲精品在线播放视频 | av电影在线播放 | 91污在线 | 中文字幕在线观看不卡 | 91在线中文字幕 | 久久国产免费 | 91亚洲精品在线观看 | 一区二区伦理 | 国内丰满少妇猛烈精品播放 | 亚洲波多野结衣 | 99国产精品久久久久久久久久 | 天躁狠狠躁 | freejavvideo日本免费 | 激情小说久久 | 色在线最新 | 国内精品久久久 | 亚洲理论影院 | 色吊丝在线永久观看最新版本 | 永久免费毛片在线观看 | 在线看国产日韩 | 狠狠狠狠狠操 | 999久久久免费精品国产 | 3d黄动漫免费看 | 99精品视频在线观看免费 | 国产成人一区二区精品非洲 | 91资源在线观看 | 欧美久久久久久 | 亚洲视频大全 | 国产一区二区高清视频 | 在线免费视频你懂的 | 久久九九久久精品 | 亚洲精品资源在线 | 99久热在线精品视频观看 | 日韩一级网站 | 日韩av片无码一区二区不卡电影 | 91精品国产综合久久福利 | .精品久久久麻豆国产精品 亚洲va欧美 | 一级片免费观看 | 国产精品在线看 | 久久人网| 黄色免费av| 婷婷色资源| 久久精品久久久久 | 婷婷中文字幕在线观看 | 成年人免费电影在线观看 | 狠狠操狠狠干天天操 | 在线观看的黄色 | 中文字幕免费成人 | 91视频免费播放 | 91av福利视频 | 国产精品12 | 国产精品久久嫩一区二区免费 | 国产福利一区二区三区在线观看 | 亚洲男男gⅴgay双龙 | 综合网成人| 国产又粗又猛又黄 | 一区二区三区电影大全 | 午夜私人影院 | 黄色免费av| 中文字幕中文字幕在线一区 | 日本激情视频中文字幕 | 五月亚洲 | 综合久久精品 | 毛片一级免费一级 | 97超碰中文字幕 | 亚洲精品字幕在线观看 | 久久美女高清视频 | www.天天成人国产电影 | 亚洲国内精品在线 | 国产v在线 | 狠狠色综合网站久久久久久久 | 国产一区视频导航 | 五月花激情 | 337p日本大胆噜噜噜噜 | 国产69熟| 久久免费视频播放 | 国产精品亚洲综合久久 | 欧美色久 | 久青草视频| 91成人破解版 | 一区二区三区动漫 | 中文字幕在线观看一区 | 国产精品乱码久久久久久1区2区 | 欧美色综合久久 | 人人超碰在线 | 欧美精品一区在线发布 | 亚洲aⅴ在线观看 | 中文字幕av免费在线观看 | 98涩涩国产露脸精品国产网 | 国产伦精品一区二区三区高清 | 天天操欧美 | 午夜少妇一区二区三区 | 三级av中文字幕 | 五月丁婷婷 | 国产一级a毛片视频爆浆 | japanesexxx乱女另类 | 在线看片中文字幕 | 在线91观看| 中文字幕色播 | 中文字幕在线视频一区二区三区 | 亚洲视频免费在线 | 手机在线日韩视频 | 黄色三级av| 97国产大学生情侣酒店的特点 | 高清av网站| 国内视频一区二区 | 色妞久久福利网 | 亚洲高清视频一区二区三区 | 91亚色免费视频 | 国产麻豆剧果冻传媒视频播放量 | 视频国产在线观看18 | 精品美女在线观看 | 日韩免费视频 | 美女免费视频一区 | 手机av在线不卡 | 日韩午夜视频在线观看 | 国产日韩精品一区二区 | 亚洲欧美视频在线 | 日韩av美女 | 亚洲精品免费在线观看 | 亚洲欧美视频在线播放 | 97视频在线观看播放 | 国产精品区免费视频 | 黄色三级网站在线观看 | 免费午夜在线视频 | 亚洲婷婷伊人 | 国产a国产a国产a | 国产欧美在线一区二区三区 | 婷婷伊人综合亚洲综合网 | 国内精品久久久久影院男同志 | 狠狠狠狠狠色综合 | 美女视频一区二区 | 在线观看中文av | 国产精成人品免费观看 | 狠狠操综合网 | 天天干天天插伊人网 | 一区二区观看 | 国产xxxx性hd极品 | 国产精品99精品久久免费 | 久久国产系列 | av电影亚洲 | 毛片网站在线看 | 日韩免费二区 | 色在线最新 | 亚洲干视频在线观看 | 欧美日韩国产一区二区在线观看 | 久久伊人操 | 国产精品理论片在线观看 | 天天操天天射天天爱 | 日本精品va在线观看 | 久久成人午夜 | 日韩视频中文字幕在线观看 | 欧美午夜久久久 | 久久伊人色综合 | 国产一二区视频 | 久久艹99| 欧美色图88| 97爱爱爱 | 欧美九九视频 | 欧美人体xx | 国产精品四虎 | 免费av观看 | 五月婷影院 | 超碰在线cao| 伊人激情综合 | 亚洲午夜久久久久久久久 | 天堂在线一区二区 | 天天曰天天爽 | 中文字幕在线视频一区二区 | 成人av免费电影 | 久久综合成人 | 99久久成人 | 丁香亚洲| 91传媒免费观看 | 亚洲国产成人在线观看 | www.久久免费视频 | 国产高清视频在线播放一区 | 亚洲综合欧美日韩狠狠色 | 五月激情丁香图片 | 国产精品久久久久毛片大屁完整版 | 高清在线一区 | 天天人人综合 | 国产一区二区三区久久久 | 久久久久久久久久国产精品 | 日韩免费网址 | 97色在线观看 | 成人av网站在线 | 欧美在线视频a | 综合久久久久久 | 天天操天天曰 | 在线观看中文字幕av | av免费高清观看 | 悠悠av资源片 | 亚洲日本va午夜在线影院 | 91九色最新 | 精品国产一区二区三区久久久久久 | 日本午夜在线亚洲.国产 | 成人免费观看网址 | 中文在线www | 久久久久亚洲精品中文字幕 | 天天做天天看 | 日韩精品五月天 | 91热精品 | 国产高清视频免费最新在线 | 69绿帽绿奴3pvideos | 亚洲精品国偷拍自产在线观看 | 色多多在线观看 | 亚洲成人黄色在线 | www.xxx.性狂虐 | 片黄色毛片黄色毛片 | 色国产精品一区在线观看 | 国产日韩欧美精品在线观看 | 欧美做受xxx| 丁香婷婷深情五月亚洲 | 中文字幕日韩国产 | 亚洲精品免费在线观看视频 | 日日干影院 | av电影免费在线看 | 国产精品va在线观看入 | 日本久久久久久久久久 | www178ccom视频在线 | 激情欧美一区二区免费视频 | 久草久草久草久草 | 黄色小说网站在线 | 精品国产免费人成在线观看 | 亚洲精品福利在线观看 | 一级黄视频 | 欧美极品在线播放 | 成年人看片网站 | 久久国色夜色精品国产 | 五月天激情综合 | 伊人成人激情 | 伊人影院av | 国产精品欧美久久久久无广告 | 久久久久99精品国产片 | 色av男人的天堂免费在线 | 色视频在线免费观看 | 亚洲国产免费网站 | aaa毛片视频 | 免费三级黄色片 | 国产精品美女久久久久久久久久久 | 一区二区三区 亚洲 | 亚州免费视频 | 色综合久久久久综合 | 中文字幕资源网在线观看 | 特级毛片网站 | 热re99久久精品国产66热 | 天天色图 | 美女视频a美女大全免费下载蜜臀 | 99热.com | 婷婷色在线播放 | 久艹视频免费观看 | 国产欧美在线一区二区三区 | 欧美成人在线网站 | 五月开心六月伊人色婷婷 | 99热999| 超碰人人干人人 | 在线97| 国产在线 一区二区三区 | 久久久网址 | 国产精彩在线视频 | 97干com| 免费av在线网 | 国产精品福利午夜在线观看 | 国产精品色婷婷视频 | 日韩欧美在线观看 | zzijzzij日本成熟少妇 | 五月婷婷影院 | 最新中文在线视频 | 伊甸园永久入口www 99热 精品在线 | 青青河边草手机免费 | 九色精品免费永久在线 | 日p视频 | 日韩色中色 | 欧美成人手机版 | www.97色.com| 日韩在线观看一区二区 | av理论电影| www.com黄| 欧美日韩在线观看不卡 | 黄色一级在线视频 | 最近中文字幕第一页 | 人人干人人超 | 91精品婷婷国产综合久久蝌蚪 | 亚洲综合成人专区片 | 日韩一区二区免费在线观看 | 97色婷婷成人综合在线观看 | av免费在线网| 色偷偷av男人天堂 | 国产精品久久人 | 久久亚洲美女 | 日本黄色大片免费看 | 久久少妇 | 精品在线视频观看 | 成 人 黄 色 免费播放 | 99夜色 | 九九九热精品免费视频观看 | 亚洲综合视频在线 | 成人性生交视频 | 国产精品视频不卡 | 人人看人人爱 | 免费日韩av片 | 日韩成人免费在线电影 | 天天操天| 亚洲人人网 | 免费观看91视频 | 国产一级片不卡 | 国产不卡av在线播放 | 久久免费视频精品 | 久久网页 | 特黄免费av| 黄色在线视频网址 | 国产成人精品久久 | 国产精品爽爽爽 | 国产福利精品一区二区 | 欧美不卡在线 | 人人干狠狠干 | 毛片黄色一级 | 97成人免费 | 国产精品18videosex性欧美 | 日本精品二区 | 国产成人免费在线观看 | 欧美激情视频一区二区三区 | 天天爽人人爽夜夜爽 | 日韩在线视频观看 | 亚洲在线不卡 | 色综合天天综合 | 粉嫩一二三区 | 国产精品99免视看9 国产精品毛片一区视频 | 黄色毛片在线观看 | 精品人妖videos欧美人妖 | 国产精品视频线看 | 国产亚洲精品久久久久久久久久久久 | 国产91免费看 | 亚洲精品资源在线 | 成人免费视频网址 | 亚洲激情电影在线 | 久久夜色精品国产欧美一区麻豆 | 欧美一区二区三区四区夜夜大片 | 日韩精品第1页 | 久久99国产视频 | 国产精品一区免费看8c0m | 又色又爽又激情的59视频 | 欧美一级电影免费观看 | 国产在线a视频 | 久久99国产精品自在自在app | 波多野结衣综合网 | 久久观看最新视频 | 欧美三级免费 | 国产亚洲成人网 | 久久夜色精品国产欧美一区麻豆 | av成人在线播放 | 国产精品美女在线观看 | 亚洲国产免费网站 | 色偷偷网站视频 | 伊人色**天天综合婷婷 | 欧美日韩xxxxx| 精品国内自产拍在线观看视频 | 国产欧美高清 | 久草视频在线资源 | 狠狠狠狠狠狠狠干 | 国产一级片一区二区三区 | 国精产品999国精产 久久久久 | 午夜视频在线观看一区二区 | 奇米影视在线99精品 | 亚洲国产av精品毛片鲁大师 | 在线观看精品视频 | 中文字幕一区二区三区在线观看 | 九九在线播放 | 日韩理论电影在线观看 | 午夜国产成人 | 最新精品国产 | 欧美国产日韩一区二区三区 | 国产精品麻豆三级一区视频 | 91视频这里只有精品 | 日本在线观看黄色 | 在线观看电影av | 久久试看| 国产真实精品久久二三区 | 福利视频第一页 | 欧美日韩国产一区二区三区在线观看 | 亚洲闷骚少妇在线观看网站 | 成人精品视频久久久久 | 国产资源免费 | 欧美中文字幕久久 | 欧美 国产 视频 | 久久视频这里有久久精品视频11 | 在线成人av | 欧美一级久久 | 久久国产精品一区二区三区 | 99精品国产成人一区二区 | 在线精品亚洲一区二区 | 超碰在线亚洲 | 久久久久99精品国产片 | 久久精品久久久精品美女 | 久久久久久99精品 | 91一区啪爱嗯打偷拍欧美 | 狠狠色丁香久久综合网 | 天天色天天骑天天射 | 国产色网站 | 色综合久久久久久久 | 九九热精品在线 | 成人免费观看大片 | 狠狠躁18三区二区一区ai明星 | 国产精品亚洲片夜色在线 | 亚洲成人精品国产 | 中文字幕在线观看亚洲 | 国产69精品久久久久99尤 | 欧美最新另类人妖 | 国产精品s色| 成人黄色在线播放 | 午夜视频一区二区 | 黄色一区二区在线观看 | 国内精品久久天天躁人人爽 | 国产精品综合久久久 | 亚洲国产视频网站 | 国内精品久久久精品电影院 | 美女免费视频一区二区 | 在线a视频 | 国产亚州av | 亚洲成a人片综合在线 | 天堂在线一区二区 | 黄色av电影免费观看 | 丝袜美腿在线播放 | 国产中文自拍 | 国产国产人免费人成免费视频 | 精品亚洲成a人在线观看 | 午夜电影av| 免费看成人片 | 久久免费视频在线 | 91av观看| 久久成人国产精品免费软件 | 97人人超 | 最新中文字幕在线观看视频 | 狠狠干中文字幕 | 欧美日韩中文在线视频 | 久久精品女人毛片国产 | 色综合亚洲精品激情狠狠 | 天天操夜夜拍 | 91在线成人 | 国产在线观看一区 | 日韩中文三级 | 在线日本看片免费人成视久网 | 色吊丝av中文字幕 | 日韩爱爱网站 | 日韩在线高清 | 久久久久久视频 | 99在线精品视频 | 国产精品一区二区久久国产 | 国产精品你懂的在线观看 | 毛片的网址 | 婷婷久久婷婷 | 在线免费观看黄色大片 | 精品v亚洲v欧美v高清v | 亚洲 中文 欧美 日韩vr 在线 | 欧美黑人性爽 | 999国内精品永久免费视频 | 日韩有码第一页 | 国产精品久久久久久久久久三级 | 五月天,com| 97超碰总站 | 91精品国 | 日本精品一区二区在线观看 | 亚洲精品网站在线 | 91麻豆精品国产91久久久无限制版 | 亚洲美女精品视频 | 国产精品久久麻豆 | 国产成人久久av | 手机在线欧美 | 色999在线| 日韩av电影免费观看 | 国产视频不卡 | 久久综合给合久久狠狠色 | 天堂在线视频免费观看 | 在线观看中文字幕亚洲 | 国产视频一区在线免费观看 | 在线日韩| 欧美日韩高清不卡 | 在线精品在线 | 欧美午夜精品久久久久久孕妇 | 日韩在线无 | 欧美夫妻生活视频 | www夜夜| 亚洲日本中文字幕在线观看 | 91国内在线| 超碰在线国产 | 亚洲天堂香蕉 | 99色精品视频 | 午夜精品一二三区 | 成人黄大片视频在线观看 | 久久久www成人免费毛片 | 九九热有精品 | 免费的黄色的网站 | 成人wwwxxx视频 | 欧美日韩一区二区三区视频 | 欧美一区二区三区激情视频 | 操操日日 | 色悠悠久久综合 | 久久在线免费观看视频 | 一区二区三区在线不卡 | 97理论片| 久久精品久久国产 |