99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

STM32開發(fā)新選擇:VSCode+CubeIDE+OpenOCD+STLink

STM32開發(fā)新選擇:VSCode+CubeIDE+OpenOCD+STLink 寫這篇東西之前先說個背景。前陣子幫朋友調(diào)一塊 STM32F103C8T6 的板子他習(xí)慣用 Keil但我手上只有 Linux 環(huán)境裝個 Keil 基本不現(xiàn)實于是順手把STM32 VSCode CubeIDE OpenOCD ST-Link這套組合又完整走了一遍。這一走不要緊才發(fā)現(xiàn)這幾年這套工具鏈已經(jīng)成熟到可以當主力開發(fā)環(huán)境用了尤其是對剛?cè)肟?STM32 的朋友來說與其糾結(jié)到底用 Keil 還是 CubeIDE不如直接把這條鏈路打通后面寫代碼、調(diào)試、看 Git 歷史都會舒服很多。這篇文章我不打算寫成那種“環(huán)境搭建教程”的流水賬而是把整套工具鏈的分工邏輯、配置文件的每個參數(shù)含義、以及我實際踩過的坑都攤開講。你能看懂為什么這么配也能照著這個思路適配到自己的板卡上。1. 工具鏈拆解為什么是 VSCode CubeIDE OpenOCD ST-Link 四件套很多新手看到這串名詞就直接勸退了覺得又是編輯器又是調(diào)試器繞來繞去干嘛不直接用現(xiàn)成的 CubeIDE 或者 Keil。這里我先解釋一下這套組合的底層邏輯清楚了之后你就知道這不是“炫技”而是用四個各有所長的工具拼出一條高效產(chǎn)線。1.1 四個工具各自扮演什么角色先說 CubeIDE。它本質(zhì)上是 ST 官方基于 Eclipse 二次開發(fā)的集成環(huán)境自帶代碼生成器、編譯器、調(diào)試器。很多人不知道的是CubeIDE 的代碼生成能力其實是獨立于 IDE 的核心叫 STM32CubeMX。你在圖形界面里勾選引腳、配置時鐘、選擇外設(shè)它就能生成初始化代碼。這個功能非常香尤其是時鐘樹配置手工寫 RCC 那一堆寄存器想想就頭大。但 CubeIDE 的短板也很明顯編輯器體驗相對落后對 Git 的支持并不如 VSCode 順手插件生態(tài)更是天差地別。所以我在實際項目中通常只把 CubeIDE 當“代碼生成器”用生成完代碼就扔到 VSCode 里做后續(xù)開發(fā)。再說 VSCode。它是個編輯器不是 IDE這個東西既是它的弱點也是優(yōu)勢。弱點在于它默認不會編譯、不會燒錄、不會調(diào)試需要靠配置文件把這些能力“借”過來。優(yōu)勢在于你想接哪個編譯器、哪個調(diào)試器、哪個構(gòu)建系統(tǒng)都行自由度極高。配合 C/C 插件、Cortex-Debug 插件、Git 插件寫代碼體驗直接拉滿——補全、跳轉(zhuǎn)、重命名、斷點調(diào)試一個不少。然后說 OpenOCD。這是個開源的片上調(diào)試器程序?qū)iT負責把 GDB 的調(diào)試指令翻譯成目標芯片能理解的 SWD/JTAG 信號。你可能要問ST-Link 不是也能調(diào)試嗎為什么不直接用 ST 官方的調(diào)試工具因為 OpenOCD 是通用的它支持 ST-Link、J-Link、CMSIS-DAP 等一堆調(diào)試器這意味著你今天用 ST-Link明天換成 DAP-Link調(diào)試配置幾乎不用動。而且 OpenOCD 報錯信息非常直白出問題的時候好排查。最后是 ST-Link。這是一塊硬件調(diào)試器常見的有獨立的小板子也有 Nucleo 開發(fā)板上的板載版本。它通過 SWD 四根線SWDIO、SWCLK、GND、3.3V連接目標芯片負責燒錄和讀取調(diào)試信息。沒有它電腦和芯片之間就相當于沒有“探針”O(jiān)penOCD 再能干也碰不到芯片。1.2 為什么這套組合適合替代 Keil說實話Keil 在 STM32 開發(fā)里依然有很龐大的用戶群很多教程都是基于 Keil 寫的比如你可能看過一些經(jīng)典入門視頻系列。但 Keil 有幾個讓我很不舒服的地方工程文件是.uvprojx改起來極其費勁別說進 Git 做代碼評審了兩個人協(xié)作一個工程文件就夠吵一架的編輯器對現(xiàn)代屏幕縮放支持一般代碼補全體驗也比較老派正版授權(quán)要錢雖然學(xué)生有社區(qū)版但出了校園做商業(yè)項目就得掂量而這套 VSCode 工具鏈是全開源的CubeMX 授權(quán)也免費OpenOCD 和 GCC 編譯器更不用說了零成本起步。另外 VSCode 的終端、任務(wù)系統(tǒng)、多根工作區(qū)面對 STM32 這種既要寫固件又要寫上位機、偶爾還要寫 Python 腳本的混合項目效率明顯更高。1.3 這套方案適合哪些人如果你想做基于 STM32 的畢設(shè)、課程設(shè)計或者跟著一些教程視頻做智能臺燈、條形碼識別這類項目但又不想被 IDE 綁定這套組合非常合適。如果你以后打算從事嵌入式 Linux 開發(fā)、機器人、芯片驗證相關(guān)工作提前熟悉編輯器 編譯器 調(diào)試器 探針這種解耦的思想也很有價值。反過來如果你只想要一個“打開就能編譯”的一體化工具懶得折騰那直接用 CubeIDE 或 Keil 沒毛病沒必要為了折騰而折騰。2. 環(huán)境搭建與工具鏈裝配實戰(zhàn)確定要折騰之后第一步就是把工具鏈湊齊。我按 Windows 和 Linux 兩個系統(tǒng)情況分別說因為這兩者在驅(qū)動和路徑配置上有差異踩坑點完全不同。2.1 需要準備哪些組件完整的環(huán)境至少需要這幾樣組件作用下載/安裝方式STM32CubeIDE代碼生成 ARM GCC 工具鏈ST 官網(wǎng)注冊下載安裝后自帶 CubeMX 和編譯器VSCode代碼編輯官網(wǎng)直接下載安裝OpenOCD調(diào)試橋梁Windows 用開箱即用的發(fā)布包Linux 用apt install openocdST-Link 驅(qū)動讓系統(tǒng)識別 ST-Link 硬件ST 官網(wǎng)的 ST-Link 驅(qū)動Windows 必須裝make構(gòu)建工具Windows 用mingw32-make或 GNU makeLinux 自帶或 apt 裝注意一個細節(jié)CubeIDE 雖然自帶編譯器但它的編譯器路徑藏得很深。Windows 下一般在C:\ST\STM32CubeIDE_xxx\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.xxx\tools\binLinux 類似。如果你不想每次都翻這個路徑也可以單獨裝一個arm-none-eabi-gcc并把它的 bin 目錄加進系統(tǒng) PATH。我個人推薦獨立裝一個因為后面用 OpenOCD 調(diào)試、用命令行構(gòu)造 Hex 文件都會頻繁用到。2.2 Windows 環(huán)境下的關(guān)鍵步驟Windows 上最容易出問題的環(huán)節(jié)是驅(qū)動和 PATH。我建議按這個順序操作先裝 ST 官方驅(qū)動如果你用的是板載 ST-Link插上 USB 后設(shè)備管理器里應(yīng)該能看到一個STM32 STLink設(shè)備如果出現(xiàn)黃色感嘆號說明驅(qū)動沒裝好。熱詞里那個virtual COM port 嘆號的問題多半就是驅(qū)動沒裝全下載 ST 官網(wǎng)的stsw-link009驅(qū)動包完整安裝即可。安裝 OpenOCD。Windows 下要下載別人打包好的發(fā)布版本解壓后把bin目錄加進 PATH。裝完后在命令行輸入openocd --version能打印版本號就算成功。安裝 make。我建議直接用mingw32-make然后把可執(zhí)行文件復(fù)制成make.exe或配置別名的辦法二選一不然很多教程里的make命令會提示找不到。這個細節(jié)我當年被坑過印象很深。2.3 Linux 環(huán)境下的關(guān)鍵步驟Linux 相對省心但如果用的是某些精簡發(fā)行版還是要注意幾個包的缺失。sudo apt install -y build-essential gdb-multiarch openocd sudo apt install -y arm-none-eabi-gcc arm-none-eabi-binutils arm-none-eabi-newlib這里有個坑gdb命令默認是 x86 架構(gòu)的調(diào)試器沒法調(diào)試 ARM 程序必須用gdb-multiarch。Cortex-Debug 插件在配置調(diào)試器路徑時應(yīng)該填gdb-multiarch而不是arm-none-eabi-gdb除非你確定裝了 ARM 版的 GDB。我第一次配置 launch.json 的時候順手填成了arm-none-eabi-gdb結(jié)果提示找不到命令排查半天才發(fā)現(xiàn)是路徑問題。ST-Link 在 Linux 下不需要額外裝驅(qū)動系統(tǒng)內(nèi)核自帶stlink的 USB 設(shè)備支持。插上后可以用lsusb看到類似STMicroelectronics ST-LINK/V2的設(shè)備能看見就說明硬件通了。2.4 快速驗證環(huán)境是否可用環(huán)境裝完別急著進 VSCode先在命令行跑一遍這條鏈路arm-none-eabi-gcc --version openocd --version make --version然后把手頭的 ST-Link 插上隨便拿一塊 STM32 板子用下面這個命令試試 OpenOCD 能不能連上芯片以 F103 為例openocd -f interface/stlink.cfg -f target/stm32f1x.cfg如果終端輸出類似Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints說明 OpenOCD 已經(jīng)和芯片建立了連接。如果彈出一段Error: open failed或者no stm32 target found!的提示先別慌后面第五節(jié)我會專門講這一類報錯的排查思路。3. 三個核心配置文件精講整套工具鏈能不能跑起來最終都落在 VSCode 工作區(qū)里的三個 JSON 文件上。理解了這三個文件的每個字段你就能靈活適配任意一款 STM32 芯片。我把它們拆開逐一講。3.1 編譯任務(wù)tasks.json 怎么配tasks.json 負責告訴 VSCode“如何編譯這個項目”。CubeMX 生成工程時如果選擇了Makefile作為工具鏈會自動幫我們把構(gòu)建規(guī)則寫好我們只需讓 VSCode 調(diào)用make命令即可。一個可用的最小配置長這樣{ version: 2.0.0, tasks: [ { label: build, type: shell, command: make, args: [-j4], group: { kind: build, isDefault: true }, problemMatcher: [ $gcc ] } ] }args里的-j4是并行編譯參數(shù)表示同時用 4 個線程編譯。如果你的電腦核心少可以改成-j2核心多可以改成-j8能明顯縮短編譯時間。problemMatcher的作用是讓 VSCode 自動解析 make 輸出的錯誤信息然后在“問題”面板里列出點擊錯誤能直接跳到對應(yīng)源碼行這個體驗十分順手。如果你不想每次手動點終端里的編譯按鈕也可以加一條CtrlShiftB的快捷鍵綁定或者給這個 task 配上runOptions: { runOn: folderOpen }打開文件夾就自動編譯。不過我不建議后者因為大項目編譯一次挺費時自動編譯會拖慢啟動速度。3.2 調(diào)試配置launch.json 深度解讀調(diào)試是這套工具鏈的重頭戲也是配置最細的地方。我用 Cortex-Debug 插件作為調(diào)試前端它是目前 VSCode 下調(diào)試 ARM 芯片最成熟的方案。先看完整示例{ version: 0.2.0, configurations: [ { name: OpenOCD STM32 Debug, cwd: ${workspaceFolder}, type: cortex-debug, request: launch, servertype: openocd, executable: ${workspaceFolder}/build/stm32_project.elf, device: STM32F103C8, configFiles: [ interface/stlink.cfg, target/stm32f1x.cfg ], svdFile: ${workspaceFolder}/STM32F103C8.svd, gdbPath: gdb-multiarch, runToMain: true, preLaunchTask: build, liveWatch: { enabled: true, samplesPerSecond: 4 } } ] }逐個字段說明executable指向編譯生成的 ELF 文件。注意一定是 ELF不能是 Hex 或 Bin因為 ELF 里包含了符號表、源碼路徑等調(diào)試信息GDB 靠這些信息才能把斷點映射到代碼行。servertype固定為openocd表示讓 Cortex-Debug 自己啟動 OpenOCD 作為 GDB Server。這也意味著你不需要手動在另一個終端里先跑 OpenOCD插件會一體管理。configFilesOpenOCD 的配置文件列表。第一行interface/stlink.cfg告訴 OpenOCD 用的是 ST-Link 調(diào)試器第二行target/stm32f1x.cfg指定目標芯片架構(gòu)。stm32f1x.cfg適用于整個 F1 系列如果你用的是 F4、F7、H7分別換stm32f4x.cfg、stm32f7x.cfg、stm32h7x.cfg即可。svdFileSVD 文件是 ARM 官方提供的“外設(shè)寄存器描述文件”有了它調(diào)試時可以在 Watch 窗口直接展開看某個外設(shè)的寄存器位域比如直接看USART1-SR的每一位含義。ST 官方或者芯片廠商一般都會提供也可以在 GitHub 上搜對應(yīng)的.svd文件。沒有也不影響斷點調(diào)試但有了之后調(diào)試體驗提升明顯。gdbPath指向上一步裝好的調(diào)試器路徑。runToMain設(shè)為true后啟動調(diào)試時會自動運行到main函數(shù)入口不用每次手動跳過啟動代碼的一堆匯編。這個選項我強烈建議打開。preLaunchTask每次點調(diào)試前先執(zhí)行編譯任務(wù)保證燒進芯片里的固件是最新的。liveWatch實時變量監(jiān)視。Cortex-Debug 擴展支持在調(diào)試時把某些變量實時刷新出來類似 MDK 的System Viewer。但要注意開得太頻繁會影響調(diào)試速度samplesPerSecond設(shè) 4 就夠了。3.3 代碼補全和語法檢查c_cpp_properties.json這一步很多人容易忽略但影響很大。沒有它VSCode 的 IntelliSense 會把寄存器地址、HAL 庫函數(shù)全都標紅補全功能基本癱瘓。一個支持 STM32F1 HAL 庫的配置示例{ configurations: [ { name: STM32, includePath: [ ${workspaceFolder}/**, ${workspaceFolder}/Core/Inc, ${workspaceFolder}/Drivers/STM32F1xx_HAL_Driver/Inc, ${workspaceFolder}/Drivers/CMSIS/Device/ST/STM32F1xx/Include, ${workspaceFolder}/Drivers/CMSIS/Include ], defines: [ USE_HAL_DRIVER, STM32F103xB ], compilerPath: /usr/bin/arm-none-eabi-gcc, cStandard: c11, intelliSenseMode: linux-gcc-arm } ], version: 4 }includePath的路徑取決于工程具體結(jié)構(gòu)但 CubeMX 生成的項目基本都遵循這個目錄模板。defines里的STM32F103xB是編譯宏它是芯片型號的一部分CMSIS和 HAL 庫會根據(jù)這個宏決定哪些外設(shè)的聲明和寄存器地址被編譯。如果宏填錯了明明你芯片是 F103C8補全里卻出現(xiàn)一堆 F103ZET 的引腳定義就有可能是宏不匹配。compilerPath告訴 IntelliSense 使用哪個編譯器的內(nèi)置宏這能讓補全和實際編譯時的判斷一致。Windows 下注意路徑分隔符要轉(zhuǎn)義。4. 從 CubeMX 到 VSCode 的完整流程配置文件的原理講明白了下面我從零開始用一顆 STM32F103C8T6 跑一個點燈 串口打印的例程把完整流程串一遍。你可以跟著走一遍跑通了再改自己的外設(shè)需求。4.1 在 CubeMX 里生成 Makefile 工程打開 STM32CubeIDE或者直接單獨打開 CubeMX新建項目選擇芯片型號 STM32F103C8Tx。進入圖形界面后在System Core - SYS選擇 Debug 為Serial Wire。這步非常關(guān)鍵如果選了No Debug芯片第一次燒錄后調(diào)試口可能被禁用OpenOCD 之后連不上只能用串口 ISP 擦除。新手的 “no stm32 target found” 報錯經(jīng)常就是這里埋下的雷。配置時鐘。F103 的 HSE 一般是 8MHz 外部晶振在Clock Configuration頁面里把 HCLK 調(diào)到 72MHz系統(tǒng)會自動算出各總線分頻值。點開PC13引腳設(shè)置為GPIO_Output這是經(jīng)典板載 LED 所在引腳。再點開PA9和PA10設(shè)置為USART1_TX和USART1_RX。在Connectivity - USART1里設(shè)置波特率115200、數(shù)據(jù)位 8、停止位 1、無校驗。最關(guān)鍵的一步在Project Manager - Project里把Toolchain / IDE選為Makefile。只有選了 Makefile生成出來的工程才自帶完整的 GNU make 構(gòu)建規(guī)則VSCode 這邊才可以直接調(diào) make 編譯。點GENERATE CODE生成到指定目錄。4.2 用 VSCode 打開并編譯生成完工程后用 VSCode 直接File - Open Folder打開該目錄。按前面配好的tasks.json按CtrlShiftB觸發(fā)編譯。第一次編譯如果遇到recipe for target ... failed報錯最可能的原因是 make 版本不兼容或者編譯器的路徑?jīng)]配置對??磮箦e信息里給出的具體文件路徑核對 CubeIDE 里工具鏈是否安裝完整。還有一個常見問題是 Windows 下?lián)Q行符 CRLF 混入 Makefile導(dǎo)致 make 語法解析失敗用 VSCode 右下角把Makefile、*.mk等文件的換行符改成LF就好。編譯成功后build目錄下會生成.elf、.hex、.bin文件??吹?elf文件出現(xiàn)說明工具鏈已經(jīng)通了。4.3 第一次調(diào)試燒錄與下斷點按F5鍵啟動調(diào)試。如果一切正常Cortex-Debug 會做三件事根據(jù)launch.json里的configFiles啟動 OpenOCD用 GDB 連接 OpenOCD 建立的調(diào)試通道加載固件到芯片然后根據(jù)runToMain自動跑到main函數(shù)。在main函數(shù)里的while(1)那一行下一個斷點讓程序全速跑一會兒然后再點暫停。只要能停在斷點處并且左邊的“變量”窗口里能看到像huart1、GPIOA這樣的結(jié)構(gòu)體變量說明這套調(diào)試鏈路已經(jīng)完全打通了。此時可以試試在Watch窗口輸入GPIOA-ODR單步運行幾行代碼觀察 ODR 寄存器在點燈前后的變化這是學(xué)習(xí)寄存器操作特別直觀的方式。4.4 串口重映射的小技巧熱詞里提到的“串口1重映射”其實在 CubeMX 里做非常方便但很多人找不到入口。以 F103 為例USART1的默認引腳是PA9/PA10但也可以通過重映射改成PB6/PB7。操作步驟是在 CubeMX 的Pinout Configuration頁面里先選中USART1模式為Asynchronous然后再去System Core - GPIO頁面把對應(yīng)的引腳功能手動改到PB6/PB7CubeMX 會自動追加GPIO_PinRemapConfig相關(guān)設(shè)置。如果你的應(yīng)用里PA9/PA10被 PWM 或者別的外設(shè)占用用重映射方式就非常靈活。有一點要特別注意重映射之后CubeMX 生成的主循環(huán)里通常不會自動打印引腳重映射信息但 HAL 庫初始化函數(shù)內(nèi)部已經(jīng)根據(jù)引腳定義做了Alternate Function設(shè)置。如果你在初始化代碼之外又手動去操作AFIO寄存器很容易和 HAL 庫產(chǎn)生沖突導(dǎo)致串口收發(fā)異常。我建議盡量在 CubeMX 的圖形界面里完成所有引腳分配生成代碼后不要去手工改GPIO_InitStruct引腳映射。5. 常見問題與排查技巧實錄這部分是我認為整篇最有價值的地方。熱詞里那一堆報錯比如error: no stm32 target found! if your product embeds debug authentication、flash timeout、寫保護問題、virtual COM port 嘆號我全都遇到過下面按問題分類給出排查思路和處理方法。5.1 最常見的 OpenOCD 報錯no stm32 target found這個報錯完整文本一般是Error: no stm32 target found! if your product embeds debug authentication, please perform a full power cycle我先說你看到這句英文時第一反應(yīng)該是什么OpenOCD 已經(jīng)識別到了 ST-Link 硬件但沒能和芯片自身建立調(diào)試連接。這個報錯幾乎和“程序?qū)戝e了”“引腳沖突”沒有關(guān)系它就是一個連接層面的問題。排查順序我建議嚴格按下面來檢查 SWD 四根線是否接對SWDIO、SWCLK、GND、3.3V。這四根線里最容易錯的是 SWCLK 和 SWDIO因為它們經(jīng)常被板子默認接到別的外設(shè)上比如某個按鍵或者某個傳感器。確認芯片供電是否正常。如果目標板是電池供電或者獨立電源ST-Link 的 3.3V 引腳雖然接了但不一定扛得住芯片的大電流負載。最好外接電源并且共地。檢查復(fù)位電路。某些板子的 NRST 引腳被外部電容拉低或者被人為接了按鍵可能導(dǎo)致芯片在調(diào)試連接階段不停復(fù)位。如果前幾步都正常試著把 OpenOCD 的 SWD 速度調(diào)低。在target/stm32f1x.cfg里或者命令行加參數(shù)-c adapter speed 100把速度從默認的 1000kHz 降到 100kHz很多接觸不良引起的偶發(fā)連不上問題就這樣解決了。前面說過 CubeMX 里如果 Debug 選了No Debug芯片可能關(guān)閉了調(diào)試接口。這時候 OpenOCD 連不上就需要先用 ST-Link UtilityWindows或者手動拉低 NRST 進入復(fù)位態(tài)連接把 Option Bytes 里的調(diào)試口重新打開。最省事的方案是使用 ST-Link Utility 的Target - Connect under reset功能連接成功后將 RDP 等級設(shè)為 0再全片擦除一次。5.2 寫保護與 Flash 異常的處理很多人在網(wǎng)上搜 “st-link utility 解決 寫保護問題” 和 “flash timeout” 這兩個關(guān)鍵詞其實是同一類情況。當芯片開啟了讀保護RDP level 1之后ST-Link 沒法正常擦除和寫入 FlashOpenOCD 在燒錄時就會報出類似Error: flash write failed或者target not halted的提示。一個有效的處理流程是打開 ST-Link Utility點擊Target - Connect如果沒有自動進入連接模式就按住目標板的復(fù)位鍵保持低電平再點連接。在Target - Option Bytes里看到Read Out Protection選項把級別從Level 1改成Level 0點擊Apply。執(zhí)行全片擦除Target - Erase Chip。斷開連接重新回到 VSCode 里用 OpenOCD 燒錄。這里順帶提醒一句OpenOCD 本身也支持一定程度的解除保護操作但不同芯片型號的處理方式不同沒有 ST 官方工具那么統(tǒng)一。所以對于“芯片進寫保護”這個問題我的建議是優(yōu)先用 ST-Link Utility 或 STM32CubeProgrammer這種圖形化工具操作最可靠不適合在命令行下折騰。5.3 ST-Link 虛擬串口出現(xiàn)感嘆號Windows 下如果設(shè)備管理器里STM32 Virtual COM Port前面有個黃色感嘆號通常是驅(qū)動沒有正確安裝。ST-Link 上集成的串口功能需要專門的驅(qū)動支持安裝stsw-link009驅(qū)動包后感嘆號一般就會消失。部分系統(tǒng)下可能還需要在設(shè)備管理器里右鍵手動“更新驅(qū)動程序”選擇STMicroelectronics對應(yīng)驅(qū)動。5.4 ST-Link 指定序列號多調(diào)試器場景熱詞里有“st-link怎樣指定序列號腳本燒錄”這個問題在做產(chǎn)線或者同時插多塊板子時會遇到。OpenOCD 支持通過序列號選擇特定的 ST-Link配置方法是在配置里加一行hla_serial 你的ST-Link序列號如果是命令行可以寫成openocd -f interface/stlink.cfg -c hla_serial 066FFF323233324750323456 -f target/stm32f1x.cfgST-Link 的序列號可以從ST-Link Utility - Help - About或者設(shè)備管理器里的 USB 設(shè)備詳細信息中查到。這種用法對自動化燒錄腳本非常友好可以寫一個 for 循環(huán)依次把固件燒錄到插在同一臺電腦上的多塊板子而不用每次都拔插 USB 區(qū)分。5.5 CAN 總線 Bus_Off 恢復(fù)熱詞里還有 stm32 cube busoff 恢復(fù)順手寫一下。如果在 STM32 上做 CAN 通信總線上出現(xiàn)嚴重錯誤會導(dǎo)致控制器進入Bus_Off狀態(tài)。HAL 庫里最常用的恢復(fù)手段是打開自動總線恢復(fù)Abort Automatic Bus-Off Recovery在CAN_InitTypeDef里把AutoBusOff使能hcan.Instance CAN1; hcan.Init.AutoBusOff ENABLE;如果需要在代碼里手動恢復(fù)可以在HAL_CAN_ErrorCallback中調(diào)用HAL_CAN_Start重新啟動 CAN或者干脆執(zhí)行HAL_CAN_DeInitHAL_CAN_Init讓控制器重新初始化。需要注意的是Bus_Off 狀態(tài)下 CAN 不能立即恢復(fù)正常通信必須等待總線空閑一段時間軟件只能主動復(fù)位控制器不能繞過去強制發(fā)幀。5.6 定時器捕獲測頻率熱詞里出現(xiàn)stm32定時器捕獲測頻率我就多講一句這套工具鏈在調(diào)試定時器捕獲時比 Keil 更方便因為在liveWatch里可以實時看到捕獲寄存器的值變化。用 TIM 輸入捕獲測頻率的核心邏輯是開啟上升沿捕獲記錄兩次捕獲的計數(shù)值差然后用定時器時鐘頻率除以計數(shù)值差得到信號頻率。在調(diào)試時注意看TIMx-CCR1的值是否在更新如果一直不動優(yōu)先檢查輸入引腳是否有信號、濾波器和極性是否配置正確。6. 這套環(huán)境后續(xù)還能怎么擴展最后再分享兩個我實際使用中的體會。第一VSCode 下的插件生態(tài)是可以繼續(xù)往上疊的?,F(xiàn)在熱門的一些 AI 輔助編程插件也能直接用在嵌入式代碼上寫 HAL 庫初始化、寫結(jié)構(gòu)體定義的時候非常省力。我自己現(xiàn)在的習(xí)慣是CubeMX 管外設(shè)初始化AI 插件管讓我少打字GDB 管讓我少燒腦VSCode 管讓我看著舒服。這一套組合下來做一個小型畢業(yè)設(shè)計級別的項目效率比單純用 Keil 高出不少。第二這套配置不僅適配 STM32F1。你把target/stm32f1x.cfg替換成stm32f4x.cfg、stm32h7x.cfg把defines和 SVD 文件換掉同一個工作區(qū)就能開發(fā)另一顆芯片。遷移成本幾乎為零這也是把工具鏈拆開帶來的最大紅利。如果你第一次配不完全順利別急。OpenOCD 的報錯雖然看起來嚇人但它每個報錯都對應(yīng)一個明確的物理原因照著上面的思路逐條排查大部分問題都能在十分鐘內(nèi)解決。等這套環(huán)境真正跑通之后你會覺得以前被 IDE 牽著走的日子實在有點虧。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
www.五月丁香av| 六月丁香av| 九九无毛| 久久色五月天激情小说| 婷婷99狠| 婷婷色激情网| 久久国产一区二区三区| 色情五月天A片| 五月天偷拍| 婷婷成人小说综合| 青青草99re| 五月婷婷色啪| 丁香六月婷婷色播| 激情五月天第四色| 婷婷综合视频| 成人日韩欧美| 成人婷婷色综合| 26uuu另类亚洲欧美日本一| 激情婷婷网| 婷婷五月天播播| 五月婷婷偷拍| 精品无码久久久久久久久| 思思久久96热在精品国产,| 在线观看婷婷5月| 无码少妇高潮喷水A片免费| 黄色片久久| 欧美日本另类| 婷婷五月花| 欧美私人家庭影院| 婷婷综合五月| 婷婷区日本| 色婷婷女优有码五月亭| 久久在线视频免费观看| 五月激情天| 天天插天天草人人玩| 五月婷在线| 久久 这里只有精品1| 国产综合婷婷| 二区成人视频| 婷婷色色网站| 26uuu成人网| 热99这就是精品视频| 婷婷五月在线影院| 日日撸夜夜操| 五月激情小说网| 美女要搞搞天天搞搞搞网站| 性一交一乱一交A片久久四色| 久久3级片| 嫩草AV久久伊人妇女超级A| 操97免费超级视频| 能看的AV| h亚洲| 五月开心播播网| 丁香六月在线| 丁香五月天激情视频| 日日撸夜夜操| 五月天激情无码专区| 五月丁香六月婷婷综合免| 激情五月天在线观看色婷婷| 99精品免费欧美小视频| 色噜噜伊人| 国产色色网站网址| 亚洲精品影视| 五月丁香人人婷婷在线观看| 噜噜国产| 无码日本精品XXXXXXXXX | 五月综合激情啪啪啪啪啪| 激情五月狠狠喔| 激情六月丁香| 17.c黄色| 色五月综合| 欧洲电影在线观看免费版英语版 | 丁香六月色婷婷| 国产裸舞福利资源在线视频| 亚洲最大激情无码| 中文字幕丰满孑伦无码专区| 99视频综合网| 婷婷五月黄色激情在线| 99热激情| 久久久亚洲精品一区二区三区浴池 | 婷婷五月天开心网| 五月丁香六月情| 日韩性爱AV| 久久久ww| 婷婷五月天久久| av在线资源| 色九九九九| 激情五月天之六月婷婷| 亚洲日日日| 99碰碰中文| 五五月五月| 激情五月综合ì香亚洲| 91超碰人人操| 综合久久十| 色色色婷| 丁香五月激情在线| 婷婷丁香社区网| 狠狠爱丁香婷| 婷婷五月在线视频| 91精品久久久久久| WWW.桔色成人.COM入口| 99热这里有精品首页10| www,99色| 欧美,日韩成人在线| 操久久网| 六月五月天婷婷涩播在线| 99热99色| 黄色AAAAA| 亚洲婷婷免费| 有码一区二区三区| 青草视频在线蜜臀| 5月丁香美女影院| 1024在线观看免费视频| 狠狠爱综合| 天天舔天天摸天天透| 亚洲av网站| 六月丁香开心婷婷欧美| 欧美日韩欧美| 嫩草AV久久伊人妇女超级A| 天天干,天天日| 激情图片久久| 久操人妻| 亚洲六月色婷婷| 久久成人亚洲欧美电影| 99热只有这里有精品| 欧美精品99久久久| 99热九九热| 狠狠爱综合| 俺去也婷婷| 午夜色婷婷| 91九色在线| 五月天伊人网| 热久久91| 日本色婷婷| 日日干天天射| 66久久视频在线| 亚州精品色情无码A片| 国产精品久久..4399| 国产91视频| 伊人综合网站| 久热伊人9| 亚洲中字AV电影在线网站| ss99热| 国产无套精品一区二区| 激情五月色婷婷| 色综合大香蕉| 成人欧美日韩| 天天爽天天| 91久久精品国产91性色TV| 五月婷婷色| 天天色色婷婷| 天天色99| 99热网站| 精品久久人妻| 99热只有精品在线| 婷婷丁香五月六月激情| 激情五月婷| 五月天伊人| 色婷婷无吗| 另类丁香综合| 五月色婷婷综合| 五月丁香激情在线| 深爱五月网| 色天天综合| 婷婷丁香五月网| 色婷婷色99国产综合精品| 热久69| 狠狠艹狠狠艹| 人妻久久久久久久| 乱岳熟女50岁| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 久9久9久9久9久9久9| 婷婷九月| www.99视频| 色色色五月婷| 天天爽夜夜爽| 91性高潮久久久久久久久| 婷婷爱五月天| 超碰国产AV| 五月丁香婷婷基地| 色色色色色色网站| 啪啪五月婷婷| 99在线视频操999| 热九九精品| 久久ab| 精品九九网| 色五月丁香激情| 亚洲AV人人操| 综合激情五月婷婷| 天堂久久精品| 欧美激情丁香五月| 亚洲欧洲另类| 性生活视频98791| 性做爰1一7伦| 久xxxx| 欧美丁香六月激情视频| 色色色综合色| 99网址在线看| 五月婷婷六月少妇激情| 99热午夜精品| 色 五月俺去也| 四川BBB搡BBB爽爽视频| 婷婷五月丁香成人| 五月丁香另类网| 精品久久久久久久人妻| www.wuyuetian啪啪| 欧美黑人巨大猛烈cuckold| 九九色热| 狠狠色丁香婷婷综合久久97AV| 丰满老熟妇BBBBB搡BBB| 人人人人人人人人人草| 国产av一区二区三区| 五月天婷婷色播综合在线| 五月丁香操婷逼| 色色色色综合网| 色色婷婷五月天| 极品人妻videosss人妻| 中文字幕性爱丰满| 日本性激情色播| 天天天摸夜夜夜玩| 色狠狠色综合| 91操人| 久久久久久久五月婷婷六月丁香综合,开心激情综合网 | 另类天堂| 99色视频在线观看| 99热在线观看| 99爱在线视频观看| 9999三级片| 任你艹| 五月婷婷成人网首页| 九九色婷婷Av| 大香蕉人妻| 色欲影香| 婷婷丁香五月天婷婷| 国产精品成人AV在线观看春天| 性做爰A片免费视频A片直播| 五月停停激情网| 综合超碰熟| 久久综合人妻| 婷婷六月天激情| 97婷婷丁香| 久久久久久久人妻| 狠狠干无码| 国产亚洲成AV人片在线观黄桃| 亚洲在线激情婷婷五月| 丁香花操逼| 色综合婷婷| 激情五月天影院| 丁香六月色情| 91 九色 入口| 亚洲色久| 色五月激情问网站| 激情五月天婷婷播播久久综合91| 亚洲成人在线五月天| 任你搞在线观看视频| 五月丁香六月激情综合| 欧洲激情五月天| XX色综合| 99ER热精品视频| 婷婷色综合av| 丁香五月六月婷婷综合| 婷婷九月丁香久久| 国产精品噜噜在线视频| 国产免费av在线| 红桃91人妻爽人妻爽| 六月丁香射婷婷欧美色图片| 青青草护士中出内射-欧美电影在线天堂新版| 亚洲天堂色| 色婷丁香| 丁香婷婷六月男男| 丁香五月婷婷激情视频播放| 九九亚洲综合| 婷婷国产五月天17c| 欧美在线干| 26uuu国产激情视频| 久超免费视频| 婷婷五月天va| 亚洲第一色网站| av在线观看免费| 亚洲精品第一色色色色色色| 99热国产| 丁香激情五月天| 丁香久久| 99欧美| 欧美精品18| 亚洲第一第二网站| 丁香婷五月天| 色婷婷五月天小说网| 99热九九在线| 99精品一二三四视频| 欧美天天干天天草| 激情综合网五月在线播放| 日韩成人精品中文字幕| 夜夜爱网站| 精品视频99看在线视频| 伊人久久丁香婷婷六月五月综合| 五月天婷婷高清无码| 就爱啪啪婷婷| 五月丁香六月婷婷手机无线| 日韩在线五月天婷婷| 色播五月| 成人综合网站| 激情五月综合久久| 色五月涩涩婷婷蜜桃| 南京搡BBBB搡BBBB| 色色 亚洲| 怡红院一二三| 天天爱天天操| 成人一级片| 婷婷久久精品| 99综合网| 五月丁香综合网| 国产97色在线 | 日韩| 五月天色色网站| 99热视| 天天做夜夜爽| 99国产精品白浆在线观看免费| 久9热插入| www.婷婷,com| 色五月视频无码播放| 天天天天天天天操| 婷婷综合| 日操熟女| 激情六月丁香综合| 婷婷五月天狠狠| 泰州成人视频| 麻豆精品| 99热精品网| 色色色com| 疯狂做受XXXX高潮A片动画| AV网址大全在| 大香蕉五月| 色色综合色视频| 99狠狠色| 婷婷综合97| 国语精品探花| 国产精品久久久久久久久久| 五月天久久久| 婷婷五月天激情在线| 综合激情在线| 久久婷婷大香蕉| 性色播| 色婷婷精品视频| 202丰满熟女妇大| 大香蕉五月天婷婷| 亚洲操逼片| 中文AⅤ大全| 激情五月综合免费| 99热.com| 色宗合久久五月婷婷| 草了bav视频在线观看| 婷婷丁香五月激情| 狠狠久久婷五月综合色| 婷婷五月天午夜激情影院| 亚洲激情视频在线观看| 97丁香婷婷| 丁香五月 激情文学| 成人做爰A片免费看网站找不到了| 九九九AAA热视频| 深夜男女福利刺激影院一区| 五月激情综| 六月丁香五月天| 丁香五月亚洲激情婷婷射| JlZZJlZZ8JlZZ亚洲熟女| 丁香六月激情综合网| 天天色天天射天天日| 免费在线观看av网站| √天堂资源在线人妻熟女| 伊人深爱综合| 国产精品久久99| 成人AV网站在线| 婷婷91视频| 91色在线/日韩| 欧美日韩一区二区三区四区| 色区域网站视频| 欧美成性色| 中文字幕在线不卡| 五月天婷婷五月| 五月婷婷激情五月| 狠狠色丁香婷婷五月| 亚洲激情综合| 天天插综合| 色色影院黄大片| 色婷婷色99国产综合精品| 色婷婷操逼网| 手机免费福利视频| 婷婷视频在线| 精品国产va久| 亚洲色另类| www热久久yy9| 婷婷五月天论坛| 婷婷婷婷婷婷婷五月丁香| 亚洲第二AV| 亚洲综合新99视频| 亚洲热视频| 91热手机在线| 五月婷婷五月天激情网| 日本三级成人秘书精品片| 丁香婷婷久久 | 色婷婷亚洲综合av| 蜜臀嫩草| 五月天操逼激情| 99激情视频热| 五月天偷拍| 五月婷婷色色色| 五月天播播中文字幕| 日本人妻伦在线中文字幕| 五月丁香婷婷久久| 色综合丁香| 色婷婷AV在线| 九九热99熟女| 在线亚洲综合网| 婷婷激情丁五月| 国产亚洲成AV人片在线观黄桃| 综合狠狠伊人| 激情色播| 开心五月丁香综合久久| 专区无日本视频高清8| 五月丁香综合在线| 亚洲婷婷丁香五月视频| 91一起操| 丁香五月六月久久综合 | 深夜男女福利刺激影院一区| 激情五月丁香五月| 九月丁香| 婷婷五月天天天日日夜夜| 99久久6| 特黄三级片| 香蕉狠狠爱视频| 婷婷在线中文字幕| 五月好婷婷| 就爱日五月天| 伊人五月天在线| 99欧美三级视频| 五月色天情| 五月天激情亚洲| 久久婷婷五月综合啪| 97操碰人免费| 色色性爱视频| 婷婷丁香五月天影院| 97干视频在线| 色色五月丁香婷婷| 久热久| 6月丁香婷婷| 色情婷婷五月天| 青青草原中文字幕| 亚洲日韩一页精品发布| 色婷婷狠狠干芒果TV| 免费一区二区三区| 五月婷婷激情综合av| www,超碰| 国产一级片| 99热大全在线观看| 天天干天天做| 亚洲五月天婷婷在线| 久久日婷婷| 五月久视频| 九九综合网色全集| 色色色综合色| 99热这里只有精品2016| 亚洲国产另类av| 五月天成人免费视频| 99热在线资源| 婷婷五月天AV| 91精品国产综合久久密臀| 丁香婷婷狠狠97| 婷婷丁香五月在线播放| 狠狠久久婷五月| 狠狠操狠狠| 丁香六月毛片| 婷婷丁香五月91| 五月婷婷色色| 日日做天天操夜夜爽| 91久女| 成年人丁香五月| 丁香色五月 97干| 日日爽夜夜爽| 婷婷五月天,影院| 丁香六月综合| 精品久热| 热99re| 色涩影院六月丁香| 成人丁香五月| 26uuu亚洲精品国产| 亚洲性视频| 亚洲激情在线| WWW.婷婷| 99热 免费| 激情久久伊人| 影音先锋噜一噜| 色色色视频| 丁香五月婷婷激情四射深爱激情| 激情五月婷黄版| 婷婷色女| httpwww色com日本| 涩婷婷五月天在线精品视频 | 九九热精品| 97婷婷丁香五月| 亚洲AV无码一区二| 色偷偷AV亚洲男人的天堂| 99热最新| 婷婷色色狠狠| 日韩精品电影| 嫩草AV久久伊人妇女超级A| 色色色成人网| 五月丁香激情综合网官网| 欧美三级级99久久| 粉嫩AV久久一区二区三区| 最新va在线播放| oumeisesewang| www.91在线看| 亚洲中文字幕在线观看| 人妻AV在线观看| www.色婷婷。com| 91色噜噜狠狠狠狠色综合| 亚洲熟妇AV乱码在线观看| 亚洲综合激情五月久久| 亚洲五月天伊人| 9精品视频在线观看| 在线18av | 大香蕉久久久久| 激情宗合网激情五月天| 99在线精品观看99| 色色色9 9 9| 九九综合| 中文字幕永久在线| 思思热在线视频精品| 五月综合婷婷网| 一级精品999WWW| 色综合99无码 | 天堂婷婷五月在线| 婷婷五月色综合| 丁香香蕉射射射| 丁香五月婷婷影院| 色婷五月天| 热久久视频99| site:jszngf.com| 26.uuu丁香五月婷婷| 九九色婷| 欧美成人精品A片免费一区99| 爆乳熟妇一区二区三区爆乳| 99热成人| 五月婷婷天| 情五月亚洲婷婷| 九九综合伊人| 久久婷婷人人| 综合九九久久| www.99精品日操伊人乱碰在线| 丰满人妻一区二区三区| 99综合一区| 亚洲无码99| 色小说五月婷婷| 亚洲激情校园| 婷婷五月69| 91色逼| 亚洲久艹| 五月色激情综合网| 五月天激情黄色网址| 九九九九精品精| 九九色影院| 99热都是精品| 欧洲亚洲免费视频9| 五月丁香六月激情在线| 99热免| 99性爱精品| 婷婷激情5月| 2015好吊操| 黄色片区子| 91色在线| 98色花堂98t.R| 色婷婷人人| 婷婷五月丁香四射| 色亭亭丁香五月天| 91国产精品视频播放| 操操操97| 人妻第九页| 久久久亚洲精品一区二区三区浴池| 色五月av| 最新高清无码专区| 7EzOBIhNq85TO| 亚洲字幕AV一区二区三区四区| 日韩啪啪视频| 狠狠精品干练久久久无码中文字幕| 久久只有18视频| 色色色色色色网站| 婷婷五月婷婷| 99热精品在线播放| 青草视频在线观看视频| 丁香五月影| 91色性感五月婷婷丁香| 婷婷94s| 九 九九九AV| 啪啪色激情五月天| 日本乱论99| 99热热这里只精品996小说| 激情AV在线| 成人婷99最新| 轮奸综合网| 狠狠操天天操| 97婷婷丁香五月| 99热久草| 五月丁香香蕉| 99色在线视频| 九九热在线视频| 开心五月色婷婷综合开心网| 天天干在线播放| 激情网色五月| 五月天激情四射网站| 欧美日韩123| 激情五月天噢美| 婷婷久久视频| 日本成人噜噜| 综合啪啪| 99re6久热只有精品6在线直播| 日本99久久| 国外亚洲成AV人片在线观看| 日本九九九九九九| 色爱综合网| 天天搞夜夜六| 久久这里有精品视频在线免费观看| 操操操AV| 色五月婷婷av| 欧美激情五月天| 丁香五月 性爱| 婷婷五月天AV在线| 思思久久网| 婷婷六月天精品| 九九视频这里有精品| 久久精彩免费视频| 丁香六月在线| 67194中文在线| 色婷婷综合成人| 五月开心婷婷网| 伊人丁香婷婷东京| 人妻少妇色综合| 99热在线观看精品| 六月成人网| 正宗黄色毛片| 九九综合久久丁香婷婷,开心激情综合网| caopeng97日韩| 婷婷国产成人| 日本久久天堂| Caoporn公开| 99er6免费视频热播| 久久这里只有精品网| 狠狠搞狠狠操| 五月婷婷六月丁香| 91久久国产综合久久| 在线99热| 色婷婷丁香五月天激情综合网| WWW.桔色成人.COM| 免费看欧美成人A片无码| 超碰啪啪网| 婷婷天堂站| 久久五月婷天天干| 99久久久久久| httpwww色com日本| 91久久久久久久91| 婷婷五月天AV在线| 亚洲AV激情五月综合网| 丁香五月在线播放| 思思久久99| 99热很操老逼| 狠狠人人| 久久婷网| 六月婷婷综合网2| 91九色丨国产丨爆乳| 丁香五月婷婷天激情| 蜜臀av粉嫩av懂色av| 国产午夜精品AV一区二区麻豆| 六月丁香婷婷大香蕉| 亚洲AV激情五月综合网| 五月天婷婷基地综合网| 色五月婷婷在线观看第一页舔| 大香蕉天堂| 丁香五月第四色88| 丁香五月欧美| 五月丁香综合在线| 亚洲小视频| 激情五月激情综合网| 色射7856五月天激情四射| 这里只精品| 久久婷网| 日本在线观看91| 日本色婷婷五月天成人电影| 五月丁香久久久久| 色色色1网址| 六月综和久久| 婷婷亚洲综合| 日本WWW九九九| 五月天夜夜爱夜夜操| 丁香婷婷基地| 五月天伊人综合| 亚洲色婷婷视频| 婷婷五月天色色| 亚洲激情婷婷| 丁香婷婷六月男男| 天天日日| 思思热性操| 精品乱码久久久久| 超碰大香蕉网| 久久婷婷亚洲| 婷婷五月天大香蕉在线视频观看| 久婷婷久草| 国产在这里只有精品| 婷婷久久婷婷| 色色AV色色色东莞| 色色999三级片| 天天粽合合合合| www.婷婷五月| 91热在线| 五月精品| 久久网婷婷| 性生活久久朋友人妻| 无码人妻精品一区二区蜜桃色欲| 色10月婷婷视频| www.五月婷婷.com| 91久久综合| 九九这里有精品| 亚洲天堂青草| www.亭亭五月天| 97久久久久久久久久久| 26uuu亚洲欧美另类| 婷婷丁香久久| 亚洲艹网| 六月丁香啪啪| 六月激情婷婷色| 五月天色区| 人妻22p| 婷婷午夜精品久久久| 久久九九中文字幕| 色播五月综合网| 色爱综合五月| 五月丁香婷婷基地| 亚洲久艹| 欧美色爱五月天| 久久女人九九| 99这里只有精品视频| 91综合网| 91人人爽久久涩噜噜噜| 二区成人视频| 激情五月久久| 亚洲五月激情| 九热精品| 久久大香蕉| 丁香桃色网| 丁香五月在线视频| WWW.国产| 777精品成人a v久久| 久久人妻熟女一区二区| 亚洲激情区| 婷婷五月天久| 亚洲无码99| 婷婷丁香成人五月天| 天天干天天爽| 欧美婷婷日本| 99视频只有精品| 激情综合五月.....| 日韩AV在线影片| 激情婷婷五月天日本系列| 婷婷婷久久| 精品色色| 久久99视频| 桃色五月天| 九九热这里只有精品5| 欧美久热| 亚洲久久婷婷| 精品热九九| 免费观看的av| 五月婷婷激情综合| 六月丁香五月婷婷| 日本欧美国产| 激情性爱网站| 在线成人网址| 色综久久AV| 乱乱av| 久久九九热视频| www99精品| 婷婷五月天av| 欧美3AaAa大片| av第一二区| 五月丁香婷婷色色| 99成人精品| 婷婷狠狠爱| 伊人www22综合色| 亚洲性受XXXX五月丁香| 欧美怡红院黄站| 五月婷婷五月天| 婷婷五月小说色综合| 国产偷人爽久久久久久老妇APP| 日日操天天| 欧美三级黄色片久久| www.超碰| 日日夜夜婷婷| AV九九| 性按摩玩人妻HD中文字幕| 激情五月www| 久久色五月| 五月婷婷激情网| 99成人精品视频| 丁香六月婷婷综合激情欧美| 美女久久婷婷| 狼人婷婷久久| 开心五月激情站| 久久天堂婷婷五月| 色99色| 99热这里只有精品16| 成人网址在线观看| 成人无码免费一区二区中文| 狠狠色大香蕉| 色波激情五月天| 天堂网色婷婷| 超碰国产在线| 丁香婷婷影院| 五月丁香婷婷无码中文| 視频福利乱色| 天天干,夜夜爽| 人妻久久久久久久 | 色玖玖导航| 色婷婷激情小说网| 玖玖99精品视频| 中文字幕日产A片在线看| 婷五月天| 婷婷五月天国产手机在线视频观看| 久久久久五月丁香| 91狠狠综合久久久| 丁香五月综合AV在线| 五月婷婷在线短视频| 操逼视频网址| 天天爽天天| 天天色综合图片| 丁香婷婷五月天色综合| 成人在线视频一区| 中国女人内射6XXXXX| 国产色网站| 人人人舔人人人操人人人摸人人人97| 久久久久9| 韩国97天堂| 99热亚洲| 色综合综合色| 99视频这里只有精品10| 久久er免费视频| 五月丁香偷拍| 国产午夜精品AV一区二区麻豆| 91成人电影| 都市激情小说婷婷| 亚洲视频在线观看99| 国产精品国产| 99@久久@99精品视频| 99这里| WWW.99视频| 婷婷五月天日本无码| 久久精品爱爱| 丁香婷婷91在线观看视频| 五月综合激情啪啪啪啪啪| 婷婷综合五月| 性视频久久| 丁香五月天在线| 深爱激情四射| 久久这里只有国产| 色你久久| 97超碰99热99| 久久国产一区二区三区| 另类精品视频在线观看| 青青草成人网| 六月色国内综合| av在线超清中文| 超碰大香蕉网| 色婷婷久久综合久色综| Aα在线免费观看| 色婷青青| 嫩草AV久久伊人妇女超级A| 99热这里只有精品青草| 欧美性猛交99久久久99| 久久婷婷综合五月趴| 日逼免费视频 | 四川BBB搡BBB搡多人乱亂| 91超级碰| 国产精品国产| 五月婷婷综合在线视频小说| 美女激情婷婷| 色青青视频| 综合欧美五月婷婷| 人妻综合网| 99热99天堂| 成人一区在线观看| 伊人大香蕉爱聚| 超碰在线日夜| 极品人妻VIDEOSSS人妻| 色偷偷AV亚洲男人的天堂| 99这里只有精品| 九九色综合| 欧美日朝成人| 久操操| 超碰人人色| 91色五月| 九九re精品视频在线观看| 色婷另类| 激情五月天啪啪| 人人摸人人澡人人| 看片视频在线免费日产在线看| xx人人xx| 激情六月丁| 丁香五月天在线观看| 99热成人在线观看| 26uuu欧美日本| 六月合五月婷| 丁香婷婷色| 亚洲aV写真天天综合网久久| 久久人妻久久| 五月婷婷在线播放| 丁香五月天在线观看| 天天舔天天操| www.9797国产| 黄网免费观看| 激情色色| 亚洲综合99| 最近中文字幕大全免费版在线| 五月综合激情婷婷六月色窝| 久草热久草在线视频| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 96自拍视频九色在线观看| 性生生活大片又黄又| 青青草青青草五月天| 午夜微拍福利| 丁香婷婷婷五月综合色情| 天天操五月天| 中文字幕,综合,91| 97九色| 色婷婷久久综合久色| 婷婷五月丁香在线观看| 这里只有精品视频看看| 激情五月com| 日韩五月丁香| 日本一级特黄大片AAAAA级| 91ncom.色| 色婷婷丁香五月| 亚洲电影在线观看| 婷婷亚洲在线| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 日本丁香五月| 狠狠精品干练久久久无码中文字幕| 人人摸人人操人人爱| 色开心五月丁香| 激情综合在线观看| 这里只有精品偷拍| 狠狠狠激情网| 夜夜爱网站| 97色婷婷成人综合在线观看| 色婷婷网| 日韩丁香涩| www.97干视频| 色优久久| 伊人丁香婷婷东京| 9这里只有精品| 色色国产| 久久久精品人妻| 人人色人人弄人人操| 性爱激情小说AV五月丁香花| 久九色| 人人添人人| 五月婷婷丁香网| 成人av免费观看| 全部老头和老太XXXXX| 一级内射毛片| 久久性刺激| 99综合婷婷五月| 热99AV网站| 色五月婷婷色| 99人妻碰碰久久久禁片| 99久久精彩视频| 丁香无月在线观看| 日本激情五月天‘| 中文字幕在线不卡| 亚洲精品又粗又大又爽A片| 五月婷综合| 亚洲超碰在线| 人人操人人爱丁香五月| 综合99久久| 青草青草视频2免费观看| 性爱人人网| 色狠狠999综合网| 综合激情五月天六月婷免费视频| 天天摸天天肏| 色欲AVV| 色99在线视频| 99性感视频| 伊人99热| 97午夜一区二区| 特黄三级片| 久色网五月| 丁香五月激情啪啪| 久久免费少妇高潮99精品| 色色色婷婷五月天| 丁香网五月天激情| 玖玖婷婷五月天| 99热每日| 亚洲国产成人在线| 丁香五月开心婷婷| 激情丁香五月天| 91碰操| 婷婷激情综合无月| 99ri视频在线播放| 欧美性生交XXXXX无码小说| 777久久久| 五月婷综合性中心| 99综合在线| 色婷婷狠狠18yy| 丁香香五月激情免费视频| 天天做天天爱天天玩| 极品人妻VIDEOSSS人妻| 武则天精品久久| 狠色色狠网| 色色五月天激情| 97性高潮久久久| 伊人天天色| 色三级色三级| 色情网综合| 激情五月综合色婷婷| 黄色成人网站在线播放| 综合久久狠狠| 久久只有精品| 亚洲欧洲国产精品| 五月天婷婷无码| 夜夜夜天天操| 九九热99免费视频| 丁香五月玖玖| 99热成人精品| 婷婷99| 九伊人网| 天天舔日日肏夜夜爽| 免费看欧美成人A片无码| 大香蕉婷婷久久| 亚洲欧美国产高清vA在线播放| 丁香网站| 99久在线精品99re8热| 日日噜狠狠色综合久| 丁香五月花| www.五月天婷婷.com| 在线观看亚洲视频影院| 精品九九久久| 五月丁香六月欧美| 99久久综合| 99久久综合网| 91婷婷搞| 久久狠婷婷| 天天色综合综合| 岛国在线观看91| 亚洲婷婷五月天综合| 久久多色| 久久久免费图片视频| 国产高清精品色| 99热在线观看| 国产伦理精品高清在线观看网站一区二区| 国产婷婷五月天| 亚洲成人无码免费| 丁香六月婷婷综合在线| 婷婷五月色播天| 亚洲综合网激情小说| 天天色宗合| www.久久久久| 另类综合激情| 欧美性爱中文字幕| 婷婷五月在线视频| 色很久综合| 色狠狠色综合| 97超喷视频在线观看| 色五月丁香在线| 嫩草AV久久伊人妇女超级A| 五月婷婷播| 五月天社区| 婷婷丁香社区网| 五月天激情四射| 九九热中文| 久青操| 九色视频91疯狂| 超碰在线9| 9精品视频在线观看| 激情久久久久久久久久久| 国内久久亭亭| 五月丁香成人小说| 日韩黄色电影| 中文在线成人| 婷婷丁香五月色偷偷| 91人操人人人操人| 9热在线观看| 天天综合色丁香| 成人欧美日韩| 久久99精品九九久久久婷婷| 伊人久久大香网| 久久九九色| 九九热在线亚洲免费视频| 久久五月丁香| 天天爽天天爽天天爽天天爽天天爽| 思思热视频在线观看| 亚洲超碰在线| 99热思思| 夜夜天天久久婷婷| 在线观看免费视频| 人人摸人人射| 五月婷婷色色爱| WWW五月| www一起操在线观看| 91九色视频在线观看| 97操在线视频| 涩五月婷婷| 99热 在线观看| 超碰成人黄色网| 99热在线观看免费| 欧美97超碰| 激情开心五月天| 色噜噜狠狠色综合网| 91se在线视频| 丁香五月在线人妻| 精品一二三区久久AAA片| 三级大香蕉网| 激情婷婷黄色五月| 丁香五月六月婷婷综合| 99操碰| 91精品久久久久久综合五月天| 色国产五月| 韩日AV片| www.色婷婷.com| 99热99在线| 思思热在线视频精品| 人妻操在线看| 日本天堂免费99| 99在线精品观看99| 99色最新在线视频| 香港九九六区八区99| 99热这里只有精品55| 九九Av| 日日做A爰片久久毛片A片英语| 五月丁香欧美在线| 97色在线观看视频| 激情图片五月天| 婷婷成人丁香色情基地30| 天堂久久大香蕉| 99黄色性生活| 5月婷婷激情6月| 青青999| 大香蕉人妻| 丁香六月成人网| 五月丁香激情啪啪网| 婷婷成人综合| 很操日本7| 日韩无码系列| 久热大香蕉| 欧美成人精品老美女噜噜噜| 久久九九国产| 亚洲精品久久久久AV无码| 综合激情网激情五月。| 中文字幕丰满乱孑伦无码专区 | 日日夜夜天天| 热成人网| 99爱爱| 亚洲网站观看视频| 91要啪| 激情婷婷丁香色五月综合| 狠狠色丁香久久综合婷婷亚洲成人福利| 中文字幕永久免费| 国产精品国产VA片国产| 久久一级免费黄色片| 人人草人人舔| 丁香激情综合| 久久婷婷五月国产色综合激情| 大香焦A∨| 日日噜狠狠| 五月天久久丁香| 超碰91在线| 九一九九黄色| 婷婷五月六月| 亚洲激情综合五月婷婷啪啪| 婷婷五月香蕉| 日韩丁香涩| 中文字幕在线观看视频www| 99精品久久久久久久婷婷久久| 九九人人看| 欧美日韩精品人妻狠狠躁免费视频 | 欧美在线97| 国内精品玖玖| 99色综合网| 四季日韩AV无码综合| 激情婷婷六月天| 五月婷婷 激情五月| 九九爱这里只有精品| 99久久久精品| 色色网站免费| 91欧美| 国产免费av网站| 亚洲九区| 熟女网站久久| 天天夜天天色天天| 久久五月天激情美女| 奇米四色五月天| 亚洲激情AV| 激情伊人| 丁香五月婷婷色播艳门照| 亚洲午夜精品久久久久久人妖| 日日操夜夜操中国无码| 日日干日日| 日本三久久| 99热精地址| 丁香五月天色综合| 丁香激情五月| 强辱丰满人妻HD中文字幕| 伊人超碰| 欧美一级操逼视频| 天天综合五月| 99热网站| 色综合中文色综合网| 婷婷亚洲在线| 九月色婷婷| 另类激情五月| 色色网站免费| 久久99久久99精品免观看软件 | 五月激情综合网| 99免费热视频在线| 婷婷五月丁香网| 5月婷婷性视频| 综合激情伊人影视在线| 美女精品一级不卡视频| 99久久久精品| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 婷婷综合在线视频| 色五月色综合| 久热99| 婷婷五月天成人网| 婷婷色五月激情强奸四射| 99九九精品| 思思热热久久| 婷婷五月丁香影院| 色婷婷综合网| a九九热www| www热久久yy9| 婷婷五月欧美AA片免费| 琪琪色综合网站| EEUSS鲁片一区二区三区| 99久久婷| 伊人狠狠丁香婷婷综合尤物| 狠狠干无码| 九九九九这里只有精品| 综合热无码| 操逼福利视频| 思思视频这里是精品| aaa丁香五月天| 日本精品99| 色玖玖网| 在线sebiav精品视频| 五月天色小说| 99热在线观看| 中文字幕按摩做爰| 中字幕视频在线永久在线观看免费| 91丨九色丨东北熟女| 99啪啪视频| 大香蕉九操| 六月丁丁香| 开心深爱激情网| 人人舔人人| 九九99视频| 夜夜操天天爽| 婷婷丁香五月亚洲免费| 欧美天天干天天草| 婷婷五月天资源| 色狠狠综合| 激情婷婷啪啪|