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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

GPID和LED

發布時間:2024/7/23 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GPID和LED 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

筆記源自《朱老師物聯網大講堂》

《1.4.ARM裸機第四部分-GPIO和LED》

第一部分、章節目錄
1.4.1.裸機實驗體驗之usb啟動配合dnw工具下載
1.4.2.裸機實驗體驗之SD卡下載
1.4.3.自己動手安裝交叉編譯工具鏈1
1.4.4.自己動手安裝交叉編譯工具鏈2
1.4.5.Makefile大俠隆重登場
1.4.6.mkv210_image.c文件詳解1
1.4.7.mkv210_image.c文件詳解2
1.4.8.一步步點亮LED1_硬件工作原理及原理圖查閱
1.4.9.一步步點亮LED2_數據手冊查閱及相關寄存器瀏覽
1.4.10.一步步點亮LED3_從零開始手寫匯編點亮LED
1.4.11.一步步點亮LED4_使用位運算實現復雜點亮要求
1.4.12.一步步點亮LED5_匯編編寫延時函數并實現LED閃爍效果
1.4.13.一步步點亮LED6_再難一點的流水燈效果
1.4.14.反匯編工具objdump的使用簡介

第二部分、章節介紹
1.4.1.裸機實驗體驗之usb啟動配合dnw工具下載
本節的主要目的是學會從usb啟動,然后使用dnw工具下載裸機程序bin文件到開發板內部SRAM執行。學完本節要求大家能夠使用usb啟動方式進行裸機程序調試,以方便后面測試自己寫的代碼(本節會提供我編譯好的led.bin)。
1.4.2.裸機實驗體驗之SD卡下載
本節的主要目的是學會設置開發板從SD2啟動(需要事先將板載SD0通道的iNand上的bootloader破壞掉),并且學會在Windows中使用燒錄軟件、linux中使用dd命令2種方式來制作啟動SD卡。學完本節要求大家能夠使用SD卡啟動方式進行裸機程序的調試,以方便后面測試自己寫的代碼(本節會提供我編譯好的led.bin)。
1.4.3.自己動手安裝交叉編譯工具鏈1
本節首先介紹linux中裝軟件和windows中的不同,然后手把手教大家從零開始自己動手安裝交叉編譯工具鏈并作測試。
1.4.4.自己動手安裝交叉編譯工具鏈2
本節接上節講解如何將安裝的交叉編譯工具鏈導出到環境變量,并且為工具鏈制作arm-linux-符號鏈接。
1.4.5.Makefile大俠隆重登場
本節給大家引入Makefile,并且ubuntu環境下簡單介紹Makefile的書寫,目標、依賴等基本概念,最后分析了我們在裸機程序中使用到的Makefile。本節學完要求大家理解Makefile的基本用法,會自己根據需要修改Makefile。
1.4.6.mkv210_image.c文件詳解1
本節回顧第三部分中講到的S5PV210啟動知識,并且分析SD卡啟動時頭信息的技術要求,然后引入mkv210_image.c文件并作簡單分析。
1.4.7.mkv210_image.c文件詳解2
本節接上節繼續詳細分析mkv210_image.c文件的技術細節,目的是使大家深入理解本文件中C程序的工作原理和實現技巧。
1.4.8.一步步點亮LED1_硬件工作原理及原理圖查閱
本節從LED工作原理講起,通過查閱原理圖分析點亮LED的原理和方法。
1.4.9.一步步點亮LED2_數據手冊查閱及相關寄存器瀏覽
本節接上節內容,查閱SoC數據手冊中GPIO寄存器部分,找到板子上LED對應的GPIO并分析操作方法。
1.4.10.一步步點亮LED3_從零開始手寫匯編點亮LED
本節開始寫我們第一個匯編程序,從零開始用最少的代碼點亮LED,并且使用之前講過的Makefile編譯,然后使用之前實踐過的下載方法下載運行測試。至此,本章點亮LED的目標已經實現。
1.4.11.一步步點亮LED4_使用位運算實現復雜點亮要求
本節以上節的匯編代碼為基礎,進行必要修改,使用位運算的技巧來實現一些復雜的電燈要求(譬如隔一個亮一個)。學完本節要求大家對位運算有一定掌握,并基本掌握使用位運算來操作SoC寄存器
1.4.12.一步步點亮LED5_匯編編寫延時函數并實現LED閃爍效果
本節接上節并繼續復雜化。引入匯編編寫的延時函數,并通過延時達到LED閃爍顯示的效果。本節學習的目的是加深大家對匯編編程的理解,學會用匯編來寫函數并調用之,為以后編寫復雜匯編程序打基礎。
1.4.13.一步步點亮LED6_再難一點的流水燈效果
本節是點亮LED的最后一節了,實現的效果是流水燈(跑馬燈)。有了以上章節的學習,本節任務應該不難實現。
1.4.14.反匯編工具objdump的使用簡介
本節介紹交叉編譯工具鏈中的反匯編工具objdump。該工具是我們后面理解和分析鏈接地址、鏈接腳本的利器,在這里給大家先認識下,方便以后引入使用。

第三部分、隨堂記錄
1.4.1.裸機實驗體驗之usb啟動配合dnw工具下載
1.4.1.1、背景知識介紹
回顧S5PV210的啟動方式,必須將OM5打到VCC,才能從USB啟動。
S5PV210的啟動過程:開機時先執行內部的iROM中的BL0,然后BL0做了一系列的初始化后,再讀取外部OMpin的設置來確定用戶選擇了從哪里啟動。當檢測到我們設置的是USB啟動時,S5PV210就會從USB OTG接口試圖連接主機進行下載啟動。
1.4.1.2、dnw工具介紹
dnw是一個軟件,是三星公司編寫的,這個軟件的功能是通過USB線連接開發板和電腦主機,然后從主機下載文件鏡像到開發板中去燒錄系統。
dnw軟件使用注意1:dnw是需要裝usb驅動的,驅動在“X210光盤資料\A盤\tools\USB驅動”目錄中
dnw軟件使用注意2:dnw使用時通過usb線下載,所以一定要插USB線。
dnw軟件使用注意3:dnw下載時需要設置dnw下載內存地址。在dnw軟件的菜單“Configuration”中設置
Download Address為0xd0020010,確認即可。
1.4.1.3、dnw驅動安裝
X210開發板使用了軟開關,但是我們這里還沒到操作系統沒去處理開關,所以在整個裸機實驗中必須手工按下POWER鍵才能保持開機,只要手一抬起來就關機了····
dnw驅動裝好的標志是:開發板開機從usb啟動后,設備管理器中顯示已經安裝的設備,并且關鍵是dnw工具中USB:OK
1.4.1.4、裸機程序下載地址設置
從usb啟動做裸機實驗時,因為不需要16字節的校驗頭,所以直接下載到0xd0020010
1.4.1.5、usb啟動裸機實驗總結
usb啟動方式主要是用來調試程序的,其實分析S5PV210即可知道,我們這里是把裸機程序當作BL1來使用了。

擴充知識:Win7 X64版本驅動安裝非常麻煩,因為微軟啟用了USB設備驅動簽名政策。

1.4.2.裸機實驗體驗之SD卡下載
1.4.2.1、背景知識
一般情況下,用USB下載來調試裸機程序比較方便;但是有時候電腦使用dnw會頻繁藍屏,這時候用SD卡下載調試是不錯選擇。
把OM5打開GND,以從SD通道啟動。
從SD啟動時會先從iNand(SD0)啟動執行,當iNand啟動做校驗和時失敗才會轉為啟動SD2。而我們做裸機實驗時是通過SD2來提供裸機程序鏡像的,因此需要先破壞內部iNand的uboot才可以強迫開發板從SD2啟動去執行我們的裸機程序。
1.4.2.2、擦除開發板iNand中的uboot的方法
在linux和android系統下,擦除uboot的方法:
busybox dd if=/dev/zero of=/dev/block/mmcblk0 bs=512 seek=1 count=1 conv=sync
sync
在uboot底下如何擦除uboot:movi write u-boot 0x30000000
1.4.2.2、Windows下制作啟動SD卡
方法等同于我們第三部分講過的SD卡刷機時的操作
1.4.2.3、linux下制作啟動SD卡
后面章節再演示。

總結:SD卡啟動和usb啟動優劣勢對比:如果你的電腦本身支持usb啟動下載而且不藍屏,建議以后做實驗用usb下載調試;

1.4.3.自己動手安裝交叉編譯工具鏈1
1.4.3.1、Windows中裝軟件的特點
Windows中裝軟件使用安裝包,安裝包解壓后有2種情況:一種是一個安裝文件(.exe .msi),雙擊進行安裝,下一步直到安裝完畢。安裝完畢后會在桌面上生成快捷方式,我們平時使用快捷方式來啟動這些程序;另一種是所謂的綠色軟件、免安裝軟件。這種不用安裝,直接解壓開里面就有exe可以直接雙擊執行。
1.4.3.2、linux中裝軟件的特點
linux中安裝軟件比windows中復雜。linux中安裝軟件一般有以下幾種方法:
第一種:在線安裝。譬如ubuntu中使用apt-get install vim來安裝vim軟件。
第二種:自己下載安裝包來安裝。這種方式的缺陷就是你不知道你下載的安裝包和你的系統是否匹配。
第三種:最裝逼的一種方式,就是源代碼安裝。
總結:我們安裝交叉編譯工具鏈(arm-linux-gcc)實際采用第二種安裝方式。
1.4.3.3、交叉編譯工具鏈的選擇
我們選擇交叉編譯工具鏈的原則:和我們所使用的目標平臺(給哪款SoC編程)盡量去匹配。譬如我們開發S5PV210的程序就是用arm-2009q3這個版本,因為三星官方在開發S5pv210時就使用這個版本的交叉編譯工具鏈,這樣可以最大限度的避免稀奇古怪的問題出現。
1.4.3.4、交叉編譯工具鏈的安裝
步驟1:打開虛擬機,在/usr/local/下創建/usr/local/arm文件夾
步驟2:先將安裝包從Windows中弄到linux中去。可以用共享文件夾,也可以用Samba,也可以cuteftp。
步驟3:解壓。tar -jxvf arm-2009q3.tar.bz2
到此相當于程序已經安裝完畢,真正的應用程序安裝在/usr/local/arm/arm-2009q3/bin目錄下

注:linux中的目錄管理方法。技術角度來講,linux中所有目錄性質都是一樣的,所以技術角度來講我們把軟件安裝到哪里都行。但是因為如果胡亂放置,將來程序可能不好找。所以久而久之大家就總結了一個文件放置的一般定義,譬如說/bin目錄放置一些系統自帶的用戶使用的應用程序,/sbin目錄下存放的是系統自帶的系統管理方面的應用程序。
那我們裝軟件放在哪里?一般都在/usr目錄下。我們安裝arm-linux-gcc,就在/usr/local/底下創建一個arm文件夾,然后裝到里面。
1.4.3.5、安裝后的測試
到真正的應用程序的安裝目錄下(也就是/usr/local/arm/arm-2009q3/bin),去執行arm-linux-gcc -v
執行方法是:./arm-none-linux-gnueabi-gcc -v
執行后可以得到一長串輸出,其中有“gcc version 4.4.1 ”字樣,即表示安裝成功。

1.4.4.自己動手安裝交叉編譯工具鏈2
1.4.3.1、環境變量的意義
環境變量就是操作系統的全局變量。每一個環境變量對操作系統來說都是唯一的,名字和所代表的意義都是唯一的。linux系統可以有很多個環境變量。其中有一部分是linux系統自帶的,還有一些是我們自己來擴充的。我們這里涉及到的一個環境變量是
PATH。PATH這個環境變量是系統自帶的,它的含義就是系統在查找可執行程序時會搜索的路徑范圍。
1.4.3.2、將工具鏈導出到環境變量
export PATH=/usr/local/arm/arm-2009q3/bin:PATH在一個終端中執行以上命令后,該終端中就可以直接使用arm?linux?gcc了,但是只要關掉這個終端再另外打開一個立馬就不行了。原因是我們本次終端中執行時的操作只是針對本終端,以后再打開的終端并未被執行過這個命令所以沒導出。解決方案是在/.bashrc中,添加exportPATH=/usr/local/arm/arm?2009q3/bin:PATH 在一個終端中執行以上命令后,該終端中就可以直接使用arm-linux-gcc了,但是只要關掉這個終端再另外打開一個立馬就不行了。原因是我們本次終端中執行時的操作只是針對本終端,以后再打開的終端并未被執行過這個命令所以沒導出。 解決方案是在~/.bashrc中,添加export PATH=/usr/local/arm/arm-2009q3/bin:PATH使arm?linux?gcc?/.bashrcexportPATH=/usr/local/arm/arm?2009q3/bin:PATH 即可。
注意:我們導出這個環境變量是在當前用戶,如果你登錄時在其他用戶下是沒用的。

1.4.3.3、為工具鏈創建arm-linux-xxx符號鏈接
ln arm-none-linux-gnueabi-addr2line -s arm-linux-addr2line

1.4.5.Makefile大俠隆重登場
1.4.5.1、為什么需要Makefile
Makefile是用來管理工程的。
在一個正式的軟件項目中,由很多個.c和.h文件構成,此時如果直接在命令行編譯,就會像這樣:gcc a.c b.c c.c d.c e.c f.c g.c -o exe 每次編譯都要輸入一堆東西很麻煩,這個問題嚴重影響工作效率,怎么辦?Makefile來解決
1.4.5.2、一個簡單的Makefile示例Y
見光盤下載文件夾下面的 隨堂代碼/1.4.5/Makefile1和Makefile2
1.4.5.3、Makefile中的一些基本概念
目標:目標定格寫,后面是冒號(冒號后面是依賴)
依賴:依賴是用來產生目標的原材料。
命令:命令前面一定是Tab,不能是定格,也不能說多個空格。命令就是要生成那個目標需要做的動作。
1.4.5.4、Makefile的基本工作原理
其一,當我們執行 make xx 的時候,Makefile會自動執行xx這個目標下面的命令語句。
其二,當我們make xx的時候,是否執行命令是取決于依賴的。依賴如果成立就會執行命令,否則不執行。
其三,我們直接執行make 和make 第一個目標 效果是一樣的。(第一個目標其實就是默認目標)
1.4.5.5、ARM裸機中用到的Makefile介紹

1.4.5.6、進一步學習Makefile的資料
我們學習Makefile的思路就是:先學會基本的概念和應用,先理解Makefile的概念和使用方法、工作原理。先自己會寫簡單的Makefile來管理工程。一般先學到這里就可以了,更深入的內容可以隨同稍后的課程一起來學習,我們講到課程的時候會再次提及并且逐步深入。
對于我們有一定基礎的同學,同時還有時間,可以深入學習Makefile,看《跟我一起學Makefile》(作者:陳皓)

1.4.6.mkv210_image.c文件詳解1
2.4.6.1、mkv210_image.c的使用演示
裸機程序中的Makefile(實際上真正的項目的Makefile都是這樣的)是把程序的編譯和鏈接過程分開的。(平時我們用gcc a.c -o exe這種方式來編譯時,實際上把編譯和鏈接過程一步完成了。在內部實際上編譯和鏈接永遠是分開獨立進行的,編譯要使用編譯器gcc,鏈接要使用鏈接器ld)
鏈接器得到led.elf其實就是我們的可執行程序,(如果是在操作系統下,這個led.elf就可以執行了)但是在嵌入式裸機中我們需要的是可以燒寫的文件(可燒寫的文件就叫鏡像image),因此我們需要用這個led.elf為原材料來制作鏡像,制作工具是交叉編譯工具鏈中的arm-linux-objcopy
我們使用arm-linux-objdump工具進行反編譯(反匯編),反匯編其實就是把編譯后的elf格式的可執行程序給反過來的到對應的匯編程序,的到它的匯編源代碼。我們使用反匯編主要是用來學習,見本部分最后一節。
mkv210_image.c這個程序其實最終不是在開發板上執行的,而是在主機linux(就是用來執行make對整個項目進行編譯的那個機器)中執行的,因此編譯這個程序用gcc而不是用arm-linux-gcc。這個.c文件編譯后得到一個可執行程序mkmini210,目的是通過執行這個mkmini210程序而由led.bin得到210.bin。(210.bin是通過SD卡啟動時的裸機鏡像,這個鏡像需要由led.bin來加工的到,加工的具體方法和原理要看mkv210_image.c)

1.4.6.2、背景知識:S5PV210的啟動過程回顧
分析啟動過程可知;210啟動后先執行內部iROM中的BL0,BL0執行完后會根據OMpin的配置選擇一個外部設備來啟動(有很多,我們實際使用的有2個:usb啟動和SD卡啟動)。在usb啟動時內部BL0讀取到BL1后不做校驗,直接從BL1的實質內部0xd0020010開始執行,因此usb啟動的景象led.bin不需要頭信息,因此我們從usb啟動時直接將鏡像下載到0xd0020010去執行即可,不管頭信息了;從SD啟動時,BL0會首先讀取sd卡得到完整的鏡像(完整指的是led.bin和16字節的頭),然后BL0會自己根據你的實際鏡像(指led.bin)來計算一個校驗和checksum,然后和你完整鏡像的頭部中的checksum來比對。如果對應則執行BL1,如果不對應則啟動失敗(會轉入執行2st啟動,即SD2啟動。如果這里已經是2st啟動了,這里校驗通不過就死定了)。
1.4.6.3、mkv210_image.c的作用:為BL1添加校驗頭
我們編譯鏈接時只得到了led.bin,這個210.bin的得到和交叉編譯工具鏈是完全無關的。由led.bin得到210.bin的過程是三星的S5PV210所特有的,因此需要我們自己去完成,為此我們寫了mkv210_image.c來完成。
1.4.6.4、整個程序工作流分析
整個程序中首先申請一個16KB大小的buffer,然后把所有內容按照各自的位置填充進去,最終把填充好的buffer寫入到一個文件(名叫210.bin)就形成了我們想要的鏡像。

1.4.7.mkv210_image.c文件詳解2
1.4.7.1、代碼詳解
第1步:檢驗用戶傳參是不是3個。
第2步:分配16K Bbuffer并且填充為0.
第3步:·········

1.4.7.2、main函數兩個形參的作用
main函數接收2個形參:argc和argv。
argc是用戶(通過命令行來)執行這個程序時,實際傳遞的參數個數。注意這個個數是包含程序執行本身的
argv是一個字符串數組,這個數組中存儲的字符串就是一個個的傳參。
譬如我們執行程序時使用./mkx210 led.bin 210.bin
則argc = 3
則argv[0] = “./mkx210” argv[1] = led.bin argv[2] = 210.bin
1.4.7.3、glibc讀寫文件接口
linux中要讀取一個文件,可以使用fopen打開文件,fread讀取文件,讀完之后fclose關閉文件。
要寫文件用fwrite來寫。這些函數是glibc的庫函數,在linux中用man 3 可以查找。
如果你本身就知道這些函數的用法,只是記不起來可以man查找;如果你本身根本就不會用這些接口,建議先去baidu。
1.4.7.4、校驗和的計算方法
算法:校驗和其實就是需要校驗的內存區域中,所有內存中的內容按照字節為單位來進行相加,最終相加的和極為校驗和。
實現時大家要注意指針的類型為char *

1.4.8.一步步點亮LED1_硬件工作原理及原理圖查閱
1.4.8.1、LED物理特性介紹
LED本身有2個接線點,一個是LED的正極,一個是LED的負極。LED這個硬件的功能就是點亮或者不亮,物理上想要點亮一顆LED只需要給他的正負極上加正電壓即可,要熄滅一顆LED只需要去掉電壓即可。
1.4.8.2、查閱原理圖了解板載LED硬件接法
查閱原理圖,發現開發板上一共有5顆LED。其中一顆D26的接法是:正極接5V,負極接地。因此這顆LED只要上電就會常亮。因此我們分析這顆LED是電源指示燈。
剩下4顆LED的接法是:正極接3.3V,負極接了SoC上的一個引腳(GPIO),具體詳細接法是:
D22:GPJ0_3
D23:GPJ0_4
D24:GPJ0_5
D25:PWMTOUT1(GPD0_1)
1.4.8.3、分析如何點亮及熄滅LED(GPIO)
分析:LED點亮的要求是:正極和負極之間有正向電壓差。
思考:在開發板上如何為LED制造這個電壓差讓它點亮呢?
解答:因為正極已經定了(3.3V),而負極接在了SoC的引腳上,可以通過SoC中編程來控制負極的電壓值,因此我們可以通過程序控制負極輸出低電平(0V),這樣在正負極上就有了壓差,LED即可點亮。

1.4.9.一步步點亮LED2_數據手冊查閱及相關寄存器瀏覽
1.4.9.1、GPIO概念的引入
GPIO:general purpose input output 通用輸入輸出
GPIO就是芯片的引腳(芯片上的引腳有些不是GPIO,只有一部分是),作為GPIO的這類引腳,他的功能和特點是可以被編程控制它的工作模式,也可以編程控制他的電壓高低等。
通過之前的分析我們知道,我們設計電路時就把LED接在了一個GPIO上,這樣我們就可以通過編程控制GPIO的模式和輸入輸出值來操控LED亮還是滅;如果你當時設計電路時把LED接在非GPIO上那就不可能了。
1.4.9.2、閱讀數據手冊中有關部分
當我們想要通過編程操控GPIO來操作LED時,我們首先需要通讀一下S5PV210的數據手冊中有關于GPIO的部分,這部分在數據手冊的Section2.2中。

1.4.9.3、GPIO相關的寄存器介紹
回憶下之前說過的,軟件操作硬件的接口是:寄存器。
我們當前要操作的硬件是LED,但是LED實際是通過GPIO來間接控制的,所以當前我們實際要操作的設備其實是SoC的GPIO。要操作這些GPIO,必須通過設置他們的寄存器。

查閱數據手冊可知,GPJ0相關的寄存器有以下: GPJ0CON, (GPJ0 control)GPJ0控制寄存器,用來配置各引腳的工作模式 GPJ0DAT, (GPJ0 data)當引腳配置為input/output模式時,寄存器的相應位和引腳的電平高低相對應。 GPJ0PUD, (pull up down)控制引腳內部弱上拉、下拉 GPJ0DRV, (driver)配置GPIO引腳的驅動能力 GPJ0CONPDN,(記得是低功耗模式下的控制寄存器) GPJ0PUDPDN (記得是低功耗模式下的上下拉寄存器) 注:在驅動LED點亮時,應該將GPIO配置為output模式。實際上真正操控LED的硬件,主要的有:GPJ0CON, GPJ0DAT 這么2個。 如何點亮LED,編程的步驟是: 1、操控GPJ0CON寄存器中,選中output模式 2、操控GPJ0DAT寄存器,相應的位設置為0

1.4.10.一步步點亮LED3_從零開始手寫匯編點亮LED
1.4.10.1、GPxCON、GPxDAT寄存器分析
GPJ0端口一共有8個引腳,分別記住:GPJ0_0 ~ GPJ0_7,相關重要寄存器就是GPJ0CON和GPJ0DAT
GPJ0CON寄存器中設置8個引腳的工作模式(32/8=4,每個引腳可以分到4位,譬如GPJ0_0對應的bit位為bit0bit3,GPJ0_3對應的位為bit12bit15。工作方法是:給相應的寄存器位寫入相應的值,該引腳硬件就會按照相應的模式去工作。譬如給bit12~bit15寫入0b0001,GPJ0_3引腳就成為輸出模式了)
1.4.10.2、從零開始寫代碼操作寄存器
需要哪些先決條件才能寫呢?
1. 硬件接法和引腳:GPJ0_3 GPJ0_4 GPJ0_5 低電平亮/高電平滅
2. GPJ0CON(0xE0200240)寄存器和GPJ0DAT(0xE0200244)寄存器
3. 工程管理:Makefile等
根據以上分析,我們就知道代碼的寫法了,代碼所要完成的動作就是:
把相應的配置數據寫入相應的寄存器即可。
1.4.10.3、編譯、下載、運行看結果
編譯時用我們的工程管理,直接make編譯得到led.bin和210.bin
下載運行可以用usb啟動dnw下載;也可以用sd卡燒錄下載,根據自己的情況用
一般都用usb下載,因為方便。如果電腦主板插上dnw會死機沒法解決,那只有sd卡下載啟動了。
注意:開發板上按下電源鍵之后4顆LED默認都是半亮的,當我們下載程序后其中3顆變的很亮,這說明我們的程序已經運行了。
1.4.10.4、總結和回顧(軟件控制硬件思想、寄存器意義、原理圖數據手冊的作用)
軟件到底是怎么控制硬件的?為什么程序一運行硬件就能跟著動?
軟件編程控制硬件的接口就是:寄存器

1.4.11.一步步點亮LED4_使用位運算實現復雜點亮要求
上節回顧:代碼寫的更漂亮一些
1. 用宏定義來定義寄存器名字,再來操作。
2. 用 b . 來實現死循環
3. 用.global把_start鏈接屬性改為外部,消除鏈接時的警告
1.4.11.1、問題提出:如何只點亮中間1顆(兩邊是熄滅的)LED
分析:程序其實就是寫了GPJ0CON和GPJ0DAT這2個寄存器而已,功能更改也要從這里下手。
GPJ0CON寄存器不需要修改,GPJ0DAT中設置相應的輸出值即可。
1.4.11.2、直接解法(不使用位運算)和它的弊端
GPJ0DAT = 0x28
代碼見<3.led_s>
總結:1. 這樣寫可以完成任務。
2. 這樣寫有缺陷。缺陷就是需要人為的去計算這個特定的設置值,而且看代碼的也不容易看懂。
解決方案:在寫代碼時用位運算去讓編譯器幫我們計算這個特定值。
1.4.11.3、常用位運算:與、或、非、移位
位與(&) 位或(|) 位非(取反 ~) 移位(左移<< 右移>>)
1.4.11.4、使用位運算實現功能
1<<3 等于 0b1000
1<<5 等于 0b100000
(1<<3)|(1<<5) 等于 0b101000
1.4.11.5、擴展一下:如何只熄滅中間1顆而點亮旁邊2顆
ldr r0, =((0<<3) | (1<<4) | (0<<5))

1.4.12.一步步點亮LED5_匯編編寫延時函數并實現LED閃爍效果
1.4.12.1、閃爍效果原理分析
閃爍 = 亮 + 延時 + 滅 + 延時 + 亮 + 延時 ······
1.4.12.2、延時函數原理
在匯編中實現延時的方法:用一些沒有目的的代碼來執行消耗時間,達到延時的效果。
1.4.12.3、匯編編寫延時函數
匯編編寫延時函數的原理,用一個寄存器存放一個數字,然后在循環中每個循環里給數字減1,然后再判斷這個數字的值是否為0.如果為0則停止循環,如果不為0則繼續循環。
1.4.12.4、匯編編寫及調用函數的方式
匯編中整個匯編的主程序是一個死循環,這個死循環是我們匯編程序的主體,類似于C中的main函數。其他函數必須寫在這個主死循環程序的后面(死循環外),不然會出錯。
匯編編寫delay延時函數時,要注意函數的初始化和函數體的位置,不能把初始化寫在了循環體內。
匯編中調用函數用bl指令,子函數中最后用mov pc, lr來返回。

1.4.13.一步步點亮LED6_再難一點的流水燈效果
1.4.13.1、流水燈原理分析
流水燈又叫跑馬燈,實現的效果就是:挨著的LED一次點亮熄滅(同時只有1顆LED亮的)
1.4.13.2、流水燈編寫(使用循環)
LED1亮延時 + LED2亮延時 + LED3亮延時 + 循環
1.4.13.3、復雜點的實現
用位取反操作符來輕松愉快的實現單顆LED點亮流水效果
1.4.13.4、總結:一步步寫,根本不難
從一步一步點亮LED1開始到6,寫了8個示例代碼,一步步的實現了更復雜的效果,其間夾雜使用了位運算來給LED賦值,以實現想要的點亮效果。如果按部就班實際上非常簡單。
編程操控一個硬件的步驟:1 分析硬件工作原理 2 分析原理圖 3 分析數據手冊 4 找到相關的SFR 5 寫代碼設置寄存器得到想要的效果
1.4.13.5
作業:1、板子上有4顆LED的(還有個在GPD0_1),大家編程把LED4也點亮、熄滅
2、用4顆LED實現流水燈

1.4.14.反匯編工具objdump的使用簡介
1.4.14.1、反匯編的原理&為什么要反匯編
arm-linux-objdump -D led.elf > led_elf.dis
objdump是gcc工具鏈中的反匯編工具,作用是由編譯鏈接好的elf格式的可執行程序反過來得到匯編源代碼
-D表示反匯編 > 左邊的是elf的可執行程序(反匯編時的原材料),>右邊的是反匯編生成的反匯編程序

反匯編的原因有以下:1.逆向破解。2.調試程序時,反匯編代碼可以幫助我們理解程序(我們學習時使用objdump主要目的是這個),尤其是在理解鏈接腳本、鏈接地址等概念時。3. 把C語言源代碼編譯鏈接生成的可執行程序反匯編后得到對應的匯編代碼,可以幫助我們理解C語言和匯編語言之間的對應關系。非常有助于深入理解C語言。

1.4.14.2、反匯編文件的格式和看法
(匯編 assembly 反匯編 dissembly)
標號地址、標號名字、指令地址、指令機器碼、指令機器碼反匯編到的指令
擴展:ARM匯編中用地址池方式來實現非法立即數

1.4.14.3、初識指令地址
下載燒錄執行的bin文件,內部其實是一條一條的指令機器碼。這些指令每一條都有一個指令地址,這個地址是連接的時候ld給指定的(ld根據我們寫的鏈接腳本來指定)
1.4.14.4、展望:反匯編工具幫助我們分析鏈接腳本
反匯編的時候得到的指令地址是鏈接器考慮了鏈接腳本之后得到的地址,而我們寫代碼時通過指定連接腳本來讓鏈接器給我們鏈接合適的地址。
但是有時候我們寫的鏈接腳本有誤(或者我們不知道這個鏈接腳本會怎么樣),這時候可以通過看反匯編文件來分析這個鏈接腳本的效果,看是不是我們想要的,如果不是可以改了再看。

外鏈內容:C語言位操作

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的GPID和LED的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

91精品一区二区在线观看 | 日韩精品一区二区三区免费观看视频 | 91丨九色丨高潮 | 九九视频网 | 国产精品一区二区免费视频 | 一级片免费观看视频 | 超碰精品在线观看 | 91丨九色丨高潮丰满 | 日本在线成人 | 欧美日韩精品影院 | 国产精品门事件 | 日本公妇在线观看高清 | a黄色一级 | 免费黄色小网站 | 精品亚洲欧美无人区乱码 | 91完整版在线观看 | 97超碰免费在线 | 奇米影视8888在线观看大全免费 | 丁香激情五月 | 欧美淫视频 | japanese黑人亚洲人4k | 在线看毛片网站 | 最近更新好看的中文字幕 | 91精品国产99久久久久久红楼 | 92国产精品久久久久首页 | 亚洲精品一区二区在线观看 | 精品国产一区二区三区久久久蜜臀 | 色视频网页 | 超碰电影在线观看 | 日韩 国产 | 午夜电影 电影 | 伊人导航 | 天天综合婷婷 | 久久国产亚洲 | 中文字幕视频一区 | 国产午夜一级毛片 | av一级一片 | 97人人看| 国产免费黄色 | 91| 国产免费作爱视频 | 亚洲高清精品在线 | 国产高清视频在线播放一区 | 日韩精品一区二区三区免费观看视频 | 在线午夜电影神马影院 | 美女网站在线免费观看 | 91片黄在线观 | 91桃色在线观看视频 | 久久成人资源 | 日韩激情免费视频 | 色香天天 | 玖玖爱国产在线 | 欧美综合久久久 | 激情丁香月 | 国产精品久久久久久麻豆一区 | 97国产精品一区二区 | 国产黄色精品在线 | 国产午夜一区二区 | 日韩高清免费在线 | 97自拍超碰 | 国产精品高清免费在线观看 | 国产一区福利 | 毛片3| 日韩欧美高清不卡 | 国产精品久久久久久久久久久久午 | 日韩久久电影 | 日韩在线视频一区二区三区 | 久久国产精品99精国产 | 午夜精品中文字幕 | 日日干,天天干 | 亚洲综合在线观看视频 | 五月天婷亚洲天综合网精品偷 | 日韩免费高清在线观看 | 黄色毛片电影 | 免费视频一区 | 中文字幕字幕中文 | 国产精品亚洲片在线播放 | 免费看一级黄色大全 | 手机av在线网站 | 亚洲国产美女久久久久 | 午夜性盈盈 | 欧美专区日韩专区 | 久久成人精品 | 日日干日日色 | 日韩一级网站 | 精品一区精品二区高清 | 97**国产露脸精品国产 | 亚洲天天在线日亚洲洲精 | 欧美日韩在线观看一区 | 精油按摩av| 少妇bbw揉bbb欧美 | 激情五月婷婷综合 | 天天婷婷 | 丝袜美腿在线视频 | 精品在线视频播放 | 国产精品久久久久9999吃药 | 麻豆视频免费入口 | 日韩在线观看一区 | 99理论片| 欧美在线视频日韩 | 久久久亚洲国产精品麻豆综合天堂 | 一区二区影院 | 天天操天天草 | 国产综合福利在线 | 精品国产欧美 | 网站在线观看日韩 | 欧美视频在线观看免费网址 | 国内精品久久久精品电影院 | japanesefreesexvideo高潮| 91九色最新 | 国产精品你懂的在线观看 | 欧美日本不卡 | 午夜视频在线观看一区二区三区 | 国偷自产视频一区二区久 | 天天操网址 | 久草在线视频网站 | 久草在线欧美 | 亚洲精品国产区 | 中文字幕永久免费 | 国产高清永久免费 | 一级电影免费在线观看 | 麻豆国产视频下载 | 亚洲精品免费在线观看视频 | 国产精品h在线观看 | 999在线视频| 大荫蒂欧美视频另类xxxx | 午夜国产一区二区三区四区 | 亚洲国产午夜精品 | 天天色天天色天天色 | 97视频网址 | 成人国产精品电影 | 久久精品视频3 | 国产美女免费 | 中文字幕在线观看免费 | 日韩免费一区二区在线观看 | 91av视频在线免费观看 | 91亚洲精品久久久中文字幕 | 久久艹国产视频 | 婷婷在线播放 | 久热国产视频 | 最近字幕在线观看第一季 | 一区二区中文字幕在线播放 | 91精品成人 | 中文字幕一区二区三区四区在线视频 | 国产在线精品一区二区 | 午夜精品区 | 日韩久久久久久 | 国产成人一区二区在线观看 | 91x色 | 综合久久精品 | 日韩欧美视频一区二区 | 国产青草视频在线观看 | 国产一区二区久久 | 久久男人免费视频 | 亚洲一区精品二人人爽久久 | 国产精品 久久 | 波多野结衣精品视频 | 日韩天天操| 奇米影视8888在线观看大全免费 | 狠狠久久伊人 | 亚洲视屏在线播放 | 美女黄频网站 | 九九热免费在线观看 | 久久电影国产免费久久电影 | 色偷偷88欧美精品久久久 | 亚洲婷婷网 | 一级黄色免费 | 色综合久久久久综合 | 欧美激情视频久久 | 久久色在线观看 | 久久久久久久久久亚洲精品 | 一区二区三区不卡在线 | 国产精品福利午夜在线观看 | 精品在线亚洲视频 | 四虎在线免费视频 | 国产在线va | 国产精品区一区 | 热久久电影| 成+人+色综合 | 四虎影视精品成人 | 久久久久99精品国产片 | 欧美日韩免费一区 | 久久99九九99精品 | 久久99亚洲精品久久 | 在线成人一区二区 | 亚洲 欧美 91 | 人人网人人爽 | 五月天亚洲激情 | 国产亚洲精品日韩在线tv黄 | 国产电影黄色av | 黄色片网站免费 | 国产精品久久伊人 | 免费的国产精品 | 精品毛片一区二区免费看 | 狠狠干综合网 | 97人人人| 国产成人久久久久 | 久久久一本精品99久久精品 | 麻豆视频免费播放 | 色诱亚洲精品久久久久久 | 亚洲黄色在线播放 | 成年人免费在线观看 | 97综合在线| 狠狠色狠狠色 | 午夜国产福利在线观看 | 色婷婷 亚洲 | 日本成人免费在线观看 | 香蕉视频网址 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 一区二区三区在线免费观看 | 国产在线理论片 | 亚洲最新在线视频 | 人人插人人射 | 91久久偷偷做嫩草影院 | 免费视频97| 成人a v视频| 青青草久草在线 | 久久蜜臀一区二区三区av | 亚洲在线免费视频 | 亚洲久在线| 日本成人中文字幕在线观看 | 三级黄色在线观看 | 亚洲91中文字幕无线码三区 | 手机在线看片日韩 | 亚洲aⅴ一区二区三区 | 国产精品久久久久久久久久白浆 | 在线影院中文字幕 | av高清不卡 | 四季av综合网站 | 亚洲不卡av一区二区三区 | 色综合色综合久久综合频道88 | 成人精品999 | 亚州中文av | www国产亚洲精品久久麻豆 | 欧美xxxxx在线视频 | 玖草影院 | 狠狠撸电影 | 国产美女精品久久久 | 一级黄色片在线 | 99re久久资源最新地址 | 久久久久国产精品免费免费搜索 | 色大片免费看 | 99日精品| 国产精品麻豆果冻传媒在线播放 | 四季av综合网站 | 国产黄色播放 | 五月婷婷在线观看 | 美女露久久 | 久草网首页| 国产美女精品视频免费观看 | 色网址99| 欧美亚洲精品一区 | 91人人揉日日捏人人看 | 黄色小视频在线观看免费 | 久艹在线观看视频 | 99精品电影 | 免费看的毛片 | av丁香| 亚洲国内精品 | www.婷婷com| 在线观看久久久久久 | www.五月天色 | 水蜜桃亚洲一二三四在线 | 久久国产视频网站 | 亚洲最快最全在线视频 | 欧美日韩国语 | 天天操天天射天天爱 | a'aaa级片在线观看 | 色搞搞 | 天天操网址 | 中文字幕av在线不卡 | 欧美激情视频一区二区三区 | 国产精品专区一 | 日日夜精品 | 久草精品视频在线看网站免费 | 天天操狠狠操夜夜操 | 亚洲成人黄 | 日韩大片在线看 | 久久免费视频这里只有精品 | 久久久久久亚洲精品 | 色一级片 | 91精品久久香蕉国产线看观看 | 97国产一区| 五月婷婷在线视频观看 | 国产品久精国精产拍 | 美女视频是黄的免费观看 | 五月婷婷在线观看视频 | 精品一区二区视频 | 日日精品| 欧美 日韩 视频 | 午夜av剧场| 久久综合网色—综合色88 | 日本一区二区三区视频在线播放 | 日韩欧美一区二区在线播放 | 久久免费毛片 | 天天操天天干天天摸 | 精品美女在线视频 | 国产在线久草 | 69视频网站 | 爱爱av在线| 日韩色爱| 六月丁香在线视频 | 国产成人一级 | 97福利在线| 婷婷综合成人 | 国产精品九九九九九 | 免费91麻豆精品国产自产在线观看 | 欧美性大胆| 波多野结衣在线视频免费观看 | 亚洲尺码电影av久久 | 在线午夜av| 色妞色视频一区二区三区四区 | 国产一二三在线视频 | 国内精品美女在线观看 | 最新日本中文字幕 | 久久激情小说 | 99精品免费在线 | 正在播放国产91 | 99国产视频在线 | 久久精选| 国产美女免费看 | 免费一级毛毛片 | www久久国产 | 成人免费在线观看入口 | 久久网站免费 | 婷婷色狠狠 | 久久最新视频 | 波多野结衣资源 | 亚洲无人区小视频 | 99中文字幕视频 | av在线日韩 | 日韩影视在线观看 | 久久免视频| 国产福利网站 | 免费日韩 精品中文字幕视频在线 | 在线观看亚洲精品视频 | 激情视频国产 | 亚洲最新av | 国产精品久久久久久高潮 | 日韩天堂网 | 亚洲色五月 | 亚洲女人av | 激情婷婷欧美 | 丁香激情五月 | 精品久久久久久久久久久院品网 | 久久综合久久综合这里只有精品 | 精品免费一区 | 国产剧情一区二区在线观看 | 麻豆视频免费在线播放 | 2019天天干夜夜操 | 国产五月色婷婷六月丁香视频 | 日韩在线免费播放 | 97超碰影视 | 亚洲精品久久久蜜桃直播 | www免费看片com | 日韩一区二区免费在线观看 | 香蕉精品视频在线观看 | 婷婷在线综合 | 国产美女免费观看 | 在线播放91 | 欧美日本在线视频 | 日韩视频1区 | 免费a级观看 | 亚洲夜夜爽 | 久久影视精品 | 精品国产免费人成在线观看 | 国产精品精 | 国产91学生粉嫩喷水 | 亚洲最新视频在线播放 | 久久久精品午夜 | 精品在线亚洲视频 | 日韩在线视频线视频免费网站 | 国产一级精品在线观看 | 久久精品激情 | 日本爱爱免费视频 | 久久精品日本啪啪涩涩 | 天天干天天爽 | 久久久五月婷婷 | 久久久激情网 | 久久精品观看 | 日韩中文字幕免费在线播放 | 国产精品久久久久亚洲影视 | 99精品免费观看 | 国产精品毛片一区二区在线看 | 中文字幕永久 | 欧美久久久久久久久中文字幕 | 国产精品久久久久久久久免费看 | 玖玖在线资源 | 日韩免费视频一区二区 | av大全在线免费观看 | 久久国产免费 | 天天操天天射天天 | 91av在线视频播放 | 国产一区二区三区在线 | 亚洲高清激情 | 精品久久久精品 | 国产精品精品国产色婷婷 | 国产精品久久久久久一区二区三区 | 在线观看视频亚洲 | 欧美日韩在线网站 | 99精品一区 | 在线电影av | 一区二区三区精品在线视频 | 日韩av免费在线电影 | 激情在线免费视频 | 天天综合亚洲 | 人人看人人爱 | 日本中文字幕在线看 | 91亚洲国产成人久久精品网站 | 国产日韩欧美中文 | 97成人资源 | 国产三级视频在线 | 免费在线国产精品 | 不卡电影免费在线播放一区 | 激情小说网站亚洲综合网 | 国产在线美女 | 在线国产高清 | 国产精品国产毛片 | 亚洲va欧美va国产va黑人 | av免费观看网站 | 久久毛片视频 | 国产日韩亚洲 | 91免费观看网站 | 91香蕉视频色版 | 天天操天天干天天操天天干 | 欧美日韩国产一二三区 | 人人射人人插 | 久久视频二区 | 亚洲精品中文字幕在线 | 中文字幕中文中文字幕 | 日韩一二三 | 精品久久视频 | 亚洲综合视频在线 | 久久人操 | 99精品视频在线播放观看 | 在线观看麻豆av | 免费观看视频的网站 | 国产精品一区免费在线观看 | 久久在现视频 | 麻豆国产精品视频 | 久久久久亚洲国产 | 五月婷婷香蕉 | 国产亚洲一区二区在线观看 | 日韩亚洲在线观看 | 日韩欧美精品一区二区三区经典 | 日本在线观看一区 | 狠狠色丁香婷婷综合橹88 | 97久久精品午夜一区二区 | 日韩av网站在线播放 | 最新av网址大全 | 天天干天天搞天天射 | 久久视频免费 | 97在线观看免费 | 中文字幕激情 | 色婷婷99| 亚洲黄色激情小说 | 欧美日韩18| 播五月婷婷 | 中文字幕视频播放 | 欧美怡红院视频 | 91大神dom调教在线观看 | 成人精品一区二区三区中文字幕 | a级片在线播放 | 国产综合福利在线 | 美女国产精品 | 精品免费一区 | 黄色美女免费网站 | 国产精品白浆视频 | 欧美淫视频 | 精品国产中文字幕 | 一本一道波多野毛片中文在线 | 久久色网站 | 最近的中文字幕大全免费版 | 亚洲人在线7777777精品 | 久久久www成人免费精品张筱雨 | 国产丝袜制服在线 | 天天天干 | www.日韩免费 | 婷婷丁香在线观看 | 色吊丝在线永久观看最新版本 | 中文字幕在线播放一区 | 国产精品专区在线 | 欧美美女视频在线观看 | 精品视频在线免费观看 | 人人爽爽人人 | 久久女同性恋中文字幕 | 日本在线观看中文字幕无线观看 | 亚洲在线视频网站 | 日韩在线国产 | 99精品国产一区二区三区麻豆 | 99热这里只有精品在线观看 | 国产成人精品区 | 精品国产成人av | 高清av中文字幕 | 国产成人精品女人久久久 | 欧美成人久久 | 日韩欧美91 | 九九涩涩av台湾日本热热 | 成片视频免费观看 | 在线观看日韩精品视频 | 亚洲春色综合另类校园电影 | 成年人免费电影在线观看 | 精品国产乱码久久久久 | 天天操天天射天天舔 | 五月婷网站 | 国产第一二区 | 97爱 | 成人免费在线视频 | 4p变态网欧美系列 | 久久这里精品视频 | 免费观看国产精品视频 | 亚洲日本欧美在线 | 天天曰天天曰 | 国产色女人 | 五月激情亚洲 | 日韩理论片在线观看 | 欧美黄色高清 | 日韩精品久久久免费观看夜色 | 国产精品久久久久久久久久免费看 | 激情网站 | 午夜三级理论 | 操操操操网 | 亚洲精品在线电影 | 精品视频在线播放 | 精品久久亚洲 | 色狠狠一区二区 | 激情一区二区三区欧美 | 久久美女电影 | 国产精品一区二区中文字幕 | 91高清一区| 亚洲清纯国产 | 国内精品在线看 | 不卡精品| 天天操天天干天天干 | 人人舔人人 | 欧美一级大片在线观看 | 日本公乱妇视频 | 久久99电影 | 亚洲九九九在线观看 | 国产在线久草 | 欧美日韩一级久久久久久免费看 | 久久精品毛片基地 | 亚洲最快最全在线视频 | 99九九99九九九视频精品 | 日韩成人黄色 | 91精品免费在线视频 | 婷婷综合影院 | 免费看的黄色的网站 | www.人人干 | 2023国产精品自产拍在线观看 | 国产在线精品区 | 久久国产精品免费一区二区三区 | 亚洲成人国产 | 免费在线观看一区二区三区 | 在线观看911视频 | 色伊人网| 欧美尹人 | 久久久久一区二区三区 | 日日夜夜精品视频天天综合网 | 日韩中文字幕亚洲一区二区va在线 | 欧美a免费| 日本性动态图 | 国产精品原创视频 | 午夜美女网站 | av黄色国产 | 日日日网| 免费污片 | 日韩免费看视频 | 天天综合亚洲 | 91试看| 中文字幕一区二区三区在线播放 | 91天堂影院| 91精品国产成人观看 | 天堂av影院 | 日日夜夜天天人人 | 人人爽久久久噜噜噜电影 | 亚洲四虎影院 | 高清在线一区二区 | 久热色超碰 | 色视频网站在线 | 最近免费在线观看 | 成人黄色片在线播放 | 欧美日韩一区二区在线观看 | 午夜精品一区二区三区免费视频 | 久久另类小说 | av在线免费播放 | 国产不卡在线观看视频 | 免费精品 | 国产91精品一区二区 | 国产中文字幕在线观看 | 日本69hd| 在线观看av网 | 韩国精品一区二区三区六区色诱 | 久久久久久久久久免费视频 | 91九色网站 | 久久黄色免费视频 | 在线看v片成人 | 成人免费毛片aaaaaa片 | 日本精品在线 | 在线韩国电影免费观影完整版 | 中文字幕日韩精品有码视频 | www.久草视频| 亚洲精品乱码久久久久久高潮 | av电影免费看 | 国产黄色av | 国产原创在线视频 | 怡春院av| 日韩欧美在线视频一区二区三区 | 久久久久久国产精品亚洲78 | 国产精品岛国久久久久久久久红粉 | 蜜桃视频精品 | 韩国一区二区三区在线观看 | 国产精品免费久久久久久久久久中文 | 国产一区二区免费看 | 亚洲一区在线看 | 国产免费不卡 | 日韩av女优视频 | 成年人免费电影在线观看 | 久久久久久久久久国产精品 | 国产电影黄色av | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 久久国产成人午夜av影院宅 | 久久久久女人精品毛片九一 | 操操色| 中文字幕在线影视资源 | a视频在线观看 | 99精品免费久久久久久日本 | 国产精品18videosex性欧美 | 中文字幕第一页av | 五月婷婷色丁香 | 色吧av色av| 中文字幕一区三区 | 国产中文字幕在线播放 | 又黄又爽又色无遮挡免费 | 亚洲另类在线视频 | 男女啪啪免费网站 | 欧美日韩不卡在线视频 | 婷婷色六月天 | 亚洲日韩中文字幕在线播放 | 欧美黑吊大战白妞欧美 | 国产精品久久久久久久久免费看 | 欧美少妇影院 | 久久经典视频 | 亚洲欧洲av| 日日夜夜天天干 | 国产精品久久久久久久久久 | 免费美女av| 超碰精品在线 | 免费男女羞羞的视频网站中文字幕 | 日本电影久久 | 日韩美一区二区三区 | 欧美日韩高清在线观看 | 婷婷丁香六月天 | 精品久久综合 | 三级黄色在线观看 | 在线观看播放av | 成人免费看片网址 | 亚洲aⅴ在线 | 人人爽人人香蕉 | 中文字幕久久亚洲 | 高潮久久久 | 日韩视频1 | 麻豆视频免费网站 | 人人爽人人爱 | 日韩精品中字 | 久久综合九色综合欧美就去吻 | 美女在线观看av | 国产精品视频线看 | 99视频导航 | 天天天操操操 | 成年人在线免费看视频 | 国产最新在线视频 | 波多野结衣资源 | 四虎天堂 | 91精品小视频 | 国产精品a成v人在线播放 | 天天草天天干天天 | 国产高清区 | 97av视频在线 | 久久午夜免费视频 | 成年人毛片在线观看 | 手机在线中文字幕 | 久久国产精品一区二区三区 | 国产精品18p | 久久久久久久毛片 | 91久久久久久久一区二区 | 中文字幕人成一区 | 国产亚洲一区二区三区 | 五月天亚洲综合小说网 | 一级黄色电影网站 | 日韩一级片大全 | www.久久免费视频 | 欧美 日韩 国产 成人 在线 | 99久久精品视频免费 | 国产精品一区在线观看你懂的 | 免费在线观看av片 | 国产九九热 | 婷婷深爱| 成人午夜精品福利免费 | 五月婷婷国产 | 国产人成看黄久久久久久久久 | 国产自产在线视频 | 91日韩在线播放 | 精品免费观看视频 | 69视频在线播放 | 亚洲观看黄色网 | 麻豆精品视频 | 亚洲男男gaygay无套同网址 | 国内精品99| 久久午夜视频 | 五月开心色 | 日韩一区二区三区在线看 | 人人爱人人添 | www国产亚洲精品 | 国产在线理论片 | 五月婷香 | 久久伊人免费视频 | 人人涩 | 日韩欧美一区二区三区免费观看 | 欧美久久久久久久久久久久 | 亚洲精品色视频 | 91精品国产九九九久久久亚洲 | 欧美日韩视频网站 | 日韩高清片 | 国产精品视频你懂的 | 国产一区二区三区视频在线 | 国产成人99久久亚洲综合精品 | 欧美日韩国产免费视频 | 色综合久久久网 | 热久久视久久精品18亚洲精品 | 天天干天天天天 | 国产vs久久 | 久久免费视频1 | 色综合久久综合 | 欧美日韩中文国产 | 亚洲专区中文字幕 | 久久欧美精品 | 91大神电影 | 人人草在线视频 | 97超级碰碰碰视频在线观看 | 黄色国产大片 | 国产亚洲综合性久久久影院 | 亚洲欧洲av在线 | 天天在线操| 色综合五月天 | 日本mv大片欧洲mv大片 | 看片网站黄色 | 91精品国产三级a在线观看 | 五月天综合色 | 97精品国产97久久久久久粉红 | 国产一区高清在线 | 91中文在线视频 | 精品特级毛片 | 欧美日韩国产页 | 在线观看免费成人 | 少妇精品久久久一区二区免费 | 69国产精品视频免费观看 | 国产婷婷精品 | 一级黄毛片 | 久久国产精品99久久久久 | 久久久久久久99精品免费观看 | 91天堂影院 | 在线观看中文字幕 | av三级在线播放 | 免费日韩一区二区三区 | 99999精品视频 | 国产在线观看二区 | 伊人成人久久 | 亚洲激情婷婷 | 日韩网站免费观看 | 二区视频在线 | 欧美精品免费一区二区 | 婷婷伊人综合亚洲综合网 | 在线观看国产亚洲 | 精品视频专区 | 在线播放你懂 | 欧美综合国产 | 亚洲精品五月天 | 天天操天天色综合 | 日韩国产精品久久 | 91av手机在线 | 日韩av免费观看网站 | 国产97色 | 在线黄色av| 蜜臀久久99精品久久久酒店新书 | 亚洲精品免费观看视频 | 免费a v在线 | 三上悠亚一区二区在线观看 | 日韩毛片在线一区二区毛片 | 在线视频日韩精品 | 中文字幕有码在线观看 | 久久亚洲日本 | 九九99视频 | 国产精品成人av电影 | 久久神马影院 | 精品国产片 | 欧美激情操 | 911久久香蕉国产线看观看 | 视频99爱 | 亚洲综合精品视频 | 日本精品久久久久 | 国产一区网址 | 免费日韩av电影 | 久久成人国产精品一区二区 | 久久国产精品免费 | 中文字幕精品久久 | 涩涩伊人 | 久久久久久久久久久福利 | 国产午夜精品一区二区三区欧美 | 国产视频99 | 99久久99久国产黄毛片 | 麻豆精品国产传媒 | 91av欧美 | 午夜精品福利影院 | 国产精品久久久久婷婷二区次 | 最新日韩精品 | 久久爱导航 | 久草在线视频在线观看 | 成人毛片在线视频 | 超碰在线94 | 中文av在线播放 | 91视频免费网址 | 欧美日韩午夜爽爽 | 中文字幕 国产 一区 | 精品国产乱码久久久久久久 | 丁香久久综合 | 国产色婷婷在线 | 国产欧美高清 | 麻豆影视在线免费观看 | 国产精品一区二区果冻传媒 | 婷婷激情综合五月天 | 久久国产综合视频 | 久久久久福利视频 | 色综合网在线 | 亚洲国产精品一区二区尤物区 | 制服丝袜成人在线 | av免费线看 | 久久精品亚洲 | 久久久久久蜜av免费网站 | 91色在线观看 | 91精品啪在线观看国产81旧版 | 在线观看网站av | 中文字幕 91 | 婷婷电影在线观看 | 亚洲精品视频在线 | 亚洲电影久久 | 久久私人影院 | 欧美日韩性视频 | 91中文在线观看 | 美女免费黄视频网站 | 五月天网站在线 | 免费在线观看av网址 | 国内精品免费久久影院 | 高清视频一区 | 日韩 在线a | 亚洲jizzjizz日本少妇 | 97成人在线视频 | 国产不卡av在线播放 | 91亚洲视频在线观看 | 99热九九这里只有精品10 | 日产av在线播放 | 97香蕉超级碰碰久久免费软件 | 一区二区三区韩国免费中文网站 | 最新久久免费视频 | 欧美午夜激情网 | av在线免费观看黄 | 999热线在线观看 | 69av久久| 黄色软件在线观看 | 久久婷婷色综合 | 国产精品成人一区二区三区 | 激情综合啪 | 国产精品国产三级国产不产一地 | 欧美日韩不卡在线视频 | 男女视频久久久 | 黄色在线免费观看网站 | 波多野结衣小视频 | 久久亚洲在线 | 亚洲视频免费在线观看 | 欧美精品久久久久久久 | 丁香色婷婷 | 波多野结衣一区二区三区中文字幕 | 99在线视频网站 | 91av美女| 996久久国产精品线观看 | 国产不卡片 | 深爱激情五月综合 | 黄色特一级| 国产第一页福利影院 | 亚洲国产午夜视频 | 国产亚洲精品成人av久久ww | 久久在现 | 国产区在线| 精品久久一 | 国产精品一区二区在线免费观看 | 国产精品a级 | 丁香花中文在线免费观看 | 国产不卡av在线播放 | 在线视频欧美日韩 | 中文字幕 第二区 | 久久久污 | 欧美国产大片 | 精品国产99国产精品 | 丁香激情综合 | 日韩高清在线一区二区三区 | 国产精品免费看久久久8精臀av | 中文字幕一区二区三区精华液 | 国产精品日韩高清 | 天天躁日日躁狠狠躁av麻豆 | 天天弄天天干 | 亚洲精品成人 | 国产精品中文字幕在线观看 | 国产成人精品综合久久久 | 伊人久久av | 精品亚洲欧美无人区乱码 | 精品中文字幕视频 | 亚洲天堂网站 | 在线免费三级 | 韩国三级av在线 | 狠狠狠狠狠色综合 | 91视频高清完整版 | 在线亚洲欧美视频 | 九九九视频在线 | 免费视频久久久 | 国产在线视频一区二区三区 | 久久国产精品99久久人人澡 | 韩国在线一区二区 | 一区二区在线不卡 | 天天插日日插 | 久久综合色综合88 | 国产一级电影网 | 婷婷伊人综合亚洲综合网 | 97福利在线观看 | 久久精品香蕉视频 | 久久精品久久精品久久精品 | 久久久免费 | www.天天成人国产电影 | 免费成人结看片 | 国产最新在线 | 久久精品久久精品久久39 | 在线视频专区 | 91视频免费播放 | 中文字幕乱在线伦视频中文字幕乱码在线 | 日韩二区在线播放 | 黄色a一级片 | 日韩电影中文字幕 | 日韩成人免费在线 | 亚洲欧美日本国产 | 亚洲在线精品视频 | 九九在线免费视频 | 久久精品亚洲精品国产欧美 | 久久国产手机看片 | 日韩激情影院 | 久久久精品一区二区三区 | 中文字幕一区二区三区在线播放 | 精品国产自在精品国产精野外直播 | 国产精品美乳一区二区免费 | 欧美色图东方 | 免费亚洲一区二区 | 中文字幕人成乱码在线观看 | 91精品网站在线观看 | 日韩精品一区二区三区中文字幕 | 久久综合之合合综合久久 | 国产又粗又猛又黄又爽的视频 | 久草视频在线资源站 | 九九视频免费观看视频精品 | 午夜色性片 | 亚洲精品视频大全 | free,性欧美 九九交易行官网 | av看片在线 | 天天爽夜夜爽精品视频婷婷 | 福利av在线 | 国产成人精品久久 | 蜜臀av性久久久久av蜜臀三区 | 激情视频国产 | 国产中文字幕国产 | 91秒拍国产福利一区 | 久久香蕉电影网 | 国产成人一区二区在线观看 | 久久系列 | 久久久午夜电影 | 国产精品久久久久久久久久久久 | 午夜少妇一区二区三区 | 911香蕉视频 | 黄色在线视频网址 | 久久久久国产成人精品亚洲午夜 | 中文字幕视频在线播放 | 特级xxxxx欧美 | 99视频免费看 | 高清av中文字幕 | 久久久久中文 | 中文字幕国产 | 三级在线播放视频 | 日韩av二区 | 久久久亚洲网站 | 日韩在线国产精品 | 欧美激情操 | 日韩欧美一区二区三区视频 |