国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

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

VS Code 調(diào)試 STM32 實(shí)戰(zhàn):OpenOCD + Cortex-Debug 替代 Keil

VS Code 調(diào)試 STM32 實(shí)戰(zhàn):OpenOCD + Cortex-Debug 替代 Keil 1. 為什么要在 VS Code 里調(diào)試 STM321.1 從 Keil 到 VS Code 的遷移動(dòng)機(jī)我最早接觸 STM32 開(kāi)發(fā)時(shí)用的是 Keil MDK。那個(gè)年代沒(méi)得選Keil 就是標(biāo)準(zhǔn)答案。但用久了之后有幾個(gè)問(wèn)題越來(lái)越讓人難受編輯器體驗(yàn)停留在十年前代碼補(bǔ)全基本靠猜多文件跳轉(zhuǎn)慢得讓人想砸鍵盤(pán)版本管理更是噩夢(mèng)——.uvprojx文件每次合并都像拆炸彈。后來(lái)我開(kāi)始嘗試在 VS Code 里寫(xiě)代碼、在 Keil 里編譯調(diào)試這種“兩頭跑”的模式雖然能忍但終究不夠優(yōu)雅。真正讓我下決心徹底遷移的是項(xiàng)目規(guī)模變大之后。一個(gè)工程幾十個(gè)源文件Keil 的代碼導(dǎo)航幾乎癱瘓而 VS Code 的 IntelliSense、全局搜索、Git 集成、多光標(biāo)編輯每一樣都是實(shí)打?qū)嵉男侍嵘?。更關(guān)鍵的是VS Code 的調(diào)試體驗(yàn)——變量監(jiān)視、調(diào)用棧、斷點(diǎn)管理、外設(shè)寄存器查看——一旦用順手就再也回不去了。這篇文章要聊的就是怎么在 VS Code 里搭建一套完整的 STM32 調(diào)試環(huán)境。不是那種“能編譯就行”的將就方案而是真正能替代 Keil 調(diào)試器的完整工作流。涉及的工具鏈包括ARM GNU Toolchain、OpenOCD、Cortex-Debug 插件以及 VS Code 本身的配置。適合已經(jīng)有一定 STM32 基礎(chǔ)、想提升開(kāi)發(fā)效率的嵌入式軟件工程師也適合剛?cè)腴T(mén)、想從一開(kāi)始就建立現(xiàn)代開(kāi)發(fā)環(huán)境的新手。1.2 這套方案能解決什么問(wèn)題先說(shuō)清楚這套方案的能力邊界。配好之后你可以在 VS Code 里完成以下操作用arm-none-eabi-gcc編譯整個(gè)工程生成.elf和.bin文件用 OpenOCD 連接 ST-Link 或 J-Link燒錄程序到芯片在 VS Code 里直接下斷點(diǎn)、單步執(zhí)行、查看變量和寄存器通過(guò)launch.json配置多套調(diào)試方案一鍵切換配合 Cortex-Debug 插件實(shí)時(shí)查看外設(shè)寄存器的值用tasks.json把編譯、燒錄、調(diào)試串成一條流水線不能做的事也要說(shuō)清楚這套方案不依賴 Keil 的編譯器所以如果你用的是 Keil 特有的語(yǔ)法擴(kuò)展或者 RTE 組件需要做適配。另外STM32CubeMX 生成的工程默認(rèn)是給 Keil 或 IAR 用的需要手動(dòng)調(diào)整 Makefile 或 CMakeLists。提示如果你現(xiàn)在還在用 Keil 的“Debug模式”查看結(jié)構(gòu)體變量遷移到 VS Code 后會(huì)發(fā)現(xiàn)變量監(jiān)視窗口的體驗(yàn)完全不是一個(gè)級(jí)別——可以展開(kāi)嵌套結(jié)構(gòu)體、可以固定監(jiān)視表達(dá)式、可以在調(diào)試控制臺(tái)里直接調(diào)用函數(shù)。1.3 整體工具鏈選型與理由在動(dòng)手之前先把工具鏈的選型邏輯講清楚。嵌入式調(diào)試的本質(zhì)是IDE 通過(guò)調(diào)試探針與芯片的調(diào)試接口通信控制 CPU 的執(zhí)行流讀寫(xiě)內(nèi)存和寄存器。VS Code 本身不具備這個(gè)能力它需要借助外部工具。我選擇的組合是組件選型作用為什么選它編譯器ARM GNU Toolchain把 C/C 源碼編譯成 ARM 機(jī)器碼免費(fèi)、開(kāi)源、社區(qū)支持好、與 CMake 集成順暢調(diào)試服務(wù)器OpenOCD與 ST-Link/J-Link 通信提供 GDB Server支持芯片多、配置靈活、開(kāi)源調(diào)試客戶端GDB (arm-none-eabi-gdb)發(fā)送調(diào)試命令控制程序執(zhí)行GNU 標(biāo)準(zhǔn)工具與 OpenOCD 配合成熟VS Code 插件Cortex-Debug在 VS Code 里集成 GDB 調(diào)試界面專為 ARM Cortex-M 設(shè)計(jì)支持外設(shè)寄存器查看構(gòu)建系統(tǒng)Make 或 CMake管理編譯流程靈活、可腳本化、適合持續(xù)集成這套組合的核心優(yōu)勢(shì)是解耦編譯器、調(diào)試服務(wù)器、調(diào)試客戶端、IDE 界面各司其職任何一層都可以替換。比如你不想用 OpenOCD可以換成 pyOCD 或 J-Link GDB Server不想用 Make可以換成 CMake 或 Ninja。這種靈活性是 Keil 那種一體化 IDE 給不了的。2. 環(huán)境搭建的完整步驟2.1 安裝 ARM GNU Toolchain 與 OpenOCD第一步是裝編譯器。去 ARM 官網(wǎng)下載ARM GNU Toolchain的 Windows 或 Linux 版本注意選arm-none-eabi那個(gè)不要選成aarch64-none-elf。安裝時(shí)勾選“Add to PATH”這樣在終端里可以直接調(diào)用arm-none-eabi-gcc。裝完后驗(yàn)證一下arm-none-eabi-gcc --version如果輸出了版本號(hào)說(shuō)明安裝成功。我實(shí)測(cè)下來(lái)目前比較穩(wěn)定的版本是 12.3.rel1 和 13.2.rel1太新的版本偶爾會(huì)有鏈接腳本兼容性問(wèn)題。接下來(lái)裝 OpenOCD。Windows 用戶可以去 xPack 的 GitHub Release 頁(yè)面下載預(yù)編譯包解壓后把bin目錄加到 PATH。Linux 用戶直接apt install openocd就行但要注意發(fā)行版自帶的版本可能比較老建議從源碼編譯或者用 xPack 的包。驗(yàn)證 OpenOCDopenocd --version然后測(cè)試一下能不能識(shí)別到 ST-Linkopenocd -f interface/stlink.cfg -f target/stm32f1x.cfg如果輸出里出現(xiàn)Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints之類的信息說(shuō)明連接正常。按CtrlC退出。注意OpenOCD 的target配置文件要根據(jù)你的芯片型號(hào)選。STM32F1 用stm32f1x.cfgF4 用stm32f4x.cfgH7 用stm32h7x.cfg。選錯(cuò)了會(huì)連不上或者行為異常。2.2 VS Code 插件安裝與配置VS Code 本身去官網(wǎng)下載安裝這一步?jīng)]什么好說(shuō)的。裝完后需要安裝幾個(gè)關(guān)鍵插件Cortex-Debug核心調(diào)試插件提供 GDB 集成和外設(shè)寄存器查看C/C提供 IntelliSense 和代碼導(dǎo)航Makefile Tools或CMake Tools根據(jù)你的構(gòu)建系統(tǒng)選ARM Assembly如果需要看匯編代碼這個(gè)插件提供語(yǔ)法高亮Cortex-Debug 的配置是重點(diǎn)。安裝后在 VS Code 的設(shè)置里搜索cortex-debug需要配置幾個(gè)關(guān)鍵項(xiàng){ cortex-debug.armToolchainPath: C:/Program Files (x86)/Arm GNU Toolchain arm-none-eabi/12.3 rel1/bin, cortex-debug.openocdPath: C:/OpenOCD/bin/openocd.exe, cortex-debug.gdbPath: C:/Program Files (x86)/Arm GNU Toolchain arm-none-eabi/12.3 rel1/bin/arm-none-eabi-gdb.exe }路徑要根據(jù)你的實(shí)際安裝位置改。Linux 下通常是/usr/bin/arm-none-eabi-gdb和/usr/bin/openocd。2.3 工程目錄結(jié)構(gòu)與 Makefile 編寫(xiě)VS Code 不像 Keil 那樣有固定的工程結(jié)構(gòu)你需要自己組織目錄。我習(xí)慣用這樣的結(jié)構(gòu)project/ ├── .vscode/ │ ├── launch.json │ ├── tasks.json │ └── settings.json ├── Core/ │ ├── Inc/ │ └── Src/ ├── Drivers/ │ ├── CMSIS/ │ └── STM32F1xx_HAL_Driver/ ├── Startup/ │ └── startup_stm32f103xb.s ├── Linker/ │ └── STM32F103C8Tx_FLASH.ld ├── Makefile └── build/Makefile 是編譯的核心。我寫(xiě)一個(gè)最簡(jiǎn)版本你可以根據(jù)工程實(shí)際情況擴(kuò)展TARGET firmware BUILD_DIR build CC arm-none-eabi-gcc AS arm-none-eabi-gcc -x assembler-with-cpp CP arm-none-eabi-objcopy SZ arm-none-eabi-size CPU -mcpucortex-m3 FPU MCU $(CPU) -mthumb $(FPU) C_SOURCES $(wildcard Core/Src/*.c) $(wildcard Drivers/STM32F1xx_HAL_Driver/Src/*.c) ASM_SOURCES Startup/startup_stm32f103xb.s C_INCLUDES -ICore/Inc -IDrivers/STM32F1xx_HAL_Driver/Inc -IDrivers/CMSIS/Include -IDrivers/CMSIS/Device/ST/STM32F1xx/Include CFLAGS $(MCU) $(C_INCLUDES) -Og -g3 -gdwarf-2 -Wall -fdata-sections -ffunction-sections LDFLAGS $(MCU) -TLinker/STM32F103C8Tx_FLASH.ld -Wl,--gc-sections -Wl,-Map$(BUILD_DIR)/$(TARGET).map OBJECTS $(addprefix $(BUILD_DIR)/,$(notdir $(C_SOURCES:.c.o))) vpath %.c $(sort $(dir $(C_SOURCES))) OBJECTS $(addprefix $(BUILD_DIR)/,$(notdir $(ASM_SOURCES:.s.o))) vpath %.s $(sort $(dir $(ASM_SOURCES))) all: $(BUILD_DIR)/$(TARGET).elf $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).bin $(BUILD_DIR)/%.o: %.c Makefile | $(BUILD_DIR) $(CC) -c $(CFLAGS) -Wa,-a,-ad,-alms$(BUILD_DIR)/$(notdir $(:.c.lst)) $ -o $ $(BUILD_DIR)/%.o: %.s Makefile | $(BUILD_DIR) $(AS) -c $(CFLAGS) $ -o $ $(BUILD_DIR)/$(TARGET).elf: $(OBJECTS) Makefile $(CC) $(OBJECTS) $(LDFLAGS) -o $ $(SZ) $ $(BUILD_DIR)/%.hex: $(BUILD_DIR)/%.elf | $(BUILD_DIR) $(CP) -O ihex $ $ $(BUILD_DIR)/%.bin: $(BUILD_DIR)/%.elf | $(BUILD_DIR) $(CP) -O binary -S $ $ $(BUILD_DIR): mkdir $ clean: -rm -fR $(BUILD_DIR)這個(gè) Makefile 的關(guān)鍵點(diǎn)在于-Og -g3 -gdwarf-2這三個(gè)編譯選項(xiàng)。-Og是優(yōu)化等級(jí)比-O0稍好又不會(huì)像-O2那樣把變量?jī)?yōu)化掉導(dǎo)致調(diào)試?yán)щy。-g3生成最詳細(xì)的調(diào)試信息包括宏定義。-gdwarf-2指定調(diào)試信息格式Cortex-Debug 對(duì) DWARF 2 的支持最穩(wěn)定。實(shí)操心得如果你發(fā)現(xiàn)調(diào)試時(shí)某些變量顯示為optimized out八成是優(yōu)化等級(jí)太高。把-Og改成-O0試試。但-O0生成的代碼體積會(huì)大不少Flash 小的芯片要權(quán)衡。2.4 launch.json 與 tasks.json 配置詳解launch.json是調(diào)試配置的核心。下面是一個(gè)針對(duì) STM32F103 ST-Link 的完整配置{ version: 0.2.0, configurations: [ { name: Debug (OpenOCD), type: cortex-debug, request: launch, servertype: openocd, cwd: ${workspaceFolder}, executable: ${workspaceFolder}/build/firmware.elf, device: STM32F103C8, configFiles: [ interface/stlink.cfg, target/stm32f1x.cfg ], svdFile: ${workspaceFolder}/STM32F103.svd, runToEntryPoint: main, preLaunchTask: build, showDevDebugOutput: none, armToolchainPath: C:/Program Files (x86)/Arm GNU Toolchain arm-none-eabi/12.3 rel1/bin, openocdPath: C:/OpenOCD/bin/openocd.exe, gdbPath: C:/Program Files (x86)/Arm GNU Toolchain arm-none-eabi/12.3 rel1/bin/arm-none-eabi-gdb.exe } ] }幾個(gè)關(guān)鍵字段解釋一下executable指向編譯生成的.elf文件GDB 從這里讀取符號(hào)信息device芯片型號(hào)Cortex-Debug 用它來(lái)匹配 SVD 文件svdFileSVD 文件路徑這是查看外設(shè)寄存器的關(guān)鍵。SVD 文件可以從 ST 官網(wǎng)下載或者從 Keil 的芯片包里提取runToEntryPoint啟動(dòng)后自動(dòng)運(yùn)行到main函數(shù)省得手動(dòng)下斷點(diǎn)preLaunchTask調(diào)試前自動(dòng)執(zhí)行的任務(wù)這里指向buildtasks.json定義構(gòu)建任務(wù){(diào) version: 2.0.0, tasks: [ { label: build, type: shell, command: make, args: [-j4], group: { kind: build, isDefault: true }, problemMatcher: [$gcc], detail: 編譯整個(gè)工程 }, { label: flash, type: shell, command: openocd, args: [ -f, interface/stlink.cfg, -f, target/stm32f1x.cfg, -c, program build/firmware.elf verify reset exit ], dependsOn: [build], detail: 燒錄程序到芯片 } ] }-j4表示用 4 個(gè)線程并行編譯根據(jù)你的 CPU 核心數(shù)調(diào)整。problemMatcher設(shè)為$gcc后編譯錯(cuò)誤會(huì)直接顯示在 VS Code 的問(wèn)題面板里點(diǎn)擊就能跳轉(zhuǎn)到對(duì)應(yīng)代碼行。3. 調(diào)試實(shí)操與核心技巧3.1 斷點(diǎn)、單步與變量監(jiān)視的實(shí)戰(zhàn)操作配置好之后按F5啟動(dòng)調(diào)試。Cortex-Debug 會(huì)自動(dòng)啟動(dòng) OpenOCD、連接 GDB、燒錄程序、運(yùn)行到main函數(shù)。整個(gè)過(guò)程大概兩三秒比 Keil 的調(diào)試啟動(dòng)速度快不少。斷點(diǎn)的使用和 Keil 類似在行號(hào)左側(cè)點(diǎn)擊即可。但 VS Code 的斷點(diǎn)管理更強(qiáng)可以在斷點(diǎn)面板里給斷點(diǎn)加條件、加命中次數(shù)、加日志消息。比如你想在某個(gè)循環(huán)執(zhí)行到第 100 次時(shí)停下來(lái)右鍵斷點(diǎn)選“編輯斷點(diǎn)”輸入條件i 100就行。變量監(jiān)視窗口是重點(diǎn)。Keil 的變量窗口只能看基本類型結(jié)構(gòu)體要展開(kāi)好幾層。VS Code 的監(jiān)視窗口支持展開(kāi)任意深度的嵌套結(jié)構(gòu)體固定監(jiān)視表達(dá)式比如huart1在調(diào)試控制臺(tái)里直接調(diào)用函數(shù)比如HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0)查看數(shù)組的任意區(qū)間比如buffer[10..20]我實(shí)測(cè)下來(lái)查看 STM32 HAL 庫(kù)里的UART_HandleTypeDef結(jié)構(gòu)體時(shí)VS Code 能直接展開(kāi)到Instance-SR寄存器級(jí)別比 Keil 直觀得多。提示如果變量顯示為optimized out除了降低優(yōu)化等級(jí)還可以在launch.json里加gdbTarget: localhost:3333并配合-O0編譯。另外把變量聲明為volatile也能防止被優(yōu)化掉。3.2 外設(shè)寄存器查看與 SVD 文件配置SVDSystem View Description文件是 Cortex-Debug 的殺手锏。它用 XML 描述了芯片所有外設(shè)寄存器的地址、位域、讀寫(xiě)權(quán)限。配置好之后調(diào)試時(shí)可以在“XPERIPHERALS”面板里實(shí)時(shí)查看和修改寄存器值。SVD 文件從哪來(lái)三個(gè)途徑ST 官網(wǎng)的芯片頁(yè)面在“Design Resources”里找 SVD 文件Keil 的芯片包安裝目錄通常在Keil_v5/ARM/PACK/Keil/STM32F1xx_DFP/x.x.x/CMSIS/SVD/GitHub 上的cmsis-svd倉(cāng)庫(kù)有社區(qū)維護(hù)的版本拿到 SVD 文件后在launch.json里用svdFile字段指向它。調(diào)試啟動(dòng)后VS Code 底部會(huì)出現(xiàn)“XPERIPHERALS”面板展開(kāi)就能看到 GPIOA、USART1、TIM2 等外設(shè)的寄存器。這個(gè)功能在調(diào)試 GPIO 時(shí)特別有用。比如你配置了 PA0 為輸出但 LED 不亮可以直接在寄存器面板里看GPIOA-ODR的 bit0 是不是 1。如果不是說(shuō)明代碼沒(méi)執(zhí)行到如果是 1 但燈不亮說(shuō)明硬件有問(wèn)題。這種排查效率比打印日志高得多。3.3 串口調(diào)試與日志輸出配合調(diào)試嵌入式程序串口打印是少不了的。VS Code 里可以用Serial Monitor插件或者直接用screen/minicom。我習(xí)慣在tasks.json里加一個(gè)任務(wù)調(diào)試時(shí)自動(dòng)打開(kāi)串口{ label: serial, type: shell, command: python, args: [-m, serial.tools.miniterm, COM3, 115200], problemMatcher: [] }更高級(jí)的玩法是把串口輸出和 GDB 調(diào)試結(jié)合起來(lái)。Cortex-Debug 支持rttConfig可以用 SEGGER RTT 代替串口速度更快還不占用 UART 外設(shè)。配置如下rttConfig: { enabled: true, address: auto, decoders: [ { port: 0, type: console, label: RTT Channel 0 } ] }RTT 需要在代碼里集成 SEGGER 的 RTT 庫(kù)然后在需要打印的地方調(diào)用SEGGER_RTT_printf(0, value %d\n, value)。輸出會(huì)直接顯示在 VS Code 的調(diào)試控制臺(tái)里和 GDB 的輸出混在一起非常方便。注意RTT 的address設(shè)為auto時(shí)Cortex-Debug 會(huì)自動(dòng)搜索 RTT 控制塊。如果搜不到可以手動(dòng)指定地址通常在 RAM 的末尾區(qū)域。3.4 多工程與多目標(biāo)調(diào)試配置實(shí)際項(xiàng)目中經(jīng)常需要在多個(gè)工程之間切換或者同一個(gè)工程有多個(gè)構(gòu)建目標(biāo)比如 Bootloader 和 Application。VS Code 的launch.json支持配置多個(gè)調(diào)試方案在調(diào)試面板的下拉菜單里切換。比如一個(gè) STM32 項(xiàng)目有 Boot 和 App 兩個(gè)目標(biāo){ configurations: [ { name: Debug Bootloader, type: cortex-debug, request: launch, executable: ${workspaceFolder}/boot/build/boot.elf, device: STM32F103C8, configFiles: [interface/stlink.cfg, target/stm32f1x.cfg], svdFile: ${workspaceFolder}/STM32F103.svd }, { name: Debug Application, type: cortex-debug, request: launch, executable: ${workspaceFolder}/app/build/app.elf, device: STM32F103C8, configFiles: [interface/stlink.cfg, target/stm32f1x.cfg], svdFile: ${workspaceFolder}/STM32F103.svd } ] }調(diào)試 App 時(shí)需要先燒錄 Boot再燒錄 App然后附加到 App 的地址??梢栽趌aunch.json里加preLaunchTask: flash-boot來(lái)自動(dòng)化這個(gè)過(guò)程。4. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄4.1 OpenOCD 連接失敗的五種典型情況調(diào)試環(huán)境搭不起來(lái)十有八九是 OpenOCD 連不上。我把踩過(guò)的坑整理成一張速查表現(xiàn)象可能原因解決方法Error: open failedST-Link 驅(qū)動(dòng)沒(méi)裝好裝 ST-Link 官方驅(qū)動(dòng)或換 USB 口Error: init mode failed芯片被讀保護(hù)或休眠用 ST-Link Utility 解除讀保護(hù)或按住復(fù)位鍵再連接Error: target not examined yet配置文件選錯(cuò)確認(rèn)target/stm32f1x.cfg和芯片型號(hào)匹配Error: timed out while waiting for target halted芯片跑飛或時(shí)鐘配置錯(cuò)誤在 OpenOCD 配置里加reset_config srst_onlyError: JTAG scan chain interrogation failedSWD 引腳被復(fù)用檢查代碼里有沒(méi)有把 PA13/PA14 配成普通 GPIO最坑的是最后一種。我有一次調(diào)一個(gè)項(xiàng)目OpenOCD 死活連不上換了三根線、兩個(gè) ST-Link 都不行。最后發(fā)現(xiàn)是代碼里把 SWD 引腳復(fù)用成了普通 IO芯片一上電就執(zhí)行了那段代碼導(dǎo)致調(diào)試接口失效。解決辦法是在main函數(shù)開(kāi)頭加延時(shí)或者用__HAL_RCC_GPIOA_CLK_ENABLE()之前先確保 SWD 引腳沒(méi)被改。實(shí)操心得如果芯片已經(jīng)被“鎖死”可以嘗試按住復(fù)位鍵點(diǎn)擊調(diào)試啟動(dòng)等 OpenOCD 開(kāi)始連接時(shí)松開(kāi)復(fù)位鍵。這樣芯片會(huì)在復(fù)位后短暫停留在初始狀態(tài)給調(diào)試器一個(gè)連接窗口。4.2 變量顯示異常與優(yōu)化等級(jí)的關(guān)系調(diào)試時(shí)變量顯示為optimized out或者值不對(duì)是新手最常遇到的問(wèn)題。根本原因是編譯器優(yōu)化把變量存到了寄存器里或者直接消除了。解決辦法分三層第一層把編譯選項(xiàng)改成-O0 -g3。這是最直接的辦法但代碼體積會(huì)增大 30% 到 50%Flash 小的芯片可能放不下。第二層給關(guān)鍵變量加volatile關(guān)鍵字。volatile告訴編譯器“這個(gè)變量可能被外部修改不要優(yōu)化它”。比如volatile uint32_t counter 0;第三層用__attribute__((used))強(qiáng)制保留變量__attribute__((used)) static uint32_t debug_buffer[16];我一般先用-Og編譯如果發(fā)現(xiàn)某個(gè)變量看不到再單獨(dú)給它加volatile。這樣兼顧了代碼體積和調(diào)試體驗(yàn)。4.3 斷點(diǎn)不生效與 Flash 斷點(diǎn)數(shù)量限制STM32 的硬件斷點(diǎn)數(shù)量有限Cortex-M3/M4 通常只有 6 個(gè)M0 只有 4 個(gè)。如果你下了超過(guò)這個(gè)數(shù)量的斷點(diǎn)多出來(lái)的斷點(diǎn)會(huì)變成“軟件斷點(diǎn)”需要修改 Flash 內(nèi)容可能導(dǎo)致程序行為異常。Cortex-Debug 會(huì)在調(diào)試控制臺(tái)里提示斷點(diǎn)類型。如果看到Warning: Cannot insert breakpoint之類的信息說(shuō)明硬件斷點(diǎn)用完了。解決辦法減少同時(shí)生效的斷點(diǎn)數(shù)量用條件斷點(diǎn)代替多個(gè)普通斷點(diǎn)把斷點(diǎn)下在 RAM 函數(shù)里RAM 斷點(diǎn)不占用硬件斷點(diǎn)資源用watchpoint代替斷點(diǎn)監(jiān)視變量變化而不是代碼位置另外Flash 斷點(diǎn)在每次修改代碼后需要重新燒錄才能生效。如果你改了代碼但沒(méi)重新編譯燒錄斷點(diǎn)位置可能對(duì)不上。養(yǎng)成習(xí)慣改完代碼先CtrlShiftB編譯再F5調(diào)試。4.4 調(diào)試速度慢與 GDB 配置調(diào)優(yōu)有些同學(xué)反映 VS Code 調(diào)試比 Keil 慢單步執(zhí)行要等一兩秒。這通常是 GDB 的配置問(wèn)題。可以在launch.json里加幾個(gè)優(yōu)化項(xiàng)gdbTarget: localhost:3333, showDevDebugOutput: none, breakAfterReset: false, runToEntryPoint: main, preLaunchTask: buildshowDevDebugOutput設(shè)為none可以關(guān)閉 GDB 的詳細(xì)日志輸出減少界面刷新開(kāi)銷。breakAfterReset設(shè)為false避免復(fù)位后自動(dòng)暫停。還有一個(gè)隱藏的性能殺手是 SVD 文件太大。有些廠商的 SVD 文件包含了幾百個(gè)外設(shè)定義Cortex-Debug 每次刷新都要解析一遍。如果覺(jué)得卡可以手動(dòng)裁剪 SVD 文件只保留你實(shí)際用到的外設(shè)。我實(shí)測(cè)下來(lái)優(yōu)化后的調(diào)試啟動(dòng)時(shí)間在 2 秒左右單步執(zhí)行延遲在 200 毫秒以內(nèi)和 Keil 的體驗(yàn)基本持平。如果還是慢檢查一下 USB 線是不是接在了 USB Hub 上直連主板 USB 口會(huì)快很多。4.5 從 Keil 遷移時(shí)的兼容性問(wèn)題最后聊聊從 Keil 遷移過(guò)來(lái)時(shí)容易踩的坑。第一個(gè)坑是__weak函數(shù)。Keil 和 GCC 對(duì)__weak的支持方式不同。GCC 用__attribute__((weak))Keil 用__weak。STM32 HAL 庫(kù)里已經(jīng)做了兼容處理但你自己寫(xiě)的代碼要注意。第二個(gè)坑是內(nèi)聯(lián)匯編語(yǔ)法。Keil 用__asm關(guān)鍵字GCC 用asm volatile。如果工程里有大量?jī)?nèi)聯(lián)匯編遷移工作量不小。第三個(gè)坑是鏈接腳本。Keil 用.sct分散加載文件GCC 用.ld鏈接腳本。STM32CubeMX 生成的工程里兩個(gè)都有但內(nèi)容需要對(duì)應(yīng)。如果你改了內(nèi)存布局兩邊都要改。第四個(gè)坑是中斷向量表。Keil 的啟動(dòng)文件是.s格式GCC 也是.s但語(yǔ)法有差異。建議直接用 STM32CubeMX 生成的 GCC 版本啟動(dòng)文件不要手動(dòng)改 Keil 的。遷移完成后你會(huì)發(fā)現(xiàn) VS Code 的調(diào)試體驗(yàn)確實(shí)比 Keil 好一個(gè)檔次。特別是變量監(jiān)視和外設(shè)寄存器查看一旦用習(xí)慣就回不去了。我現(xiàn)在手頭的 STM32 項(xiàng)目全部遷移到了 VS CodeKeil 只留著打開(kāi)老工程用。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产精品日本无码A片| 性爱久久| 91无码人妻精品一区二区三区蜜桃| 人人妻人射| 99综合自拍| 麻豆啪啪啪视频| 97欧美在线| 91亚·色| 日韩图区 偷拍| 狠狠色婷婷777| 日韩亚洲精品一区二区| 中文字幕,人妻,日韩| 人妻激情另类| 久久色人体| 欧美国产有色电影| 国产视频三区四区| 免费簧片在线观看| 国产精品人妻无码久久久互動交流| 亚洲欧洲小说图片视频| 啊啊啊好爽快点啊啊啊嗯嗯| 3d成人精品一区二区| 久艹日日日| 99re99在线视频| 久久综合av| 97超碰亚洲| 91高跟美女在线播放| 欧美伦乱爱| 日本道久久综合色色| aaa亚无码专区| 99re28在线观看| 亚洲在钱| 97在线日韩中文字幕| 伊人国产视频| 丰满精品人妻少妇久久字幕| 超碰97玖玖爱| 欧美亚洲高清不卡| 十八禁电影伊人网| 女上位精品在线| 91 国产丝袜在线播放-百度| 丝袜色综合| 亚洲色情在线影视| 精品视频一区二区| 亚洲综合有码| 日韩成人性日韩成人性爱视频在线免费观看| 99久久综合| 久日91在线| 少妇极品熟妇人妻无码| 色天堂综合| 九九久久国产精品| 国产自啪精品视频网站黑丝| 亚洲牲交| 99这里只有精品国产| 欧美精品二区视频在线| 国产懂色精品国产av| 一区二区激情国产熟女| B049AV在线播放| 天天干18禁| 秋霞一级A片黄色视频| 亚洲欧美日韩综合在线尤物 | 亚洲精品日日夜夜52| 九九毛片这里只有精品| yiqicaoav| 日韩欧洲操屄视频| 欧美日韩国第一区| 北京美女一区二区| 天天干天天操天天操夜夜操天天操| 亚洲欧美另类激情小说| 六月丁香网| 欧美 牲| 亚洲狠狠入| 人妻少妇精品| 69一区二区三区| 男男H黄动漫啪啪无遮挡网站| 久久久噜噜噜久久久| 免费超碰97在线观看| 91视频伊人| 国产热av| 天美传媒精品一区二区| 天天色播亚洲综合网站| 久9视频| 无码91| 97 国产一区| 天天草AV| 亚洲无码国产精品久久| 热天堂一区二区| 天天综合青苹果| 五月天婷婷在线看| 欧美性爱第一区| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 日韩一级二级| 欧美色图电影| 伊人黄色视频免费观看| 97超碰人操| 天天综合亚洲综合| 人人透人人操| 久久AV无码网址| 丰满人妻一区二区三区大胸懂色| 男人天堂.AB| 91丝袜人妻| 人人模人人看| 五月婷婷基地| 日韩本不卡视频在线观看| 搞中出久久| 亚洲宅男天堂| 天天干天天操天天操夜夜操天天操| 日日操免费视频| 欧美日韩国产男人| 国产黄片在线免费观看| 久操视频免费观看| 国产三级日产三级韩国三级| 狠狠色五月亚洲91| 9九九九九视频在线观看| 亚洲熟女一区二区| 91丨熟女丨丰满熟女| 亚洲情色图片区| 秋霞免费无码视频日韩A片| 综合网~91综合网| 自拍偷拍 日韩无码| 大香蕉色网| 国产精品操| 欧美日韩 强奸乱伦| 新精精品久久精品| 中文字幕 国产区| 欧美日韩人妻精品一区二区三区 | 色色网91| 久久天堂网| 亚洲国产精品无码AV在线| 亚洲色图综合网| 乱伦熟女区| 欧美天天干| 欧美激情片一区二区| 精品一区二区综合熟妇| 久久国产精品一区二区| 日韩在线97| 精品国产乱码久久久久久久| 欧洲亚洲人人爽爽视频| 国产深夜福利| 久久久一区二区三区三州| 久草电影网| 精品亚洲国产成人AV制服丝袜| 青青草综合在线| 91亚·色| 五月天婷精品激情| 思思热免费视频观看| 9长久久精品| 久久久国产精品人妻丝袜| 天天日天天爽| 激情久久久| a在线观看| 欧美一区二区三区日韩| 久久99人妖视频国产| 熟妇精品juliaannAV| 日本精品一区三区| 97精品国产97久久久久久| 国产剧情一区在线观看| 欧美成人9797| 国产美女激情| 91欧美情色| 婷婷10月天青娱乐| 大二网站亚洲| 操逼网站视频漫画国产| 久久丁香五月天| 大香蕉免费中文| 超碰九色| 少妇69中文| 日韩二区三四区五区六区在线看| 一区二区三区一亚洲中文字幕、综合区灬 | 五月丁香色综合| Julia在线播放亚洲久久| 欧美另类色图片| 大乔未久88一区| 黑人精品欧美一区二区蜜桃| 久久精品久| 日操粉逼逼| 91 手机在线播放 绯色| 另类专区加勒比| 亚州欧美色图| 天天天天天天天天天天干美女| 五月天婷婷小说| 99色婷婷中文字幕乱色| 伊人操| 蜜乳AV免费观看| 九九热精品在线| 亚洲AV不卡在线观看尤物| 亚洲欧美日韩国产丝袜自拍中文| 毛片久久| 九九热免费国产视频婷婷伊人五月| 欧洲一区二区三区免费| 翔田千里AV无码秘 三区| 欧美日韩在线国产在线| 日韩超碰精品综合| 91亚洲最新在线| 国产高清26uuu| 欧美色图私拍91| 国产精品福利视频| 久久久精品日本一道| 九九九九免费视频| 久久av成人无码免费| 97超碰热线| 欧美视频一| 99国内精品| 精品视频久久| 视频二区美腿丝袜制服人妻欧美| 亚洲 欧美 日本 国内 首页| 黄网在线播放| 九九九九九九九九九国产精品 | 精品国产一区二区三区四区在线看 | 激情文学网伊人| 密臀视频三区免费网站| 久久久久久大| 成人麻豆av电影网站| 九一屌逼| 操逼视频免费日韩无码| 91久久久久| 欧美丰满熟妇XXXX性ppX人交| 操逼免费视频无码国产| 国产午夜激片Av毛片不卡| 97精品网| 色九九九九久| 日逼97| 日韩无码一区二区三区| 不卡在线观看视频| 久久久久久久免费A片国产成a人亚洲精∨品无码| 久久久555| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 色网站导航大全| 国产原创自拍| 免费精品人妻一区二区三| 久久久久久久久成人av解说| 日本九九九九| 嗯~啊~快点 死我视频| 成人夜夜| 欧美色欧美| 国产精品美女视频诱惑| 91美女国产在线| 欧美视频第二页| 人妻出轨一区二区三区| 99re公开精品免费视频| 国产精品人妻无码久久久老鸭窝 | blacked精品一区国产| 婷婷色综合欧美日韩| 日逼97| 91综合天天看| 天天插天天射| 青娱乐二区免费| 亚洲老熟妇xxx| 美女91在线观看| 脫衣舞一区二区三区| 91丨人妻丨国产丨丝袜| 久艹免费| 国产精品成人午夜福利| 91男人综合| 少好三P| 久婷婷一区| 亚洲最大的黄色电影网站。| 91丝袜美女| 天堂精品在线| 吉川爱美98堂在线| 一区| 亚洲女优有码无码高清| 骚鸭AV| 91 偷| 嗯嗯啊啊好爽| 亚洲电影中字一区二区| 日本免费人成视频播放120秒| 久久久久久精| 午夜超爽| 五月婷婷丁香中文字幕| 亚洲啪啪性视频| 日本综合久久| 丁香五月天婷婷姐| 日韩情色AV| 91女优在线观看| 日本高清一本二本免费不卡| 少妇无码999| 成人羞羞视频国产| 26uuu性物| 婷色五月| 欧洲精品一区二区三区| 国产精品色哟哟| 97这里只精品| 91视频女生| 国产精品操| 波多野42部无码喷潮在线观看| 青草成人免费视频一com| 欧美黄色大片在线观看| 丁香六月综合激情| 久日91在线| 精品国产乱子伦一区二区三区,精品一| 超碰免费97| 日本操BAV| 91在线色| 欧差乱伦二三| 女人爽到高潮久久久| 家庭乱伦麻豆| 无码免费在线观看黄色片| 福利操逼| 懂色aV一区二区天美传媒| 色哟哟AⅤ| 日韩一区二区精品视频| 97久久精品国产| 久操国产在线| 91丨九色丨43老版熟女| 欧美91久久久久| 性爱视频免费网址| 第四色色综合91| 九九久久玖玖| 九九久久久久久爱| 欧美成年人性爱视频免费观看| 免费啪啪啪网站18岁| 亚洲欧美日韩国产丝袜自拍中文| 国产精品探花色| 青青操在线亚洲视频观看欧美在线 | 人人澡综合涩| 亚洲欧洲日本精品中文a∨| 久久国产三区| 翔田千里AⅤHD无码| 五月黑AⅤ| 亚洲 暴爽 AV人人爽日日碰| 国产高清1234区| 久久精品国产亚洲AV清纯| 99999精品成人| 国产综合日韩伦理| 干B| 日韩av不卡在线观看| 91激情国产| 成人情色一区二区| 色哟哟 日韩精品| 欧美久久婷婷| 超碰久久网| 五月丁香| 亚洲一区操| 新91视频.cmp| 天天干天天日天天射黄色片| 先锋激情∨在线视频播放| 九九自拍伦理| 呻吟 欧美 日本 中出| 亚洲婷婷综合网| 亚洲熟女综合| 我想要 啊 啊 啊| 日韩亚洲欧美中文字幕| 凸凹视频在线观看| 久久久久久人妻| 色图综合网| 久久在线观看免费视频| 国产精品分类在线观看| 无套内射人妻在线播放| 色人久久| 欧美97日韩精品| 欧亚韩国999| 性色aV一区二区三区噜噜| yaouchengrenav| 丁香色狠狠色综合久久小说| www九九热| 97中文综合| 韩国一级婬片A片AAAAA| 亚洲另类色综合网站| 亚洲丝袜B诱惑| 国产熟女免费观看久久| 国产乱不卡| 久久久久久久综合,国产| 草莓精品视频在线免费观看| 97丝袜亚洲在线播放| 宅男91视频在线播放| 思思热国产在线视频| 国产97在线 | 亚洲| 嫩草 人人网精品| 国产精品一区二区亚洲人成毛片| 一本大道久| 亚洲AV免费在线观看| 久操视频资源站公开| 99在线精品视频| 久久人妇| 超碰 av 女人天堂| 精品欧美А∨无码黑人大荫蒂| 淫淫综合网| 嗯嗯,好大,好爽,好骚| 91插B网站| 青娱乐二区免费| 精品人妻美妇91job| 日产国产精品中文久久婷婷| av2014 日韩在线中文字幕| 久久透逼视频| 99re这里只有精品中心播放| 天天干夜夜操一区二区| 日韩激情毛片一级久久久| 99热9| 偷拍 亚洲| 春色91| 1禁看欧美黄片免费看| 97看操| 日韩无码人妻| 无套内射性感少妇视频| 亚洲情色图片区| 狠狠操狠狠操操| 日本天天吊| 青青草原av| 性色av大全| 中文字幕精品丝袜| 少妇综合网| 丁香六月综合激情| 日韩一级二级三级| www.超碰| 超碰九7| 人人人人人人少妇| 午夜精品久久久久久久久久久久久 | 日本熟妇熟色97一本在线观看| 国产97av| 青青草在线成人视频| 亚洲AV无码翔田千里网站| 91欧美网| 肉丝无码中文高清| 99啪| 91精品伊人久久久大香线蕉91| 91天天综合网,天天综合网| 加勒比综合网| 九九玖玖精品| 成人性爱av.com| 97国产精品在线观看| 色色福利| 91精品人妻| 九九热精彩视频| 少妇二级| 97在线欧| 国产小u女在线观看| 人人综合| 国产女人与拘做受视频免费| 啊啊啊啊啊啊啊啊啊啊在线观看| 中国一区二区亚洲人妻| 色777999综合| 色av中文字| 麻豆天美91| 有码免费观看| 无码WWW免费视频网站| 少妇色综合| 色97干| 中文字幕奈奈美被公侵犯| 人妻一区二区三区四区视频| 97天天在线| 亚洲欧美九九| 天天日B夜夜干B时时操B| 国产9 9在线 | 亚洲| 天天上日日上日韩精品| 爱av免费| 国产熟女无套内射| 777AV电影| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 毛片一区二区| 欧美96精品在线| 老鸭窝成人免费毛片视频| 亚洲第一页色网| 天天综合网~91| 日韩精品午夜操呦呦不卡影院| 伊人久日| 美女一区二区国产精品| 福利社区午夜一区二区| 10000部十八禁看电影| 五月天开心网| hd成人一区二区在线| 四虎AV影视国产精品亚洲精品| 无码又爽又硬又激情免费视频| 婷婷六月色| 久久性视频| 五月丁香色色网| 五月天伊人| www.狠狠干.coom| 青娱乐大香蕉| 97激情97激情| 亚洲综合 欧美| 久久后入制服| 久久精品国产亚洲妲己影视| 免费福利视频中文字幕| 97超碰人妻| 神马久久中文字幕| 啊嗯嗯啊好大好爽| 91女日逼| 精品成人无码| 美女诱惑一区| 久久亚洲一区女同性恋中文字幕| 99re只有精品| 久热色情精品| 天天插天天干| 4399成人黄A片| 日韩操逼HD| 亚洲欧美首页| 少妇天堂| 欧美黑人与女人91| 久久97视频| 台湾佬中文娱乐网久久久久久久久久com | 五月丁香综合激情| 欧美专区日本专区| 亚洲成人一区二区精品| 狠狠中文字幕| 国产在线视频二区| 亚洲欧美国产中文视频| 久久国产AⅤ| 久久六六| 日本欧美不卡| 欧美天天在线| 97天天搞在线| 亚洲欧美九九| 久久久久久久久久久久久9999| www.天天干| 五月天婷婷色色| 欧美操人| 爱爱60秒免费视频| 欧美内射少妇| 精品免费国产二区三区| 色哟哟av网址| 男人的天堂日韩| 碰人碰碰人人开房人肉| 99蜜月精品久久| 97国产中文| 亚洲日韩精品一区二区| 91精品人妻一区二区三区蜜桃| 东北熟女91| 成年人黄色| 91久久九九精品国产综合| 色哟哟AⅤ| 欧美日韩另类在线播放| 色久桃花影院在线观看| 91动漫操逼视频| 久久精品国产96精品亚洲拳交| 亚洲欧美日韩综合在线尤物 | 九九九国产| 神马麻豆福利院| 国产老太乱伦一区| www.91逼逼.com| 久久久夜夜嗨免费视频| 国产超碰国产97| 99re9这里只有精品| 东京热av男人的天堂| 久湿久久 | 欧美欲色| 少好三P| 伊人在线大香蕉视频久久| 日韩久草| JuliaAnn丝袜熟女系列| 你懂的在线观看区国产| 午夜福利视频在线一区| 91久久久亚洲| 国产欧美日韩精品中文| 久久,精品一二三| 欧美一区二区传媒| 96一区二区三区| 激情综合网亚洲| 蜜桃视频成a人v在线| 九九热AV| 极品色电影院| 日韩无码极品| 极品色www影院| 91亚洲黑人| 麻豆精品三区视频| 天天综合网日韩| 最近2019中文字幕国语免费版 | 青青在线视频免费| 午夜AV人气不卡| 黑丝少妇在线观看| 久草老司机| 84YTCOM性无码| 乱色视频中文字幕| 亚洲熟妇乱女区二区三区| 99热18这里只有精品| 三上悠亚在线毛片91| 成人日本视频人妻在线| 天美精品一区二区三区四区在线观看| 97久久久网站| 国产久久av| 日韩精品人妻系列无码天堂| 99热婷婷一区二区三| 国模不卡| 躁躁日曰躁2020| 久久久久99999| 在线观看国产黄色| 日韩精品怡红院| 91插B网站| 可以免费观看的日韩av毛片| 欧美超碰96| 嗯嗯啊啊操我| Julia在线播放亚洲久久| 色拍偷亚洲| 日韩欧美中文字亚洲慕| 国产免a费看黄片在线| 91亚洲精品青草| 中欧人妻丝袜中文字幕| 色爱国产| 精品人妻15区| 日本肉体xxxx裸交| 亚洲久久东京热一二三四五区视频| 26uuu久久| 欧美性爱五月天| 蜜臀久久精品久久久久视频| 国产精品久久99日日| 人人澡人人弄| 亚洲精品尤物yw在线影院| 夜夜嗨av午夜成人| 欧美一二三级精品在线| 大香蕉碰碰| 女色综合| 亚州精品丝袜-不卡成人免费| 亚洲网站一区二区在线| 97青青操视频| 日韩av免费一级电影| 色老汉色| 欧美激情另类一区二区| 亚洲综合校园春色| 在线观看精品国产免费| 精品无码产区一区二| 97任你吞精| com 首页 18岁 禁区 女优 免费 精选 同城 | 精品一区二区亚洲国产| 成人青青草原伊人| 熟妇在线视频一区二区| 国产偷人伦激情在线观看| 中文字幕在在线观看网站| 综合av社区| 伊人精品国产| 免费A V在线| 91天天综合日韩欧美| 日韩人妻资源网| 久久久久久久久久9| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 婷婷五月成人| 在线视频97| 熟女欧美日韩综合婷婷| 日本一区二区三区四区免费观看| 久草毛片| 大香蕉九九| 91香蕉国产尤物视频| 东京热精品97综合网| 久久午夜鲁丝片| 玖玖爱伊人玖玖爱| 水野优香在线观看| 日韩一区二区精彩视频| AV男人天堂网| 99自拍视频| 色波多| 1769国内精品视频| 日韩,欧美,中文在线| 伊人国产成人av网站| 极品内射| 色婷婷电影| 蜜乳成人AV| 色五月AV在线| 一牛影视久久久一区二区三区| 在线无码网站| 天天网综合| 中文久久96| 日韩人妻精品久久久久| 亚洲AV噜噜狠狠网址蜜桃动漫| 国产美女91| 成人色女网| 91狠狠色丁香婷婷综合久久| 亚洲国产奇米影视久久| av日韩中文字幕| 99操| 色欧美天天| 白嫩国模丰满一二三区| 欧洲在线性爱视频| 成人三级片一区二区三区视频| 亚洲 日本 一 二 三| 国产玖玖| 青青草五月份天| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | …亚洲黄色厕厕女女在线播…| 97伪v| 熟妇最新先锋一二三区| 91精品久久综合熟女| 最新日日夜夜天天干干| 97色欧洲| 国偷自 一区| 性老妇一区二区三区| 精品视频日日夜夜| 熟女乱伦二区| 看一级特黄a大一片| PMv在线观看| 欧美色图亚洲激情| 99热线麻豆 | 日韩免费看在线黄色片| 欧美高清色| 国产精品另类| 97精品97| 五月天色电影| 麻豆天美制片厂网站视频| 欧美日韩99精品麻豆传媒| 丁香婷婷久久 | 天天综合站| 久久夜夜夜夜| 人人操天天爽| 精品一区二区三区最新| 台湾佬中文娱乐自偷自拍| 成人日本视频人妻在线| 人人射人人操人人摸| 亚洲乱伦图片视频| 日本操逼视频不卡直接放| 欧美国产有色电影| 色香在线| 9长久久精品| 亚洲精品不卡一二三区| 色天使大香蕉| 1204金沙人妻懂旧版免费| 加勒比海成人视频网| 热久久无毒不卡| 久草精品在线| 69天堂| 亚川综合视频| 久久香蕉综合一本到3atv| 91九色在线| 欧美精品另类人妖xxxx| 精品国产99| 2003天天干夜夜操| 久久 精品| 伦激情人妻另类人妻| 在线可观看的黄色网址| 午夜天堂精品久久久久91| 又黑又大又粗| 精品少妇一区二区三区免费观看| 超碰 97国产熟女| 美女裸体麻豆天美蜜桃91| 67194无码不卡| 91成人国产综合久久精品蜜月| 天天色怡春院| 九九九久久久W精品| 国产日韩精品suv| 色噜噜精品一区二区三| 亚洲 欧美 天天| 干B| 天堂网亚洲区手机版| 1000部熟女视频在线观看| 日韩探花精品在线视频| 野狼激情网| 夜夜 中文视频rt| 欧美AB在线| 超碰成人最新最好看| 男人天堂2019亚洲| 国产性爱欧美性爱在线| 久久久久久九九九| 国产操偷| 国产成人AV麻豆| 欧美96在线|欧| 免费一级精品啪啪视频| 操人妻少妇中文 | 久久久久久久一级黄色打同平台| 欧美亚州色的图| 99re这里只有精品2| 91久久久亚洲| 丁香色婷婷| 老女人老91妇女老热女| 热99这里有精品综合久久 | 精品人妻美妇91job| 日韩AV一区二区三区三州三州| 玖玖无码超碰| 国产无马视频| 国产熟妇一区二区| 久久精品一区二区一8| 九九久久精品| 啊啊啊啊啊啊啊网址在线观看| 97视频在线免费观看| 91|九色|国产熟女| 亚洲一区亚洲天堂| 青娱乐二区免费| baisiav| 抽插亚洲无码| 最新日韩黄片| 加勒比东京热五月天天堂网| 日韩在线欧美精品一区二区| 亚州情色j区| 欧美综合1性辶| 亚洲一区二区三区AV无码| 中文字幕78| 日B操| 日韩中文字幕熟妇人妻| 色姑娘综合网| 大奶啊啊好爽| 天天日夜干| 五月婷婷六月丁香| 久久男人| 另类小说五月天| 狠狠色五月亚洲91| 成人午夜无码视频| 欲综合网| 久久精彩免费视频| 亚洲Av诱惑| 在线只有精品| 国产精品久久久久久久久久久久久久吹| 色香色欲天天综合网天天来吧 | 第二页中文字幕| 青青操网| 精品乱码久久久久| 久久综合资源一区二区| 热的中文 热的有码 热的国产| 国产传媒操逼视频| 2017天天透天天通天天擦| 欧美92| 婷婷日韩一区二区三区中文字幕在线| 啊啊啊好舒服视频| 天天综合~91入口| 免费AV中文网在线观看| 亚州精品丝袜-不卡成人免费| 亚洲国产一级黄色视频| 综合网久久| 亚洲中文一区二区三区| 物业黑人 AV一区| 在线观看日韩av不卡| 亚洲九九视频| 日韩在线视频1234| 92性色国产午夜福利在线661 | 黑人黄片在线免费观看| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 大香蕉伊人久久| 日本欧美中文字幕| 国产乱码精品久久久久久| 无码WWW免费视频网站| 国产精品午夜精品| 久久久九97| 立川理惠被中出无码| 日韩丝袜高跟制服在线观看| 亚洲精品aa久久伊人| 欧美人妻制服| 久九九九九九九热| 91社区拍啪人妻| 91亚洲欧美激情| 自拍视频大全亚洲专媒视频/一区二区三区 | 超碰色老头| 欧美 日韩 另类 亚洲| 综合久久欧美| 很很操在线| 亚洲加勒比色图| 嗯啊啊啊轻点视频 | 天天激情综合站| 亚洲 欧美 日本 国内 首页| 欧美18禁91| av一区二区三区 中文| 2017av无码免费无线播| 中文字幕精品亚洲熟女| 国产精品久久久久久夜夜夜| 日韩国产成人自拍视频| 少妇一区二区三区| 99热大香蕉伊在线| 人妻在线臀日韩| 亚洲欧美经典一区二区| 99久久精品无码一区二区毛片免费| 97欧美色| 久久久久久久久久久久黄色 | 国产强奸超碰AV| 天天干人人看综合| 青青草AV色| 欧亚日韩三区| 欧美78p| 亚洲一区中文字幕一区| 自怕偷自怕亚洲精品| 欧美 亚洲 第一页 | 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 色y情视频免费看| 密臀在线一区尤物| 中文熟女五十乱码在线| 91撸色网 玖玖网 欧美| 亚州情色j区| 日韩精品一区的| 成人亚欧免费视频| AA级电影三区| 搡老女人911熟妇老熟女| 无套后入双马尾| 欧美黑人168页欧美黑人167| 久久久不卡区一区二区三区久久久| 国产欧美伊人| 国产成人网址| 女人高潮大叫一级毛片| 一牛影视成人片免费| 欧美gv在线观看| 97国产精品| 亚洲欧美色图片| 一区二区三区四区理论片| chaopen97久久| 另类欧美| 欧美激情精品久久久| 亚洲污污网站| 精品999日本| 久久久久久中文版| 亚洲 se图 欧美电影| 日本三级久| 夜夜操狠狠操| 夜嗨影院| 无码在线亚洲| 国产强奸超碰AV| 久久男人精品| 色欲无码人妻日韩欧美精品| 亚洲国产精品V?在线播放| 亚州熟女乱伦| 国产成人超碰在线| 91av熟女人妻| 中文字幕高清精品一区| 老女人老91妇女老热女| 亚洲爱爱视频一区二区| 久久女同性恋一二区| 欧美一区二区情色| n1038 一二三区| 五月婷色| 九九色婷婷| 中文字幕五区| www久久久| 欧美性天天影视| 中文字幕版| 99久久综合| 后入式视频国产自| 九9热伊人| 久久久啊啊啊| 懂色Av| 日本一区二区亚洲综合| 青娱乐欧美激情一区二区| 亚洲欧美日韩免费观看| 欧美福利视频啊啊啊啊| 激情无码日韩| 欧美十八禁导航成人| 婷婷深爱五月| 97色冈| 91欧美偷拍| 99re在线视频国产| 乱色老一区二区三区的观看方式 | 玖玖蜜臀资源网| 日韩精品三级片长长久久| 中文一区二区| 欧美色涩| 欧美黑人精品在线播放| 天天操天天舔| 天天操女人| 超碰综合色| 伊人九九九| 亚洲日韩精品久久久久一区壹牛| 亚洲精品性爱片| 99热99色| 神马午夜久久久| 亚洲一区亚洲天堂| 伊人操| 日韩电影在线观看网址| 国产精品久久久久久久黄无码| 五月天激情小说网| 歐美一級亂黃99在綫精品| 欧美精品,四区。五区| 91春色| 岛国网址国产| 91在线页| 骚妻少妇精品性色无码四色A V| 四虎AV在线播放| 国产精品毛片?v一区二区三区| www成人啪啪18秘 免费| 免费夜夜爱黄色视频毛片| 久久久久密臀一区二区| 日本加勒比无码专区| gogogo免费高清看中国国语 | 韩国一级做a久久久久| 家庭乱伦网站国产| 日韩中文字幕熟妇人妻| WWW美腿丝袜香蕉中文| 国产无码精品久久久久久| 高清国产成人无码| 国产激情在线| 超碰人妻久久人妻中文97| 日产精品久久久一区二区| 成人性爱免费播放| 五月天激情小说网| 蜜桃久久久久久久久久久久| 蜜臀久久99精品久久久| 成片免费播放| 久久m| 操啊国产| 97久精品| 四虎在线视频| 亚洲性爱无码乱伦av| 99精品丰满人妻| 91亚洲综合| 中文字幕一区av| 日本久久久久久久久久| 草草影院最新网址| 免费人人搞97| 亚洲中文字幕精品一区| 丁香六月婷婷综合| 午夜精品久久久99热蜜桃的功能特点| 看全色黄大色大片免费视频| 五月丁香网站| 天美传媒麻豆一区二区三区国产精| 宅男影院久久久,99| 黑人天8A∨高清网站| 亚洲色综合| 性爱视频久久| 999热这里只有精品| 亚洲AV成人无码一区二区三区在线观看 | 日本加勒比无码专区| 日韩人妻播放| 色情亚洲日本成人| av爱爱爱| 成人女人国产| 欧美综合国产精品久久丁香| 超碰国产情侣自拍网| 在线看污网站| 天天爽天天| 欧美成人性活片| 美女刺激久久国产欧美| 天堂男人网| 台欧久久精品视频| 极品肉射| 国产精品视频电影| 久操操AV电影| 少妇同性| 在线观看免费视频国产| 亚洲熟女一区| 中文字幕国产| daxiangjiao你懂的| 久久久 国产精品| 999熟女精品| 五月天激情影院| 青青草好吊色| 大香蕉亚洲中文| 国产女大学生AV| caopeng97人妻| 日韩欧美福利视频看看| 啊啊啊啊啊好大好舒服想要| 久久久久久日韩| 精吧天堂| 久久精彩视频| 欧美 精品国产制服第一页| 91在线限制级| 亚洲啪啪视频一区二区| 婷婷丁香人妻| 亚洲精品日韩国产欧美| 春色综合网| 亚洲综合图文| 国产一区二区三三视频| 91成人在线| 国产超碰人人爽人人做| 九九热国产| 中文字幕视频2区| 亚洲欧美中文一区二区三| 亚洲色图日韩丝袜制服一区二区五月在线 | 人人九九精| 亚洲欧美成人在线| 中文一区二区三区影院| 北条麻妃性愛视频| 久操不卡视频| 久久久久久久强迫| 夜夜免费视频| 男人的天堂不卡一区二区 | 蜜臀99精品国产高清在线观看| 久久亚洲av成人无码国产| 亚洲九九九| 久欲AV| 中文字幕在线观看AV| www.久久最新地址| 天美传媒AV在线| 日韩图区| 婷婷五月在线视频| 精品国产丝袜一区二区三区乱码 | 久久超碰亚洲人| 国产精品熟女丝袜一区二区| 偷拍偷窥与盗摄视频专区| 久久久久元码视频| 超碰三级秋霞| 国产激情av女片自拍| 熟妇无码视频三区| 91热情品| 国内精品999| 中国亚洲呦女专区| 国产偷人伦激情在线观看| 亚洲精品97p| 啊啊啊好大好湿| 国产这里只有精品| 国产区性爱在线视频秋霞豆 | 九九国产| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 91国模| 亚洲色图第四色| 91亚·色| 久久久97| 黄色性爱网网| 中文字幕乱码人妻二区三区| 精品国产99999| 啊嗯嗯啊好大好爽| 99啪啪| 女优视频第10页| 91性高潮久久久久久久久| 午夜120视频在线观看| 亚洲有薄码区久久在线一区| 日韩欧美偷拍美女视频| 欧美亚洲丝袜美女电影| 啊啊啊啊嗯嗯嗯用力好爽| 97人妻免费中文字幕| 激情 欧美 亚洲 小说| 欧美色999| 国语精品av| 人妻无码一区二区三区久久99| 国产精品suv一区| 99爱久久视频频| 精品久久久久久亚洲| av九九| 九月婷婷| 久久精品国产亚洲AV成人直播| 18禁网站在线播放| 欧美一级黄片视频在线| 天堂成人网| 加勒比99999| 国产一区二区精品久久久不卡蜜臀| 人乳av| 91精品久久久久久久久久| av线电影| 国产精品国产| 欧美青青草视频| 亚洲揄拍网| 久久99草| 啊啊啊啊好疼视频| 欧美91精彩| 99热日| 综合大香蕉美。| 国产精品对白自产拍| 玖玖草久草99蜜月一区二区三区| 久久久久78| 98福利在线视频| 九九九九九精品十六| 91精品人妻啪啪间| 亚洲综合色在线| 夜夜高潮夜夜爽国产伦精品| 亚洲AV人人澡人人爱| 熟女熟妇一区二区三区视频| 后入人妻无码| 超碰97中文| 搡老女人老熟女91| 国产福利视频精品视频| 亚洲精品国产无码高清| 自怕偷自怕亚洲精品| 色伊人91| 色婷婷色99国产综合精品| 亚洲天堂男人在线| 国产按摩一区二区三区| 蜜桃中文字日产乱幕4区| 99精品网站| 精人妻无码一区二区三区伊人直播| 久久大精品乱码视频人妻熟女| 久久久久久九九九九九九| 欧美日韩人妻精品系列一区二区三区| 亚91网| 久久产精品一区二区三区电影| 超91综合网| 欧美色欧美| 蜜臀AV秘一区翔田千里| 国产日韩欧美中文在线播放| 狠狠色噜噜狠狠狠狠狠色综合久久| 免费看日本操逼视频| 九九热精品免费视频| 第二页中文字幕| 欧美黑人91| se..亚洲欧美| 人人贴人人摸| 无色无码| 国产黄a三级三级三级av在线看| 国产精品suv一区| 韩日欧亚a级| 97爱爱| 人摸人人操人| 精品人妻一区二区三区-国产| 亚洲视频二区 |