免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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
返回資訊列表
丁香成人五月天| 五月天婷婷在线播放免费| 色色色热| 色五月丁香婷婷在线观看| 丁香五月另类色婷婷麻豆| 婷婷五月情| 婷婷五月天熟妇| 9视频1在线| 涩五月婷婷| 性色天| 丁香婷婷性爱| 大香蕉人在线65| 综合婷婷| 综合婷婷| 婷婷在线视频| 亚洲综合激情五月久久| 久久久无码精品成人A片小说| 操笔无码| 色久播播| 轮奸综合网| 久久婷婷五月综合网| 天天艹夜夜艹| 亚洲丁香花色| 操人无码| 丁香五月天激情| 99这里只有精彩视频| 丁香五月婷婷六月婷婷| 色色色无码| 久久久www| 丁香五月天大香蕉啪啪| 婷婷色色亚洲| 色五月婷婷成人| 在线中文av| 亚洲99精品欧美一区| 欧日美女Va| 日韩人妻在线观看| 91超级碰碰| 99ri视频在线观看| 色天堂97| 影音先锋一区| 热的五码久久精品| 五月天六月天| 狠狠狠狠狠草| 丁香婷婷深情五月亚洲| 五月天婷婷色色网| 操碰91| 这里只有精彩视频| 黄网免费观看| 亚洲色五月天| 国产伦亲子伦亲子视频观看| 麻豆忘忧草午夜| 中文字幕日产A片在线看| 色综合99| 97啪在线观看视频| 婷婷久久在线| 色婷婷婷婷| 狠狠爱婷婷| 97久久超视频| www.99热| 草婷婷在线| 色月视频| 五月丁香在线观看| 激情五月婷婷网| 精品久久99码| 在线18av | 婷婷在线播放| 碰超在线九色| 深夜男女福利刺激影院一区完整| 色色网站免费在线视频| 色情激情五月| 97碰碰在线观看视频| 激情五月婷黄版| 99精品在线观看视频| 9久热在线视频精品| 女同激情久久av久久| 婷婷九月色| 色香欲综合| 日本欧美成人片AAAA| 日日撸夜夜操| 欧美性爱丁香五月| 另类专区在线观看| 亚洲免费99| 五月天婷婷爱| 日韩婷婷| 人人叉久| 狠狠狠狠狠狠草| 天天操天天谢| 五月天色色网站| 综合婷婷| 成人在线综合| 天天拍久久| 五月婷婷激情综合网 | 国产亚洲精品AAAAAAA片| 婷婷香草网| 色播激情| 综合逼五月激情婷婷| 六月丁香五月激情婷婷| 人妻内射视频| 国产精品美女| 另类综合婷婷五月天欧美视频| 色婷婷五月天久久| 黄色中文字目| 久久五月天激情美女| 夜夜操狠狠操天天操| 五月色影院| 丁香婷婷五月综合色情| 婷婷丁香综合色AV| 丁香色播五月天| 99爱视频在线| 中文字幕无线久必| 色综合久久五月| 5月婷婷激情网| 色欲一区二区三区精品A片| 美国少妇性做爰| 亚洲秘 无码一区二区三区妃光/1| 婷婷中文字幕| 欧日韩成人| 激情婷婷五月丁香啪啪啪| 91肏| 五月天成人网在线观看| 另类丁香五月天区图| 色欲五月婷婷| 99热这里是精品| 亚洲精品又粗又大又爽A片| 伦乱人妻| 97韩国久久电影院| 婷婷色影音天| 天天日天天操天天干| av久热| 色综合色综合色综合| 亚洲婷婷丁香五月在线| 97九色| 9精品一区| 少妇婷婷五月天| 婷婷射丁香| 超91热| 天天爽天天弄| 夜夜爽77777妓女免费下载| www.com色播五月天| 色小说五月婷婷| 99这里| 色情婷婷。| 综合网五月天123| 久久精彩视频| 婷婷五月天无码视频| 69久久99精品久久久久婷婷| 久久久大香蕉| 99热这里只有精品66| 久久精品91视频| 综合五月婷婷| 天堂在线9| 日韩五月丁香| 色丁香五月| 婷婷丁香小说| 五月综合丁香婷婷| 啊v视频在线观看| 五月丁香久久丝袜啪啪| 欧美视频五区| 99丁香五月婷| 精品无码久久久久久久久| 精品一二三区视频立| 色婷婷视频| www91精品| 激情六月婷婷| 99er日韩| 五月婷婷综合在线亚洲视频| www.minyis.com【JT】实力收量可预付QQ2101460746 | 少妇人妻偷人精品无码视频新浪| 丁香欧美| 人人干99| 天天干天天拍| 99久久极情精品一区| 久久99免费视频网站| 这里只有精品视频99| 久久五月天丁香| 色婷婷伊人激情在线观看| 99热无码精品| 婷婷久久天堂网| 停婷丁五月在线| 精品爆操| 国产真实乱了老女人视频| 色狠狠六月| 婷婷97色| 淫视馆aV二区一区| 婷婷综合在线观看视频| 色噜噜夜夜夜综合网| 五月天丁香成人| 丁香五月激情婷婷视频| 超碰2021| 日日干日日| 狠狠va| avh片在线观看| 国产VA亚洲VA96| 一本久道综合99| 久久98| 欧美婷婷五月天综合| 任我肏视频精品| 久久久久久婷| 99热九九热| 五月花成人网| 久久婷婷色色| 日本韩国视频在线观看社区免费的9| 色 色 色综合com| 最新久久网址| 夜色.cnm| 国产伦亲子伦亲子视频观看| 黄网免费观看| 婷婷六月久久综合导航| WWW色五月天| 丁香婷婷五月色综合| 久热99热| 色播激情五月天| 棕合影院色色| 色五月大香蕉婷婷| 国产一区二区av免费| 色七七九九| 爱草视频在线| 激情视频婷婷五月花| 激情AV网| 国产精品99久久久久久久女警| 五月婷婷第四色| 五月婷婷综合在线| 婷婷五月天免费| 九九色大香蕉| 九九亚洲视频| 久久怕怕视频| 九九RE视频在线精品| 亚洲开心激情网| 黄色激情网站在线观看| 91狠狠综合网| 十区av| 强壮的公次次弄得我高潮A片日本 | 婷婷五月另类网站| 色色 9| 中文网AV| 啪啪一区| 久久久香| 五月丁香综合啪啪| -91九色大屁股| 另类丁香五月天区图| 色色色色色综合| 深爱激情综合| 99爱视频| 久久久大香蕉| 丁香六月啪啪| 五月天色区| 五月婷婷激情| 五月婷婷啪啪啪| 五月丁香黄色视频| 噜噜国产| 色五月婷婷五月天| 色婷婷19| 99精品在线播放| 久热亚洲| 五月天婷婷影院| 五月天婷婷AV| 99色在线观看| 婷婷爱五月| 天天噜噜| 五月综合色| 99热在线精品观看| 五月婷婷六月丁香| 中文中文在线| 东北熟女高潮99综合99| 五月丁香综合中文| 超碰人人艹| A片一曲| 六月婷婷综合激情| 秋霞黄色一级久久| 日日操,天天操| 欧美婷| 99精品在| www.开心激情| 六月婷婷视频| 五月天婷婷色色| 操99| av大片在线| 2050人人操免费工开爱| 97干在线看| 欧美久久网| 99热在线观看精品| 综合婷婷六月| 亚洲成人在线五月天| 婷婷网五月天| 天天操夜夜操| 丁香五月 无码| www.99精品视频| 性高潮久久久久久-九九九九九九九九九九热-成人AV | 国产,欧美,学生妹,视频| 日本熟妇乱妇熟色A片蜜桃| 在线中文AV| 青青操日本摸摸看看| 超碰在线观看caop| 深爱五月婷婷开心中文字幕| 久久er99| 丁香五月电影| 九九中文字幕九| 色五月色五天色情网| 九九免费视频在线| 狠狠色大香蕉| 操人妻AV| 婷婷色九月| 五月伊人综合| 五月婷婷开心网| 九九这里都是精品| 亚洲99一级无嗎特制在线| 亚洲色激情| 五月婷婷开心色伊人| 激情小说 五月天| 99热e| 日本不卡高字幕在线2019| 六月婷婷最新网址| 日韩欧美四五区| 可以直接看的AV| 久久99久久99久久99人受| 日韩成人无码| 日韩欧美一级大黄网站| 成 人 色 色| 97干在线| 黄久久久| 99re鈥哸鈥唙| 日韩精品无码一区二区| 成人AV在线网站| dingxiangtingtingliuyue| 99无码黄色视频| 久久婷婷网址| 天天天天天色| 久久一热| 激情AV在线| 热久久精品视频网站| 大香蕉九操| 五月丁香色停停啪啪啪| 中文无码精品一区二区三区| 婷婷六月激情| 亚洲av成人在线| 丁香五月亚洲| 五月天婷婷青青草| 米奇激情婷婷| 久久视频在线视频| 琪琪理论片| 婷综合| 国产在线视频1234| 四色AVwww| 99热网精品| AV激情五月| 五月丁香啪啪啪| 亚洲成人日韩无码精品| 久噜久噜| 色播jjjj| 开心五月激情婷婷| 婷婷婷久久| 99色丁香婷婷综合网| 色丁香五月| 激情久久肏屄视频| 亚洲综合1024| 久久人人看| 久大香蕉| 99精品久久| 色五月天丁香婷婷| 日韩不卡DvD| 婷婷五月综合啪| 亚洲欧美日韩另类| 亚洲色五月| 色五月大香蕉婷婷| 碰碰女| 五月丁香六月婷婷成人| 99色干| 99碰网站| 激情影院丁香五月| 婷婷五六日| 五月婷婷丁香| 五月婷婷视频ab| 玩熟女五十AV一二三区| 996日日爱| 97se在线视频| 棕合影院色色| 99色精品视频| 久99婷婷色综合| 丁香五月婷婷俺也要去| 久久婷婷激情四射五月天| 久久婷婷五月天蜜桃| 大香蕉丁香| 俺去也综合| 婷婷午夜综合| 99热这里只有精品8| 久久伊人日日夜夜| 色婷婷亚洲在线观看| 婷婷五月天网| 五月婷丁香花| 1024成人免费看| 欧美成人网99网| 黄色91在线观看| 久9久9热久热| 成人网站免费sxj| 182tv992tv人之初午夜免费观看| 色婷婷偷拍| 婷婷在线播放av| 欧类av怡春院| 国产性爱一级| 五月激激网w'w'w| 99@久久@99精品视频| www.99热这里精品| 天天做天天视天天谢| 秋霞少妇AV网站| 日日杆天天| 丁香六月婷婷综情欧美| 久草婷婷视频| 人妻少妇色综合| 色狠狠色综合| 天天做天天爱天天爽夜夜揉| 欧美日本99| 另类天堂| 久久婷婷五月天蜜桃| 超碰久热| 五月丁香六月婷婷的女人| 久久久中文| 五月开心啪啪| 丁香 婷婷 激情 综合 五月| 日本色超碰| 777色色色| 婷婷五月天a| 在线中文av| 热热色色五月天婷婷| 99综合自拍| 5月婷婷激情6月| 99精品在线观看视频| av网址在线播放| 成人国产综合| 五月亭亭六月天| 天天搽天天射| 91精品久久久久久综合五月天| 婷婷中文字幕欧美| 99热这里| 丁香五月AV| 激情六月色| 婷婷五月天直播| 欧洲亚洲午夜| 91 九色 入口| 丁香五月婷婷国产在线| 欧美大片| AA片在线观看视频在线播放| 欧美一级色| 色色日本| 79精品视频| 五月婷婷视频| 亚洲精品激情| 五月情涩综合婷婷| 九九无码视屏| 99热色在线精品| 丁香色情五月天| 亚洲精品无码久久| 色婷久九| 97干在线观看视频| 日本视频99| 婷色视频| 超碰不卡在线| 激情五月婷婷视频一区二区三区| 色综合久久8| 综合久久激情久久| www.99色在线| 亚洲AV无码成人电影| 俺去也五月| 色色婷婷五月| 久久久GOGO无码啪啪艺术| 人人干av| 99免费视频| 亚洲精品视频在线| 四川BBB搡BBB爽爽视频| 久热99狠| 婷婷激情综合色五月久久图片| 婷婷丁香六月天激情四射网| 操比激情五月| 天天操天天曰天天射| 五月情涩综合婷婷| 99人人操人人操人人精| 99热这里都是精品| 开心 五月 综合| 深爱激情中文五月天av| 婷婷综合五月天激情| www色婷婷久久综合久色| 亚洲色涩视频| 久色中文| 强伦轩人妻一区二区电影| 婷婷五月天伊人网| 日韩在线视频网站| 五月丁香性爱| 狠狠色丁香五月婷巨| 综合激情五月四射婷婷| 内射丰满人妻| 五月婷婷五月天在线| 激情五月综合网| 九九九九综合| 嫩BBB搡BBBB榛BBBB| 欧美三9久九观看| 亚洲182在线观看| 婷婷成人在线| 婷婷六月丁香激情| 99爱免费视频| 色啪综合| 亚洲成人在线在线| 91丨九色丨白浆| site:hcxsz888.com| 五月婷免费视频久久久| 天天操天天曰| a久久| 久久五月婷天天干| 色婷婷亚洲| 久草久青福利| 色色国产| 农村熟妇高潮精品A片| 婷婷六月香| 91精品国产99久久久久久天美| 婷婷激情五月天天天开心| 日本熟女一区二区| 99亚洲天堂| 亚洲AV影片在线观看| 亚洲成人av在线播放| 七七九色| 中文字幕日本最新乱码视频| 九九大香蕉黄色影院| 丁香女人五月天| 久热网在线视频| 99热免费精品| 久久五月婷婷视频| 青青草婷婷综合五月| 开心婷婷五月| 婷婷婷狠狠| 九九99精品视频| 激情二色月| 日韩久久色| 七月丁香五月婷婷在线| 色优久久| 婷婷色综合| 无码日本精品XXXXXXXXX| 91人碰| 国产日日夜夜操| 九艹在线| 九九热99久久99| 激情六月丁香综合| 操人91| 91精品综合久久久久久五月天| 丁香六月啪啪| 九九99香蕉在线视频播放| 国产成人精品一区二三区熟女在线 | 停停六月 综合| 色婷婷成人影片| 婷婷五月精品中文字幕| 99热免费18| 中文aV网| 丁香五月五月婷婷欧美大香蕉| 99久久精品色老| 国产婷婷五月色情综合| 97人碰人操| 五月天免费色| 色一情一乱一乱一区91Av| 中文字幕丰满人妻无码专区| 色五月激情五月天| 九九成年视频| 丁香六月天堂| 色色色色色九九九九九| 日日操,天天操| 国产毛片欧美毛片久久久| 日本超碰在线| 色色色色色色色色五月先| 91人人妻人人操| 婷婷色欧美激情| 色色网站毛片| 天天日日爽| 婷婷色五月91啪啪| 成人电影丁香六月天| 日韩黄色影院| 五月天激情啪啪| 亚洲精品第一国产综合亚AV | 色色五月天激情| 99九九在线精品热动漫| 91热久久| 久久亚洲婷婷综合色五月| 人人干av| 色亭亭五月天网扯| 久久99人人| 婷婷五月天综合色| 婷婷五月18永久免费网站| 天天天久久人人人合| 婷婷丁香五月天色色| 婷婷精品性视频| 综合久久六月| 97热精品| 亚洲国产精品五月天| 亚洲综合在线视频| 色射婷婷五月天| 999热这里只有美国精品| 99成人免费热视频| 射区导航| 丁香五月在线观看| 五月丁香六月婷婷亚洲| 99热第一页| 综合色五月天| 色五月天天| 99热人人操人人操| 久久久久婷婷| 亚洲五月婷天天操| 狠狠综合久久综合| 婷婷激情欧美| 天色综合网| 天堂中文国产| 丁香5月综合啪啪| 人人操9| 久草狼人| 色色色在线播放| 免费看欧美成人A片无码| 99精在线| 五月婷婷六月丁香| 久久久久9久无码视频| 2025色婷婷| 婷婷久久99| 五月大香蕉| 久久色情| 亚洲天堂aaaa| 五月天天丁香婷婷在线中| 国产日韩精品SUV| 激情欧美丁香五月| 九九热a| 嫩模草| 成人av在线网站| 婷婷,五月天,丁香,第一| 人人综合色| 外国碰视频网站97| 婷婷五月综合视频| 玖热精品综合视频| 亚洲最大视频网站| 色偷偷综合| 色婷婷狠狠干芒果TV| 成人短视频在线| 婷婷五月激情欧美大胆视频| 欧美va在线| 五月网网站| VA色婷婷| www.99热这里精品| 国产精产国品一二三在观看| 97在线刺激| www好屌操| 婷婷六月天天| 九九re视频在线视频| 思思热精品在线视频| 直接看的av| va婷婷在线| 色婷九九九| 天天日天天久久青青| 五月黄色婷婷| 久久丁香综合香蕉| 日本色五月| 久久久精品色| 草逼大片| 婷婷色网站| 26uuu激情五月天| 激情五月五月五月婷婷| 色屌丝中文字幕| 91久女| 日本天天色| 亚洲婷婷激情综合激情999精品| 清色五月天| 五月天色播网| 九热精品| www.henhenl| 97色精品视频 | 大香蕉av在线| 日本天堂免费99| 99久久玖玖| 五月丁香啪啪啪啪| 丁香五月婷婷丫| 九九综合九九| 五月丁香999| 99热天堂| 亚洲人妻电影| 五月天婷婷丁香花| 婷婷综合另类| 六月激情丁香一道本7777| 色图亚洲91| 欧美A级成人婬片免费看理论| 婷婷在线播放| 激情婷婷六月天| 另类激情中文| 99这里| 色丁香五月婷婷| 色五月在线观看| 91五月天| 亚洲激情久久| 国产精品18久久久| 无人区码一码二码三码医生系列| 婷婷五月天基地| 亚洲小电影在线观看黄999| 3p九色在线| BlACKEDRAW视频一区二区| Blackedraw视频一区二区| 2018夜夜草| www九九免费视频| 亚洲中文字幕在线观看| 欧美日韩二区在线| 免费日本aⅴ中文字幕| 亚州成人综合在线| 九九热在线视频观看免费10| 91狠狠综合网| 都市激情久久| 五月天狠狠干| 色欲一二三| 女人天堂AV| 亚洲五月婷| 久久九九热视频| 久草热久草在线视频| 亚洲午夜成人av电影网| 色色色色色综合| 久久久27操| 99这里有精品视频3| 国产99精品免费视频| 伊人久久婷婷五月天激情四射| 天天干天天射综合网| 国产精品五月天婷婷| 久操激情| 激情99| 亚洲AV永久无码影院黑人| 中文字幕丰满人妻无码专区| 五月丁香久久精品在线观看| 亚洲va在线| 婷婷激情小说| 另类天堂| 激情小说 五月天| 日本五月天网站| 丁香桃色网| av网站免费在线| www.久久综合| 日本九九热| 亚洲人人操| 色综合久久久久| 综合网狠狠| 五月激情啪啪| 99久在线精品99re8热| 丁香五月影院| 9 1 A v久久久| 五月丁香六月久久| 六月激情网| 日本三级中国三级99人妇网站| 久久精品五月| www.精品99| 日91高清无玛| 天堂成人A片永久免费网站| 毛v一区二区视频| 丁香综合伊人AV| 婷婷情色五月天| 丁香九月激情在线视频| 玖玖色综合| 日日爽日日| 天天插天天插| 午夜丁香丁香婷婷| 婷婷五月天国产| 怎么样可以看免费的一级av| 成人精品在线| 99乱视频| 亚洲情综合五月天| 亚洲AV网站| 五月天婷婷深深爱| 亚洲欧洲中文日韩久久AV乱码 | 亚洲精品国产成人AV在线| 99riAV成人在线视频| 丁香婷婷免费| 亚洲AV综合网| 亚洲色婷婷五月天| 丁香婷婷中文字幕| 色五月婷婷成人| aa久久| 五月丁香888| 久久婷婷五月丁香| 婷婷丁香五月综合| 这里只有精品免费在线视频| 五月丁香六月婷婷激情网| 狠狠 久久| 天天综合亚洲综合| 亚洲精品V天堂中文字幕| 色婷婷五月天激情| 六月婷婷综合| 婷婷激情五月综合| 综合久久99| 中美日韩成人在线| 六月婷婷激情图片| 丁香五月婷婷大香蕉| 五月激情五月婷婷五月天在线| 久热免费视频| 777丁香六月青青草婷婷综合久月| 久久曰曰| 丁香五月天啪啪| 色五月婷婷av| 亚洲中文字幕av| 97人人操| 99热这里是精品| 久9精品视频| 嫩模aV在线| 91九色中文字幕女在线观看| 草一草avb| 色婷婷亚洲| 欧美A级网站| 国产色色视频| 97人操人免费视频| 99久视频| 久久永久网址| 国产精自产拍久久久久久蜜| 婷婷丁香五月精品| 中文字幕人妻一区二区| 婷婷五月天综合小说网| 久99精品视频| 五夜丁香| 久久er免费视频| 天天爽人人综合免费7799| wwccc久久久| 91九色PORNY肉丝在线| AAAA网站| 久久免费操| 五月婷婷基地| 亚洲 小说 欧美 激情 另类| 99久免费视频| 91干视频| 亚洲色欲欧美一区二区三区| 91性交在线播放| 丁香五月六月综合欧美| 久久大香蕉视频| jiZZdr| 亚洲婷婷月丁香五月| 久热精品9999| 中文字幕综合| 婷婷五月开心中文字幕色| 狠狠婷婷综合| 色综合激情| 激情五月天啪啪| 日韩美女在线视频19| 五月丁香久久网| 五月香蕉婷婷| 综合久久综合综合| 天天干,夜夜爽| 先锋av性爱成人电影| 操逼巨乳91| 婷婷五月色| 五月花在线观看视频| 久久 婷婷 五月天| 色色色com| 日本一级特黄大片AAAAA级| 久久久久综合激动五月天| 久草婷妨| 亚洲五月天激情| 五月丁香六月花| 中文激情网| www.com在线操视频免费观看| AV在线中文| 丁香五月乱中文字幕| 91viP在线看| 亚洲国产黄色电影| 九九热最新视频| 五月婷婷综合在线视频小说| 色五月丁香六月资源站| 五月天婷婷久草丁香| 99热91| 91九色PORNY中文啦| 久久综合中文| 激情五月天在线视频| 99热99在线| 久久久婷丁香五月天激情综合| 2018国产大陆天天弄| 欧日韩成人| 99热在线观看这里只有精品| 开心丁五月| 久七香蕉| 葵花AV在线| 专区无日本视频高清8| 爱射综合| 免费观看欧美成人AA片爱我多深| 五月激情综合五月| 狠狠狠婷婷五月综合| 色婷婷五月影院| 色婷婷aV四虎| 乱精品一区字幕二区| 五月天播播| 99在线视频精品| 天天色噜| 五月天色婷婷网| 开心五月婷| 激情网狠狠干| 色婷婷久久综合久色| 丁香蜜臀黄色婷婷五月天| 狠狠色网| 色综啪啪啪啪啪啪| 丁香五月婷婷综合激情哟哟哟| 五月开心网| 五月婷av| 可以看的av网站| 欧洲综合视频| 精品在线网站| 夜色综合网| 99在线热视频| 桃色激情网| 欧美色色色色色| 午夜婷婷五月天| 99国产这里只有精品| 激情综合五月色在线| 99区视频| 天天做天天干天天综合网| 精品婷婷五| 九九sese| 五月天三级| 五月天色婷婷小说| 亚洲成人免费电影| 日本一级一级一级一级| 日日干夜夜干| 中文字幕丰满孑伦无码专区| 中文字幕按摩做爰| www.金莲av| 色一色综合| 久久综合综合综合| 九九青草热| 五月丁香六月激情综合| 婷婷色婷婷| 欧洲99视频在线| 婷婷五月永远18免费久久久| 色婷婷伦理| 人人噜天天上| 九九婷婷五月天| 婷婷大乡焦噜噜| 五月丁香六月情| 五月激情天| 嫩草AV久久伊人妇女超级A| 久久久久久久91| 东北熟女高潮99综合99| 五月天婷婷AV| 精品思思久久| xx色综合| 五月丁六月香| 五月天婷婷成人网| 丁香六月情| 性做久久久久久久免费看| 中文婷婷狠狠| 色玖玖玖| 激情99热| 激情五月色播五月| 97视频91| 大地资源色婷婷视频在线| 五月婷婷六月激情| 日本操片| 亚洲激情图文小说| 婷婷五月丁香综合激情| 精品成人a v无码内射| 97人人看| 超碰只有精品在线| 9精品视频在线| 久色成人| 精品久久艹| 日日夜夜狠狠| 亚洲亚洲人成综合网络| www.1024久久| 五月天激情四射| 丁香六月爱综合| 任你爽免费视频| 国产看真人毛片爱做A片| 人人叉久| 五月婷婷六月色| 成人做爰黄A片免费看直播室男男| 日本欧美啪啪| 就要爱综合| 日本成人噜噜噜| 网站免费一站二站| 99九精品| 婷婷五月天少妇| 婷婷射丁香| 婷婷亚洲在线| 久久伊人大香蕉| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 五月丁香六月婷婷成人| 婷婷丁香五月天小说| 中文成人在线| 美女婷婷激情亚洲| 久久99这里只有精品| 天天插AV丝袜中| 国产在线aaa片一区二区99| 免费看片操逼| 天天天天做夜夜夜夜做| 人人97碰| 超碰99热在线观看| 91大屁股| 色色色色色色色色综合网| 国产色香蕉精品五夜婷| 精品九九在线观看| 亚洲AV成人在线| 丁香婷婷AV| 翔田千里aV中文字幕| 五月婷婷丁香综合| 色九九九综合| 婷婷亚洲丁香五月| 99久久婷婷| 婷婷五月天亚洲综合| 五月婷婷丁香瑟瑟视频| 天天干天天爽| 99国产小视频2013| 超碰99热精品| 九伊人网| 天天日天天摸| 99re资源在线视频导航| 26UUU在线观看| 色色a| 色色免费网站| 丁香婷婷五月| 色五月丁香五| 五月婷婷欲色| 最近免费中文字幕大全高清大全1| 天天日天天添| 色欲av伊人久久大香线蕉影院| 伊人久久大香线蕉亚洲五月天,| 色婷婷五月天在线| 男妓跪趴把舌头伸进我的嘴巴| 丁香婷婷五月天校园春色| 色婷婷19| 天天肏视频| 香蕉综合网| 久久草中文日韩欧美| 九九99热久久精品66中文字幕| 色综合播放| 久久99精品久久只有精品| 996热re视频在线观看视频| 婷婷五月激情在线| 开心五月婷婷伊人| 中文字幕 久久9999| 新激情五月天| 丁香色五月天| 99国产97在线,| 天天日综合| 新激情综合| 日本操碰碰| 久er免费视频| www.狠狠| 另类国产综合| 久久婷婷一级片| 99热99热在线| 色色色色色五月丁香| 亚洲色夜| 色综合久| 五月丁香色色| 色婷婷狠狠| 午夜69成人做爰视频| 色亚洲婷婷| 亚洲成人综合网在线免费观看| 这里只有精品视频在线| 狼友超碰| 99久久99久久综合| ji'qing'luan'ren'lun| AV网在线观看| 色色免费网站| 久热这里只有精品性色AV| 97干干干丁香| 天天狠狠夜夜狠狠2023| 伊人网啪啪| 成人在线视频网| 天天综合天天玩夜夜玩天天玩夜夜玩 | 丁香五月综合激情性爱| 97人人操人人干| ss视频xx91| Www.狠狠| www九九热| 欧美视频在线观看噜噜| 亚洲AV无码影院| 91日本在线观看| 婷婷免费无视频| 中文字幕97超级碰| 国产av天堂| 丁香五月婷婷激情中文| 九九久久99精品免费观看www| 婷婷五月丁香五月| 婷婷色五月色| 婷婷丁香六月五月天| 无码视频国内精品久久久| 日本天堂爱爱| 六月婷婷私欲| 九伊人网| 久在线88综合| 99热日| site:publishdd.com| 婷婷午夜激情| 疯狂做受XXXX高潮A片| 五月天丁香成人| 天天热夜夜操| 亚洲愉拍99热成人精品| 色激情网| 六月婷婷色综合| 日韩精品无码99| 激情五月天婷婷激情| 青吴乐视频| 婷婷久久网| 4438激情网| 深爱五月天婷综合| 亚洲成人一区| 久久婷婷大香蕉| 天天日夜夜爽| 色在线99| 日本 @ va 免费| 热99国产精品| 激情久久久久久久久久| 99色综合久久| 婷婷爱五月天| 色婷婷天堂| 五月综合六月婷婷| 久热这里只有精品在线观看 | 丁香婷婷激情综合五月激情| 五月天久久激情| 欧美性做爰大片免费看办公室| 久久久91| 五月天播播| 久久av电影| 五月婷俺去也| 激情图片婷婷丁香五月| 国内精品免费一区二区2009| www.99视频| 久99久在线| 激情五月天婷婷| 色色色9| 婷婷丁香五另类网站| 天天操夜夜啊| 成人在线精品| 五月丁香趴趴| 久re在线| 31色区视频免费看| 无遮羞AV| 亚洲妇女熟BBW| 丁香婷婷久久 | 色欲一区二区三区精品A片| 五月丁香六月色| 碰97久久| 丁香五月手机在线| 色噜噜狠狠色综无码久久合欧美 | 天天婷婷综合亚洲亚洲| 噜噜久| 国产精品色色色色| 好好干av| 9999热这里只有精品| 天天爽成人综合网站| 伍月婷婷免费视频| 婷婷五月综合色中文字幕| 91在线日| 可以免费观看的av网址| 性五月激情| av中文在线| 天天日夜夜高潮| 五月丁香婷婷无码A∨| 五月天天天综合| site:picc-up.com| 黄色AV日韩| 狠狠丁香| 五月色综合| 成人无码髙潮喷水A片| 91超级碰碰| 伊人在线视频| 婷婷六月天国产综合| www久久久久久久久久久| 久久久精品免费啪啪国| 亚洲性爱AV| 五月天天综合网色婷婷| www.色色com| 婷婷久久免费| 日本在线99| 欧美内射AA| 十月丁香婷婷| 人人人人人人人草| 丁香五月综合在线视频| 五月天婷婷乱论小说| 综合久久综合久久| 激情五月天色色| 亚洲中文字幕在线观看| 97人碰人操| 亚洲最大视频网站| 日韩成人AV在线播放| 国产日批视频免费播放| 天天插天天草人人玩| 中文字幕色色色| 91.com男女操| 天干夜夜操| 色亭亭影园| 五月99久久| 99这里精品| 婷婷色Av| 超碰色综合| 丁香网站| 久在线综合69| 丁香六月婷婷开心| 天天综合天天玩夜夜玩天天玩夜夜玩| 99热在线观看这里只有精品| 精品爆操| 久久精品一区二区三区四区| 大香蕉婷婷婷| 久久久www| 五月天婷婷黄色| www.黄色片-久久成人国产精品在线播放-999AV| 综合久久综合| 伊人网色婷婷五月天| 日韩人妻在线观看| 91操色| 亚洲综合五月天| 伊人色综合网| 一级韩国产精品毛| 女性自慰系列第五页| 97婷婷五月| 婷婷成人五月天| 97操碰免费视频| 性色人人爽| 五月婷婷之综合激情| 久久五月视频| 99精彩视频在线观看| 色综合色婷婷色伊人| 五月婷婷丁香五月 | 九九热99在线视频| 五月丁香综合网色欲| 综合婷婷都市激情| 超碰成人免费| 六月久久婷婷| 丁香成人色情五月天| 亚洲欧美婷婷五月色综合| 人妻有码乱操| 激情婷婷五月天网址| 五月天综合网| 久久激情网| 五月综合婷婷五月| www.97视频| 丁香五月激情棕合| 欧美操我| 五月婷婷免费视频| 九色91视频| 丁香五月激情啪啪啪| 色婷婷五月基地在线| 五月婷婷五月天| 五月婷性爱| www.婷婷五月天啪啪| 91九九| 92久操视频| 色色色色色色色色色999| 99久久这里只有精品| 色婷婷亚洲在线观看| 亚洲狠狠操| 国产欧美日韩综合精品一区二区| 久久9久| 国产精品五月天婷婷| 日本精品人妻无码77777| 99久久99视频只有精品| 99热都是精品| 亚洲激情五月| 日韩一级片| 91碰碰碰| 五月天开心激情综合网| 亚洲精品无码A片一区二区| 6080av| 熟女人妻一区二区三区免费看| 婷婷综合精品| 99热精品在线观看| 久久久久婷| 五月婷婷五月天| 久色大香蕉| 色欲AV导航| 丁香五月天婷婷大香蕉| a色色色色色| 丁香五月性| 婷婷久久大香蕉| 色五月大香蕉| 大香蕉婷婷丁香| xx久久| 欧美内射AA| 久久HD|