两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種DSP芯片在線升級(jí)方法與流程

文檔序號(hào):11154551閱讀:1536來源:國(guó)知局
一種DSP芯片在線升級(jí)方法與制造工藝

本發(fā)明涉及一種基于CAN通信的DSP在線升級(jí)方法。



背景技術(shù):

目前DSP程序燒寫有以下幾種方式:

仿真器燒寫程序:首先將仿真器與DSP的JTAG接口相連,同時(shí)與安裝有仿真器驅(qū)動(dòng)程序及CCS應(yīng)用軟件的電腦相連。然而此種方式的嵌入式設(shè)備在密閉的箱體內(nèi)JTAG口不方便連接,于是會(huì)給升級(jí)帶來了極大的不便,而且程序燒寫速度有限導(dǎo)致通信速度受限,不能滿足用戶需求。

通過目標(biāo)板上的撥碼開關(guān)選擇芯片引導(dǎo)程序,采用SPI\SCI串口等通訊方式下載程序。由于這種方式需進(jìn)行撥碼開關(guān)選擇,均需對(duì)目標(biāo)板進(jìn)行操作,控制器一旦封蓋也就不再方便用戶進(jìn)行程序升級(jí),所以也不是程序燒寫的最佳方式。

以上所述燒寫方式一般都存在一些共性問題:燒寫速度有限導(dǎo)致程序升級(jí)時(shí)間較長(zhǎng);嵌入式設(shè)備一般都會(huì)封閉在箱體內(nèi),這會(huì)給升級(jí)帶來不便;程序燒寫過程復(fù)雜,用戶需要將.out文件通過文件轉(zhuǎn)換工具根據(jù).cmd文件轉(zhuǎn)換成.hex文件才能進(jìn)行燒寫。因此基于上述問題,有必要針對(duì)DSP嵌入式設(shè)備升級(jí)所需進(jìn)行的可擴(kuò)展程序燒寫的方法做進(jìn)一步的改進(jìn)和完善,以適應(yīng)嵌入式系統(tǒng)在軟件控制領(lǐng)域的在線升級(jí)功能。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是為了解決現(xiàn)有技術(shù)中存在的缺陷,提供一種能提高對(duì)目標(biāo)板進(jìn)行在線升級(jí)和程序替換效率和速度的方法。

為了達(dá)到上述目的,本發(fā)明提供了一種DSP芯片在線升級(jí)方法,該升級(jí)方法通過CAN通訊總線對(duì)各節(jié)點(diǎn)的DSP芯片進(jìn)行在線程序升級(jí);DSP芯片為嵌入有CAN總線控制模塊的芯片,如TMS320F2833x系列的DSP芯片。

本發(fā)明DSP芯片在線升級(jí)方法具體包括以下步驟:

S1:打開上位機(jī)軟件,設(shè)置好必要配置,進(jìn)行COFF文件解析;

S2:使用CAN通信方式連接DSP芯片與上位機(jī),給DSP芯片上電復(fù)位并啟動(dòng)CAN通訊模塊;

S3:DSP撥碼開關(guān)均上拉,保持默認(rèn)從FLASH啟動(dòng),程序運(yùn)行到主函數(shù)入口地址處;

S4:開始啟動(dòng)二次boot程序,延時(shí)等待約5s,若超時(shí),直接跳轉(zhuǎn)進(jìn)入S8;利用仿真器,所述二次boot程序?yàn)槔梅抡嫫髟贒SP上燒寫固化的一個(gè)核程序,用來獲取CAN總線的控制權(quán),完成FLASH_API程序升級(jí)操作;

S5:上位機(jī)在5s內(nèi)發(fā)送boot升級(jí)命令,若命令正確,則進(jìn)入S6,若受到干擾或命令錯(cuò)誤,則跳轉(zhuǎn)到S2;

S6: 上位機(jī)應(yīng)用程序下載模塊啟動(dòng),通過CAN通信與DSP建立連接,進(jìn)行用戶程序升級(jí)過程:將S1中解析后提取的COFF文件中的段數(shù)據(jù),通過CAN通訊分包將其發(fā)送至下位機(jī)DSP芯片,更新FLASH中用戶程序,完成加載用戶程序升級(jí);

S7:跳轉(zhuǎn)到用戶程序入口地址,進(jìn)入S8;

S8:執(zhí)行用戶程序,完成boot升級(jí)功能。

其中,步驟S1中COFF文件解析過程包括:

a1、在CCS上根據(jù)cmd文件內(nèi)存分配要求編寫用戶升級(jí)程序,然后編譯鏈接生成最終可執(zhí)行的用戶程序.out文件,即COFF文件;

b1.上位機(jī)直接加載用戶程序.out文件進(jìn)行解析,將解析完數(shù)據(jù)存放入緩存區(qū)和相應(yīng)的變量中,生成一個(gè)擴(kuò)展名為.sc文件進(jìn)行保存;

c1.使用TI工具dis2000.exe對(duì).out文件進(jìn)行反匯編,與上位機(jī)解析出的數(shù)據(jù)進(jìn)行對(duì)比,確保上位機(jī)解析正確;

d1.提取COFF文件中對(duì)應(yīng)的段數(shù)據(jù)。

上述步驟b1中上位機(jī)直接加載用戶程序.out文件進(jìn)行解析的過程為:

首先分析.out文件的文件頭以確定有多少個(gè)段,然后逐段分析段信息頭,根據(jù)段屬性標(biāo)識(shí)以確定是否需要下載,段頭中的絕對(duì)地址、段數(shù)據(jù)長(zhǎng)度等信息作為升級(jí)文件的一部分,與需下載的段數(shù)據(jù)合并成最終的下載文件,最后以.sc文件的形式保存所有解析得到的數(shù)據(jù)信息;所述步驟d1中提取COFF文件中的段數(shù)據(jù)與步驟b1解析過程中確定需下載的段數(shù)據(jù)進(jìn)行對(duì)應(yīng),一般為初始化數(shù)據(jù)段,不包含未初始化數(shù)據(jù)段。

上述步驟S6中通過CAN通信啟動(dòng)用戶程序升級(jí)過程為:

a6、DSP芯片通過CAN總線接收上位機(jī)發(fā)送的擦除命令,擦除用戶程序所需固化的FLASH扇區(qū),成功擦除后反饋信息告訴上位機(jī)擦除成功;

b6、DSP芯片通過CAN總線接收上位機(jī)發(fā)送的寫命令,然后上位機(jī)將S1中解析后提取的用戶程序COFF文件中的段數(shù)據(jù),通過CAN通訊分包將其發(fā)送至下位機(jī)DSP芯片,DSP芯片再根據(jù).cmd內(nèi)存分配方式合理分配用戶程序各段在FLASH中的存儲(chǔ)空間,然后執(zhí)行寫操作將用戶程序按數(shù)據(jù)段組包依次寫入FLASH對(duì)應(yīng)扇區(qū),寫成功后反饋信息告訴上位機(jī)FLASH寫入成功;

c6、DSP芯片通過CAN總線接收上位機(jī)發(fā)送的退出命令,指示DSP編程操作完成,不用返回給上位機(jī)任何信息,直接退出BootLoader程序。

步驟b6中通過CAN通訊分包發(fā)送的方式為:通過三次探測(cè),下位機(jī)進(jìn)行COFF文件數(shù)據(jù)段下載;

第一次探測(cè):首先給DSP芯片發(fā)送一個(gè)數(shù)據(jù)‘A’進(jìn)行握手,握手成功后則繼續(xù)給DSP芯片發(fā)送一個(gè)文件報(bào)文數(shù)據(jù)進(jìn)行傳輸通訊測(cè)試,成功測(cè)試后反饋一個(gè)探測(cè)成功信息,否則反饋一個(gè)失敗信息;

第二次探測(cè):首先給DSP芯片發(fā)送一個(gè)數(shù)據(jù)‘A’進(jìn)行握手,握手成功后則繼續(xù)給DSP芯片發(fā)送另一個(gè)文件報(bào)文數(shù)據(jù)進(jìn)行傳輸通訊測(cè)試,成功測(cè)試后反饋一個(gè)探測(cè)成功信息,否則反饋一個(gè)失敗信息。

在前兩次探測(cè)均成功的情況下進(jìn)行第三次探測(cè):首先仍然給DSP芯片發(fā)送一個(gè)數(shù)據(jù)‘a(chǎn)a’進(jìn)行握手,握手成功后先給DSP芯片發(fā)送一個(gè)擦除命令,等待擦除成功后再給DSP芯片發(fā)送FLASH寫操作命令,然后將數(shù)據(jù)段報(bào)文分包傳輸給DSP芯片,等待寫命令成功完成后發(fā)送退出命令,上位機(jī)提示下載完成,否則任何一個(gè)步驟出錯(cuò)均反饋一個(gè)失敗信息,中斷文件下載程序過程。

上述第三次探測(cè)中將數(shù)據(jù)段報(bào)文分包傳輸給DSP芯片的過程為:根據(jù)用戶程序COFF文件格式將其分成多個(gè)數(shù)據(jù)段,對(duì)每段進(jìn)行分包處理,給每個(gè)包加上自定義的報(bào)頭和報(bào)尾,以12幀數(shù)據(jù)為一個(gè)包進(jìn)行發(fā)送,按數(shù)據(jù)段逐包發(fā)送,直到最后一個(gè)包發(fā)送結(jié)束。

步驟b6中寫操作過程采用FLASH燒寫算法:通過CAN總線接收上位機(jī)發(fā)送的用戶程序分包數(shù)據(jù),再根據(jù)用戶程序段分配FLASH獨(dú)立扇區(qū),RAM緩存區(qū)中每接收到一個(gè)數(shù)據(jù)包就進(jìn)行斬頭去尾操作,立即將剩余的用戶程序數(shù)據(jù)寫入指定的FLASH內(nèi)存區(qū)進(jìn)行固化,采用邊接收邊燒寫的方式,直到所有用戶程序下載結(jié)束。

且FLASH中的存儲(chǔ)空間的分配方式如下:FLASH 8個(gè)扇區(qū)中前四個(gè)扇區(qū)固化BootLoader程序,后四個(gè)扇區(qū)燒錄用戶應(yīng)用程序。這樣升級(jí)程序過程中規(guī)劃分明互不干擾,當(dāng)然根據(jù)兩段程序的大小也可以適當(dāng)調(diào)整FLASH內(nèi)存空間,再不夠的情況下,還可以擴(kuò)展片外FLASH進(jìn)行程序的固化。

本發(fā)明相比現(xiàn)有技術(shù)具有以下優(yōu)點(diǎn):本發(fā)明通過CAN總線對(duì)各個(gè)節(jié)點(diǎn)的DSP控制芯片進(jìn)行在線程序升級(jí),大大提高了對(duì)目標(biāo)板進(jìn)行在線升級(jí)和程序替換的效率和速度,避免了復(fù)雜的程序燒寫過程以及嵌入式箱體封裝所帶來的不便。同時(shí)可根據(jù)用戶定制的CAN口進(jìn)行程序的下載,有效避免了數(shù)據(jù)干擾,漏包等現(xiàn)象出現(xiàn);縮短了用戶程序升級(jí)的時(shí)間,提高了升級(jí)效率;增加了上位機(jī)COFF文件解析功能,有效避免了對(duì)程序代碼格式轉(zhuǎn)換成BIN的繁瑣過程,降低了用戶程序燒寫的復(fù)雜度,提高了工作效率;適當(dāng)使用C和匯編混合編程以及代碼搬移,合理地進(jìn)行程序加載、內(nèi)存分配和資源優(yōu)化配置,進(jìn)一步提高了對(duì)目標(biāo)板進(jìn)行在線升級(jí)和程序替換的效率。

附圖說明

圖1為本發(fā)明DSP芯片在線升級(jí)系統(tǒng)的結(jié)構(gòu)框圖;

圖2為本發(fā)明中DSP芯片的自啟動(dòng)過程流程圖;

圖3為本發(fā)明DSP芯片在線升級(jí)系統(tǒng)的上位機(jī)操作界面;

圖4為本發(fā)明DSP芯片從FLASH啟動(dòng)的順序流程圖;

圖5為本發(fā)明DSP芯片加載升級(jí)程序的主要流程圖;

圖6為圖2中COFF文件解析的具體流程圖;

圖7為圖6中提取COFF文件段數(shù)據(jù)的具體流程圖。

具體實(shí)施方式

下面結(jié)合附圖對(duì)本發(fā)明進(jìn)行詳細(xì)說明。

如圖1所示,本發(fā)明DSP芯片在線升級(jí)系統(tǒng)包括設(shè)置在上位機(jī)內(nèi)的COFF文件解析模塊、命令操作模塊、應(yīng)用程序下載模塊、狀態(tài)信息模塊、CAN通訊模塊,設(shè)置在下位機(jī)DSP芯片內(nèi)的二次boot啟動(dòng)模塊、用戶程序升級(jí)模塊。COFF文件解析模塊對(duì)COFF文件進(jìn)行解析后,將提取的段數(shù)據(jù)通過CAN通訊模塊分包發(fā)送至DSP芯片。上位機(jī)的命令操作模塊同過CAN通訊模塊向下位機(jī)DSP芯片發(fā)送升級(jí)、探測(cè)、擦除、寫、退出等命令。應(yīng)用程序下載模塊設(shè)置上位機(jī)三次探測(cè)過程,將上位機(jī)解析的數(shù)據(jù)段分包發(fā)送給DSP芯片。狀態(tài)信息模塊顯示下位機(jī)的反饋信息。二次boot啟動(dòng)模塊進(jìn)行二次boot程序啟動(dòng),選擇是否需要進(jìn)行程序升級(jí)功能。用戶程序升級(jí)模塊進(jìn)行用戶程序升級(jí),即將上位機(jī)發(fā)送的程序數(shù)據(jù)段寫入對(duì)應(yīng)的FLASH儲(chǔ)存區(qū),替換舊的源程序完成升級(jí)。

如圖2所示為TMS320F2833x系列的DSP芯片在本實(shí)施例中自啟動(dòng)過程流程圖,即DSP從上電啟動(dòng)開始,完成默認(rèn)從FLASH啟動(dòng)的全過程(圖4所示),然后進(jìn)入啟動(dòng)二次boot程序模式,根據(jù)上位機(jī)所發(fā)的指令狀態(tài)選擇是否進(jìn)行程序升級(jí),若需升級(jí)則直接進(jìn)入用戶程序升級(jí)模塊,等待上位機(jī)啟動(dòng)用戶程序下載模塊,完成加載后上位機(jī)發(fā)送退出指令,退出bootloader程序跳轉(zhuǎn)到用戶程序入口地址,到此DSP升級(jí)完成一次生命周期,實(shí)現(xiàn)一次在線升級(jí)過程。

本發(fā)明DSP芯片在線升級(jí)方法具體過程如下:

S1:打開上位機(jī)軟件,設(shè)置好必要配置,執(zhí)行COFF文件解析模塊;

打開如圖3所示上位機(jī)軟件,將CAN通訊端口類型、波特率、數(shù)據(jù)幀ID等進(jìn)行配置,點(diǎn)擊解析文件按鈕執(zhí)行文件解析工作,為升級(jí)做好準(zhǔn)備工作,間接地提高了升級(jí)效率。

結(jié)合圖6,COFF文件解析模塊的執(zhí)行過程如下:

a1.在CCS上根據(jù).cmd內(nèi)存分配要求編寫用戶升級(jí)程序,然后編譯鏈接生成最終可執(zhí)行的.out文件;

用戶升級(jí)程序.cmd文件規(guī)劃如下:

FLASHH : origin = 0x300000, length = 0x008000 // 程序段

FLASHG : origin = 0x308000, length = 0x008000 // 程序段

FLASHF : origin = 0x310000, length = 0x008000 // 數(shù)據(jù)段

FLASHE : origin = 0x318000, length = 0x008000 // 程序段

BEGIN : origin =0x33FFF6, length = 0x000002 // 注意在用FLASH_API燒寫程序時(shí),該段要指定FLASH存儲(chǔ)區(qū)間,如本實(shí)施例中上述提到的地址0x308000

.cinit : > FLASHE PAGE = 0

.pinit : > FLASHE PAGE = 0

.text : > FLASHE PAGE = 0

codestart : > BEGIN PAGE = 0

.econst : > FLASHE PAGE = 0

.switch : > FLASHE PAGE = 0

IQmath : > FLASHG PAGE = 0

當(dāng)然根據(jù)用戶程序的大小可以適當(dāng)分配FLASH內(nèi)存空間,如可以通過如下程序合并各FLASH扇區(qū)以滿足超大用戶程序的需求:

FLASHABCDEFGH : origin = 0x300000, length = 0x040000 //最大可存儲(chǔ)空間

b1.上位機(jī)直接加載用戶程序.out文件進(jìn)行解析,將解析完數(shù)據(jù)存放入緩存區(qū)和相應(yīng)的變量中,生成一個(gè)擴(kuò)展名為.sc文件進(jìn)行保存;

如圖7所示,首先分析.out文件(即COFF文件)的文件頭以確定有多少個(gè)段,然后逐段分析段信息頭,根據(jù)段屬性標(biāo)識(shí)以確定是否需要下載,段頭中的絕對(duì)地址、段數(shù)據(jù)長(zhǎng)度等信息作為升級(jí)文件的一部分,與需下載的段數(shù)據(jù)合并成最終的下載文件,最后以文件的形式保存所有解析得到的數(shù)據(jù)信息。

c1.使用TI工具dis2000.exe對(duì).out文件進(jìn)行反匯編,與上位機(jī)解析出的數(shù)據(jù)進(jìn)行對(duì)比,確保上位機(jī)解析正確。

使用TI官方提供的工具可以對(duì)DSP生成的.out文件進(jìn)行各種轉(zhuǎn)化,如使用hex2000.exe將其轉(zhuǎn)化為hex文件,然后可使用hex2bin2000.exe將其再轉(zhuǎn)化成二進(jìn)制bin文件,本實(shí)施例中使用dis2000.exe對(duì).out文件反匯編,并且可以查看該COFF文件中用于下載的各個(gè)段的數(shù)據(jù)信息,主要是如下數(shù)據(jù)段:.cinit—.text—codestart—ramfuncs—.econst,具體方法如下:打開CMD命令行終端,進(jìn)入dis2000.exe所在文件夾下,在命令行中輸入“dis2000.exe xxx.out xxx.asm”即可,將得到的文件與源文件進(jìn)行對(duì)比。

d1.提取COFF文件中對(duì)應(yīng)的段數(shù)據(jù)。

S2:使用CAN通信方式連接DSP與上位機(jī),啟動(dòng)CAN通訊模塊并給DSP上電復(fù)位;

上位機(jī)部分使用VC6.0進(jìn)行CAN通訊和用戶程序升級(jí)界面開發(fā),如圖3所示。下位機(jī)部分使用TI生產(chǎn)的TMS320F2833x系列的DSP芯片F(xiàn)28335作為開發(fā)工具;二者之間通過北京愛泰CAN-bus通訊系列產(chǎn)品USBCAN-2I型CAN盒進(jìn)行連接。點(diǎn)擊圖3所示連接CAN和啟動(dòng)CAN按鈕即可完成CAN啟動(dòng)模塊,然后再給DSP上電復(fù)位;

S3:DSP撥碼開關(guān)均上拉,保持默認(rèn)從FLASH啟動(dòng),程序運(yùn)行到主函數(shù)入口地址處;

如圖4所示,DSP上電,默認(rèn)撥碼開關(guān)全部上拉四個(gè)GPIO都處于高電平,默認(rèn)從FLASH啟動(dòng),該過程為:Reset(0x3fffc0)[內(nèi)容:initBoot()]—>bootloader(0x3ff34c)[內(nèi)容:判斷啟動(dòng)方式即SCAN GPIO狀態(tài)(1111)]—>codestart(0x3f7ff6)—>_c_int00(看不到具體代碼)—>main函數(shù)。

S4:開始啟動(dòng)第一個(gè)項(xiàng)目代碼BootLoader即二次boot程序,延時(shí)等待約5s鐘,若超時(shí),直接跳轉(zhuǎn)進(jìn)入S8;

該第一個(gè)項(xiàng)目代碼BootLoader是由用戶自己開發(fā)的二次boot程序,區(qū)別于DSP廠商固化與芯片上的BootLoader,它是預(yù)先編寫好的用于升級(jí)程序的內(nèi)核程序模塊,是首先利用仿真器,在DSP上燒寫固化的一個(gè)核程序,用來獲取CAN總線的控制權(quán),完成FLASH_API程序升級(jí)操作。

這里的跳轉(zhuǎn)程序使用匯編語言編寫,跳轉(zhuǎn)指令:asm("LCR 0x308000");0x308000即FLASHG扇區(qū)首地址,為用戶程序codestart段入口地址,該地址需根據(jù)用戶程序.cmd文件進(jìn)行分配,此處綜合使用了C與匯編混合編程的方式,大大提高了代碼的可執(zhí)行效率。

S5:上位機(jī)在5s內(nèi)發(fā)送boot升級(jí)命令,若命令正確,則進(jìn)入S6,若受到干擾或命令錯(cuò)誤,則跳轉(zhuǎn)到S2;

用戶發(fā)送命令就代表需要升級(jí)程序,若命令有誤就重新啟動(dòng)BootLoader,再次等待用戶發(fā)送正確命令,確保用戶能夠進(jìn)入升級(jí)操作更新程序。接收錯(cuò)誤命令時(shí)通過延時(shí)等待一段時(shí)間,給用戶足夠時(shí)間修改并發(fā)送正確命令,提高升級(jí)效率。

S6:上位機(jī)應(yīng)用程序下載模塊啟動(dòng),通過CAN通信與DSP建立連接,進(jìn)行用戶程序升級(jí)過程:將S1中解析后提取的COFF文件中的段數(shù)據(jù),通過CAN通訊分包將其發(fā)送至下位機(jī)DSP芯片,更新FLASH中用戶程序,完成加載用戶程序升級(jí);

具體的程序升級(jí)過程如圖5所示:

a6.接收上位機(jī)發(fā)送的擦除命令,擦除用戶程序所需固化的FLASH扇區(qū)(切勿擦除所有FLASH區(qū)),成功擦除后反饋信息告訴上位機(jī)擦除成功。

本實(shí)施例中自定義通訊協(xié)議,DSP通過CAN總線接收擦除命令L=0xAA45FFFF&H=0x8F69FFFF執(zhí)行整個(gè)FLASH扇區(qū)擦除操作,成功擦除后反饋信息為L(zhǎng)=0x5500FFFF & H=0x8F69FFFF,告訴上位機(jī)擦除成功。其中0xAA00 為Boot 命令頭部, 0x45(E)為擦除命令“Erase”,0x55XX為應(yīng)答回復(fù)命令,低8 位的XX 表示本次操作結(jié)果指示碼,0x00表示擦除成功,0x8F69為CRC16校驗(yàn)碼。

b6.接收上位機(jī)發(fā)送的寫命令,然后使用CAN通信接收上位機(jī)發(fā)送的用戶程序分包數(shù)據(jù),再根據(jù).cmd內(nèi)存分配方式合理分配用戶程序各段在FLASH中的存儲(chǔ)空間,然后執(zhí)行寫操作將用戶程序按數(shù)據(jù)段組包依次寫入FLASH對(duì)應(yīng)扇區(qū),寫成功后反饋信息告訴上位機(jī)FLASH寫入成功。

COFF文件數(shù)據(jù)段下載過程包括如下三次探測(cè):

第一次探測(cè):首先給DSP發(fā)送一個(gè)數(shù)據(jù)‘A’進(jìn)行握手,握手成功后則繼續(xù)給DSP發(fā)送一個(gè)文件報(bào)文數(shù)據(jù)進(jìn)行傳輸通訊測(cè)試,成功測(cè)試后反饋一個(gè)探測(cè)成功信息,否則反饋一個(gè)失敗信息。

第二次探測(cè)與第一次探測(cè)基本相同:首先給DSP發(fā)送一個(gè)數(shù)據(jù)‘A’進(jìn)行握手,握手成功后則繼續(xù)給DSP發(fā)送另一個(gè)文件報(bào)文數(shù)據(jù)進(jìn)行傳輸通訊測(cè)試,成功測(cè)試后反饋一個(gè)探測(cè)成功信息,否則反饋一個(gè)失敗信息。

前兩次探測(cè)均無問題的情況下進(jìn)行第三次探測(cè):首先仍然給DSP發(fā)送一個(gè)數(shù)據(jù)‘a(chǎn)a’進(jìn)行握手,握手成功后先給DSP發(fā)送一個(gè)擦除命令,等待擦除成功后再給DSP發(fā)送FLASH寫操作命令,然后將數(shù)據(jù)段報(bào)文分包傳輸給DSP,等待寫命令成功完成后發(fā)送退出命令,上位機(jī)提示下載完成,否則任何一個(gè)步驟出錯(cuò)均反饋一個(gè)失敗信息,中斷文件下載程序過程。

用戶程序CAN通訊數(shù)據(jù)傳輸方法為:根據(jù)用戶程序COFF文件格式將其分成多個(gè)數(shù)據(jù)段,對(duì)每段進(jìn)行分包處理,給每個(gè)包加上自定義的報(bào)頭和報(bào)尾,以12幀數(shù)據(jù)為一個(gè)包進(jìn)行發(fā)送,按數(shù)據(jù)段逐包發(fā)送,直到最后一個(gè)包發(fā)送結(jié)束。

本實(shí)施例中FLASH內(nèi)存規(guī)劃如下:FLASH 8個(gè)扇區(qū)中前四個(gè)扇區(qū)固化BootLoader程序,后四個(gè)扇區(qū)燒錄用戶應(yīng)用程序,這樣升級(jí)程序過程中規(guī)劃分明互不干擾,當(dāng)然根據(jù)兩段程序的大小也可以適當(dāng)調(diào)整FLASH內(nèi)存空間,再不夠的情況下,還可以擴(kuò)展片外FLASH進(jìn)行程序的固化。

用戶程序內(nèi)存分配主要有燒寫程序決定,上述提到主要需下載燒寫的程序段為.cinit—.text—codestart—ramfuncs—.econst這五段,這里需要注意.text段需要根據(jù).cmd進(jìn)行內(nèi)存分配(固定),codestart段很重要是程序跳轉(zhuǎn)的入口地址,可以任意指定,但必須明確具體地址,ramfuncs段也需要查看.cmd中程序加載情況進(jìn)行正確分配,其它兩段為數(shù)據(jù)段只要放在數(shù)據(jù)存儲(chǔ)內(nèi)存空間即可,分別對(duì)應(yīng)指定COFF各段內(nèi)存分配情況如下:

.cinit 0x314000~0x317FFF

.text 0x318000~0x31FFFF

codestart 0x308000~0x31FFFF

ramfuncs 0x300000~0x30FFFF

.econst 0x310000~0x313FFFF

BootLoader直接按.cmd內(nèi)容進(jìn)行規(guī)劃如下:

FLASHD : origin = 0x320000, length = 0x008000 // 程序段

FLASHC : origin = 0x328000, length = 0x008000 // 程序段

FLASHB : origin = 0x330000, length = 0x008000 // 數(shù)據(jù)段

FLASHA : origin = 0x338000, length = 0x008000 // 程序段

BEGIN : origin =0x33FFF6, length = 0x000002

.cinit : > FLASHE PAGE = 0

.pinit : > FLASHE PAGE = 0

.text : > FLASHE PAGE = 0

codestart : > BEGIN PAGE = 0

.econst : > FLASHE PAGE = 0

.switch : > FLASHE PAGE = 0

IQmath : > FLASHG PAGE = 0

這里還必須進(jìn)行一步重要的設(shè)置,就是將Flash281x_API庫(kù)文件從Flash中復(fù)制至RAM里運(yùn)行,該函數(shù)必須放在RAM中,在FLASH中無法操作FLASH_API。也可以將.cinit、.const、.econst、.text等代碼段適當(dāng)?shù)赜蒄lash復(fù)制至RAM中運(yùn)行,能夠有效提高代碼的執(zhí)行效率,部分代碼搬移設(shè)置如下:

Flash28_API:

{

-lFlash28335_API_V210.lib(.econst)

-lFlash28335_API_V210.lib(.text)

} LOAD = FLASHD,

RUN = RAML0,

LOAD_START(_Flash28_API_LoadStart),

LOAD_END(_Flash28_API_LoadEnd),

RUN_START(_Flash28_API_RunStart),

PAGE = 0

FLASH用戶程序?qū)懖僮鬟^程使用了FLASH燒寫算法,即使用CAN口接收上位機(jī)發(fā)送的用戶程序分包數(shù)據(jù),再根據(jù)用戶程序段分配FLASH獨(dú)立扇區(qū),RAM緩存區(qū)中每接收到一個(gè)數(shù)據(jù)包就進(jìn)行斬頭去尾操作,立即將剩余的用戶程序數(shù)據(jù)寫入指定的FLASH內(nèi)存區(qū)進(jìn)行固化,采用邊接收邊燒寫的方式,直到所有用戶程序下載結(jié)束。

c6.接收上位機(jī)發(fā)送的退出命令指示DSP編程操作完成,不用返回給上位機(jī)任何信息,直接退出BootLoader程序。

本實(shí)施例中接收的退出命令為L(zhǎng)=0xAA51FFFF&H=0x61B8FFFF,0xAA00為Boot 命令頭部,0x51(Q)為退出命令“Quit”,0x61B8為CRC16校驗(yàn)碼。這里仍然使用匯編程序編寫跳轉(zhuǎn)指令,跳轉(zhuǎn)到用戶程序codestart入口地址:0x308000。

S7:DSP跳轉(zhuǎn)到用戶程序入口地址,進(jìn)入S8;

S8:執(zhí)行用戶程序,完成boot升級(jí)功能。

通過該實(shí)施例能夠體現(xiàn)本發(fā)明確實(shí)實(shí)際可行,并且能夠達(dá)到以下較理想的技術(shù)效果:根據(jù)用戶定制的CAN口進(jìn)行程序的下載,有效避免了數(shù)據(jù)干擾,漏包等現(xiàn)象出現(xiàn);縮短了用戶程序升級(jí)的時(shí)間,提高了升級(jí)效率;增加了上位機(jī)COFF文件解析功能,有效避免了對(duì)程序代碼格式轉(zhuǎn)換成BIN的繁瑣過程,降低了用戶程序燒寫的復(fù)雜度,提高了工作效率;適當(dāng)使用C和匯編混合編程以及代碼搬移,合理地進(jìn)行程序加載、內(nèi)存分配和資源優(yōu)化配置,大大提高了對(duì)目標(biāo)板進(jìn)行在線升級(jí)和程序替換的效率。

最后需要說明的是:本發(fā)明的升級(jí)方法不局限于上述實(shí)施例中所限定的模塊以及步驟執(zhí)行順序,具有說明性而非限定性,所屬領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解:其目的在于讓熟悉此項(xiàng)技術(shù)的人是能夠了解本發(fā)明的內(nèi)容并據(jù)以實(shí)施,本申請(qǐng)后依然可對(duì)申請(qǐng)的具體實(shí)施方式進(jìn)行種種變更、修改或者等同替換,但這些變更、修改或者等同替換,均在申請(qǐng)待批的權(quán)利要求保護(hù)范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
国产一卡二卡三卡精品| 国产高清视频在线播放一区 | 狂野欧美激情性xxxx| 国产精品国产三级国产专区5o| 午夜免费观看性视频| 老司机影院成人| www.av在线官网国产| 秋霞在线观看毛片| 老司机午夜十八禁免费视频| 不卡av一区二区三区| 少妇裸体淫交视频免费看高清 | 丝瓜视频免费看黄片| 在线观看免费午夜福利视频| 美女午夜性视频免费| 777米奇影视久久| 一二三四在线观看免费中文在| 午夜福利视频在线观看免费| 水蜜桃什么品种好| 久久热在线av| 一级片'在线观看视频| 亚洲色图 男人天堂 中文字幕| 91成年电影在线观看| 国产又色又爽无遮挡免| 波多野结衣av一区二区av| 岛国在线观看网站| 国产成人a∨麻豆精品| 欧美另类亚洲清纯唯美| 亚洲av男天堂| 狠狠狠狠99中文字幕| 新久久久久国产一级毛片| 精品国内亚洲2022精品成人 | 国产有黄有色有爽视频| av欧美777| 日本五十路高清| 91精品伊人久久大香线蕉| 国产日韩一区二区三区精品不卡| 国产精品 欧美亚洲| 一本—道久久a久久精品蜜桃钙片| 欧美日韩视频精品一区| 国产黄频视频在线观看| 中亚洲国语对白在线视频| 一区二区日韩欧美中文字幕| 黑人巨大精品欧美一区二区mp4| 色播在线永久视频| √禁漫天堂资源中文www| 两性夫妻黄色片| 一区二区日韩欧美中文字幕| 成人av一区二区三区在线看 | 欧美老熟妇乱子伦牲交| 伊人久久大香线蕉亚洲五| 欧美日韩黄片免| 亚洲午夜精品一区,二区,三区| 亚洲色图综合在线观看| 国产人伦9x9x在线观看| 亚洲国产欧美在线一区| 国产区一区二久久| 成人国产av品久久久| 精品高清国产在线一区| 日本wwww免费看| 免费观看a级毛片全部| 电影成人av| 精品国产乱码久久久久久男人| 成人免费观看视频高清| 国产欧美日韩一区二区三 | 亚洲精品国产区一区二| 精品国产国语对白av| 脱女人内裤的视频| 亚洲成国产人片在线观看| 国产福利在线免费观看视频| 女性生殖器流出的白浆| 国产精品国产av在线观看| 久热这里只有精品99| 丁香六月天网| 日本91视频免费播放| 老司机在亚洲福利影院| 女性被躁到高潮视频| 又黄又粗又硬又大视频| 亚洲人成电影免费在线| 19禁男女啪啪无遮挡网站| 亚洲国产看品久久| 老司机亚洲免费影院| 少妇的丰满在线观看| 亚洲美女黄色视频免费看| 日本a在线网址| 国产又色又爽无遮挡免| 久久精品aⅴ一区二区三区四区| 啦啦啦免费观看视频1| 亚洲专区中文字幕在线| 超碰成人久久| 精品一区二区三区四区五区乱码| 99热网站在线观看| 欧美日韩福利视频一区二区| 性色av乱码一区二区三区2| 国产av精品麻豆| 国产精品影院久久| 亚洲欧美一区二区三区黑人| 欧美+亚洲+日韩+国产| 欧美精品亚洲一区二区| 亚洲成人手机| 欧美中文综合在线视频| 久久香蕉激情| 欧美在线一区亚洲| 久久99一区二区三区| 日韩视频一区二区在线观看| 国产三级黄色录像| 欧美老熟妇乱子伦牲交| 捣出白浆h1v1| 久久久精品免费免费高清| 日韩欧美国产一区二区入口| 欧美日韩亚洲国产一区二区在线观看 | 两性午夜刺激爽爽歪歪视频在线观看 | 国产又爽黄色视频| 黄网站色视频无遮挡免费观看| 热99国产精品久久久久久7| 国产免费视频播放在线视频| 人妻久久中文字幕网| 亚洲欧洲日产国产| 熟女少妇亚洲综合色aaa.| 夜夜夜夜夜久久久久| av福利片在线| 成人国语在线视频| 日韩大片免费观看网站| 啦啦啦免费观看视频1| 成人国产一区最新在线观看| 亚洲专区国产一区二区| 91老司机精品| bbb黄色大片| 精品国产一区二区久久| 久久女婷五月综合色啪小说| 夜夜骑夜夜射夜夜干| 精品国产乱子伦一区二区三区 | 国产精品国产三级国产专区5o| 无限看片的www在线观看| 国产精品熟女久久久久浪| 欧美日韩精品网址| 一本综合久久免费| 免费日韩欧美在线观看| 2018国产大陆天天弄谢| av网站在线播放免费| 性少妇av在线| 最近最新中文字幕大全免费视频| 夜夜骑夜夜射夜夜干| 国产高清国产精品国产三级| 国产男女内射视频| 亚洲第一欧美日韩一区二区三区 | 一区福利在线观看| 天天影视国产精品| 丝瓜视频免费看黄片| 99久久人妻综合| 亚洲一区二区三区欧美精品| 啦啦啦啦在线视频资源| 日韩一区二区三区影片| 亚洲国产欧美日韩在线播放| 一级a爱视频在线免费观看| 下体分泌物呈黄色| 亚洲精品在线美女| 久久国产精品男人的天堂亚洲| 搡老岳熟女国产| 韩国精品一区二区三区| 欧美人与性动交α欧美软件| 精品少妇内射三级| 日韩免费高清中文字幕av| 天堂俺去俺来也www色官网| 妹子高潮喷水视频| 一级a爱视频在线免费观看| 黄色 视频免费看| av线在线观看网站| 欧美在线黄色| 性色av一级| 狂野欧美激情性bbbbbb| 性色av一级| 亚洲成人免费av在线播放| 日本五十路高清| 欧美成人午夜精品| 日本91视频免费播放| 精品少妇一区二区三区视频日本电影| 亚洲精品国产av成人精品| 99国产精品99久久久久| 亚洲精品国产色婷婷电影| 女人爽到高潮嗷嗷叫在线视频| 淫妇啪啪啪对白视频 | 免费人妻精品一区二区三区视频| 18禁黄网站禁片午夜丰满| 老司机福利观看| 久久人人爽av亚洲精品天堂| 欧美久久黑人一区二区| netflix在线观看网站| 国产精品一区二区精品视频观看| 少妇 在线观看| 纯流量卡能插随身wifi吗| 考比视频在线观看| 亚洲精品一区蜜桃| 国产在线一区二区三区精| 国产精品一区二区在线不卡| 亚洲av电影在线观看一区二区三区| 亚洲国产精品一区三区| av国产精品久久久久影院| 99国产精品99久久久久| 国产在视频线精品| www日本在线高清视频| 天堂俺去俺来也www色官网| 亚洲 国产 在线| 天天躁狠狠躁夜夜躁狠狠躁| 亚洲国产日韩一区二区| 大陆偷拍与自拍| 波多野结衣一区麻豆| 婷婷丁香在线五月| 色视频在线一区二区三区| 9热在线视频观看99| 99久久人妻综合| 亚洲国产精品999| 90打野战视频偷拍视频| 69av精品久久久久久 | 日本精品一区二区三区蜜桃| 亚洲国产欧美一区二区综合| 老鸭窝网址在线观看| 亚洲精品久久久久久婷婷小说| 中文欧美无线码| 亚洲成国产人片在线观看| 国产片内射在线| 丁香六月欧美| 亚洲精品国产av成人精品| 老司机影院成人| 婷婷成人精品国产| 欧美日韩亚洲高清精品| 中国国产av一级| 国产成人a∨麻豆精品| 青春草视频在线免费观看| 国产三级黄色录像| 性色av乱码一区二区三区2| 日本av免费视频播放| 中文字幕色久视频| 国产亚洲欧美精品永久| 成人国产av品久久久| 考比视频在线观看| av超薄肉色丝袜交足视频| 纵有疾风起免费观看全集完整版| 国产极品粉嫩免费观看在线| 欧美少妇被猛烈插入视频| 高潮久久久久久久久久久不卡| 老司机影院成人| 少妇精品久久久久久久| 日韩电影二区| 日韩一区二区三区影片| 国产又色又爽无遮挡免| 他把我摸到了高潮在线观看 | 777久久人妻少妇嫩草av网站| 亚洲专区字幕在线| 丝瓜视频免费看黄片| 妹子高潮喷水视频| 国产伦理片在线播放av一区| 国产精品九九99| 天堂中文最新版在线下载| 一本大道久久a久久精品| 免费在线观看影片大全网站| 国产无遮挡羞羞视频在线观看| 韩国精品一区二区三区| 999精品在线视频| 少妇精品久久久久久久| 深夜精品福利| 99精品欧美一区二区三区四区| 51午夜福利影视在线观看| 精品免费久久久久久久清纯 | 一区二区三区乱码不卡18| 国产精品1区2区在线观看. | 黑人巨大精品欧美一区二区蜜桃| 欧美精品高潮呻吟av久久| 欧美变态另类bdsm刘玥| 女人久久www免费人成看片| 久久人妻熟女aⅴ| 日本av免费视频播放| 各种免费的搞黄视频| 国产av一区二区精品久久| 午夜福利影视在线免费观看| 久久久精品区二区三区| 欧美黑人欧美精品刺激| 大型av网站在线播放| 成人黄色视频免费在线看| 国产激情久久老熟女| 黑人欧美特级aaaaaa片| 精品福利观看| 波多野结衣av一区二区av| 国产免费现黄频在线看| 久久性视频一级片| 国产av又大| 男女之事视频高清在线观看| 黄色视频不卡| 中文字幕另类日韩欧美亚洲嫩草| 午夜精品久久久久久毛片777| 制服人妻中文乱码| 亚洲国产欧美网| 婷婷成人精品国产| 国产av一区二区精品久久| 亚洲国产欧美一区二区综合| 亚洲国产av影院在线观看| 国产精品一区二区在线不卡| 亚洲精品一卡2卡三卡4卡5卡 | 久久毛片免费看一区二区三区| 黄频高清免费视频| 午夜老司机福利片| 我的亚洲天堂| 少妇 在线观看| 久热这里只有精品99| 国产精品久久久久久人妻精品电影 | 国产一区二区 视频在线| 黄网站色视频无遮挡免费观看| 国产无遮挡羞羞视频在线观看| 另类亚洲欧美激情| 91精品三级在线观看| 视频区图区小说| 亚洲国产中文字幕在线视频| 亚洲精品第二区| 日韩电影二区| 人人妻人人爽人人添夜夜欢视频| 国产欧美日韩一区二区精品| 日韩大片免费观看网站| 午夜日韩欧美国产| 老汉色∧v一级毛片| 久久久久精品人妻al黑| 久久九九热精品免费| 欧美另类一区| 黄色视频在线播放观看不卡| 免费黄频网站在线观看国产| 国产有黄有色有爽视频| 性少妇av在线| 精品国内亚洲2022精品成人 | 咕卡用的链子| 老司机影院成人| 天天影视国产精品| 国产伦理片在线播放av一区| 69av精品久久久久久 | 亚洲精品自拍成人| av网站在线播放免费| 精品国产国语对白av| 又紧又爽又黄一区二区| 日本五十路高清| 在线精品无人区一区二区三| 老鸭窝网址在线观看| 2018国产大陆天天弄谢| 女性被躁到高潮视频| 在线观看人妻少妇| 免费观看av网站的网址| 99香蕉大伊视频| 午夜免费鲁丝| 中文字幕制服av| 国产淫语在线视频| 国产三级黄色录像| 国产区一区二久久| 一本综合久久免费| 美女中出高潮动态图| av超薄肉色丝袜交足视频| 成年女人毛片免费观看观看9 | 亚洲成人手机| 久久久久久久国产电影| 久久这里只有精品19| 精品欧美一区二区三区在线| 咕卡用的链子| 国产亚洲精品第一综合不卡| 中文字幕人妻丝袜制服| 久久这里只有精品19| 一级毛片精品| 亚洲伊人色综图| 国产在线视频一区二区| 国产av又大| 一区二区三区四区激情视频| 黑人巨大精品欧美一区二区mp4| 亚洲成人国产一区在线观看| 日韩大码丰满熟妇| 亚洲精品久久午夜乱码| 每晚都被弄得嗷嗷叫到高潮| 日韩三级视频一区二区三区| 成人手机av| 久久ye,这里只有精品| 黑人操中国人逼视频| 妹子高潮喷水视频| 国产精品香港三级国产av潘金莲| 90打野战视频偷拍视频| 如日韩欧美国产精品一区二区三区| 中文精品一卡2卡3卡4更新| 午夜免费鲁丝| 日韩 亚洲 欧美在线| 涩涩av久久男人的天堂| 91精品三级在线观看| 日本撒尿小便嘘嘘汇集6| 黄色怎么调成土黄色| 每晚都被弄得嗷嗷叫到高潮| 日韩视频一区二区在线观看| 日韩中文字幕视频在线看片| 午夜激情av网站| a级片在线免费高清观看视频| 汤姆久久久久久久影院中文字幕| 久久久久久久久免费视频了| 18禁观看日本| 国产精品.久久久| 操出白浆在线播放| 婷婷丁香在线五月| 国产在视频线精品| 久久亚洲精品不卡| 日韩欧美一区二区三区在线观看 | 天天躁夜夜躁狠狠躁躁| 日韩,欧美,国产一区二区三区| 美女主播在线视频| 日日摸夜夜添夜夜添小说| 欧美 日韩 精品 国产| 亚洲精品美女久久av网站| 一进一出抽搐动态| 精品卡一卡二卡四卡免费| 天天躁夜夜躁狠狠躁躁| 91成年电影在线观看| 777米奇影视久久| 午夜激情av网站| 久久毛片免费看一区二区三区| 久久久国产成人免费| 在线观看免费高清a一片| 99国产极品粉嫩在线观看| 黄色视频,在线免费观看| 精品欧美一区二区三区在线| 亚洲三区欧美一区| 日韩视频一区二区在线观看| 欧美少妇被猛烈插入视频| 亚洲精品国产av蜜桃| 亚洲欧美精品自产自拍| 丰满迷人的少妇在线观看| 日韩制服丝袜自拍偷拍| 亚洲av欧美aⅴ国产| 黄片播放在线免费| 日本五十路高清| 黑丝袜美女国产一区| 黑人猛操日本美女一级片| 97精品久久久久久久久久精品| 成人免费观看视频高清| 日韩中文字幕视频在线看片| 美国免费a级毛片| 新久久久久国产一级毛片| 久久精品成人免费网站| 啦啦啦视频在线资源免费观看| 日本欧美视频一区| 18在线观看网站| 99久久99久久久精品蜜桃| 国产精品久久久av美女十八| 国产黄色免费在线视频| 99久久99久久久精品蜜桃| 国产精品久久久人人做人人爽| 一区在线观看完整版| 午夜91福利影院| 精品视频人人做人人爽| 国产精品偷伦视频观看了| 丝袜美足系列| 国产欧美日韩一区二区三 | 操出白浆在线播放| 欧美国产精品va在线观看不卡| 99精品欧美一区二区三区四区| 亚洲第一欧美日韩一区二区三区 | 一本—道久久a久久精品蜜桃钙片| 一区二区三区乱码不卡18| 欧美在线黄色| 1024视频免费在线观看| 中文字幕最新亚洲高清| 欧美精品高潮呻吟av久久| 亚洲精品中文字幕一二三四区 | 国产精品av久久久久免费| 最近最新免费中文字幕在线| 精品高清国产在线一区| 国产真人三级小视频在线观看| 久久中文看片网| 十八禁网站网址无遮挡| 欧美激情高清一区二区三区| 男人操女人黄网站| 我的亚洲天堂| 99久久人妻综合| 欧美xxⅹ黑人| 美女扒开内裤让男人捅视频| 精品少妇一区二区三区视频日本电影| a级片在线免费高清观看视频| 亚洲五月婷婷丁香| 精品一区二区三区av网在线观看 | 日本精品一区二区三区蜜桃| av福利片在线| 国产亚洲精品一区二区www | 韩国精品一区二区三区| 久久久国产精品麻豆| 极品人妻少妇av视频| 欧美激情久久久久久爽电影 | 色婷婷av一区二区三区视频| 欧美国产精品va在线观看不卡| 国产精品香港三级国产av潘金莲| 又大又爽又粗| 日日摸夜夜添夜夜添小说| 波多野结衣av一区二区av| www.999成人在线观看| 久久免费观看电影| 制服人妻中文乱码| 亚洲成人免费电影在线观看| 97在线人人人人妻| 少妇裸体淫交视频免费看高清 | 午夜福利视频在线观看免费| 欧美亚洲 丝袜 人妻 在线| 欧美 亚洲 国产 日韩一| 亚洲第一av免费看| 一级片免费观看大全| 亚洲中文日韩欧美视频| 欧美97在线视频| 国产一区二区三区av在线| 又黄又粗又硬又大视频| 欧美日本中文国产一区发布| 多毛熟女@视频| 妹子高潮喷水视频| 国产一区二区激情短视频 | 妹子高潮喷水视频| 叶爱在线成人免费视频播放| www.精华液| 国产一级毛片在线| 国产伦人伦偷精品视频| 青春草亚洲视频在线观看| 日本91视频免费播放| 母亲3免费完整高清在线观看| 丁香六月欧美| 80岁老熟妇乱子伦牲交| 日本wwww免费看| 国产精品久久久久成人av| 国产精品久久久人人做人人爽| 99热网站在线观看| 午夜两性在线视频| 丝袜美腿诱惑在线| 久久国产亚洲av麻豆专区| 另类亚洲欧美激情| 日韩大片免费观看网站| 每晚都被弄得嗷嗷叫到高潮| 亚洲精华国产精华精| 五月天丁香电影| 亚洲国产精品999| 法律面前人人平等表现在哪些方面 | 国产亚洲av高清不卡| 国产黄色免费在线视频| 国产精品1区2区在线观看. | 9色porny在线观看| 成人国产一区最新在线观看| 久久久久久久久久久久大奶| 老司机深夜福利视频在线观看 | 如日韩欧美国产精品一区二区三区| 黄色毛片三级朝国网站| 成年动漫av网址| 操出白浆在线播放| 99热全是精品| 国产有黄有色有爽视频| 啦啦啦视频在线资源免费观看| h视频一区二区三区| 国产区一区二久久| a 毛片基地| 免费高清在线观看日韩| 日日夜夜操网爽| 日本精品一区二区三区蜜桃| 男女国产视频网站| 久久狼人影院| 中文字幕色久视频| 精品亚洲乱码少妇综合久久| 美女主播在线视频| 悠悠久久av| 一区二区三区精品91| 在线 av 中文字幕| 国产有黄有色有爽视频| 亚洲专区字幕在线| 欧美日韩亚洲综合一区二区三区_| 在线观看免费高清a一片| 久久精品国产亚洲av香蕉五月 | 午夜两性在线视频| 欧美精品人与动牲交sv欧美| 美国免费a级毛片| 国产成人精品在线电影| 一区二区三区四区激情视频| 日本黄色日本黄色录像| 淫妇啪啪啪对白视频 | 人人妻人人爽人人添夜夜欢视频| 日韩中文字幕视频在线看片| 纯流量卡能插随身wifi吗| 叶爱在线成人免费视频播放| 亚洲成人手机| 亚洲中文av在线| 人人澡人人妻人| 人人妻人人爽人人添夜夜欢视频| 黄色a级毛片大全视频| 美女高潮喷水抽搐中文字幕| www.熟女人妻精品国产| 久久亚洲精品不卡| 熟女少妇亚洲综合色aaa.| 日韩精品免费视频一区二区三区| 777米奇影视久久| 国产亚洲av片在线观看秒播厂| 久久这里只有精品19| 18禁观看日本| 国产熟女午夜一区二区三区| 黄色 视频免费看| 男人操女人黄网站| 999久久久精品免费观看国产| 亚洲国产中文字幕在线视频| 午夜免费成人在线视频| 99久久精品国产亚洲精品| 亚洲av成人不卡在线观看播放网 | 久久久久网色| 永久免费av网站大全| 黄色视频在线播放观看不卡| 肉色欧美久久久久久久蜜桃| 亚洲国产欧美网| 久久久国产精品麻豆| av在线播放精品| 久久亚洲国产成人精品v| 国产激情久久老熟女| 精品亚洲乱码少妇综合久久| 国产国语露脸激情在线看| 国产亚洲一区二区精品| 午夜福利在线观看吧| 欧美性长视频在线观看| 老司机影院毛片| 9191精品国产免费久久| www.999成人在线观看|