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
返回資訊列表
亚洲小视频免费看| 深爱婷婷丁香五月激情| 啪精品| 97丁香婷婷| 金桔一区二区ab地址| 91妻人人爽人人看片| 五月天激情视频| 丁香六月婷婷缴情欧美| 丁香狠狠色婷婷| 青草视频在线播放| 五月婷婷综合视频| 噜噜干日本| 青青草婷婷综合五月| 久久的爱大香蕉| AAAA亚洲| 99久热| 男人的天堂五月丁香| 国产精品久久..4399| 综合色在线| 成人短视频在线观看| 色综合综合色| 久久人妻情侣| 五月婷婷色男女| 91久久久久久久久久| 中文字幕丰满孑伦无码专区| 丁香五月综合| 五月丁香综合激情网| 激情六月日韩| 久色五月| 99热99re6国产在线播放| 色情五月天丁香社区| 免费一区二区三区| 天天射天天操天天干| 99九九精品| 日本五月天激情| 狠狠干五月丁香| 色五月 五月婷婷| 操日视频| 午夜激情综合| 亚洲99热| 99色中文| 五月情色天| 九九热精品| 色婷操逼| 99久久久久| 五月婷婷AV| 欧美综合五月丁香五月天| 91丨熟女丨首页| 超碰九色| 色播五月婷婷综合| 熟女重口味αV| 久久久久9| w婷婷五月婷婷w| 欧美 日韩 成人| 久久九九热re6这里有精品| 亚洲成人网站在线观看| 色综合久| 五月丁香婷婷欧美| 天天爱天天狠天天透| 99热这里只有免费| 日韩AV色色色| 久草热视频在线观看| 五月综合激情视频| 五月丁香好婷婷A片网| 亚洲视频在线观看99| 在线五月婷婷小电影| 综合另类激情| 亚洲无码黄色| 色婷婷av在线观看| 丁香六月婷婷基地| 另类国产欧美视频| 久久性刺激| 色约约视频一区二区三区四区五区 | 日本女天天爽| 另类国产综合| 99热这里只有精品首页| 色色色9| 婷婷久久色| 久热9| 欧美日韩成人在线| 色婷婷五月综合| 中国丰满熟女A片免费观| 丁香五月天视频| 欧美69久成人做爰视频| 大香蕉人人网| 色五月丁香六月资源站| 婷婷色情小说| 五月激情综合深爱| 日本三级中国三级99人妇网站| 另类小说色婷婷| 少妇性按摩无码中文A片| 97人人草| 在线日本www| 性爱人人网| 五月丁香六月激情综合| 婷婷丁香基地在线| 91精品国产91久久久久青草| 久久综合五月天激情小说网站| 爱iii做iiii日日| 3p久久| 成人网站av免费网站推荐| 三级三久久线久久99久目本WW| 99精品免费| www.91av.com| 五月丁香久久| 色色色色五月| 色色色热| 9191avse| 亚洲色色香蕉| 欧美人与性动交CCOO| 婷婷五月超碰| 逼逼AV| 亚洲久久激情| 99热只有| 91爱啪啪| 亚洲成人五月| 色狠狠婷婷| 日本韩国视频在线观看社区免费的9| 大香AV| 亚洲婷婷五月天在线激情综合网| 久久爱婷婷| 婷婷在线视频| 91精品人妻少妇无码影院| 色久婷婷五月| 人人做人人看人人摸| 九色无码| 欧在线一区| 天天搞夜夜爽夜夜爽| 色综合网综合| 丁香五月成人| 五月丁香狠狠爱| 亚洲av电影网站| 久久作爱| 婷婷娌伦网| BBWCUCKOLD精品熟妇| 五月丁香综合中文| 五月婷天天搞视频| 丁香五月婷婷色综合| 色婷婷在线播放| 亚洲视频伍月婷婷| 99操不停| 丁香五月天啪啪激情综和网| 丰满少妇乱A片无码| 激情综合网激情五月天| 综合久久99| 国产美女无遮挡裸体毛片A片 | 六月丁香激情综合网| 久久er99| 免费观看高清无码| 热99精品视频| 婷婷五月天 丁香五月天 裸体| 91天天操天天干天天射| 亚洲综合草草| 九九精品亚洲| www.五月天婷婷| 色九月丁香婷婷蜜桃在线观看| 狠狠操之狠狠操| 丁香激情五月| 婷婷综合在线网| 99热久久这里只有精品| 日本久久网| 精品人妻伦一二三区久| 日韩色色一区| 99热资源在线| www.五月天色色.com| 丁香六月婷婷色XXXXX| 国产亚洲精品AAAAAAA片| 欧美在线干| 成人在线综合| 91超级碰碰| 日本色超碰| 国产美女无遮挡裸体毛片A片| 丁香六月激情四射| 色综合婷婷| 丁香婷婷色九月| site:picc-up.com| 国产AV国片偷人妻麻豆| 99色视频在线观看| 五月婷婷亚洲天堂97色婷婷| 五月婷婷狠天天色综合| 亚洲乱码日产精品BD| 五月丁香六月在线欧美| www.超碰在线| 国产精品操| 五月天六月婷婷电影| av在线播放网站| 夜夜天天天天天干天天爽| 综合久| 日日噜人人人做人| 婷婷最新地址| 天天人人人人人人人人人人人| 丁香五月大香蕉AV| 色婷婷久久| 91精品久久久久久综合五月天| 97色婷| 久久99免费视屏| 人人摸人人| 91五月天| 欧美97超碰| 激情开心五月天婷婷基地丁香社区| 伊人狼人干| 成人视频婷婷| 丁香六月婷婷综合| se色婷婷视频| 中文字幕,综合,91| 丁香六月激情| 九九亚洲天堂| 美女五月狠狠| 丁香五月激情宗合| 久久综合五月天| 五月久久婷婷天堂视频| 色99在线| 九九热视频精品| 成人免费在线电影| 久久久99精品免费观看| 激情无码网| 欧美一级色| 国产美女无遮挡裸体毛片A片| 五月天激情.com| 五月丁香六月激情| 可以直接看的AV| 男女啪啪做爰高潮无遮挡| 五月丁香激情婷婷综合| 久久男人网婷婷| 色色色在线观看| 色色色色欧洲| 1024在线视频| 五月丁香啪| 九九色综合视频| 四射综合网| 亚洲美女高潮久久久久久69| 九九热亚洲中文在线观看免费| 亚洲蜜桃精久久久久久久久久久久| 五月婷婷基地| 在线国产精品色| 久久婷婷五月天丁香| 天天综合五月| 五月丁香基地| 中文网AV| 99免费热视频在线| 丁香五月伊人| 亚洲日韩一页精品发布| 五月丁香婷中文| 色久五月| 99热欧美在线观看| 五月丁香色婷婷久久| 性做久久久久久久免费看| 人人爽亚洲| 激情综合区| 综合久久十三| 国外亚洲成AV人片在线观看| 婷婷色九月| 思思热在线视频观看精品| 狠狠爱婷婷丁香| 五月天色婷好好| 久久99免费视屏| 久久婷婷伊人| 日本色色色| 久久这里只| 99精品视频免费在线播放| 91九色 熟| 97福利视频| 五月婷婷影院| 嫩草乱码一区三区四区| 色播丁香婷婷五月激情| 日本va欧美va精品发布视频| 另类视频一区| 精品牛仔裤超碰| 精品视频网| 亚洲V国产V欧美V久久久久久| 综合另类视频| 久9久成人精品视频| 99久久婷婷五月综合| 人操综合| 久久激情四射| 五月激情综合婷婷| 懂色av粉嫩AV蜜臀AV| 色婷婷丁香五月| 六月婷婷激情| 激情综合无码| 色人久久| 久久这里只有精品99| 97超碰在线免费观看| 天天搞天天色综合| 婷婷五月天激情网站| 色青青视频| 色色网站毛片| 久久婷婷午夜| 五月丁香婷婷钟和色图| 五月天大香蕉av| 激情第四色| 婷婷五月综合在线| 97色婷婷| 久久激情五月婷婷| 五月天激情小说欧美激情| 欧爱综合视频| 人妻久久久久久久久久| 丁香五月天成人| 深爱五月天 开心网| 婷婷舔| 天天插综合在线| 欧美噜噜免费观看| 色婷婷丁香五月天| 五月6香色婷婷视频| 九九99九九99九九99视频网| 亚洲综合在线伊人婷| 无码se| 青草视频在线播放| 日韩乱轮AV| 久久久大香蕉| 97操资源婷婷| 五月丁香六月婷婷姐| 天天色综| 青草视频在线观看视频 | 综合九九久久| 丁香婷婷色| 日本色图综合| 久久久久久xxxxx| 色婷婷五月影视| 99热99ai| 五月婷婷开心六月激情小说| 四月婷婷五月丁香| 久久九九热视频| 天天操综合网| 欧美日本不卡黄色片| tingtingseav| 97碰久久| 超碰AAAAAAV| 三级大香蕉网| 久99热在线观看| 免费亚洲婷婷五月| 思思热这里只有精品| 五月婷婷啪| 激情五月婷婷| 伊综合蕉| 久久xxxx| 这里只有精品69| 色XX综合网| 91色逼| 五月天操逼网| 免费观看全黄做爰的视频| 情欲禁地| 日本黄色在线观看| 婷婷五月天伊人在线| ss五月天激情| 99国产精品久久久久久久久久久| 天天色视频| 五月天福利影院导航| 激情综合在线播放| 天天爽夜夜爽夜夜爽精| 看片视频在线免费日产在线看| 五月婷丁香| 狠狠操狠狠色| 丁香婷婷五月综合影院| 成人网丁香五月| 激情综合亚洲色婷婷五月| 99在线精品视频| 大香蕉av在线| 91色吧网| 综合色色婷婷| www.五月丁香| 久久久久久久久久久44| 婷婷综合网在线| 久久久久这里只有精品| 国产乱妇无乱码大黄AA片| 久草五月婷| 亚洲精品色色| 婷婷五月天亚洲五码| 中文字幕无码人妻少妇免费视频| 国产综合A片| 国产激情综合五月久久| 五月天婷婷乱论小说| 激情综合色| 国产免费av在线| 新激情五月开心五月婷婷五月丁香五月| 超碰97免费在线| 五月婷婷综合激情小说| 五月色婷婷亚洲| 亚洲色婷婷五月天| 久久婷婷免费| 五月丁香婷婷无码A∨| 色五月大| 老师把我爽高潮了免费A片| 色五月丁香五月五月婷婷| 人人草开心五月天| 在线一起草av| 99精品7| 激情综合网激情五月天| 97碰碰在线看视频免费| 婷婷色色婷婷| 啪啪视频99| 激情五月天综合图片小说网站| 色婷婷五月在线| 99视频在线9| 噜综合| 99久久婷婷五月综合| 国产在线网址1| 亚洲舔观看| 97人人射| 五月婷婷色色| 这里只有精品1| 激情AV在线| 婷婷精品性视频| 欧美槡BBBB槡BBB少妇| 天天日天天做天天舔| 午夜成人综合| 1024婷婷综合久久五月天| 天天夜夜操| 亚洲永久四色| 99热婷婷| 久久ab| 五月色婷婷中文字幕| 综合网五月| WWW.五月com| 亚洲精品五月| 天天综合网~91| 99re这里只有精品在线观看| 天天干天天日蜜臀av| 五月丁综合在线观看| 久久99网站| 六月婷婷成人| 亚洲精品一区中文字幕乱码| 清色五月天| 日本乱子人伦在线视频| 丰满人妻一区三区三区| 亚洲AV日韩在线观看| 婷婷六月激情丁香| 91丨九色丨老熟女激情| 5月婷婷6月六月丁香| 性爱五月婷| 色久天| 午夜色丁香| 天天干天天日天天操| 婷婷日本色| 思思精品视频| www.91九色| 五月丁香999| 二色AV| 久久99热这里只有精品| 婷婷五月天激情在线观看 | 国产毛片精品一区二区色欲黄A片| 大香蕉伊人99| 丁香五月成人| 激情婷婷五月天在线观看| 1024在线一区| 婷婷色综合| 色域五月婷婷丁香| 在线99热| 人人爱人人摸人人澡| 狠干综合| 五月天婷婷社区| 青青草护士中出内射-欧美电影在线天堂新版 | 久久丁香五月婷婷激情综合网| 色九区| 伊人婷婷五月| 四月婷婷五月丁香| 激情五月婷婷| 六月婷婷五月天| 九色91视频| 五月丁香综合网| site:feetmall.com| 五月婷婷色啪| 丁香九月婷婷| 婷婷五月天成人小说| 九色 在线| 涩涩五月天| 国产一区男女| 991精品在线视频| 日本三级韩三级99久久| 无码 色| 玖玖爱资源站| 国产精品99久久久久久久女警| 激情五月www| 4399在线观看免费高清黄色视频| 97婷婷色| 综合婷婷都市激情| 五月婷婷就去色| 99干在线| 国产午夜精品一区二区三区嫩草| 五月天综合在线| 婷丁香久综合| 先锋资源婷婷| 狠狠色综合网| 99久久大片| 无码色色色色色| 国产精品24r| 色欲久久综合| 五月丁香淫淫婷婷婷| 开心五月六月婷婷| 久久久五月天网站| 2025神马午夜福利| 九九免费视频| 婷婷五月图片小说视频| 婷婷五月天直播| 久久91久久91色欲精品| 日本美女97在线视频| 日韩成人电影AV| 综合伊人狠狠| 五月天四色房丁香| 欧美噜噜久久久XXX| 色97啪啪| 色婷婷激情五月天丁香| 婷婷五月成人| www.97碰碰com| 久草xx性爱视频| 99免费成人网| 天堂A∨在线| 69久热| 激情内射人妻1区2区3区| 91在线日| 99热丁香| 草综合14| 99这里是精品| 五月丁香综合啪啪対白| 激情啪啪五月天| 色婷婷中文在线| 97婷婷丁香五月综合| 专区无日本视频高清8| 99视频久久| 激情五月色综合国产精品| 久久这里精彩免费在线观看| 91久久综合| 狠狠精品干练久久久无码中文字幕 | 九九精品碰| 五月婷婷丁香日韩在线| 99国产精品久久久久久久久久久| 成年人丁香五月| 91黄操| 日韩淑女人妻luan伦激情精品一区二| 第1影院之五月婷婷| 中文字幕无码人妻少妇免费视频| 色欲一区二区三区精品A片| 91视频一起草| 色六月婷婷| 五月婷婷六月丁香| 九九热只有精品| 69激情小说| 亚洲AAAA网| 午夜爱爱爱成人| 五月激情丁香五月宗合| 秋霞电影理论| 婷婷涩五月天综合| 99热国产这里只有| 亚洲欧洲自拍图片专区五月天| 亚洲激情av| 色欲丁香| 亚洲综合激情五月天婷婷| 色婷婷综合视频| 久热99| 五月综合视频在线| 亚洲五月丁| 婷婷五月天综合蜜桃| 五月丁香拍拍激情综合| 伊人网欧美在线男人天堂五月丁香 | 婷婷五月天小说| 久久er99| 99re这里只有精品首页| 天天爽天天摸| 无码髙清| 色五月丁香婷婷| 五月天激情综合网| 丁香五月综合婷婷| 激情小说五月天| 久久小视频| 色情成人五月天| 天天爱天天操| 大香蕉福利导航| 久久精品日| 开心五月婷婷综合在线精品素人| 9久热免费视频99| 成人在线日韩| 5月婷婷激情6月| 99热精品免费在线观看| 五月婷婷自拍视频| 9月色婷婷| 亚洲六月色| 五月丁香亭亭| www99xxxx五月丁| 99热综合在线| 欧美丁香六月在线观看视频| 思思热久久爱| 久久女人天堂| 久久色情| 亚洲欧美综合7777色亭亭| 欧美日本高清视频99| www.91九色| 丁香六月色情| 综合网激情| 五月丁香婷婷综合网| 强辱丰满人妻HD中文字幕| 九一牛视频探花| 玖玖爱伊人网| 久久激情五月婷婷| 青青草六月丁香| 婷婷五月天影院| 伊人久久婷婷| 1234操逼网| 久青青久| 99这里只有精品视频| 五月天久久婷婷| 亚洲综合色成丁香五月色| 色婷婷激情四射视频| 99热精品在线播放观看| 人人色婷婷| 色色亚洲| 色噜噜夜夜夜综合网| 五月丁香综合伦理片| 开心激情站婷婷五月天| www.99色| 99热精品超碰| 四虎婷婷五月天| 激情亚洲婷婷| 8090在线影视少妇| 亚洲精品99| 华人在线免费| EEUSS鲁片一区二区三区| 狠狠狠狠狠狠| 亚洲在线视频321| 亚洲视频丁香网va| 久久精品99| 久久九九一區| 天天艹天天色| 五月天激情婷婷| 久久综合五月天激情小说网站| 亚洲成人网在线观看| 97五月天婷婷| 538在线精品| 大香蕉婷婷丁香视频在线| 五月天激情啪啪| 婷婷五月天激情网| 丁香六月激情综合网| 色情播放| 超碰人人操人人干| 久久宗合影| 99热成人在线观看| www,奇米影视| 九九视频这里是精品五月| 91黄址| 婷婷久久婷婷| 五月天综合在线观看| 另类视频综合| www.色婷婷.com| 亚洲综合热| 久久五月天激情| 色色色精品无码区| 五月婷婷中文字幕| 日本一区二区三区精品视频| 99久久99热这里只有精品| 五月丁香激情啪啪| 天天搽天天射| 任你爽免费视频| a免费在线| 丁香婷婷色五月合集| 久久婷婷五月天激情唯美| 午夜少妇在线观看视频| 国产在线6| 精品人妻伦一二三区久久| 91九色国产| 婷婷五月天在婷| 亚洲中文字幕AV在线| 日本特黄aaaaa| 亚洲情综合五月天| 天天干天天 亚洲| 狠狠爱综合网| 人人草公开操| 思思热在线| 98毛片| 丁香五月婷婷基地| 日韩一区二区三区无码| 国产偷人爽久久久久久老妇APP| va中文资源在线观看| 五月婷婷色| 97色伦另类图片小说视频 | 欧美肉大捧一进一出免费视频| 色色综合色视频| 五月天com| 国产激情综合五月| 激情内射人妻1区2区3区| 综合在线丁香五月| 久久五月热| 夜夜夜夜撸夜夜操| 五月婷婷久久久久| 在线看片av| 色综合九九| www.婷婷五月| 五月社区丁香| 在线五月婷| 五月婷婷片| 日本WWW九九九| 久久综合99| 欧洲亚洲午夜| 欧美性爱五月天| 天天做天天爱天天摸| 天天干天天拍| 国产婷婷五月天| 国产色视频网站2| 色噜噜狠狠色综合网| 婷婷丁香五月亚洲欧美| 欧美69久成人做爰视频| 激情綜合W W W,激情五月天| 日本色图综合| 99热免费| 丁香婷婷六月婷婷六月婷婷六月婷婷| 97超碰免费超级在线观看| 国产午夜一区二区三区| 亚洲综合婷婷| 丁香六月婷婷基地| 97se视频在线| 狠狠搞综合色| 天天肏高清在线| 丁香婷婷啪啪| 婷婷五月综合视频免费播放| 五月婷婷六月丁香综合| 中文字幕丰满孑伦无码专区 | www.九月婷婷丁香.com| 99热人人| 丁香五月婷婷色综合基地| 久草视频大香蕉99| 婷婷99狠狠躁天天躁| 亚洲五月天狠狠| 综合一区二区三区| 国产3p露脸普通话对白| 激情无码网| 2020久久婷婷五月| 五月婷婷影| 无码激情AAAAA片-区区| 五月天天天天天天天天天天天婷婷婷| 丁香五月综合久久八| 夜色.cnm| 丁香激情五月| 九九热在线精品视频| 久婷婷五月激情| 97操| 99久久户外勾搭| 亚洲AV综合网| 热思思| 9精品在线| 色综合激情图区| 91精品综合久久久久久五月丁香| 日屌日日操日日色| 日韩成人网站精品久久大全| 999精品乱码77777| 9精品一区| 中文字幕在线免费观看视频| 99在线热视频| 色日本网| 日本色婷婷久久99精品91| 超碰无码318604| 久久婷综| 国产精品人人做人人爽人人添 | 99ri在线播放| 中文字幕丰满乱孑伦无码专区| 99久久综合网| 26uuu| 欧美激情综合色综合色| 久久99热这里只有精品23| 免费黄色AV| 婷婷酒色网| 免费观看欧美成人AA片爱我多深| 色激情综合| 99热亚洲| 五月天婷婷在线播放| 五月婷婷在线网站| 99精品久久久久久久久| 人妻丰满精品一区二区A片| 一级性爱视频| 日本久久婷婷| 久久天堂| 丁香五月综合在线观看| 人人操Av| 色婷婷XXXXX| 久久性操| 激情图片99| 性爱网六月丁香| 久久99草五月婷婷| 婷婷香蕉精品| 99久久66综合| 强辱丰满人妻HD中文字幕| 91超碰人人操| 天天爽天天爽| 五月天婷婷激情| 九九色色| 99噜噜| 五月天狠狠色| 天堂在线9| 日本婷婷在线| 色噜噜狠狠色综合网| 思思re视频在线| 五月婷色丁香| 26UUU精品一区二区Com| 日批在线看| 天天综合色综合| 99热这里只有精品13| 激情图片婷婷| 激情狠狠丁香月| 天天操天爱综合| 天天噪夜夜爽| 五月开心激情网| 热成人网| 深爱五月婷婷| 国产激情av| 婷婷天堂综合| 97色干| 桃色五月天| 大香蕉欧美在线| 五月天激情四射网站| 久久狠狠干| 五月大香蕉| 99热这里只有精品9| 亚洲精品久久久久久久久久吃药| 小香蕉av| 婷婷D区| 日本A片一区| 成人AV中文字幕| 综合啪啪| 色婷婷五月天天天天天| 秋霞电影理论| 五月色情婷婷开心五月天| 亚洲看av的网站| 日本噜噜色网| 婷婷婷婷婷开心无码播放| 人妻aV在线| 色色色色色色色色综合网| 精品久久9| 成人精品在线| 五月婷婷爽爽爽| 九色综合网| 91综合在线视频| 天天噜天天插| 五月婷婷狠狠干| 超碰在线综合| 久久99网站| 激情婷婷亚洲五月| 日日射天天射| 日本va欧美va国产激情| 思思热在线播放| av操逼网| 大香蕉视频婷婷| 九月婷婷色色| 婷婷区日本| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 久久久天天啊| 人妻av在线| 91人人人人人人人| 久久 中文 日本| 色婷婷导航| 婷婷丁香亚洲五月天| 五月天激情综合| 中文无码婷婷| 婷婷在线五月综合| 99黄色在线视频精品熟女| 丁香无月在线观看| 日本噜噜色网| www.色五月.com| 婷婷在线播放| 碰超在线九色| 婷婷久久久久久久| 五月婷婷亚洲色视频| 97在线精品| 琪琪色影音先锋| 电影蜘蛛女| 激情五月天影院| 色久综合| 综合一区二区三区| 激情综合另类| 无码操B| 色五月综合激情网| 91色婷婷综合久久中文字幕二区| 亚洲va在线| 丁香六月在线| 91人人妻人人操人人爽| 深爱五月激情综合| www.射伊蕉婷婷| 大香网伊人久久综合| 色五月婷婷小说亚洲中文字幕组| 色五月天视频| 色五月av| 再綫Av免费視品| 丁香五月天堂| 天天日天天爽夜夜爽| 激情欧美婷五月| 亚洲AV无码电影| 日本高清久| www.99热最新视频8| 99在线免费视频播放| 香蕉国产2013| 久久五月天激情视频| 欧美69色| 婷婷五月丁香五月| 婷婷.com| 欧美A级网站| 99九九这里有免费视频| 99欧州偷拍视频| 欧美韩日AAA网站| 99色日本| 国产精品久久久久久久久久免费| 五月婷婷丁香婷婷| 伊人久久激情图区五月| 大操人妻| 超碰在线人妻| 亚洲亚洲永久无码777777| 97爱综合| 狠狠干狠狠色| 狠狠干综合网| 99色综合网| 久久人视频| 五月天丁香综合久久国产| 情婷婷五月天在线| 91精品又长又大又粗又爽又猛| 色婷五月天| 狠狠狠狠狠干| er99免费视频在线| 丁香六月婷婷色播| 99ER热精品视频| 久久激情天堂| 九九热在视频| www.maotanji.com| 色婷婷综合久久| 26uuu| 伊人五月综合网| 五月天开心成人网| 综合网啪啪| 精品九九久久| 一本大道嫩草AV无码专区| 九九re精品视频在线观看 | 日本久久精品| 国产婷婷五月色情综合| 色呦呦美女| 久久综合26p| 99久在线精品99re8热| 久久六月综合| 手机激情网| 亚洲免费看片| 欧美在线视频9| 99超级碰免费视频| 久久婷婷五月综合色奶水99啪| 激情性五月天免费小说视频| 凹凸7777操操操| av在线观看网站| 五月婷婷之综合激情在线| 成人国产欧美大片一区| 激情图片五月天| 五月丁香六月停停| 日本色天堂| 五月天婷婷色综合| 搡BBBB搡BBB搡18| 天天艹夜夜艹| 亚洲最大视频| 狠狠色综合五月| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 五月丁香六月婷婷,婷| 成人视频在线免费播放| 51精品国自产在线| 亚洲综合成人网| 色综合另类| www.26uuu.com亚洲电影| www.夜夜操.con| 激情视频婷婷五月花| w婷婷五月婷婷w| 老妇操B| 成人在线免费网址| 精品亚洲国产成AV人片传媒| 日本色道视频网站| 玖玖爱综合网| 五月婷婷深深爱| 26uuuuuuuu国产| 可以直接看的av网站| 国产1区2区3区在线观| 日本不卡中文字幕| 色九综合| 久久一级免费黄色片| 久久婷婷网址| 五月天婷婷久久| www.99热这里只有精品| 丁香六月激情综合| 色综合色色| 99狠狠| 操97免费超级视频| 97精品欧美91久久久久久久| www.色婷婷.com| 51XX午夜影福利| 在线观看中文字幕亚洲| 国产精品久久..4399| 九九黄色网| 国产性爱亚洲是图| 丁香五月性| 久久99网站| 强辱丰满人妻HD中文字幕| 人妻久久久久久| 香蕉AV福利精品导航| www激情| 精品色色| 另类视频在线| 五月丁香六月天| 久久综合五月天| 久久综合丁香激情五月| 狠狠干五月天| 99精品久久| 99无码| 久久九九99| 亚洲AV免费在线| 日本熟妇乱妇熟色A片蜜桃| 少妇AB又爽又紧无码网站| 精品9197碰| 国产精品成人网址| aaaa.黄| 色99自拍| 另类小说五月天| 色色影院aaaav| 六月婷婷七月丁香| 五月色情网| 岛国资源网| 五月久久丁香| 五月天深爱激情网| 99视频在线精品| 欧美日本黄色| 人人草人人舔| 9久热| 国产激情在线| 狠狠草在线观看| 97在线观看| 亚洲网站观看视频| 操操操91| 久热成人| 深爱网深爱综合网| 丁香激激情网| 五月婷婷激情综合视频| 99久久这里只有精品| 91精品久久久久久| 婷婷色婷婷| 亚洲成人av中文| 狠狠色色综合| 天天弄天天爽| 婷婷久久国产视频| 日本色色色| 99热日韩| 538在线精品| 婷婷99狠| 91人人操人人| 丁香伊人激情| 天天日天天草| 99热这里都是精品| www.99色| 精品操逼一区二区| 射区导航| 精品婷婷五月天| 激情五月天婷婷丁香| 丁香六月五月天| 中文字幕av在线播放| 操99| 久久九九激情五月天 | 五月天亚洲色| 99九九99九九九视频精彩| 开心五月天激情网| 操逼电影免费看| 丁香花五月天激情| 久久与婷婷| 天天插天天爽| 色欲久久久久久综合网综合网| 超碰99在线观看| 狠狠狠狠草草| 成人电影一区| 六月丁香综合网| 九九干视频| 人人操av| 91日视频| 东京热免费视频| 狠狠插日日干撸| 香蕉国产2013| 精品9197碰| 丁香九月婷婷综合| 99亚洲日韩| 日本欧美成人片AAAA| 99热青青草| 99er精品视频| 疯狂做受XXXX高潮A片动画| 久99久视频免费观看| 一本道综合网| www.婷婷.com| 97成人在线视频精品| 五月婷婷免费| 黄网在线播放| 激情丁香五月综合| 五月丁香啪啪激情| 99九九综合久久九九| 五月天婷婷色综合| 99在线热| 婷婷五月天视频亚洲| 天天日天天肏天天奸| 激情 五月 婷婷 丁香| 五月香婷婷| www.1024久久| www.婷婷网| 婷婷五月天激情电影| 亚洲中文字幕在线电影| 综合综合色色| 婷婷综合在线| 午夜在线成人网站免费观看| 五月天开心激情网色欲无码| www.91婷婷| 丁香五月婷婷图片综合| 欧洲亚洲免费视频区| 大香蕉五月丁香| 五月婷婷精品| 色区域网站视频| AA片在线观看视频在线播放 | 色香久久| 思思精品热在线| 97干干干丁香| 婷婷五月成年人| 五月丁香六月在线| 99操无码视频观看| 岛国av网站| 久在线88综合| 五月丁香天堂网婷婷| 99无码| 伊人久久艹| 91碰视频| 婷婷九月狠狠色| 丁香五月激情婷婷婷婷在线观看| 天天插天天干| xxxx五月| 九九热精品| 色五月琪琪| 亚洲精品无码久久| 日本久久视频| 伊人五月综合网| 五月五月婷婷| 中文av网站| 91av无码| 婷婷五月天六点丁香五月| 婷婷五月综合基地| 五月婷久久在线| 五月天丁香色色| 激情五月,深深爱五月| 国产精产国品一二三在观看 | 激情五月婷婷| 青娱乐美女福利视频美臀| 国产毛片精品一区二区色欲黄A片 欧美交换配乱吟粗大25P | 99热1| 欧美va视频| 久久九九网| 久久99视频| 丁香五月社区| 亚洲日本激情| 婷婷色在线| 五月天婷婷色小说| 激情婷婷丁香| www.夜夜.com| 91刘玥视频在线观看| 久久亚洲激情五码| 日本99婷婷| 91久久婷婷人人澡草 | 久久久.COM| 丁香五月婷婷影院| 亚洲视99| 婷婷五月花| 五月丁香另类网| 婷婷黄色网| 思思热精品在线| 一月婷婷色色| 九九激情综合| 精品在线| 在线播放人妻| 狠狠干五月丁香综合网| 五月天婷婷丁香人人操91| 九九精品热播| 67194成I人在线观看线路1| 26uuu最新地址| 中文不卡一二三区| 色六月 婷婷| 五月丁香婷婷六月| AV在线免费网站| 五月天婷婷小说| 最新热中文字幕| 99燥99日| 99热九九热| www色哟哟| 色色色婷婷五月天| 婷婷丁香视频在线观看免费| 大香网伊人久久综合| 色婷婷导航| 婷婷五月免费在线| 久久99网| 国产毛片精品一区二区色欲黄A片| 九九AV在线| 99色综合| 天天舔天天摸天天透| 视频1区2区| 国产超碰在线| 国产婷婷综合| 超碰中文字幕在线| 亚洲欧美综合7777色婷婷| 26uuu色噜噜精品一区| 无毒黄色网址| www.色色五月天.com| 欧美婷婷六月丁香综合色连续高潮抽搐| 七月丁香五月婷婷在线| 五月天色区| 婷婷玖玖五月天| 熟女人妻一区二区三区免费看| 综合五月激情网| 激情六月丁香| 图片区 小说区 区 亚洲五月| 综合久久人妻| 九九色中文| 国产在线网| 大香蕉网站,大香蕉综合| 五月婷婷六月丁香综合视频在线| 91婷婷丁香五月亚洲| 亚洲综合99| 麻豆123区| 日本WWW九九九| 亚洲经典三级| 婷婷五月色激情欧美激情| 色激情综合狠狠婷婷| 7777久久亚洲中文字幕| 五月婷婷色情| 色五XX| 色999五月色| 殴美97色| 丁香五月色| av操一操| 激情丁香五月婷| 综合一啪| 最近中文字幕大全免费版在线| 九九热视频精品| 色综合久久综合中文综合网| 97色精品视频| 久久五月婷| 99亚洲精品视频| 色色色综合视频| 欧美色必爱| 丁香啪啪| 婷色五月天| 五月涩涩网| 久久久com| 男人天堂 久久| 欧美私人家庭影院| 97干在线播放| 色日本网| 狠色狠色狠狠色综合网| 九热久| 亚洲人操亚洲人| 99热91| 久久Xx| 天天射综合网夜夜操| 99热在线观看免费中文| 婷综合六月| 精品少妇人妻AV无码专区偷人| 九九99免费视频| 色综合久久88色综合天天99| 天天插天天很| 99er6免费视频热播| 久久综合五月| 日日夜夜天天| 人人爱操| 99er精品视频| 这里只有精品在线播放| 午夜大香蕉| 区美毛片子| 极品五月天| 色狠狠婷婷| 嫩BBB槡BBBB搡BBBB| 可以看的av| 99久.|