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

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
返回資訊列表
99久久精品国产色欲| 五月丁香999| 99精品视频在线观看| 丁香五月香蕉| 五月丁香婷婷激情四射迷人| 在线观看免费观看在线9久| 操逼棍操逼| 精品99在线观看| 亚洲va成人va成人va在线观看| 久99久热只有精品国产99| 四色五月视频| 大香伊人婷婷影院| 丁香综合日产精品久久| 最近中文字幕大全免费版在线| 婷婷五月综合啪| 亚洲另类婷婷综合| 天天操人人干| 久久人妻伦理| 99视频在线精品免费观看2| 婷婷五月丁香av网站| 综合婷| 26UUU精品一区二区| 亚洲色视频| 亚洲色激婷| 激情图片久久| 碰97久久| 色五月综合在线| 热婷婷av| 五月天激情综合网| 免费看成人747474九号视频在线观看| 色婷婷影音| 午夜成人片400| 日日噜噜夜夜狠狠久久丁香六月| www.黄色片-久久成人国产精品在线播放-999AV | 天天爽爽日日做做| 五月天啪啪视频| 激情99| 九九久久视频| 婷婷五月激情天| ss99热| 激情综合播播| 五月激情六月| 天堂婷婷丁香六月网| 日本婷婷网| 五月天亚洲图片婷婷| 国产免费av在线| 九九美女视频| 五夜婷婷| 婷婷区日本| 99视频色在线观看| 99久久思思| 99热这里只有精品21| 狼友视频在线观看18| 99人人精品| 六月色婷婷综合影视| 五月婷婷 自拍| 色婷婷亚洲综合网站| 人妻日日日| 最近免费中文字幕大全高清大全1 免费看欧美成人A片无码 | 99久久婷婷五月| 99视频日韩| 大香伊人久色| 五月丁香花激情综合网| 婷婷丁香五另类网站| 五月婷高清视频| 激情五月网站| 五月色丁香| www.久久av.com| 色女伊人| 狠狠搞综合色| 五月天六月婷婷| 天天摸天天透天天舔| 婷婷激情图片| 99操99| 极品人妻VIDEOSSS人妻| 久久九九re热| 人妻爽爽爽久久久久久久久| 51avj视频大全| 狠狠操狠狠插| 亚洲电影在线观看| 久久婷婷五月综合精品蜜芽| 天天综合五月| 激情综合啪啪| 亚洲传媒在线观看| 综合亚洲六月婷婷在线| 九九热这里| 人妻视频在线| 一区二区无码视频| .操區COm| 热九九在线| 深爱婷婷色| 人人舔人人| 久久久WWW| 怡红院AV亚洲一区二区三区H| www色哟哟| 色玖玖综合网| 情久久综合五月天| 男同91| av第一二区| 狠狠色丁香五月婷巨| 无码G高清天| 天天日 天天草| 色播丁香| 色欲五月婷婷| 激情五月婷婷五月丁香五月开心五月| 国产毛多水多女人A片| 丁香六月婷婷久久亚洲天堂| wwwxxx五月婷婷小说| 综合久久高清| 91丁香婷婷综合资源| 二人电影免费版在线观看| 婷婷深爱五月天| 99精品视频在线观看| 狼人伊人天堂| 五月丁香六月激情综合在线| 五月天综合在线| 91oumei| 欧美综合婷婷欧美综| 欧美这里只有精品| 亚洲AV电影美洲AV电影| 亚洲AV成人无码久久精品老人法拉利| 国产毛片精品一区二区色欲黄A片| 九月婷婷激情| 99热国产免费| 色综合久久无码| 激情五月激情综合网一级丸片| 国产成人AV在线播放| 激情网 久久| av大香蕉| 亚洲激情五月天| 日韩一级网站| 色吧婷婷| 久久五月激情综合| 九九久久99精品免费观看www| 九色综合网| 色婷婷五月天av在线| 操九色| 99色在线观看视频者| 日本丁香五月| 亚洲精品无码久久| 狠狠色官网| 深爱五月最新网址| 男人先锋久久| 色狠狠色噜噜噜a天堂一区| 五月亭亭开心网| 婷婷久久图片| 丁香五月婷婷网| 久久99人人| 91嫩草国产线观看亚洲一区二区| 婷婷六月综合在线| 国产特级毛片AAAAAAA高清| 天堂在线9| www.ppypp| 中文字幕人妻熟女在线| 婷婷六月丁香激情综合| 色综合99| 激情的五月| 久久婷婷五月天| 97亚洲婷婷| 少妇人妻综合色6699| 青草青草视频2免费观看| 9九热视频| 五月丁香色情| 伊人丁香六月婷婷| 男女啪啪做爰高潮无遮挡| 久久婷婷热| 第四色五月婷婷| 婷婷五月精品中文| 5月婷婷6月六月丁香| 色约约视频一区二区三区四区五区 | 天天干天天干天天操| 婷婷综合丁香| 婷婷丁香色无五月| 六月激情婷婷综合| 婷婷啪啪| 亚洲精99| 婷婷丁香18| 天天噪夜夜爽| 五月婷久久综合| 丁香狠狠色婷婷久久无码视频| 97干资源在线观看| 五月婷婷综合久久| 欧美亚洲999| 狠狠色色| 99色最新在线视频网站| 成人Av在线大片| 色色色婷婷五月天| 婷婷五月天成人动漫| 国产人妻777人伦精品HD | 老司机伊人| 五月丁香日本一抹本| 激情小说在线视频| 99这里只有精品在线观看| 夜色五月天| 精品A√| 操婷婷久久| 激情五月综合| 五月丁香爱婷婷深深| 欧美成人精品A片免费一区99| 五月情综合| 999热视频精品99免费在线| 婷婷五月天亚洲综合| 91成人看| 狠狠干夜夜干| 日韩在线五月天婷婷| 综合精品啪啪| 久久怕怕视频| 五月天亭亭俺也| 激情婷婷在线中文字幕| 嫩BBB搡BBBB榛BBBB| 天天草天天日| 五月丁香91| 粉嫩AV久久一区二区三区| Www.激情| 婷婷激情五月吧| av中文字幕免费观看| 亚洲色网址| 丁香五月激情宗合| 激情五月婷婷啪啪| 疯狂做受XXXX高潮A片| 综合婷婷都市激情| 丁香婷婷五月天色播| 久久九九一區| 国产精品涩涩涩视频网站| 99er热精品视频| 久久久久9999| 五月丁香六月婷婷综合| 思思99热| 丁香大香蕉| 色视五月天婷婷| 五月婷婷97| 五月丁香亚洲综合| 色综合另类| 激情综合五月激情XXXX| pom538精品视频| 熟妇内谢69XXXXXA片| 色婷婷五月综合在线| 五月丁激情| 97干网站| 91N 一起草| 开心五月深爱五月| 亚洲成人AV在线观看| 在线色五月婷婷| 五月天婷婷社区久久综合| 丁香六月婷婷| 亚洲永久四色| 日韩在线视频网站| 五月天.com| 欧美激情xxxXX| 亚州综合色| 久久9热好| 日本久久精品| 大香蕉久久久| 色婷六月| 中文成人在线| 激情五月天com| 99久久婷婷五月天| 婷婷爱综合| 久久久久网站| sewuyuetingtingiii| 五月日韩中文字幕| 日韩黄在免| 性爱综合网| 播五月开心婷婷欧美综合| 狠狠干思思热| 九九久久视频| 五月激情五月婷婷五月天在线| 亚洲99激情| 99久久99九九99九九九| 啪啪激情网| 婷婷综合在线视频| 九色PORNY在线精品酒店| 久久丁香综合香蕉| 有码一区二区三区| 97成人在线视频| 一本色道久久88综合日韩精品| 婷婷在线精品| 日本五月婷婷| 激情综合婷婷| 国产又粗又大又爽又黄| 亚洲国产精品VA在线看黑人| 精品夜夜澡人妻无码AV| 超碰在线caop| 婷婷中文综合网| 麻豆观看夏晴子| AA片在线观看视频在线播放| 精品一二三区久久AAA片| 五月婷婷综合激情| 日日综合网| 六月丁香五月激情婷婷| 99爱在线视频观看| 狠狠高潮精品亚洲1| 六月丁香社区| 五月天天天天天天天天天天天婷婷婷| 婷婷五月天网址| 欧美Va婷色| 99精品在线观看视频| 色五月在线播放| 亚洲99精品欧美一区| 狠狠草狠狠草| 综合久久97| 中文字幕在线播放视频| 丰满人妻一区二区三区| 2018夜夜草| 亚洲丁香五冃97色| 久久 无毛。| 久久宗合影| 久久婷婷人人| 丁香伍月婷电影全集| 久久艹 五月天| 五月丁香久久激情综合| 玖玖婷婷色五月| 99久操| 婷婷爱爱蜜臀天天操| 8区视频在线| 丁香色色网| av中文在线| 无码网| 欧美天天性| 丁香五月无码| 日本片日本片祼观看网站在线看中文版网页在线看 | 玖玖资源站国产| 激情婷婷五月天伊人在线观看 | 国产精品久久欧美久久一区| 国产人人操| 婷婷欧美激情| 激情六月丁香综合| 婷婷五月天激情基地| pom538精品视频| 99久热这里只有精品| 成人片黄网站色大片免费毛片| 色青青电影色五月| 久久久99视频| 欧洲综合色| 狠狠操综合| 色99网| 成人在线观看精品| 综合性爱网| 天天摸天天爽| 五月天色丁香| 激情五月丁香五月| 五月色激情综合网| 激情小说婷婷小说| 99热这里只有精品5| 五月在线| 色色丁香五月天社区| 综合亚洲六月婷婷在线| 五月开心色| 五月婷婷片| 五月丁香婷婷欧美色图视频五月丁香777电影 | 婷婷激情小说| 色婷婷性爱| 丁香五月婷婷五月天在线| 亚洲综合狠狠艹| 午夜免费试看| 九久热| 欧美天天爽| 天天草天天摸| www.wuyuetian啪啪| 爆乳熟妇一区二区三区爆乳照片| 1995年关宝慧版蜘蛛女| 亚洲色热| 91久久| 亚洲第一视频 久久| www色婷婷| 丁香六月综合| 五月六月激情婷婷| 国产 码在线成人网站| 欧美一级毛卡片无码| 热九九在线| 激情五月婷婷| 久久婷婷综合色丁香| 五月 丁香 欧美| 超碰成人在线观看| 久久婷婷夜| 久久成人综合五月天| 91精品婷婷国产综合久久| 五月婷狠狠| 午夜理论片最新午夜理论剧| 这里只有精品免费| 五月婷中文字幕| 亚州操人在线视频| 99riAV成人在线视频| 99re这里只有精品9| 久久总和99| 色婷婷亚洲综合av| 激情五月天激情综合网| 五月天开心色色网| 五月天中文网| 五月丁香六月片| 色五月天.con| 久久精彩免费视频| 99re热视频这里只有综合亚洲| 蜜臀99精品| 婷婷干| AV美美午夜| 亚洲va综合va国产va中文| 五月色婷婷影院| 五月婷丁香| 九九久久污| 情婷婷五月天| 久久五月情| 丁香五月成人社区| 亚洲第一av| 色婷婷裸体色性在线| 老师高潮流白浆喷水的A片| 日夜夜天天| 亚洲国产精品VA在线看黑人| 婷婷五月精品在线| 超碰人人在线观看| 色色色色色色网站| 伊人网啪啪| 伊人五月天| 亚洲av无码精品色午夜| 九九色影院| 日本三级韩三级99久久| 天天色天天| 久久黄A片| 丁香六月婷| 五月丁了香蕉综合| 高清资源站日A美A欧亚…| 色婷婷丁香特级性爱视频| 天天日天天肏天天奸| 丁香婷婷五月综合影院| 久久性爱激情| 影视av久久久噜噜噜噜噜三级| 色婷婷丁香综合中文字幕| 日韩成人综合网| 九九香蕉网| 五月丁香色色网| 五月天免费色| 五月婷婷9| 久久五月天色婷婷| 最新热中文字幕| 热久久这里只有精品| 操日本人妻视频| 免费一区二区三区| 丁香五月在线自慰| xxx综合在线| 99热综合在线观看| 日韩另类| 狠狠五月天婷婷激情网。| 亚洲av电影在线| 久热亚洲| 婷婷五月天,影院| 超级碰碰99| 丁香五月人妻| 99热这只有| 九色七七| 亚洲第一色色色| 色婷婷呢狠禁久禁| 激情九月综合| 久久99这里只有精品视频| 久久久五月天婷婷成人网| 久久五月激情综合| 久久99久久99精品免观看软件 | 久草婷婷网| 丁香五月天堂网| 亚洲激情网| 五月婷婷很很色| 久久九九国产精品怡红院| 97色色色色色色色| 欧洲区自拍| 欧美va在线| 狠狠狠狠狠草| 久久激情网| 久久婷婷五月综合网| 九九碰九九爱97| 区区欧美你爱| 就是色婷婷五月亚洲色| 99久久五月婷婷| 69婷婷丁香午夜| 国产精品人妻在线网址| 麻豆观看夏晴子| 色色丁香婷婷综合| 久久久久人妻中文| 婷婷综合网站| 久久丁香九| 丁香激情五月| 色婷婷狠| 婷婷综合激情| www.俺去也com| 无码色色色色色| 婷综合六月| 天天操夜夜操| 欧美在线干| 久久这里都是精品| 九月色婷婷综合| www.99视频| 激情婷婷五月天丁香| 国产肥白大熟妇BBBB视频| 久久婷婷综合基地| 久久久这里有精品| 亚洲婷婷乱乱丁香| 天天爽,天天操。| 无码啪啪| 91婷婷丁香五月| 成人性生活免费观看。| 五月天开心激情综合网| 甈吧vv| 九九色婷婷| 狠狠草网| 日韩无码性爱| 另类亚洲电影| 影音 五月 婷婷 久久| 99精彩视频| 69久久99精品久久久久婷婷| 亚洲激情婷婷| 九九热精品6| 五月天综合区| 成人网丁香五月| 色五月丁香总合网| 天天搽天天射| 激情丁香久久| 99热欧美在线观看| 丁香五月六月久久综合| 天天操天天爱天天日| 色婷婷色情| 性爱网六月丁香| 伊人大香蕉毛片| 丁香五月之久操视频| 日本4399天堂中出| 五月天婷婷婷| 五月停视频天堂| 久久婷婷五月综合色丁香花| 99re视频在线播放| 丁香婷婷九月| 婷婷永久在线| 99性爱| 久久激情综合| 亚洲综合激情五月久久| 日韩免费视频| 91 九色大美女| 美国少妇性做爰| 天天插天天插| 色五月丁香A欧美com| 久久se 综合网| 五月天天丁香婷婷| 婷综合六月| 国内在线99视频| 狠狠色网| 日本久久婷婷| 天天人人综合| 九九婷婷五月天影视| 婷婷四色成人综合色视| 婷婷五月丁香手机在线视频| 日本色爽| 五月色婷| 人妻少妇色综合| 屁股翘好撅高迎合跪趴| av网站免费在线| 丁香六月婷婷色XXXXX| 亚洲激情五月| 97干在线| 婷婷六月久久| 欧洲亚洲精品| 99视频精品在线| 欧美韩国日本| 96色婷婷| 五月婷婷综合激情网| 欧美天天草人人草| 久久综合天天综合| 99视频激情四射| 久久婷婷五月| 亚洲网综合在线| 婷婷影院欧美| 亚洲国产精品成人免费一区久久久在线观看AAAA | 天天日天天做天天操| www.狠狠艹| 91操网| 丁香六月婷婷| 极品九九九九九九| 日日骑夜夜撸| 久热A| 婷婷的99视频网站| 96自拍视频九色在线观看| 色网站9| 久草五月婷婷| 黄涩毛片| 婷婷五月激情欧美| 国产精品色情AAAAA片软件| 六月婷婷青青青视频| 99久久99九九九99九他书对| 五月丁激情| 99色在线观看视频| 成人片黄网站色大片免费毛片| 免费观看高清无码| 婷婷色五月婷婷姐妹| 激情小说婷婷五月| 99热这里只有精品99| www久久久久久久久久久久久久久久久| 狠狠第四色| 亚洲五月婷婷在线| 99热天堂| 婷婷狠狠干| 婷婷99中文字幕| 精品99网站| 丁香五月91| 色色网站日本91| 狠狠爱综合网| 色五月在线播放| 婷婷爱五月| 久婷婷五月天影院| 精品皮股午夜AV| 五月婷婷综合网| 俺去婷婷 丁香| 久久综合热17c| 色婷婷先锋| 精品久久久中文字幕大豆网推荐理由| 五月婷视频久久| 思思热视频| 亚洲亚洲人成综合网络| www.狠狠操.co m| 丁香六月激情| 天天干com| 国产激情久久久| 97热在线精品| 九九视频这里只有精品| 久草热8精品视频在线观看| 大香蕉五月天婷婷| 五月丁香综合中文| 色婷婷AV久久| 天天日婷婷| 婷婷综合视频| 99久热| www.天天干| 成人AV播放| 婷婷激情综合无月| 狠狠干天天日| 九九久久综合| 久热黄色| 五月丁香色婷基地综合久久| 人。妻久久| 色天使久久综合| 五月深爱婷婷| 三男玩一女三A片| 热的国产99热| 色色国产| 亚洲五月天第一综合干| 婷婷午夜天| 久久久性爱视频| 99九九视频| 色五月,婷婷大香蕉| 婷婷综合色五月天| 国模九区| 久久 视频这里只有精总| 无码少妇高潮喷水A片免费| 免费AV黄在线播放| 三男玩一女三A片| 综合xx网| 亚洲A片成人无码久久精品青桔| 亚洲av综合在线| 伊人婷婷色激情丁香| 免费观看全黄做爰的视频 | 五月丁香狠狠爱婷婷综合| 久久96热| 成人国产网| 这里只有精彩视| 婷婷五月综合基地| 欧美成人A片AAA片在线播放| 六月婷婷AV| 亚洲激情久久| 色域五月婷婷丁香| 久久xx| 热九九在线| 777精品久无码人妻蜜桃| 婷五月天在线草| 色欧美一级| WWW.99热| 丁香 亚洲 久久| 精品久久久999| 久操操| 精品国产AV色一区二区深夜久久| 激情五月天之五月婷婷| 国产精品成av人在线视午夜片| 激情网五月婷婷| 国产99久9在线| 97人凄人人操人人爽| 国产成人网址| 午夜亚洲AV日韩无码| 色婷婷精品| 国产avapp 网| 99热国产| 一本久道综合色婷婷五月| 大香蕉Av在线| 色偷偷综合| 日逼免费视频| 久久激情五月网| 亚洲成人五月天| 五月天成人手机在线视频| 色综合9| 激情久久五月天| 亚洲久久视频| 天天肏在线观看| 伊人大香五月天| 奇米色大香蕉| 综合啪啪| 激情色情五月天| 亚洲啪啪网| 成人精品视频99在线观看免费 | 26uuu视频欧美| 婷婷丁香红五月91C| 免费播放片大片| www.狠狠操.co m| 色婷婷色五月综合| www.夜夜操| 色欲天天综合| 思思热闹这里只有精品| 伊人青涩网| 色婷婷在线视频| 人人爱人人摸人人澡| 大香蕉伊人久久| 性色九九| 天天做天天爱天天爽| www.久久av.com| 精热在线综合网| 日韩美一级毛卡片| 99自拍视频在线观看| 丁香六月情| 婷婷色播六月无码| 丁香婷婷91在线观看视频| 少妇人妻丰满做爰XXX| 色色99| www.十八禁不禁AV.com| 99热这里只有精品在线观看| 亚洲综合热| 六月色日韩| 五月开心久久| 九色成人AV在线| 五月天婷婷基地| 亚洲无码99| 九九偷拍网| 影音先锋美国A| 婷婷金品综合视频| 天天摸天天舔| 天天做 天天爱| 人妻性爱| 任你艹| 超碰av天堂| 两性婷婷丁香五月| 色99在线| 草草视频91| 婷婷的色色五月天| 久久性爱视频这里只有精品| 激情婷婷五月黑人| 99re思思| 婷婷啪啪| 日本超碰在线| 狠狠爱五月婷婷| 激情婷婷网| 久久久亚洲成人无码A片| 极品人妻VIDEOSSS人妻| 五月花婷婷| 九月激情网| 区美毛片子| 色婷婷五月天激情在线观看| 天天色激情| 狠狠久综合| 日韩五月天婷婷| 888精品福利地址| 天天爽人人综合免费7799| 99热综合色图| 吊色AV男人的天堂| 九九re视频在线视频| 六月丁香AV| 玖玖99婷婷| 久久大香蕉丁香| 无遮挡国产高潮视频免费观看| 亚洲综合色婷婷| 九九久久网| 91啪啪| 久操热| 色婷五月| 99精品视频网站| 91色婷婷综合久久中文字幕二区| 99色干| 久久网日本| 六月婷久久| AV在线免费播放| 天天综合网91| 亚洲操b| 色色无码| 强壮公让我夜夜高潮A片视频| 91丨九色丨东北熟女| 人妻久久久久久久久久久| 这里只有精品视频一区| 思思国产99| 99久久极情精品一区| 婷婷丁香五月亚洲17cao| 色综合伊人网| 天天射美女| 思思热精品在线| 亚洲精品99| 成人做爰A片免费看网站找不到了| 青青久在线视频免费观看| 欧美A级成人婬片免费看理论| 日操熟女| 九月丁香八月婷婷久久综合久97| 久久婷婷色综合| 亚洲成人综合在线| 婷婷五月丁香影院| 99热日本| 99视频精品在线| 伊人激情综合网| 五月天激情综合| 亚洲欧洲另类图片| 99九九热视频免费| 色五月综合在线| 热无码A∨| 天天色综合网吨吧| 日本色色网站| 99视频| 午夜伊人大香蕉| 五月亭大香蕉| 99精品激情| 99爱免费在线视频| 婷婷五月婷婷| 丁香在线视频| 日本色色视频| 激情婷婷丁香五月天| 九九sese| 丁香五月天在线| 久热九九| 久久久无码精品成人A片小说| 六月婷婷开心| 免费一区二区三区| 精品婷婷| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 五月婷婷深深爱| 五月丁香综合啪啪啪啪啪| 亚洲精品久久久久久久久久吃药| 热99免费在线| 99久久66综合| 99精品一二三四视频| 亚洲视频在线观看99| 狠狠插狠狠操| 无码99| 婷婷中文网站| 五月婷婷伦理| 丁香五月在线播放| 天天干天天插| 五月叮香啪| 日本精品。999| 五月天婷婷AV| 熟女强人妻一区二区三区四区无| 五月婷啪啪| 五月婷婷色吧!| 日韩另类| 婷婷WWW久久| 激情五月深爱五月| 一丁香五月天月AV| 日产精品久久久久久久蜜臀 | 日本色爽| 亚洲天堂婷婷丁香| 99热亚洲| 午夜色丁香| 激情深爱五月天| 97超级操操| 五月婷综合性中心| 狠狠干狠狠色| 第五婷婷伊人丁香| 丁香五月天婷婷中文| 激情四射五月天| 综合激情九月婷婷,激情综合婷婷中文字 | 久久人人添人人爽添人人片αV| 无码激情| 婷婷久久丁香| 久久婷婷五月天大香蕉| www.五月天婷婷.com| h亚洲| 国产女人十八水真多1| 99成人网站| 国产67194| 五月婷婷婷| 五月天激情视频五月天| 亚洲另类电影| 色欲九区| 天天做天天爽| 91九色 熟| 国产五月婷| 色噜噜狠狠色综合日日| 激情av| 婷婷涩涩五月天| 综合久久首页| 丁香五月婷婷激情中文| 国产成人精品一区二三区熟女在线| 妇激情基地| 成人av在线电影| 亚洲综合另类| 婷婷五月激情小说| 97碰 在线视频观看| 五月天婷婷乱| 人妻内射一区二区在线视频| mmm1717.6dbm人人爱人人操| 六月婷婷五月天| 婷婷精品视频| 成人av免费观看| 黄色三级日本| 婷婷丁香宗合888| 丁香五月AV| 九九性爱网| 天天干天天插| 久久婷婷亚洲| 337p大胆噜噜噜噜噜91Av| 99热99久久| 久久久99视频| 综激情网| 九九香蕉网| 久久丝丝热| 99热在线播放| 99热精在线九九久久保| 丰满老熟妇BBBBB搡BBB| 婷婷五月天,影院| 搡BBBB搡BBB搡18 | 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 九九国产精视频| 人人操AV| 开心婷婷五月花| 韩国中文字幕91| 六月丁香好婷婷| 丁香五月伊人| 99这里只有精品|v| 五月丁香六月婷婷久久| 97干欧美| 五月天婷婷色| 丁香九月婷婷| 插插五月天| 九九热内射| 久久五月丁香| 激情伊人| 色五月婷婷网| 91大屁股| 亚洲另类毛片| 粉嫩av懂色av蜜臀av熟妇| 欧美在线干| 麻豆AV一区二区三区| 欧美另类五月激情| 变天就操逼婷婷五月| 日本色色网站| 1024人妻| 超碰成人黄色网| 玖玖资源在线视频| 97在线碰| 九九视频在线观看视频6 | 热的无码综合视频| 色色色色色五月| 婷婷综合久久| 热热久久久久久久久| 亚洲在线成人| 99热在线播放| 99色色最新视频| 国洲夜色亚热在线久久| 久久综合九九| 日逼免费视频 | 丁香五月激情婷婷视频| 色欧美一级| 99热这里只有精品5| 狠狠做五月| 春色激情| 久久婷婷综| 国产探花AV在线| 麻豆雪千夏| 激情五月婷婷| 久久这里只有精品8| 激情综合五月丁香| 一区二区三区四日本| 狠狠干在线| 欧美A级成人婬片免费看理论| 五月天天爱| 五月丁香猫咪久久婷婷综合视频激情四射网入口| 无码日本精品XXXXXXXXX | 热99这就是精品视频| 精品在线| 婷婷丁香五月天操逼| 丁香激情网| 五月丁香色| 免费日韩99| 99九九热视频| 成人无码髙潮喷水A片| 2025天天日爽| 678五月丁香亚洲综合| 久99久99精品免| 风流少妇A片一区二区蜜桃| 丁香五月成人| 六月天六月婷| 丁香婷婷基地| 九月婷婷综合色干| 99热在线播放| 深爱五月天| 九九久久99| 超碰99在线观看| 99热在线播放精品| 五月婷婷综合网| 91九色精品| 久久这里只有精品1| 激情欧美婷婷| 五月丁香婷婷啪啪网| 99热 精品在线| 美日韩成人| 色婷婷久久综合中文久久一本| 五月激情另类| 成人五月丁香社区| 婷婷五月天亚洲综合网| 天天日天天舔| 婷婷丁香五月麻豆| 狠狠操狠狠操AV| 五月婷婷免费| 夜夜躁狠狠| 久久99婷婷| 自拍视频99| 国产AV一区二区三区日韩| 日本超碰在线| 五月婷婷六月丁香五月| 另类激情网| www.五月激情红色| 久久五月六月| 久久丁香五月天| www.97干视频| 国产探花一片区| 婷婷丁香综合网| 色婷婷小说| 操骚货在线| 玖玖婷婷五月天| www.9797国产| 色五月天婷婷| 天天色天天爱天天爱天天爱y| 五月天激情中文字幕| 久色视频首页| 丁香五月天信号| 99色区| 91人妻色色网| 色播丁香| 久久丝丝热| 久/久精品99看9| 色综合激情| 色婷婷操逼| 99久在线精品| 久草a片| 99热九九在线| 五月亭久久无码视频| 密视AV综合在线| 婷婷六月丁综合| 色综合播放| 99久久天堂婷婷| 北条麻妃伊人 | 蜜桃婷婷丁香综合久久开心亚洲| 丰满少妇猛烈A片免费看观看| 欧美激情性做爰免费视频| 乱岳熟女50岁| 免费看欧美成人A片无码| 欧美激情性做爰免费视频| 欧美叉叉叉BBB网站| 成人无码髙潮喷水A片| 亚洲色爱综合| 人。妻久久| 97色色视频| 99热综合在线| 久久久97| 人人摸人人摸| 疯狂做受XXXX高潮A片| 久久久GOGO无码啪啪艺术 | 5月丁香综合网| 亚洲AAAA网| 丁香五月精品| 久久性爱视频网站| 亚洲成人无码网站| 99色婷婷视频| 99激情视频| 国产精品久久久爽爽爽麻豆色哟哟| 五月激情四射网站| 婷婷中文字暮| 丁香五月先锋| 五月天激情影院| 色色色色色级无码| 99热这里只有精品69| 欧美成人五月天| 久久视频婷婷| 久久九九热视频| 五月婷婷激情网| 日本在线观看99| 狠狠久久婷婷| 婷婷五月电影院| 婷婷激情五月天天天开心| 丁香婷婷五色月| 天天插,天天射| 色五月天丁香| 精品一二三区久久AAA片| 久久免费高| 伊人玖玖精品| 国产永久一二一起草| www.26uuu.com亚洲电影| 色色色色色网| 欧美在线视频99| 久99婷婷色综合| 婷婷五月天久久综合88| 天天日天天狠狠操| va亚洲中文在线| 亚洲区视频| 亚洲乱码日产精品BD| 97超级碰碰碰| 日韩欧美一区二区三区四区| 五月天久久丁香| 久久三级视频| 2025神马午夜福利| 97热精品| 全国最新疫情| 天堂五月婷婷| 亚洲精品又粗又大又爽A片| 91色欲综合| 婷丁五月| 久机视频这只有精品| 99精品综合| 伊人激情网| 久久99免费视屏| 人人爽亚洲| 99性爱视频| 野外99热| 精品国产va久久久久| 色噜噜狠狠插综合| www夜夜| 丁香五月天亚洲综合| 99色区| 亚洲九九视频| 色狠狠色噜噜AV天堂五区| 伊人久久大香线蕉av一区| 先锋男人99资源| 欧美大香蕉视频| 深夜婷婷 丁香| 香蕉综合网| 夜夜爱网站| 亚洲亚洲人成综合网络| 亚洲av日韩无码| 激情小说之五月| 色偷偷五月天| 天天综合色丁香| w婷婷五月婷婷w| 五月天婷婷在线播放| 无码一级片| 夜夜夜夜操| 久久精品这里只有精品免费首页| 99在线小视频| 久久婷婷五月综合色播| 狠狠综合久久| 日本97久久久精品| 五月天伊人手机在线播放AV| 丁香五月Av| 天天日天天插| 五月婷婷,狠狠操| 久热这里只有精品在线| 国产精品国产成人国产三级| 热久久91| 五月激情影视| 丁香五月瑟瑟| 加勒比色色| 婷婷大香蕉| 激情五月天啪啪| 五月丁香六月婷婷欧美综合| 日韩av一区二区在线/日产精品久久久| 337p大胆噜噜噜噜噜91Av| 久热这里| 综合久久8| 综合五月天天天天天五月| 五月丁香va| 99re热视频这里只有综合亚洲| 99热这里只有精品首页| 99色综合久久| 热久久99视频| 色色色色色综合| 五月丁香成人| 欧美色频| 99在线视频喷水| 亚洲最大五月六月丁香婷婷| yazhoujiqingav| 欧美性丁香色色五月天综合爱爱| 婷婷五月天精品| 丁香六月婷婷综合激情欧美| 久久看婷婷| 婷婷丁香五月色偷偷| 激情五月天社区| 性爱网六月丁香| 色色色色色色网| 波多婷婷久久| 五月婷婷丁香五月婷婷| 少妇水多A片太爽了| 五月久久噜噜| 五月婷婷影院| 久久视频这里都是精品| 涩五月婷婷| www.国产亚洲69ty.久久久久久久久久久久| 99九九久久| 亚洲国产精品二二三三区| 电影《战争与艾拉》免费观看| 五月丁香六月激情欧美综合| 啪啪91| 欧美婷婷综合| 婷婷免费精品视频| 成人精品在线| 99热无码精品| 亚洲乱码精品久久久久..| 六月丁香婷婷拍拍| 欧美色五月| 日韩av干| 婷婷大香焦| 思思精品热在线| 五月婷婷黄色毛片| 美欧成人视频| 成人婷婷| 色五月网址| 色色色视频免费无码| 狠狠精品干练久久久无码中文字幕 | 99啪啪网| 色五月丁香五月| 婷婷五月色| 五月天色婷婷视频| 97超美国视频在线观看| 99热在线只有精品| 丁香五月色五月| 色色色欧美| 婷婷五月天777| 亚洲欧洲美女在线观| www激情| 亚洲另类婷婷综合| 9+1视频网址| 久久婷婷五月天激情| 亚洲国产另类av| 精品女人九九九| 久久无码激情视频| 国产AV影片| 亭亭玉月丁香| 国产成人AV在线| BBWCUCKOLD精品熟妇| 婷婷五月激情在线视频| 色五月婷婷综合在线| 色色色网站| 久久AV电影| 91疯狂操操操操| 五月丁香色综合| 久久精品亚洲热| 黄网在线免费播放| 丁香五月婷婷五月| 情婷婷五月天| 97色久| 精品影院| 丁香色婷婷五月天| 99热精品在线| 91婷婷视频| 激情六月丁香| 五月 丁香 欧美| 一区二区三区XXXXXX| 五月婷视频| 丁香五月无码| 九九久久五月天综合伊人| 99国产精品久久久久久久久久久 | 欧美成人无码一区二区三区| 精品五月花| 久草天堂| WWW.色婷婷.COM| 婷婷色九月| 日逼AV影音先锋男人资源站| 久久WW| 久久久婷丁香五月| 91精品久久久久久久久| 无码少妇高潮喷水A片免费| 五月婷婷丁香五月 | 99在线精品视频在线观看| 亚洲色色色色色色色色色|