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

ARTICLE DETAIL

資訊詳情

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

NuttX在RISC-V QEMU上的完整運(yùn)行與調(diào)試指南

NuttX在RISC-V QEMU上的完整運(yùn)行與調(diào)試指南 NuttX 這個名字在嵌入式圈子里一直有點(diǎn)熟悉的陌生人的意思做 RTOS 的人都知道它但真把它跑起來、在模擬器里點(diǎn)兩下的教程卻不多尤其是疊加 RISC-V 和 QEMU 這兩層之后網(wǎng)上能搜到的大多是零散的片段。最近我恰好把 NuttX 在 RISC-V 的 QEMU 虛擬機(jī)上完整跑通了一遍從工具鏈搭建、內(nèi)核編譯到串口調(diào)試、斷點(diǎn)跟蹤都過了一遍這篇文章就把整個過程和中間踩過的坑原原本本寫出來給想在 QEMU 上體驗(yàn) NuttX 的人一份可以直接照做的參考。先說下我對這個組合的整體判斷NuttX 作為 RTOS其 POSIX 兼容性在小核嵌入式系統(tǒng)里相當(dāng)難得RISC-V 作為開源指令集工具鏈和 QEMU 的虛擬化支持都已經(jīng)成熟到可以日常使用的程度而 QEMU 的出現(xiàn)讓沒有開發(fā)板也能玩 RTOS這件事從將就變成了正經(jīng)的開發(fā)方式。三者的結(jié)合點(diǎn)在于你不需要花幾百塊買一塊開發(fā)板也不需要應(yīng)付調(diào)試器的物理連接問題只要一臺電腦就能完成從編譯到調(diào)試的完整閉環(huán)。這篇文章適合誰看想入門 RTOS 但手頭沒板的嵌入式新人想在 RISC-V 上評估 NuttX 的開發(fā)者以及已經(jīng)在用 QEMU 跑 Linux、想了解 RTOS 側(cè)玩法的人。1. 為什么選 NuttX、RISC-V 與 QEMU 這個組合先說個反直覺的結(jié)論我最初選這個組合不是因?yàn)?NuttX 功能最全也不是因?yàn)?RISC-V 性能最好而是因?yàn)檫@個組合的學(xué)習(xí)成本曲線最平滑。這可能跟很多人的直覺相反但跑完整個流程之后我的感受是這三個項(xiàng)目互相之間配合得異常默契尤其是 QEMU 對 RISC-V 虛擬機(jī)器類型的模擬成熟度讓 NuttX 的啟動過程幾乎不需要做任何 hack配置好就能跑。1.1 NuttX 在 RTOS 陣營里的特殊性NuttX 是一個追求高度可擴(kuò)展的 RTOS它的內(nèi)核設(shè)計(jì)借鑒了 POSIX 和 Linux 的很多概念但又不像 Linux 那樣重。它最大的特點(diǎn)是你可以用接近 Linux 的編程方式寫裸機(jī)程序。這里不能展開太多但關(guān)鍵點(diǎn)要提一下。它提供 pthread、信號量、消息隊(duì)列、定時器、文件描述符等 POSIX 接口這就意味著你在 Linux 上寫的多線程程序、用 socket 寫的網(wǎng)絡(luò)代碼遷移到 NuttX 上只需要改編譯目標(biāo)而不用重寫邏輯。這是它跟 FreeRTOS 最大的區(qū)別FreeRTOS 的任務(wù)通知、隊(duì)列完全是它自己的一套 API換到別的系統(tǒng)沒法復(fù)用NuttX 則讓你守著 POSIX 的習(xí)慣去寫嵌入式代碼這種安全感在工程上很值錢。另一個被大家低估的特性是 NuttX 的文件系統(tǒng)和網(wǎng)絡(luò)棧。很多 RTOS 的存儲方案是塊設(shè)備裸讀寫NuttX 直接給你完整的 VFS虛擬文件系統(tǒng)層支持 FAT、ROMFS、ProcFS 等多種文件系統(tǒng)還能掛載偽文件系統(tǒng)來暴露內(nèi)核信息。網(wǎng)絡(luò)側(cè)默認(rèn)內(nèi)置 uIP 或 lwIP我在 QEMU 虛擬網(wǎng)絡(luò)里測試過 socket 通信跟 Linux 下的體驗(yàn)幾乎一樣。1.2 RISC-V 架構(gòu)的優(yōu)勢工具鏈簡單直接為什么選 RISC-V因?yàn)樗?QEMU 上的支持足夠成熟且工具鏈的選擇比 ARM 更簡單。ARM 的 QEMU 模擬比較復(fù)雜-machine virt支持的設(shè)備模型多但 ARM 的固件啟動流程比如需要 uboot 或者 Trusted Firmware 等往往讓初學(xué)者摸不著頭腦。RISC-V 的 QEMU 支持則相對清晰-machine virt模擬一個標(biāo)準(zhǔn)的 RISC-V 虛擬平臺內(nèi)存、串口、時鐘中斷控制器CLINT、平臺級中斷控制器PLIC都是固定的地址啟動時直接從-kernel指定的二進(jìn)制文件跳到入口點(diǎn)沒有 bootloader 的層層接力。工具鏈方面RISC-V 的 GNU 工具鏈riscv64-unknown-elf-安裝好之后直接用不需要像 ARM 那樣去糾結(jié)是選擇 arm-none-eabi 還是 aarch64-linux-gnu。NuttX 需要的是裸機(jī)工具鏈riscv64-unknown-elf-gcc 編譯出來的二進(jìn)制直接給 QEMU 用這一路非常順暢。1.3 QEMU 在開發(fā)流程中的真實(shí)定位有人可能會問QEMU 模擬出來的東西跟真機(jī)差別那么大跑一遍有什么意義我的看法是在 x86 的 Linux 主機(jī)上通過 QEMU 驗(yàn)證 RTOS 的內(nèi)核行為是開發(fā)效率和調(diào)試效率的平衡點(diǎn)。QEMU 平臺無關(guān)、可重復(fù)、可快照、可斷點(diǎn)調(diào)試真板子上很難做到的任意時刻暫停整個系統(tǒng)查看狀態(tài)在 QEMU 里是基礎(chǔ)操作。調(diào)試 UART 驅(qū)動、時鐘中斷、任務(wù)切換這些底層邏輯QEMU 的便利性幾乎是碾壓性的。2. 從零搭建運(yùn)行環(huán)境那些反復(fù)折騰的細(xì)節(jié)這部分是整個體驗(yàn)中最耗費(fèi)耐心的環(huán)節(jié)因?yàn)閱栴}基本都出在細(xì)節(jié)差異上QEMU 版本差異、工具鏈新舊差異、NuttX 配置差異。我把整個過程重新走了一遍把每一步命令和遇到的實(shí)際問題都記錄下來。2.1 工具鏈安裝選擇裸機(jī)工具鏈而不是 Linux 工具鏈NuttX 在 RISC-V 上使用的是 ELF 裸機(jī)工具鏈Ubuntu 下直接安裝即可sudo apt install gcc-riscv64-unknown-elf riscv64-unknown-elf-gcc --version注意這里不能使用 riscv64-linux-gnu-gcc。雖然兩者都能編譯代碼但 Linux 工具鏈默認(rèn)鏈接的是 Linux 的 C 庫glibc而 NuttX 需要的是 newlib 或直接無 libc 的環(huán)境。使用錯誤的工具鏈會導(dǎo)致鏈接時出現(xiàn)大量undefined reference to _start找不到 crt0.o之類的報(bào)錯我在第一步就因?yàn)檫@個栽了十分鐘。如果你所在的系統(tǒng)沒有這個包也可以去 RISC-V 官方工具鏈倉庫自行編譯。但為了方便我建議先用包管理器裝好跑通流程后續(xù)有需要再自己編工具鏈。2.2 拉取 NuttX 源碼與配置NuttX 的主倉庫和芯片支持倉庫是分開管理的運(yùn)行 QEMU 需要同時拉取兩個倉庫git clone https://github.com/apache/nuttx.git git clone https://github.com/apache/nuttx-apps.git注意兩個目錄要放在同級NuttX 的構(gòu)建系統(tǒng)默認(rèn)會在../apps查找應(yīng)用倉庫。如果你把 apps 放錯位置配置時不會報(bào)錯但最后鏈接階段會找不到 nsh 主程序報(bào)錯信息比較隱晦r(nóng)iscv64-unknown-elf-ld: cannot find apps/libapps.a這種情況大概率就是 apps 倉庫沒放對位置。配置 RISC-V QEMU 板卡的命令如下cd nuttx ./tools/configure.sh -l qemu-rv32:nshqemu-rv32:nsh是兩個維度的組合前半部分是板卡配置后半部分是應(yīng)用的配置集合。nshNuttShell是 NuttX 自帶的命令行 shell用于交互式操作類似 Linux 的 bash。如果你想要精簡版也可以用qemu-rv32:hello但為了體驗(yàn)完整流程我建議用 nsh。配置完成后執(zhí)行編譯第一次編譯耗時會比較長make -j$(nproc)我在本機(jī)上8 核大約耗時 3 分鐘最終生成的二進(jìn)制文件位于nuttx/nuttx.bin。2.3 編譯階段遇到的高頻錯誤如果你比較倒霉可能會遇到這樣幾個問題我按出現(xiàn)概率排序方便你對照排查。問題 A缺少頭文件或者宏未定義include/nuttx/arch.h:10:10: fatal error: nuttx/config.h: No such file or directory這個文件是構(gòu)建系統(tǒng)在make menuconfig時生成的如果你直接從 GitHub 拉源碼但沒有執(zhí)行配置就會缺少它。解決辦法是重新跑 configure.sh或者執(zhí)行make olddefconfig。問題 BQEMU 版本過舊導(dǎo)致啟動后無輸出NuttX 的 qemu-rv32 配置自帶的是 32 位 RISC-V 的機(jī)器模型如果 QEMU 版本低于 5.0virt 機(jī)器的設(shè)備樹可能不完整導(dǎo)致串口初始化失敗。我在 Ubuntu 20.04 默認(rèn)源里裝的 QEMU 是 4.2啟動后黑屏折騰了一圈才發(fā)現(xiàn)是這個問題。升級 QEMU 的方法后面會提到。問題 C鏈接腳本錯誤riscv64-unknown-elf-ld: section .text loaded at [0000000000000000,0000000000000017] overlaps section .isr這個一般是源碼在非 Linux 環(huán)境下的路徑問題或者 clone 時沒有正確拉取子模塊。NuttX 部分芯片支持代碼在子模塊里如果你用的是--depth 1淺克隆可能會遇到缺失文件的問題。建議全量 clone。2.4 升級 QEMU 到可用的版本由于包管理器自帶的 QEMU 往往偏舊這里推薦從源碼編譯wget https://download.qemu.org/qemu-8.2.0.tar.xz tar xf qemu-8.2.0.tar.xz cd qemu-8.2.0 ./configure --target-listriscv32-softmmu,riscv64-softmmu --prefix/opt/qemu make -j$(nproc) sudo make install只編 RISC-V 相關(guān) target 能顯著縮短編譯時間。編譯完成后將/opt/qemu/bin加入 PATHexport PATH/opt/qemu/bin:$PATH qemu-system-riscv32 --version實(shí)測 QEMU 8.2 對 RISC-V virt 機(jī)器的支持非常完善后面所有操作我都基于這個版本。3. 啟動流程逐步拆解從復(fù)位到 NSH Shell環(huán)境準(zhǔn)備好之后第一次啟動的瞬間很有意思QEMU 終端里刷出 NuttX 的啟動日志然后出現(xiàn)一個nsh提示符。這一小段過程里涉及了 RISC-V 啟動入口、NuttX 內(nèi)核初始化、設(shè)備樹解析等多個環(huán)節(jié)值得逐一拆開來看看它們各自干了什么。3.1 QEMU 啟動參數(shù)逐項(xiàng)說明啟動 NuttX 的命令并不復(fù)雜qemu-system-riscv32 -machine virt -nographic -bios none -kernel nuttx.bin四個參數(shù)分別解釋一下-machine virt指定使用 QEMU 內(nèi)置的 RISC-V 虛擬平臺。-nographicQEMU 不彈圖形窗口將串口輸出重定向到當(dāng)前終端。這是嵌入式開發(fā)最常用的方式因?yàn)槟憧梢栽诮K端里直接看到 NuttX 的 stdout。-bios none告訴 QEMU 不要加載任何固件直接從-kernel指定的文件開始執(zhí)行。這符合 NuttX 作為 RTOS 直接跑裸金屬場景的定位。-kernel nuttx.bin指定內(nèi)核二進(jìn)制文件。啟動后你應(yīng)該會看到類似這樣的輸出| | | | | | | | | | Apache NuttX-12.4.0-RC0 | | | | | | | | | | | | | | | | | | | | | | | | | | ..... nsh出現(xiàn)nsh提示符說明內(nèi)核已經(jīng)完成了初始化設(shè)備驅(qū)動加載完畢Shell 任務(wù)開始運(yùn)行。如果你想確認(rèn) QEMU 是否正常工作可以先跑一個不帶-kernel的命令觀察 QEMU 是否有設(shè)備樹輸出。如果設(shè)備樹能正常打印說明 QEMU 環(huán)境沒問題問題出在 NuttX 側(cè)。3.2 啟動日志隱藏的信息NuttX 的啟動日志比 Linux 簡潔得多但每一行都有含義。以我的實(shí)際輸出為例uart_register: Registering /dev/console這一行說明串口驅(qū)動注冊成功/dev/console成為標(biāo)準(zhǔn)輸入輸出設(shè)備。ram_initialize: Dump all RAM這是 NuttX 的 RAM 文件系統(tǒng)初始化用于將部分內(nèi)存模擬為存儲設(shè)備。nx_start_application: Starting nsh這是內(nèi)核完成調(diào)度器初始化后啟動第一個用戶態(tài)任務(wù)nsh。如果你在日志里看到up_irqinitialize之后卡住沒有出現(xiàn) Shell大概率是中斷控制器PLIC/CLINT初始化存在問題需要檢查 QEMU 版本和 NuttX 配置中的CONFIG_RISCV_VIRT選項(xiàng)。這個問題我在早期版本遇到過原因就是 QEMU 太老導(dǎo)致 PLIC 中斷號與設(shè)備樹不匹配。3.3 在 NSH Shell 里做幾個小實(shí)驗(yàn)進(jìn)了 Shell 之后先別急著關(guān)掉這幾個指令能讓你快速感受 NuttX 的系統(tǒng)能力查看內(nèi)核信息nsh uname -a Apache NuttX-12.4.0-RC0 2.0.0 1.0.0 riscv32查看掛載的文件系統(tǒng)nsh mount /dev/ram0 on /etc type romfs說明 RAM 盤上掛載了 romfs這是 NuttX 的制作工藝它把配置文件、啟動腳本打包進(jìn) romfs 鏡像直接塞到內(nèi)核里用戶程序能讀取但不用真正的磁盤。查看當(dāng)前線程列表nsh ps PID GROUP PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK USED NEEDED 0 0 0 FIFO KTHREAD PREPENDING 000000 4016 0 0 1 1 16 FIFO KTHREAD SLPING SIGWAIT 000000 2000 0 0 2 2 20 FIFO TASK RUNNING 000000 2000 0 0ps是 POSIX 命令在 RTOS 里的映射這在其他 RTOS 的 Shell 中是不常見的功能體現(xiàn)了 NuttX 對 POSIX 的重視。測試任務(wù)切換nsh sleep 5這個命令會立即返回后臺執(zhí)行時間到了后輸出。你可以利用它配合ps觀察 NuttX 內(nèi)核創(chuàng)建了哪些臨時任務(wù)。如果想讓命令在前臺阻塞執(zhí)行可以用sleep 5; echo done。3.4 CPU 中斷與定時器的初步驗(yàn)證除了 Shell 命令我還想驗(yàn)證一下定時器和中斷是否正常工作方法非常簡單nsh loop 3這個命令會每分鐘打印一次 CPU 的 tick 計(jì)數(shù)。如果你看到計(jì)數(shù)在增長說明硬件定時器CLINT中斷正常觸發(fā)任務(wù)調(diào)度依賴它這個結(jié)果意味著內(nèi)核的核心機(jī)制在 QEMU 上全部工作正常。4. 調(diào)試手段組合拳QEMU GDB VS Code 實(shí)戰(zhàn)命令行跑通只是第一步真正讓 QEMU 比真板子好用的是調(diào)試能力。QEMU 內(nèi)置 GDB Server你可以像調(diào)試 Linux 用戶態(tài)程序一樣調(diào)試整個 RTOS 內(nèi)核這在真板子上做起來就麻煩得多。4.1 啟動 QEMU 并開啟 GDB ServerQEMU 啟動時增加-s參數(shù)即可在端口 1234 上監(jiān)聽 GDB 連接qemu-system-riscv32 -machine virt -nographic -bios none -kernel nuttx.bin -s注意-s是-gdb tcp::1234的簡寫端口固定為 1234。如果你同時調(diào)試多個實(shí)例記得用完整參數(shù)改端口qemu-system-riscv32 -machine virt -nographic -bios none -kernel nuttx.bin -gdb tcp::12354.2 GDB 實(shí)戰(zhàn)斷點(diǎn)停在內(nèi)核入口連接到 QEMU 的 GDB Serverriscv64-unknown-elf-gdb nuttx/nuttx (gdb) target remote :1234 (gdb) break nx_start (gdb) continuenx_start是 NuttX 內(nèi)核的 C 入口點(diǎn)斷點(diǎn)停在這里的時間極短你甚至能在 QEMU 起跑的瞬間就停住它。GDB 斷點(diǎn)允許你查看完整的調(diào)用棧(gdb) bt #0 nx_start () at .../sched/init/nx_start.c:220 #1 0x80000000 in __start ()從這里你能直觀看到 NuttX 從匯編入口跳到內(nèi)核入口的全貌。這套過程在真板子上需要 OpenOCD 配合 JTAG配置麻煩得多QEMU 只需要一行命令。4.3 VS Code 的圖形化調(diào)試配置命令行 GDB 能用但可視化調(diào)試更符合大多數(shù)人習(xí)慣。VS Code 里配置launch.json用cppdbg或codelldb插件都行我給的配置是用codelldb插件{ version: 0.2.0, configurations: [ { name: QEMU NuttX Debug, type: codelldb, request: attach, server: 127.0.0.1:1234, executable: ${workspaceFolder}/nuttx/nuttx, sourceMap: { /root/nuttx: ${workspaceFolder}/nuttx } } ] }其中sourceMap是用來把源碼路徑映射到本地路徑的如果不配置GDB 會因?yàn)檎也坏皆创a文件而顯示source file not found這是調(diào)試 QEMU 時最容易遇到的小坑。啟動調(diào)試后你可以給nsh_console_main等函數(shù)打上斷點(diǎn)然后一步步看 Shell 的輸入處理邏輯。這種看內(nèi)部結(jié)構(gòu)的體驗(yàn)是其他 RTOS 給不了的。4.4 使用共享文件夾模式進(jìn)行數(shù)據(jù)交換如果你在調(diào)試過程中需要在 QEMU 和宿主機(jī)之間傳文件QEMU 提供了-virtfs參數(shù)進(jìn)行共享文件夾設(shè)置qemu-system-riscv32 -machine virt -nographic -bios none -kernel nuttx.bin \ -virtfs local,path/tmp/share,security_modelnone,readonlyon不過在 NuttX 的 QEMU 環(huán)境下virtfs 的支持取決于 NuttX 是否啟用了對應(yīng)的 usb 或 9p 驅(qū)動默認(rèn)配置下不一定立即可用。我個人更推薦的方式是直接修改 NuttX 的 romfs 配置把需要傳的文件編譯進(jìn)內(nèi)核鏡像調(diào)試完成后再移除。這個方式雖然繁瑣但對 RTOS 開發(fā)來說更貼近實(shí)際嵌入式的數(shù)據(jù)傳遞方式。4.5 常見異常的 GDB 定位方法實(shí)際調(diào)試中最常見的問題無外乎三類死鎖、棧溢出、非法指令。死鎖的表現(xiàn)是 Shell 無響應(yīng)此時 GDB 下執(zhí)行info threads查看所有線程狀態(tài)如果多個線程阻塞在sem_wait上基本可以判定為信號量使用不當(dāng)。棧溢出的定位方式更直接GDB 里執(zhí)行(gdb) monitor info registers (gdb) bt如果調(diào)用棧中sp的值落在某個線程棧的邊界之外并且 PC 指針指向未知地址多半是溢出了。NuttX 在編譯時如果啟用了CONFIG_STACK_CANARIES會在棧溢出時主動觸發(fā)斷言并在串口打印診斷信息建議入手后立刻開這個選項(xiàng)。非法指令一般發(fā)生在 RISC-V 指令集跟 CPU 模型不匹配時比如你編了帶浮點(diǎn)擴(kuò)展的代碼但 QEMU 機(jī)器模型沒有浮點(diǎn)單元。這種情況 GDB 的報(bào)錯信息很明確Illegal instruction (core dumped)只需檢查 NuttX 配置中的CONFIG_ARCH_LAZYFPU和CONFIG_ARCH_RV_FPU選項(xiàng)。5. 對 NuttX 在 QEMU 上運(yùn)行體驗(yàn)的幾點(diǎn)真實(shí)評價跑完整個流程之后我對這個組合的印象可以總結(jié)為順手且值回票價。當(dāng)然也有意外和不便之處這里一并說清楚。5.1 最讓我驚喜的一點(diǎn)POSIX 兼容性不是吹的在 QEMU 上跑 NuttX我一開始預(yù)設(shè)的心理預(yù)期是能啟動、能跑 shell 就算成功。但實(shí)際體驗(yàn)下來最讓我驚訝的是NuttX 很多接口真的做到了 POSIX 兼容。我在 NuttX 上編譯并運(yùn)行了一個典型的多線程生產(chǎn)-消費(fèi)程序使用的是標(biāo)準(zhǔn)的 pthread、sem_t 和 mq_open 接口代碼幾乎就是 Linux 版本原樣搬過來只在編譯選項(xiàng)上做了少量調(diào)整。這跟我在 FreeRTOS 上做同樣的移植工作相比省事程度完全不是一個量級。對于有 Linux 編程經(jīng)驗(yàn)、想轉(zhuǎn)做嵌入式的同學(xué)NuttX 是一條阻力最小的學(xué)習(xí)路徑。你不需要學(xué)一套全新的任務(wù) API你用熟悉的 pthread 和文件描述符概念就能完成同樣的工作。5.2 平坦的學(xué)習(xí)曲線是優(yōu)勢但生態(tài)成熟度仍需冷靜看待NuttX 的構(gòu)建系統(tǒng)基于 Kconfig也就是 Linux 內(nèi)核和 Zephyr 用的那套配置體系。如果你熟悉 Zephyr 的menuconfig你對 NuttX 的配置模式會瞬間上手但如果你是從裸機(jī)開發(fā)轉(zhuǎn)過來第一次打開 NuttX 的 Kconfig 界面會有點(diǎn)暈選項(xiàng)太多不知道哪些該選、哪些不該選。所以我建議新手不要直接去 menuconfig 里隨意改動而是先用默認(rèn)的qemu-rv32:nsh配置跑通再逐步調(diào)整make menuconfig進(jìn)去之后在里面找到 CPU、內(nèi)存、外設(shè)對應(yīng)選項(xiàng)改動前先搜索對應(yīng)宏的文檔很多宏在 Kconfig 附近會有幫助注釋。5.3 與 Linux 的開發(fā)體驗(yàn)對比QEMU 上跑 Linux 和跑 NuttX體驗(yàn)差異比我預(yù)想中的大。Linux 在 QEMU 里是一個完整的系統(tǒng)你會花大量時間在啟動引導(dǎo)、設(shè)備樹、rootfs 上真實(shí)的業(yè)務(wù)代碼反而沒寫幾行NuttX 在 QEMU 里則更接近裸機(jī)系統(tǒng)的雜交體啟動過程清晰可見中斷和內(nèi)存結(jié)構(gòu)都能感知到你甚至可以斷點(diǎn)在內(nèi)核的調(diào)度器入口跟著一步步看它是怎么切換任務(wù)的。這種透明感對學(xué)習(xí)操作系統(tǒng)的底層機(jī)制有巨大幫助。如果你想類比Linux 跑在 QEMU 上像一個黑盒系統(tǒng)的整體演示NuttX 跑在 QEMU 上則像一門可以摸著內(nèi)部結(jié)構(gòu)的解剖課。5.4 從模擬器到真機(jī)的遷移預(yù)留用 QEMU 體驗(yàn)完 NuttX 之后如果想轉(zhuǎn)移到真實(shí) RISC-V 板卡比如 StarFive 系列的開發(fā)板上運(yùn)行需要注意幾個差異點(diǎn)。首先是內(nèi)存地址和中斷控制器的差異。QEMUvirt機(jī)器使用固定的 CLINT 和 PLIC 地址真板子的中斷控制器可能掛在不同的總線地址上NuttX 的配置文件里幾乎都要調(diào)整CONFIG_RISCV_VIRT_PLIC_BASE和時鐘源設(shè)置。其次是外設(shè)差異。QEMU 的 virt 機(jī)器只有虛擬 UART、虛擬 PLIC 和虛擬定時器沒有真實(shí)網(wǎng)卡、SD 卡控制器或 GPIO如果你在 QEMU 上驗(yàn)證了網(wǎng)絡(luò)功能真板上需要重新移植相關(guān)的驅(qū)動。還有一個容易忽略的差異是硬件浮點(diǎn)單元。QEMU 的 virt 機(jī)器默認(rèn)支持 M 標(biāo)準(zhǔn)擴(kuò)展集中的除法/乘法但不一定支持 F/D 浮點(diǎn)擴(kuò)展。如果你的目標(biāo)板帶硬件浮點(diǎn)單元需要在 Kconfig 里開啟對應(yīng)選項(xiàng)否則即使代碼在 QEMU 里跑通了到真機(jī)上可能出現(xiàn)指令異常。5.5 值得一試的后續(xù)進(jìn)階方向體驗(yàn)完nsh和基礎(chǔ)調(diào)試之后我建議可以往這幾個方向繼續(xù)深入。第一個方向是驗(yàn)證 NuttX 的虛擬文件系統(tǒng)。啟用CONFIG_FS_FAT在 QEMU 上掛載一個 FAT 格式的虛擬磁盤嘗試用 mount 命令掛載并讀寫文件。這個過程能幫你理解 NuttX 的 VFS 層設(shè)計(jì)也能為真實(shí)存儲設(shè)備驅(qū)動做好準(zhǔn)備。第二個方向是嘗試網(wǎng)絡(luò)協(xié)議棧。啟用CONFIG_NET和CONFIG_NET_TCP配合 QEMU 的用戶態(tài)網(wǎng)絡(luò)棧創(chuàng)建虛擬網(wǎng)卡在 NuttX 里運(yùn)行一個 TCP 服務(wù)器宿主機(jī)上通過 telnet 或 nc 連接它。如果這個版本沒有自帶網(wǎng)絡(luò)驅(qū)動可以搜一下 NuttX 社區(qū)關(guān)于virtio-net支持的討論近年來已經(jīng)有人在推動讓 QEMU virt 機(jī)器可以跑通完整的 socket 通信。第三個方向是啟用 RISC-V 的浮點(diǎn)支持如果還沒打開在 NuttX 上寫一個浮點(diǎn)密集計(jì)算程序?qū)Ρ乳_與不開硬件浮點(diǎn)的性能差異順便測試 NuttX 的上下文切換是否能正確保存浮點(diǎn)寄存器。這個測試能讓你對 RISC-V 的 ABI 底層細(xì)節(jié)有一個很直觀的認(rèn)識。整體看下來NuttX 在 RISC-V 的 QEMU 上運(yùn)行已經(jīng)不只是能跑的水平而是到了值得用于日常開發(fā)驗(yàn)證的程度。最多半小時內(nèi)你就能擁有一個可以隨意折騰的 RTOS 內(nèi)核環(huán)境這在幾年前可能需要買一塊開發(fā)板加一套調(diào)試器才能做到。如果你之前猶豫過要不要試試 NuttX我的建議是直接開始成本低到你只需要一個終端窗口。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
9.1综合网| 五月丁欧美| 人人天堂操| 婷婷丁香18| 韩国三级五月天婷婷。| 色九网| 97人人干| 色色色干| 亚洲中文乱字字幕在线永久| 五月综合激情图片| 久草性爱| 热婷婷在线视频| 亚洲精品电影| 99精品综合视频| 国产精品久久99| 在线视频婷婷| 五月丁香激情综合| 香蕉狠狠爱视频| 色小说婷婷五月天天天| www.超碰在线| 色九月婷婷丁香| 日本三级大片| 热99在线精品| 成人在线99| 亚洲综合色网站| 色色色色色五月丁香| 五月丁香六月婷| www.99热| 婷婷刺激综合| 精品人妻一区二区| 99精品热| 久久99大全| 天搞天天天天天| 我想看国产大学生口爆吞精的视频| 亚洲操逼网| 五月天婷婷影院| 久久这里只有国产视频| 婷婷五月激情在线| 五月天电影网| 色五月激情五月天| 五月成人天| 99爱免费在线观看| 婷婷区日本| 国产免费AV网站| 人妻操日日| 五月天色色无码| 婷婷五月天在线观看| 婷婷内射视频在线| 99热精品在线播放| 国产亚洲精品AAAAAAA片| 国产激情av| 99热日韩| 日韩99视频| 五月婷婷啪啪啪啪| 停婷丁五月在线| 五月丁香婷婷开心| 婷婷五月天AV| 99色婷婷视频| 亚洲日韩乱码一区二区三区四区| 色青青电影色五月| 婷婷综合偷拍| 天天搡日日搡aaaaⅩ| 69色婷婷| 无码九九| www.色擼擼.com| 在线综合婷婷| 开心婷婷五月天电影院| 五月天在线视频尤物视频在线看| 激情五月,色播五月| 久色中文| 午夜丁香婷婷| se99视频| 26uuu色五月| 偷拍九九热| 97色五月丁香婷婷| 9久久久久久久久久久| 婷婷成人av| 精品热九九| 中文字幕欧美精品久久| 欧美日韩91| a色色色色色| 深爱女色婷婷丁香五月亚洲图区| 丁香五月亚洲天堂| 成人AV在线电影| 久久丁香五月| 久久久全国免费视频| 在线色婷婷| 大香蕉娱乐| 久久久久激情网| 日韩综合网络男女香蕉a片| 婷婷九月色| 99惹| 激情四射婷婷| 国产3p露脸普通话对白| 色婷婷情片| 色婷婷成人网| 丁香五月天在线| 欧美精品啪啪| 丁香操逼| www.狠狠狠狠| 丁香婷婷五月天在线视频| 丁XX 成人| 99热这里只有精品55| 99色热| 欧美日韩国产成人在线| 天天日夜夜B久久| 日夜夜久久| 色播五月综合网| 九九99精品视频| 99九九久久| 婷婷五月丁香成人网| 国产精品视频| 天天舔天天操| www五月婷婷88导航| 性色综合网| 丁香五月天啪啪| 婷婷五月丁香在线观看| 婷婷在线精品| 日本黄色在线观看| 思思久久99热只有频精品66| 97五月天| 久久9视频| 精品一区二区三区木瓜| 色玖玖| 丁香六月婷婷社区| 久噜久噜| 久久A极片| 伊人久久大香网| 99性爱精品| 久久只有18视频| 激情图片亚洲| 婷婷六月色情| 精品国产AV色一区二区深夜久久 | 丁香九色不卡aaa| 狠狠舔| 天天爱天天狠天天透| 另类天堂| 国内婷婷丁香社区在线播放| www.五月丁香| 操碰久| 五月丁香成人版| 色啪影院| 色婷婷久久| 丁香五月五月婷婷| 18久久| www开心激情网| 99热这里只有精品99| 碰97 久| 久久色在线视频| 久久色五月| 天天婬色综合| 婷婷色导航| 婷婷五月综合性爱| 婷婷五月天亚洲激情戏精品| 婷婷99狠狠躁天天久久久九九九| 五月天色官网| 九久九精品| 婷婷五月成人系列| 美腿丝袜AV天堂网| 99ri在线| 婷婷久久夜| www.色五月| 久久6这里只有精品| 伊人久久大香线蕉av最新| 欧美超碰亚洲| 亚洲精品电影| 99这里只有免费的精品| 五月婷婷激情网| 五月婷婷另类| 97在线观视频免费观看| 丁香五月婷婷六月| 五月丁香色色| 国产日韩欧美| 毛片毛片毛片毛片| 婷婷操久久| 久久总和99| 啪啪综合| 国产午夜精品一区二区三区四区| 婷婷开心久久| 97精品自拍| 日本色色网| 天天爽在线视频| 狠狠色综合网| 性生活久久人妻| 岛囯综合激情网| va婷婷| 九九热在线视频观看免费10| 综合网色| 99性感视频| 亚洲啪啪精品| 五月天婷婷基地| 婷婷五月天av网| 五月天综合在线网| 欧美日韩123| 激情文学 综合 色| 中文字幕+中文在线| 欧美成人va| 五月天综合网| 九九热99精品| 天堂成人A片永久免费网站| 亚洲视频丁香网va| 97色女人在线| 九九九干精品| 激情综合五月婷婷| 婷婷五月天第三页| 久久狠色噜噜狠狠狠狠97| 人人肏逼视频在线一区二区| 99综合视频| 亚洲成人电影aaaa| 91热99| 熟妇人妻中文字幕无码老熟妇| 激情婷婷狠狠干| 91天堂网综合| www.丁香黄色五月天人与| 五月综合婷婷五月| 五月婷婷花| 久99综合婷婷| 久久婷综合网| 伊综合蕉| 色欧美色色色| 精品人妻伦一二三区久久| 五月丁香另类网| 综合久久高清| 日韩黄色电影| 一区=区操屄高清大全av| 26UUU欧美| 九九热只有精品| 欧美狠狠草| 激情婷婷视频在线| 精品久9| 日韩视频99| 2025最新亚洲激情在线| 色五月婷色彩免播放器| 日韩av网站在线观看| 丁香五月婷婷基地| 天天色天天日| 婷婷六月色开| 丁香五月婷婷激情网| 九九久久视频| 五月丁香婷庭在线| 丁香五月激情澎湃一区| 另类图片 五月激情| 碰碰91| 99久久高清视频| 五月丁香婷婷综合| 天天爽天天| 狠狠爱五月婷婷| 丁香五月五婷| 九九亚洲视频| 婷婷六月丁| sewuyuejiqingwang| 夜夜涩涩涩| 综合另类激情| 亚洲成av人影院| 97久久久| 五月天婷婷小说| 九九99免费视频| 久大香蕉| 色综合99| 五月婷久久| 激情综合网五月激情| 婷婷狠狠97| 婷婷色五月在线视频| 激情五月五月五月婷婷| 狠狠五月激情婷婷直播片| 久久婷出差欧美色两性综合网| www.91久久| 九九精品碰| 色天使久久综合| 丁香六月婷婷操逼网| 99在线精品免费视频| 亚洲综合色婷婷| 99热自拍| 99久久喉9| www。五月,com| 丁香88AV五月婷婷| 1024成人免费看| 亚洲综合色成丁香五月色| 五月丁香亭亭激情操逼网| 免费视频WWW在线观看网站| 女人高潮内射99精品| 激情小说五月天| 97色干| 激情五月综合| www超碰com| 玖玖五月丁香| 六月婷婷深深爱| 国产裸舞福利资源在线视频| 26uuu亚洲精品国产| 99九九视频| 亚洲网站999| 一本久道综合色婷婷五月| 六月丁香久久| ..真实国产乱子伦毛片| 亚洲精品成人片在线播| 亚洲精品色色| 五月天婷婷婷| 五月天婷婷久久视频| 超碰成人免费| 亚州色综合| 激情综合网址| 狠狠人人| 五月丁香激| 日本色五月| 97 天堂| 超碰97色| 97久久香草精品视频| 天天五月天综合网址| 中文字幕综合网| 99∨VTV| 玖玖伊人网| 色999五月色| 九九九成人在线视频| 色色色色色色网| 激情五月小说婷婷| 牛牛色av| 丁香色播五月天| 日日夜夜小色哥| 黄色三级日本| 免费成人中文字幕| 五月综合亚洲婷婷| 婷婷丁香18| 婷婷五月天成人视频| 欧美三级视频下载| 久久这里99| 草一草avb| 精品二区| 国产永久一二一起草| 99er精品视频| 婷婷丁香无码专区| 激情婷婷五六月天| 天天精品视频免费观看| 激情婷婷丁香色五月| 欧美激情五月综合| 99re在线观看| 激情五月天综合网| 激情网婷婷五月天| 91九九热| 天天天天天天噜| 99色在线| www.久久爱| 精品人妻久久久久久| 免费看成人AA片无码视频吃奶| AV色婷婷| 类似婷婷激情综合网站| 一区二区传媒视频| 99日韩网站| 精品一二三区久久AAA片| XX久久| 五月天激情小说欧美激情| 婷婷激情五月| 色情五月天。| 超碰资源在线| 丁香六月婷婷综合欧美| www.色婷婷| 狠狠色中色| 天天日天天摸天天| 熟妇内谢69XXXXXA片| 狠狠色婷婷7777久| 99re这里| 99热这只有| 玖玖午夜视频| 欧美精品999| 99精品久久久久| 天啪色| 五月天激情小说欧美激情| AV成人在线网站| 成人AV在线网站| 99在线精品观看99| 日韩激情婷婷五月天| 99色视频| 天天拍久久| 乱精品一区字幕二区| 五月婷婷色男女| 日本综合久久| 久久99热 这里有精品| 亚洲欧洲中文日韩久久AV乱码| 久鲁鲁色网 | 狠狠干婷婷| 五月婷婷丁香俺日污视频| 丁香五月玖玖| 亚洲成人超碰| 欧美天天爽| 亚洲五月天激情| 五月婷婷六月丁香激情综合网| 超碰免费人人| 中文不卡一二区| 丁香五月瑟瑟| 激情床戏| 色婷婷欧美在线| 蜜臀久久99精品久久久久久酒店| 五月丁香六月婷婷久久| 97精品欧美91久久久久久久| 久久九九99| 人妻在线中文字幕久久| 欧美婷婷丁香五月| 丁香六月欧美| 亚洲第一视频 久久| www。五月,com| 五月天婷婷色综合| 快乐激情五月色婷婷| 色五月婷婷色| 色综合色色色| 婷婷丁香午夜综合影视| 六月婷婷视频| 欧美私人家庭影院| 婷婷八月丁香激情综合| 五月丁香美女| www,超碰| 国产日产亚洲系列最新 | 婷婷五月天激情综合深爱| 日本色啪| 99热免费精品| 激情丁香五月天图片| 99在线免费视频| 91超碰人人操| 丁香婷婷色九月| 亚洲人人96@| 五月婷婷先锋| 99热在线观看| 九九RE视频在线精品| 五月丁香六月欧美综合| 国产97色在线 | 日韩| 色久综合| 色五月天激情| 这里精品| 天色综合网站| 欧美色婷婷| 99爱在线| 日本欧美成人片AAAA| 天天插天天干| 久久婷婷五月综合色和| 激情五月综合六月丁香婷婷狠狠干| 免费成片在线观看| 五月婷婷伊| 玖玖色综合| 五月丁六月香| 无码人妻一区二区三区免费九色| 人人干天天舔| 久久伊人婷婷| 婷婷九月狠狠色| 日本黄色三级片内射| 激情五月丁香五月| 操九色| 天天干天天色天天干| 久操大香蕉| 大香蕉人人网| 另类国产欧美视频| 超碰97在线观看免费| 天天玩夜夜操| 超碰成人免费| 激情婷婷色色| 狠狠高潮精品亚洲1| 婷婷深爱五月天在线| 任你日视频| 婷婷综合在线视频| 免费超碰在线| 久久九九囯产| 五月婷九九草| 九色视频入口91| 无码视频国内精品久久久| 久热这里| 婷婷五月丁香五月| 国产精品国产成人国产三级 | 9久热精品在线视频| 五月天婷婷久久视频| 婷婷少妇激情| 色婷婷偷拍| 天天操人人干| 天天插天天干| 9久热在线视频精品| 这里只有精彩视频| 伊人网啪啪| 色婷婷精品视频| 夜夜撸日日操| 综合AV在线| 丁香婷婷91在线观看视频| 免费不卡狠操美女视频网| 五月天五月天激情网| 99视频精品全部免费 在线| YJLZZJLZZ亚洲乱熟无码| 五月天久久网站| 夜夜久久综合网| 色婷婷激情| 另类视频综合| 狠狠操天天操| 综合图区激情| 丁香激情五月| 99热在这里只有精品| 狠狠干婷婷| 极品人妻VIDEOSSS人妻| 少妇性按摩无码中文A片| 精品一二三区久久AAA片| 九九久久99| 久久久久久久11111111111| 成人午夜天| 欧美人与性动交CCOO| www.9操| 亚洲综合碰| 婷婷九月在线| 99热这里只有99| 亚洲看av的网站| 婷婷五月天黄色小说| 亚洲男女激情| 色香蕉影院| 久草婷婷网| 色色影院黄大片| 婷五月天丁香婷五月| 99re在线视频| www.五月婷婷久久.com| 开心激情婷婷| 风流少妇A片一区二区蜜桃| 影音先锋五月婷婷| 亚洲欧美婷婷五月色综合| 人人爱干人人爱草| 亚洲综合五月天婷婷| 色五月天堂| 国产69久久久欧美黑人A片| 免费色婷婷| 伊人狠狠丁香婷婷综合尤物| 久久狠狠色| 婷丁香五月天| 久久se 综合网 | 国产精品涩涩涩视频网站| 碰超亚洲| 99激情网| 丁香五月天综合| 狠狠色婷婷7777久| 色情婷婷。| 天色综合网站| 综合色久| 在线播放 精品| 久热成人| 五月婷婷成人| 男人操女人高潮91视频| 亚洲无码另类| 开心网五月色婷婷| 成人综合网站| 激情综合五月婷| 99re思思热久久| 五月综合色| 9九色首页| 五月婷婷免费| 久久久激情| 996精品热视频| 久久人妻情侣| 99精彩视频| 99操久久| 991精品在线视频| 婷婷色婷婷| 久久五月丁香婷婷| 99精品无码| 天堂在线伊久| 久久五月天激情视频| 五月天婷婷激情在线色图| 4399欧美另类视频| 99热99re6国产在线播放| 久久五月丁香| 丁香五月综合久久八| 九九九九这里只有精品| 婷婷影院A成人| 激情综合五月色在线| 久久97| 五月天婷婷基地综合网| 色色影院黄大片| 国产精品久久久久久五月天加勒比| 五月丁香婷婷六月| 在线观看熟女少妇| 欧美性丁香色色五月天干干| 欧洲毛片基地c区| 色色色在线观看| 成人在线高清| 九九精品免费| 九月色婷婷综合| 激情综合色婷婷六月天| 伊人超碰在线| 人人色婷婷| 99热久久日本| 思思热在线观看| 热996精品在线观看| 天天干com| 色综合网页| 韩国情人在线电视剧免费观看高清版全集| 久久精彩免费视频| 五月网激情| 1024日韩| 色天天综合成人网| 久草五月婷| 99在线免费观看| 亚洲成人另类| 亚洲精品午夜国产va久久成人| 色婷婷大香蕉| 天天爽天天爽| 99热这里只有精品在线播放| 四射综合网| 色婷婷丁香五月色综合网| 婷婷丁香红五月91C| 久热视频这里只有精品| 六月婷婷色色网| www激情婷婷com| 大香蕉免费9| 天天干天天操天天爽| 爆乳熟女一区二区三区爆乳| 激情久久五月天| 另类的婷婷| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 色情五月停停丁香| 大香蕉人人人| 熟女网站久久| 99热精品少| 婷婷久久久| 人妻VideOssS人妻| 精品99在线看| 日韩成人无码| 日本久久人| 去干网av| 五月成人天| 丁香五月婷婷欧美成人色图| 五月婷婷色| 亚洲激情视频网| 激情性爱网站| 五月婷在线| 色99网| 91九色在线| 色色网站毛片| 婷婷丁香成人| 五月精品免费XXX| 国产成人亚洲综合亚洲| 成人精品在线| 婷婷五月在线观看| 中文不卡一二三区| 97人人操人人| 婷婷丁香大香蕉| 色婷婷亚洲婷婷| 中出内射的人妻视频| Www99热| 黄色视频网站在线播放| 日韩性视频| 思思热思在线精品视频| 色综合中文| 狠狠一日| 色婷婷综合网站| 五月天婷婷乱论小说| 日韩欧美一区二区三区四区| www久久久久| 91狠狠综合久久久| 婷婷五月另类网站| 亚洲综合五月天综合| 91人人操人人爱| 啪啪日热| 色狠狠色噜噜AV天堂五区| 久久999久久999久久999久久| 五月丁香999| 96丁香六月婷婷蜜桃综合久久| 久久久91精品| 97久久人人人干| 丁香六月激情| 亚洲黄色影视| 99热资源在线| 99人妻碰碰碰久久久久| 色五月婷婷在线观看第一页舔| 在线播放成人网站| 日本婷久久| 五月丁香六月欧美综合网站| 五月丁香六月婷婷久久久综合| 亚洲中文丁香| 国产老熟妇亲子乱对白| 久婷自拍视频| 大香蕉丁香| 爱操天堂| 日本久久色| 久久久99精品免费观看| 亚洲综合激情五月久久| 色99色| 亚洲久热| 天天干天天插| 99色网站| 日韩超碰在线| 九九久久99精品免费观看www| 色色色成人网| 色亭亭五月天丁香综合AV - 百度 - 百度| 五月婷婷狠天天色综合| 精品一区二区三区四区五区六区介绍| 轮奸综合网| 九九色图| 那里有AV网址| site:picc-up.com| 99色区| 丁香午月AV中文字幕| www.久久爱| 丁香六月开心| 狠狠干综合网| 秋霞性爱AV| 97色色婷婷| 婷婷五月综合国产精品| 五月婷婷,六月丁香| 99热精品免费在线观看| 天天色天天爱天天爱天天爱y| 丁香五月婷婷色偷偷| 五月激情偷拍| 欧美日韩成人在线网| 激情五月综合网最新 | 色吊操色妞| 激情国产五月| 欧美、日韩、中文、制服、人妻| 色婷婷69| 热热久久精品视频| 婷婷五月天在婷| 狠狠人人婷婷| 五月丁香五月综合欧美| 9久久狠狠的| 五月天综合在线| 狠狠婷婷日韩| 五月天另类图片区99| 久久综合性| 2020久久婷婷五月| 美女五月天| www.色综合| 婷婷五月花| 月色色综合婷婷网| 这里只有精品视频222| 婷婷婷色五月| 五月六月婷| 人人摸人人搞| 久久综合五月情| 永久免费视频| 婷婷五月天天天日日夜夜| 亭亭五月激情亚洲在线| 97韩国久久电影院| 日本三级日本三级99| 99re8在这里只有精品| 免费视频WWW在线观看网站| 91欧美日韩| 久久综合丁香五月| 欧美成人网99网| 色色色图| 婷五月天| 777久久综合视频| 激情五月婷婷五月丁香五月开心五月| 婷婷五月天影院| 日本123区日韩欧美不卡在线看| 丁香婷婷久久| 狠狠xx| 99久久久| 久久色五月| 天天AV导航网| 国产操碰| 亚洲色综合色网| 色久婷婷网| 日本色久| 色婷婷影视99| 婷婷丁香人妻| 国产99热| 97干视频在线| 五月婷婷综合久久| 插插插丁香五月婷婷| 激情五月婷婷伊人| 97色色色| 婷婷五月天堂| 五月丁香婷婷欧美| 97伦乱| 六月丁香五月激情亚洲AV| 五月天综合在线观看视频| 久久97久久99久久综合欧美| 艹天天射| 婷婷激情小说| 精品一区二区三区免费毛片爱| 大香蕉五月婷婷| 五月天自拍视频| www.色婷婷| 综合久久影院| A1片久久久| 月丁香久久久| 五月丁香婷婷激情澎湃四射| 国产AV一区二区三区日韩| 91碰碰| www久久99| 99操免费视频| 五月婷婷九九热| 成人VAV视频在线观看| 91精品国产综合久久密臀| 五月婷婷色| 很很操96| 疯狂做受XXXX高潮A片| 久热这里只有精品性色AV| 婷婷五月天激情小说| 午夜九九九九九九九九九九九九九| 99er热精品视频| 五月天另类小说久久小说网| 五月婷婷欲色| 91婷婷丁香五月亚洲| 99爱免费在线观看| 婷婷99狠狠躁天天躁| 久鲁鲁色网| 丁香五月成人| 五月丁香六月停停| 久久精彩视频18| 欧美狠狠地| 久久青草国| 狠狠狠色激情综合适合| 五月天婷婷色情| 久久人人九| 在线中文av| 婷婷五月天av| 丁香五月AV综合激情| 桃色五月婷婷| 天天色视频| 五月婷婷熟女| 99自拍视频| 丁香婷婷啪啪啪| 日本nghangse中文字幕| 久久思思热| 99热91| 色婷婷小说| 天天摸人人摸| 人妻久久婷婷| www.99热| 色婷婷基地| 人妻中文字幕精品| 成人精品在线| 激情5月婷婷狠狠干| 狠狠干最新地址| 天天爽天天日| 丁香婷婷激情综合五月激情 | 九月婷婷综合网| 五月丁香六月婷婷久久肏| 九九香蕉网| 河北真实伦对白精彩脏话 | 欧美大香蕉视频| 天天做天天爱天天摸| 日韩黄色影院| 欧美日韩成人在线网| 久久精品爱爱| 国产探花一片区| 婷婷丁香成人| 婷婷中文字幕版| 日韩美女羞羞网站在线观看| 五月婷激情| 成人色色视频| 丁香九月激情| 熟妇人妻中文字幕无码老熟妇 | 色99在线| 日本色狠狠| 婷香五月网在线| 97人人操com| 91一起操| 天天综合精品| 婷婷六月天精品| 亚洲综合久| 色色综合热| 国产FREESEXVIDEOS性中国| 五月天婷婷綜合院| 79色色色色| 日韩一区二区三区无码| 婷婷中文无码| www.久久婷婷| 操碰99在线视频观看| 日本乱子人伦在线视频| 亚洲综合色色| 丁香五月婷婷网| 五月婷婷色丁香| 超碰丁香五月| 精品一二三区久久AAA片| www.91九色| 六月丁香社区| 337p午夜影院| 五月天丁香六月综合| 丁香五月www| 丁香九月激情| 婷婷五月天BBw| 开心五月婷婷六月丁香| 国产成人av在线| 青青草五月天| 激情五月综合网丁| 性无码专区无码| 开心五月婷婷激情| 在线观看婷婷5月| 激情婷婷黄色五月| 午夜精品久久久久久久爽| 99精品在线| 婷婷五月综合色拍| 九九热这里| 婷婷亚洲色| 国产精品-第3页-91JQ就要激情网91JQ5.JQJQ926.XYZ | 天天色天天日| 色婷婷网| 婷婷99热| 综合色影院| 天天干夜晚夜操| 丁香五月天的网址。| 襙比视频| 日韩av在线电影| 激情五月综合久久| 婷婷狠狠18禁久久| 色综合久久88色综合天天99| 婷婷99狠狠躁天天躁中| 五月婷婷激情久久| 啊V视频在线观看| 国产激情视频在线观看| 99久久精彩视频。| 怕怕av| 久热最新视频| 激情五月色在线播放| 淑女丝袜bi操逼123| 99热国产免费| 香蕉国产2013| 婷婷激情图片| 爱超碰性| 丁香狠狠操| 精品99在线看| 五月丁香 六月婷婷a| 热久久成人| 日日操,夜夜撸| 色婷婷五月视频| 夜夜操狠狠操| 九月色婷婷| 无码激情AAAAA片-区区| 91五月花丁香| 婷婷激情在线| 在线VA视频| 色婷婷丁香五月天| 91九色在线视频| 婷婷五月婷婷| 99在线资源视频| WWW免费视频碰碰碰碰| 99开心五月五月丁香激情| 99热大片| 狠狠色大香蕉| 天天射影院| 91人人爽人人操| 丁香婷婷黄网站| 99在线视频精品| 久婷五月| 色婷婷成人做爰A片免费看网站| 五月激情综合婷婷| 成人在线视频网| 婷婷六月天精品| 五月丁香婷婷综合视频| 九九热精品在线| 欧美久人人| 综合欧美五月婷婷| 五月婷婷六月丁香激情| 色色色国产| 色婷婷欧美在线| 这里只有精品无码| 五月婷婷六月丁香| 欧美人人女女精品综合五月天| 99色在线视频观看| 色99网站| 人妻丰满精品一区二区A片| 蜜桃婷婷狠狠久久综合| 热久久成人| 99网99热| 大香蕉五月婷婷丁香| 五月婷婷三级| www色综合| 激情av| 亚洲99在线| 九九色99| 开心五月激情网| 99九九视频| 人人做天天爱| 综合网色| 久艹大香蕉| 久久思思精品| 国产日韩精品SUV| 激情另类综合| 狠狠搞狠狠操| 五月天丁香婷婷视频网址| www色色com| 亚洲激情综合| 人妻免费网站| 少妇婷婷五月天| 性爱视频99| 97影院一级片| 九九热最新视频| 超91热| 激情五月婷婷在线区| 中文字幕永久在线| 超碰在线观看9| 婷婷五月天激情免费在线观看| 亚洲亚洲人成综合网络| 天天弄天天爽| 在线另类| 九九AV在线| 色色色五月婷| 色五月天丁香婷婷色| 婷婷五月丁综合| yazhoujiqingav| 五月婷高清视频| 五月婷婷影院| 人人草公开操| 亚洲热久久| 色婷网| 色人久久| 大香蕉啪啪| 超碰成人在线观看| 六月丁香综合| 日韩在线视频网站| 久久综合首页| 六月色播| 人人操日| 美女五月天| 狠狠色丁香久久久婷| 激情亚洲网| 天天艹天天综合网| 天天爽天天| 99在线观看精彩视频| 99久久9| 91精品熟女| 欧美电影在线观看| 白天AV月月| 婷婷伊人久久无码色五月| 九九久久99| 99日热在线视频| 亚洲亚洲永久无码777777| 国产精品成人网址| 狠狠做婷婷| 国产97色在线 | 日韩| 97婷婷狠狠| 91操碰| 97五月天| www.五月丁香av| 久久99免费视频网站| 丁香五月Av| 超碰免费大香蕉| www.婷婷五月| 6080av| 人五月天婷婷喷水| www色五月| 亚洲99综合| 色五月丁香总合网| 亚洲综合网在线| 五月天综合激情网| 五月丁香激情怕怕| www.婷婷五月天| 久久这里99| 97热九九| 婷婷六月啪啪| 综合在线丁香五月| ady狠狠入| 婷婷91| 99热综合在线观看| 久久99日本精品视频免费观看| 综合五月天| 思思色播| 黄色av高清| 九九热99视频| 怡红院院久久| 99碰| 性做爰1一7伦| 五月天色不卡| WWW色五月天| www.九九婷婷| 婷婷五月天成人| 丁香五月婷婷激情中文| 9久热免费视频99| 99精品偷自拍| 五月丁香六月天| 亚洲激情网站无码| 激情婷婷网| 97精品综合| 婷婷色正月| 欧美丁香婷婷天天操| 东北熟女视频99| AV人人操| 六月丁香VA| 亚洲天堂亚洲色色色| 99re在线免费视频| 99热自拍| 天天日天天插| 思思综合热| 婷婷永久在线| 精品视频网| 在线只有精品| 久久久婷婷五月亚洲97号色| 五月社区婷婷激情| 丁香六月啪啪啪| 午夜在线成人网站免费观看| 色色色免费视频| 国产va视频| 亚洲九九在线| 亚洲夜五月| 99热1| 草久私拍| 被强行糟蹋的女人A片| 婷婷丁香花五月天| 色吧五月婷婷| 激情五月婷婷在线区| 精品在线网站| 久久婷婷资源| 99人人爽| 激情又色又爽又黄的A片| 性色婷婷| 五月婷婷69| 五月天久久www| 丁香五月婷婷亚洲色图| 大香蕉狼人久久| 久久久久视剧HD| 1024国产在线| 另类图片五月天| 六月 丁香 视频| 五月天婷婷免费| 国产激情综合五月久久| 色婷婷在线视频综合| 天天日,天天射,天天插| 99re免费精品视频| 五月婷婷日| 人妻在线网站| 久久日婷婷| 色色色九九九五月婷婷| 无码AV免费精品一区二区三区| 伊人婷婷五月天| 日本激情91| 久久WW| 日日夜夜狠狠| 五月婷婷在线视频观看| 丁香涩涩爱| 久久99免费视频| 99热这里只有精品官网| 六月丁香婷婷色69| 五月综合在线婷婷图片| 天天日人人| 2023天天日夜夜爽| 99国产小视频免费观看| 亚洲五月丁香综合网| 五月丁香香蕉| 久久久久妻| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 婷婷五月天天| 97超碰婷婷五月天| 影音先锋91网站在线观看| 中文字幕无码人妻少妇免费视频 | 国产SUV精品一区二区883| 开心五月激情网| 亚洲国产精品二二三三区| 99热这里有精品| 婷婷色色亚洲| 婷婷热色| 亚洲自拍天堂| 日韩色五月| 91超级碰| 狠狠狠狠免费| 新激情五月开心五月婷婷五月丁香五月| 无码天天操| 婷婷丁香激情五月| 激情婷婷网| 色婷婷综合网| 亚洲啪视频| 婷婷五月色天| 精品一二三区久久AAA片 | 精品在线网站| 蜜臀av无码久久久久久久久| www。88热在线视频免费观看| 日本婷婷综合精品| 色久免费| 狠狠色五月天| 99热综合| 欧美成人AAA片一区国产精品| 东京热五月婷婷| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 99久操| 丁香五月香蕉在线| 森林影视大全,最好看的2019年视频| 99免费视频在线观看爱| 成人色图情色成人网 www.5b5b5bcom 五月天| 4438激情网| 婷婷五月综合在线| av免费在线观看0| 日韩99视频| 都市激情蜜桃婷婷五月天| 久久婷婷在线| 超碰在线超碰| 99色热| 狠狠色狠狠色综合日日91| 99久在线精品99re8| 五月丁香福利| 丰满少妇乱A片无码| 欧美123区免| 激情婷婷五月天。| 久热a| 五月天婷婷av| 婷婷丁香六月天| 日本97在线视频| 丁香桃色综合网| 婷婷丁香五月综合| 九九伦子片| 五月天最新网| 99热66| 99综合入口| 秋霞三级色戒| 五月色亚洲| 婷婷五月花| 大香AV| 69午夜成人影片| 97碰碰视频| 婷婷在线网| 亚洲第一黄网| 在热视频精品| 26uuu欧美| 久9精品| 天天操天天谢| 第四色五月天| 欧美日韩五月婷婷| 中文字幕丁香五月| 亚洲视频五区| 色色色1网址| 婷婷五月天无码熟女| 五月丁香啪啪网| 亚洲三A| a在线观看| 黄网在线免费| 中文网AV| 色五月色图| 九九美女视频| 婷婷免费无视频| 日日爽夜夜爽| 超级碰碰91| 丰满熟女人妻一区二区三| 亚洲无AV在线中文字幕| 亚洲啪视频| 九九热精品视频在线观看| 黄色网址五月婷婷| 欧美日韩大黄| 激情婷婷五月| 久久总和99| 激情五月婷婷综合| 99热超碰人| 五月天婷婷爱丁香中文字幕| 国产成人av在线| 九月色婷婷综合| 热久久99热欧美国产亚洲| 久久久天堂国产精品女人| 婷婷五月亚洲激情| 97精品综合久久| 第五婷婷伊人丁香色| 99热精品中文字幕| 六六久久黄色| 久久综合天天综合| 激情五月婷婷| 婷婷六月爽| 婷婷五月综合激情| 天天日天天狠狠操| 丁香五月伊人| av中文在线| 色婷婷久久| 婷婷丁香六月| 久久婷婷六月综合| 丁香五月91| 亚洲六月婷婷| 天天久综合网永久入口17v| 影音先锋91资源站| www.9797国产| 色五月婷婷综合在线| 《久久综合九色综合97婷婷| 五月丁香六月婷婷网| www.激情五月天.con| 久久爱婷婷| 女人天堂久久| 中文字幕人妻在线| 91久久久久久久久久久| 六月丁香啪啪| 久久婷婷成人视频| 影音先锋女人AA鲁色资源| 午夜性爱影视一区77| 日韩欧美成人一区二区三区|