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

ARTICLE DETAIL

資訊詳情

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

JerryScript 在 STM32F4-Discovery 與 NuttX 上的完整移植構(gòu)建與運(yùn)行指南

JerryScript 在 STM32F4-Discovery 與 NuttX 上的完整移植構(gòu)建與運(yùn)行指南 語言運(yùn)行時(shí)嵌入式物聯(lián)網(wǎng)編譯器【免費(fèi)下載鏈接】jerryscriptUltra-lightweight JavaScript engine for the Internet of Things.項(xiàng)目地址https://gitcode.com/gh_mirrors/je/jerryscript點(diǎn)擊查看免費(fèi)下載本指南基于 JerryScript 官方倉庫 targets/os/nuttx/README.md 整理完整講解如何將超輕量級 JavaScript 引擎 JerryScript 移植到 STM32F4-Discovery 開發(fā)板并運(yùn)行在 Apache NuttX 實(shí)時(shí)操作系統(tǒng)之上。讀完本文你將掌握從搭建交叉編譯環(huán)境、配置 NuttX 內(nèi)核、集成 JerryScript 應(yīng)用、生成 ROMFS 文件系統(tǒng)鏡像到燒錄固件并通過 NSH 串口 Shell 執(zhí)行 JavaScript 腳本的全套流程同時(shí)理解該移植背后的源碼級實(shí)現(xiàn)Kconfig 配置項(xiàng)、Makefile 構(gòu)建參數(shù)、端口適配層與 ARM 匯編的 setjmp/longjmp 實(shí)現(xiàn)。一、移植目標(biāo)與倉庫文件概覽JerryScript 官方為 NuttX 提供了獨(dú)立的移植目錄位于倉庫的 targets/os/nuttx 下目標(biāo)平臺組合為開發(fā)板STM32F4-Discovery意法半導(dǎo)體評估板搭載 Cortex-M4 內(nèi)核的 STM32F4 系列 MCU操作系統(tǒng)NuttXApache 基金會下的類 POSIX 實(shí)時(shí)操作系統(tǒng)文檔驗(yàn)證環(huán)境Ubuntu 20.04 主機(jī)NuttX 最新實(shí)測可用版本為 10.2該目錄包含一組小而完整的移植文件各自職責(zé)如下文件作用Kconfig定義 JerryScript 在 NuttX 中的 Kconfig 菜單項(xiàng)開關(guān)、優(yōu)先級、棧大小Make.defs當(dāng)CONFIG_INTERPRETERS_JERRYSCRIPTy時(shí)將本目錄注冊進(jìn) NuttX 應(yīng)用構(gòu)建系統(tǒng)Makefile描述jerry應(yīng)用的編譯規(guī)則并調(diào)用 JerryScript 的tools/build.py交叉編譯核心靜態(tài)庫jerry-main.cjerry命令行的入口實(shí)現(xiàn)參數(shù)解析、REPL、腳本執(zhí)行、調(diào)試服務(wù)器jerry-port.cJerryScript 端口適配層日志、行讀取、fatal、時(shí)區(qū)、時(shí)間等接口的 NuttX 實(shí)現(xiàn)setjmp.S 與 setjmp.hCortex-M4 浮點(diǎn)上下文的 setjmp/longjmp 匯編實(shí)現(xiàn)與類型定義Makefile.travis用于 CI 的無交互自動構(gòu)建目標(biāo)安裝依賴、clone NuttX、配置、編譯整套移植以應(yīng)用的形式掛在 NuttX 的apps/interpreters/jerryscript路徑下隨 NuttX 固件一起編譯鏈接最終在設(shè)備上得到一個(gè)名為jerry的 NSH 命令。二、搭建 STM32F4-Discovery 構(gòu)建環(huán)境2.1 克隆所需項(xiàng)目先在主機(jī)上創(chuàng)建統(tǒng)一的工作目錄jerry-nuttx并克隆四個(gè)項(xiàng)目JerryScript 本體、NuttX 內(nèi)核10.2 分支、NuttX 應(yīng)用庫apps、kconfig 工具以及 ST-Link 燒錄工具# Create a base folder for all the projects. mkdir jerry-nuttx cd jerry-nuttx git clone https://github.com/jerryscript-project/jerryscript.git git clone https://github.com/apache/incubator-nuttx.git nuttx -b releases/10.2 git clone https://github.com/apache/incubator-nuttx-apps.git apps -b releases/10.2 git clone https://bitbucket.org/nuttx/tools.git tools git clone https://github.com/texane/stlink.git -b v1.5.1-patch執(zhí)行完成后目錄結(jié)構(gòu)應(yīng)為jerry-nuttx jerryscript | targets | os | nuttx nuttx apps tools stlink后續(xù)所有命令都假定你位于jerry-nuttx根目錄下執(zhí)行。2.2 安裝項(xiàng)目依賴JerryScript 提供了依賴安裝腳本 tools/apt-get-install-deps.sh可先運(yùn)行它補(bǔ)齊 JerryScript 本體的構(gòu)建依賴# Assuming you are in jerry-nuttx folder. jerryscript/tools/apt-get-install-deps.sh隨后分別安裝 NuttX 的交叉編譯工具鏈、構(gòu)建工具、以及 ST-Link 與串口通信工具# Toolchain dependencies of NuttX. sudo apt install gcc-arm-none-eabi binutils-arm-none-eabi # Tool dependencies of NuttX. sudo apt install \ bison flex gettext texinfo libncurses5-dev libncursesw5-dev \ gperf automake libtool pkg-config build-essential gperf genromfs \ libgmp-dev libmpc-dev libmpfr-dev libisl-dev binutils-dev libelf-dev \ libexpat-dev gcc-multilib g-multilib picocom u-boot-tools util-linux # ST-Link and serial communication dependencies. sudo apt install libusb-1.0-0-dev minicom其中g(shù)cc-arm-none-eabi用于交叉編譯 Cortex-M 固件genromfs用于后續(xù)生成 ROMFS 文件系統(tǒng)鏡像minicom用于連接開發(fā)板串口u-boot-toolsmkimage 等是 NuttX 構(gòu)建所需的輔助工具。三、把 JerryScript 應(yīng)用接入 NuttX 應(yīng)用樹NuttX 的應(yīng)用apps采用模塊化組織每個(gè)應(yīng)用位于apps/類別/應(yīng)用名目錄。這里需要把 JerryScript 的移植文件放到apps/interpreters/jerryscript# Assuming you are in jerry-nuttx folder. mkdir -p apps/interpreters/jerryscript cp jerryscript/targets/os/nuttx/* apps/interpreters/jerryscript/ # Or more simply: # ln -s jerryscript/targets/os/nuttx apps/interpreters/jerryscriptcp與符號鏈接兩種方式等價(jià)后者可避免文件復(fù)制便于同步修改。這一步生效的機(jī)制在 Make.defs 中當(dāng)配置項(xiàng)CONFIG_INTERPRETERS_JERRYSCRIPTy時(shí)CONFIGURED_APPS會追加$(APPDIR)/interpreters/jerryscript從而把該目錄納入 NuttX 整體構(gòu)建ifeq ($(CONFIG_INTERPRETERS_JERRYSCRIPT),y) CONFIGURED_APPS $(APPDIR)/interpreters/jerryscript endif而 Kconfig 定義了三個(gè)核心配置項(xiàng)INTERPRETERS_JERRYSCRIPT布爾開關(guān)默認(rèn)關(guān)閉default nINTERPRETERS_JERRYSCRIPT_PRIORITYjerry任務(wù)的優(yōu)先級默認(rèn) 100INTERPRETERS_JERRYSCRIPT_STACKSIZEjerry任務(wù)的棧大小字節(jié)默認(rèn) 16384。這些默認(rèn)值在 Makefile 中被直接引用為PRIORITY與STACKSIZE進(jìn)而通過Application.mk生成 NSH 內(nèi)建命令。四、構(gòu)建 kconfig-frontends 配置工具NuttX 的圖形化配置依賴kconfig-frontends工具集。如果系統(tǒng)包管理器已經(jīng)安裝了kconfig-frontends可跳過本節(jié)否則需要從之前克隆的tools倉庫中編譯安裝# Assuming you are in jerry-nuttx folder. cd tools/kconfig-frontends ./configure \ --disable-nconf \ --disable-gconf \ --disable-qconf \ --disable-shared \ --enable-static \ --prefix${PWD}/install make make install # Add install folder to PATH PATH${PWD}/install/bin:$PATH注意這里的 configure 選項(xiàng)禁用了nconf/gconf/qconf三種圖形前端、采用靜態(tài)鏈接--enable-static安裝到本地install目錄最后把該目錄加入PATH供后續(xù)menuconfig/olddefconfig使用。五、配置 NuttX 內(nèi)核并啟用 JerryScriptNuttX 的構(gòu)建配置全部存放在nuttx/.config文件中。首先基于官方提供的usbnsh配置模板初始化配置——該模板把 USB 作為 NSH 控制臺USB console shell# Assuming you are in jerry-nuttx folder. cd nuttx/tools # Configure NuttX to use USB console shell. ./configure.sh stm32f4discovery:usbnsh默認(rèn)情況下 JerryScript 處于禁用狀態(tài)需要手動開啟。官方提供了兩種方式交互式menuconfig5.1 節(jié)或直接修改.config文件5.2 節(jié)。5.1 方式一使用 menuconfig 交互配置# Assuming you are in jerry-nuttx folder. # Might be required to run make menuconfig twice. make -C nuttx menuconfig基礎(chǔ)配置必選啟用System Type - FPU supportSTM32F4 帶硬件浮點(diǎn)單元JerryScript 數(shù)學(xué)庫需要啟用 FPU 支持啟用Application Configuration - Interpreters - JerryScript即把CONFIG_INTERPRETERS_JERRYSCRIPT置為y??蛇x配置一啟用 ROMFS把 JavaScript 輸入文件燒錄進(jìn)設(shè)備 flash啟用File systems - ROMFS file system啟用Application configuration - NSH library - Scripting Support - Support ROMFS start-up script可選配置二啟用 MMCSD在開發(fā)板上掛載 micro-SD 卡。注意以下選項(xiàng)針對的是 STM32F4-Discovery 基板上的 micro-SD 卡槽啟用System Type - STM32 Peripheral Support - SDIO啟用RTOS Features - Work queue support - High priority (kernel) worker thread啟用RTOS Features - RTOS hooks - Custom board late initialization啟用RTOS Features - RTOS hooks - Enable on_exit() API啟用Driver Support - MMC/SD Driver Support禁用Driver Support - MMC/SD Driver Support - MMC/SD write protect pin禁用Driver Support - MMC/SD Driver Support - MMC/SD SPI transfer support啟用Driver Support - MMC/SD Driver Support - MMC/SD SDIO transfer support啟用File systems - FAT file system啟用File systems - FAT file system - FAT upper/lower names啟用File systems - FAT file system - FAT long file names5.2 方式二直接追加 .config 內(nèi)容無交互更簡單的做法是把所需配置直接追加到nuttx/.config末尾。最小啟用集合如下# Assuming you are in jerry-nuttx folder. cat nuttx/.config EOL CONFIG_ARCH_FPUy CONFIG_SCHED_ONEXITy CONFIG_INTERPRETERS_JERRYSCRIPTy CONFIG_INTERPRETERS_JERRYSCRIPT_PRIORITY100 CONFIG_INTERPRETERS_JERRYSCRIPT_STACKSIZE16384 EOL各選項(xiàng)含義CONFIG_ARCH_FPUy啟用 FPU對應(yīng) menuconfig 中的 FPU supportCONFIG_SCHED_ONEXITy啟用on_exit()API對應(yīng) RTOS hooksCONFIG_INTERPRETERS_JERRYSCRIPTy啟用 JerryScript 應(yīng)用CONFIG_INTERPRETERS_JERRYSCRIPT_PRIORITY100jerry任務(wù)優(yōu)先級CONFIG_INTERPRETERS_JERRYSCRIPT_STACKSIZE16384jerry任務(wù)棧大小字節(jié)??蛇x啟用 ROM 文件系統(tǒng)ROMFS# Assuming you are in jerry-nuttx folder. cat nuttx/.config EOL CONFIG_BOARDCTL_ROMDISKy CONFIG_FS_ROMFSy CONFIG_NSH_ROMFSETCy CONFIG_NSH_ROMFSMOUNTPT/etc CONFIG_NSH_INITSCRIPTinit.d/rcS CONFIG_NSH_ROMFSDEVNO0 CONFIG_NSH_ROMFSSECTSIZE64 CONFIG_NSH_DEFAULTROMFSy EOL這些選項(xiàng)讓 NSH 把 ROMFS 掛載到/etc并執(zhí)行init.d/rcS作為啟動腳本ROMFS 設(shè)備號、扇區(qū)大小等均可按需調(diào)整。可選啟用 MMCSD 驅(qū)動與 FAT 文件系統(tǒng)。以下選項(xiàng)針對 STM32F4-Discovery 基板上的 micro-SD 卡槽# Assuming you are in jerry-nuttx folder. cat nuttx/.config EOL CONFIG_STM32_SDIOy CONFIG_STM32_SDIO_DMAPRIO0x00010000 CONFIG_MMCSD_HAVE_CARDDETECTy CONFIG_BOARD_LATE_INITIALIZEy CONFIG_BOARD_INITTHREAD_STACKSIZE2048 CONFIG_BOARD_INITTHREAD_PRIORITY240 CONFIG_SIG_SIGWORK17 CONFIG_SCHED_WORKQUEUEy CONFIG_SCHED_HPWORKy CONFIG_SCHED_HPNTHREADS1 CONFIG_SCHED_HPWORKPRIORITY224 CONFIG_SCHED_HPWORKSTACKSIZE2048 CONFIG_BCHy CONFIG_ARCH_HAVE_SDIOy CONFIG_ARCH_HAVE_SDIOWAIT_WRCOMPLETEy CONFIG_ARCH_HAVE_SDIO_PREFLIGHTy CONFIG_MMCSDy CONFIG_MMCSD_NSLOTS1 CONFIG_MMCSD_MMCSUPPORTy CONFIG_MMCSD_SDIOy CONFIG_FS_FATy CONFIG_FAT_LCNAMESy CONFIG_FAT_LFNy CONFIG_FAT_MAXFNAME32 CONFIG_FAT_LFN_ALIAS_TRAILCHARS0 CONFIG_FSUTILS_MKFATFSy CONFIG_NSH_MMCSDSLOTNO0 EOL這段配置把 STM32 的 SDIO 外設(shè)、MMC/SD 驅(qū)動SDIO 傳輸模式、FAT 文件系統(tǒng)、板級后初始化線程以及內(nèi)核工作隊(duì)列一并打開為后續(xù)掛載 SD 卡讀取腳本文件做好準(zhǔn)備。六、為設(shè)備準(zhǔn)備 JavaScript 輸入文件JerryScript 在設(shè)備上需要 JavaScript 源文件作為輸入。根據(jù)第 5 步的選擇有兩種承載方式ROMFS燒錄進(jìn) flash或 SD 卡FAT32 文件系統(tǒng)。6.1 方式一由自定義目錄生成 ROMFS 鏡像如果使用了 MMCSD 方式可跳過本節(jié)。否則需要把存放 JS 文件的目錄打包成 C 頭文件。受 flash 容量限制盡量精簡目錄內(nèi)容# Assuming you are in jerry-nuttx folder. mkdir jerry-example # Let hello.js be a possible JavaScript input for JerryScript. cp jerryscript/tests/hello.js jerry-example # Generate ROMFS image from a custom folder. genromfs -f romfs_img -d jerry-example # Dump image as C header file and override NuttXs default ROMFS file. xxd -i romfs_img apps/nshlib/nsh_romfsimg.h # Add const modifier to place the content to flash memory. sed -i s/unsigned/const\ unsigned/g apps/nshlib/nsh_romfsimg.h流程說明genromfs把jerry-example目錄打包為 ROMFS 鏡像文件xxd -i把二進(jìn)制鏡像轉(zhuǎn)成 C 數(shù)組并覆蓋 NuttX 默認(rèn)的 [nsh_romfsimg.h] 模板注意該頭文件位于克隆的 apps 倉庫中并非 JerryScript 倉庫文件最后的sed把unsigned改成const unsigned使鏡像數(shù)據(jù)被放入只讀的 flash 段而非 RAM。倉庫自帶的示例 tests/hello.js 內(nèi)容僅一行print (Hello JerryScript!);非常適合作為 ROMFS 中的首個(gè)測試腳本。6.2 方式二把文件復(fù)制到 SD 卡如果使用了 ROMFS 方式可跳過本節(jié)。否則只需把 JS 文件復(fù)制到一張 FAT32 格式化的內(nèi)存卡上插入開發(fā)板的 micro-SD 卡槽即可。七、編譯 NuttX含 JerryScript在jerry-nuttx根目錄下執(zhí)行# Assuming you are in jerry-nuttx folder. make -C nuttx整個(gè)構(gòu)建鏈路中Makefile 扮演關(guān)鍵角色。它的libjerry目標(biāo)會調(diào)用 JerryScript 的tools/build.py交叉編譯四個(gè)靜態(tài)庫libjerry-core.a、libjerry-ext.a、libjerry-math.a、libjerry-port.a核心構(gòu)建參數(shù)如下libjerry: $(JERRYSCRIPT_ROOT_DIR)/tools/build.py \ --clean \ --ltoOFF \ --jerry-cmdlineOFF \ --jerry-mathON \ --amalgamON \ --mem-heap70 \ --profilees.next \ --compile-flag-I${NUTTX_INCLUDE_DIR} \ --toolchain$(abspath $(JERRYSCRIPT_ROOT_DIR)/cmake/toolchain_mcu_stm32f4.cmake)各參數(shù)含義--ltoOFF關(guān)閉鏈接期優(yōu)化避免交叉鏈接階段與 NuttX 工具鏈產(chǎn)生兼容問題--jerry-cmdlineOFF不構(gòu)建桌面版命令行程序因?yàn)?NuttX 側(cè)使用自帶的jerry-main.c--jerry-mathON啟用 JerryScript 內(nèi)置數(shù)學(xué)庫jerry-math替代 libm--amalgamON使用合并amalgamated單文件構(gòu)建方式減少目標(biāo)文件數(shù)量--mem-heap70內(nèi)部堆大小設(shè)為 70 KB這是面向 MCU 場景的緊湊配置--profilees.next采用 profiles/es.next.profile 功能集啟用完整的 ES.Next 特性--compile-flag-I${NUTTX_INCLUDE_DIR}把 NuttX 的include目錄加入頭文件搜索路徑--toolchaincmake/toolchain_mcu_stm32f4.cmake指定交叉編譯工具鏈文件。工具鏈文件 cmake/toolchain_mcu_stm32f4.cmake 定義了目標(biāo)平臺armv7l/STM32F4編譯標(biāo)志為-mlittle-endian -mthumb -mcpucortex-m4 -marcharmv7e-m -mfpufpv4-sp-d16 -mfloat-abihard編譯器為arm-none-eabi-gcc即針對帶單精度 FPU 的 Cortex-M4 硬浮點(diǎn) ABI 生成代碼。庫文件構(gòu)建完成后通過copylibs目標(biāo)復(fù)制到應(yīng)用目錄$(firstword $(AR)) x $逐個(gè)解包進(jìn) NuttX 鏈接ASRCS setjmp.S、CSRCS jerry-port.c、MAINSRC jerry-main.c則把三個(gè)移植源文件直接編入應(yīng)用。最終產(chǎn)物是nuttx.bin固件鏡像。八、燒錄固件到開發(fā)板連接開發(fā)板的 Mini-USB 口用于供電與燒錄編譯 ST-Link 工具并燒寫# Assuming you are in jerry-nuttx folder. make -C stlink release sudo stlink/build/Release/st-flash write nuttx/nuttx.bin 0x80000000x8000000是 STM32F4 內(nèi)部 flash 的起始地址st-flash會把nuttx.bin從該地址開始寫入。九、連接設(shè)備串口連接開發(fā)板的 Micro-USB 口用于串口通信。設(shè)備在主機(jī)上通常顯示為/dev/ttyACM0使用minicom以 115200 波特率連接sudo minicom --device/dev/ttyACM0 --baud115200在minicom中通過按鍵組合CTRL-A - Z - U設(shè)置Add Carriage Ret回車換行選項(xiàng)??赡苄枰聪麻_發(fā)板的RESET鍵并在控制臺上多次按EnterNSH 提示符才會出現(xiàn)NuttShell (NSH) NuttX-10.2.0 nsh十、在 NSH 中運(yùn)行 JerryScript10.1 無輸入文件運(yùn)行內(nèi)置演示直接在nsh提示符后輸入jerry不帶任何參數(shù)NuttShell (NSH) NuttX-10.2.0 nsh jerry No input files, running a hello world demo: Hello world 5 times from JerryScript無文件輸入時(shí)jerry先輸出提示并運(yùn)行一段內(nèi)置的 hello world 演示。10.2 運(yùn)行 ROMFS 中的腳本如果啟用了 ROMFS腳本位于掛載點(diǎn)/etc下直接以路徑傳入NuttShell (NSH) NuttX-10.2.0 nsh jerry /etc/hello.js10.3 運(yùn)行 SD 卡中的腳本啟用 MMCSD 后NuttX 初始化完成時(shí) SD 卡讀卡器顯示為/dev/mmcsd0。先掛載再執(zhí)行NuttShell (NSH) NuttX-10.2.0 nsh mount -t vfat /dev/mmcsd0 /mnt nsh jerry /mnt/hello.js十一、jerry 命令行的源碼級解析設(shè)備上的jerry命令由 jerry-main.c 實(shí)現(xiàn)其執(zhí)行邏輯可分為三個(gè)階段。參數(shù)解析階段循環(huán)掃描命令行參數(shù)最多接受 16 個(gè)參數(shù)JERRY_MAX_COMMAND_LINE_ARGS。支持的選項(xiàng)與官方桌面版一致的子集選項(xiàng)說明-h/--help打印用法說明--log-level [0-3]設(shè)置日志級別0錯(cuò)誤、1警告、2信息、3調(diào)試對應(yīng)JERRY_LOG_LEVEL_*--mem-stats啟用內(nèi)存統(tǒng)計(jì)JERRY_INIT_MEM_STATS并把日志級別設(shè)為 DEBUG--show-opcodes打印執(zhí)行的字節(jié)碼JERRY_INIT_SHOW_OPCODES | JERRY_INIT_SHOW_REGEXP_OPCODES--start-debug-server啟動調(diào)試服務(wù)器--debug-server-port [port]指定調(diào)試服務(wù)器端口默認(rèn) 5001其余非選項(xiàng)參數(shù)被收集為腳本文件名列表file_names[]。初始化與執(zhí)行階段調(diào)用jerry_init(flags)初始化引擎若開啟了調(diào)試服務(wù)器則通過擴(kuò)展庫jerryx_debugger_after_connect建立 TCP 與 WebSocket 雙重調(diào)試通道見 debugger-ws.c 等擴(kuò)展實(shí)現(xiàn)隨后把a(bǔ)ssert、gc、print三個(gè)原生函數(shù)注冊為全局對象方法jerryx_register_global。若無文件參數(shù)進(jìn)入jerryx_repl交互式 REPL 循環(huán)否則逐個(gè)調(diào)用jerryx_source_exec_script執(zhí)行腳本文件出現(xiàn)異常時(shí)打印未處理異常并以退出碼 1 終止。收尾階段調(diào)用jerry_run_jobs處理掛起的 Promise 微任務(wù)隊(duì)列最后jerry_cleanup釋放引擎資源。十二、端口適配層與底層支撐實(shí)現(xiàn)JerryScript 引擎與宿主系統(tǒng)之間通過端口層解耦NuttX 移植的端口實(shí)現(xiàn)集中在 jerry-port.c全部接口都很精簡jerry_port_log日志輸出NuttX 移植中為空實(shí)現(xiàn)消息被忽略因?yàn)榭刂婆_輸出統(tǒng)一走print擴(kuò)展jerry_port_line_read讀取一行輸入返回 NULLREPL 輸入通道在 jerry-main.c 中另行處理jerry_port_fatal致命錯(cuò)誤處理直接以錯(cuò)誤碼調(diào)用exit()終止進(jìn)程jerry_port_local_tza本地時(shí)區(qū)偏移移植中固定返回 0即我們活在 UTCjerry_port_current_time當(dāng)前時(shí)間移植中返回 0設(shè)備通常無 RTC時(shí)間功能需按需擴(kuò)展。另一個(gè)關(guān)鍵底層依賴是setjmp/longjmp。JerryScript 的錯(cuò)誤處理依賴這兩個(gè)函數(shù)而 STM32F4 使用了 FPU 寄存器NuttX 自帶的實(shí)現(xiàn)可能不保存浮點(diǎn)上下文因此移植目錄專門提供了 setjmp.S 與 setjmp.h。jmp_buf定義為 14 個(gè)uint64_t元素setjmp用stmia保存r4-r11與返回地址lrstr保存棧指針sp再用vstm保存浮點(diǎn)寄存器s16-s31longjmp按對稱順序恢復(fù)這些寄存器并把val作為setjmp的返回值若val為 0 則強(qiáng)制返回 1以區(qū)分直接調(diào)用返回 0與longjmp 返回兩種情形。十三、自動化構(gòu)建參考CI 腳本Makefile.travis 給出了完全無交互的自動化構(gòu)建流程與本文手動步驟一一對應(yīng)可作為腳本化移植的參考install-apt-get-depsapt 安裝gcc-arm-none-eabi與gperfinstall-kconfig克隆 nuttx/tools 并本地編譯安裝 kconfig-frontends含autoreconf --force --install兼容處理install-clone-nuttx克隆 nuttx 與 apps 的releases/10.2分支script-add-jerryscript-app用ln -s ../../jerryscript/targets/os/nuttx ../apps/interpreters/jerryscript建立應(yīng)用鏈接script-configure-usbnsh執(zhí)行configure.sh stm32f4discovery:usbnshscript向.config追加CONFIG_ARCH_FPUy、CONFIG_SCHED_ONEXITy、CONFIG_INTERPRETERS_JERRYSCRIPTy三項(xiàng)運(yùn)行make olddefconfig后執(zhí)行make -C ../nuttx完成固件構(gòu)建。十四、常見問題與關(guān)鍵要點(diǎn)菜單配置需運(yùn)行兩次官方文檔提示make menuconfig可能需要運(yùn)行兩次以刷新應(yīng)用菜單樹ROMFS 與 MMCSD 二選一兩種腳本承載方式互斥選擇其一即可第 6 步會明確Skip this section提示注意 flash 容量生成 ROMFS 鏡像前盡量精簡目錄體積STM32F4-Discovery 的 flash 有限堆大小與功能集可調(diào)--mem-heap7070 KB 堆與--profilees.next是 Makefile 中針對該板卡的默認(rèn)取舍開發(fā)者可按內(nèi)存預(yù)算調(diào)整串口參數(shù)固定使用 115200 波特率并通過minicom的CTRL-A - Z - U開啟回車選項(xiàng)否則輸入可能無法被正確解析USB 雙口分工Mini-USB 負(fù)責(zé)供電與 ST-Link 燒錄Micro-USB 負(fù)責(zé)串口控制臺二者不要混淆。至此一套STM32F4-Discovery NuttX 10.2 JerryScript的嵌入式 JavaScript 運(yùn)行環(huán)境已完整打通從交叉編譯、內(nèi)核配置、應(yīng)用集成、腳本燒錄到設(shè)備端執(zhí)行均可按本文步驟復(fù)現(xiàn)而 Kconfig、Makefile、jerry-main.c、jerry-port.c 與 setjmp.S 等文件則為二次定制如新增端口接口、調(diào)整任務(wù)棧、接入調(diào)試器提供了清晰的切入點(diǎn)。贊分享語言運(yùn)行時(shí)嵌入式物聯(lián)網(wǎng)編譯器【免費(fèi)下載鏈接】jerryscriptUltra-lightweight JavaScript engine for the Internet of Things.項(xiàng)目地址https://gitcode.com/gh_mirrors/je/jerryscript點(diǎn)擊查看免費(fèi)下載相關(guān)推薦Zephyr 在 Radxa ROCK 3BRockchip RK3568上的移植、構(gòu)建與 U-Boot 運(yùn)行指南Zephyr 在 Radxa ROCK 3BRockchip RK3568上的移植、構(gòu)建與 U Boot 運(yùn)行指南 Radxa ROCK 3B 是一款基于操作系統(tǒng)嵌入式RTOS物聯(lián)網(wǎng)Linux on Nios II在 Altera FPGA 上構(gòu)建與移植 Linux 內(nèi)核的完整指南Linux on Nios II在 Altera FPGA 上構(gòu)建與移植 Linux 內(nèi)核的完整指南 Nios II 是專為 Altera現(xiàn) IntelF操作系統(tǒng)內(nèi)核驅(qū)動驅(qū)動開發(fā)虛擬化嵌入式網(wǎng)絡(luò)存儲Zephyr RTOS 在 Raspberry Pi 5 上的移植與實(shí)戰(zhàn)指南構(gòu)建、串口調(diào)試與 Xen Dom0 運(yùn)行Zephyr RTOS 在 Raspberry Pi 5 上的移植與實(shí)戰(zhàn)指南構(gòu)建、串口調(diào)試與 Xen Dom0 運(yùn)行 導(dǎo)讀 本文基于 Zephyr 官方倉庫中操作系統(tǒng)嵌入式RTOS物聯(lián)網(wǎng)上一篇SpeechBrain 實(shí)戰(zhàn)使用 GigaSpeech 數(shù)據(jù)集訓(xùn)練 CTC 與 Transducer 語音識別模型下一篇如何快速獲取國家中小學(xué)智慧教育平臺電子課本一鍵下載PDF教材完整指南創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
AV成人在线播放| 99热免费| 激情丁香久久久久久| 人人操人人爱丁香五月| 久久99久久久久久久噜噜| 五月婷导航| 深爱激清网| 色色色色色色综合网| 成人小说 五月天 婷婷| 激情五月婷婷综合网| 天天综合色综合| 国产精品成人AV在线观看春天| 99久久这里只有精品免费官网| 九月婷婷久久| 九月丁香五月婷婷| 99ri视频在线播放| 久久综合婷婷| 亚洲AAA| 99精品热| 噜噜噜精品欧美成人在线观看| 热99视频精品在线| 亚洲va国产va天堂va综合va| 五月天色色网站| 国产免费AV网站| 久久综合干| 91超级碰在线视频| 精品一二三区久久AAA片| 亚洲久久视频| 国产操逼视频网站| 久久国产色| 激情综合网,五月| 97在线观视频免费观看| www.色擼擼.com| 色五月激情综合网站| www色五月| 色婷婷a v| 激情欧美五月丁香| 激情丁香五月婷婷啪啪| 啪啪婷婷五月天激情| 五月婷婷av| 五月丁香婷婷无码A∨| 亚洲深喉aV| 激情丁香六月| 婷婷爱在线观看| 亚洲无AV在线中文字幕| 久久婷婷五月天| 色综合婷婷| 五月丁香综合| 色99色| 丁香五月婷婷深五月| 亚洲V国产V欧美V久久久久久| 欧美搡BBBBB摔BBBBB| 丁香五月婷婷激情123| 婷婷五月激情在线| 久久五月视频| 五月天涩涩| 色综合久久综合中文综合网| 91在线观看九区| 91婷婷丁香五月| 久久婷婷五月草视频在线播放| 超碰人人插| 啊v视频在线观看| 少妇口诉沐足视频播放器网址| www,超碰| 色五月激情问网站| 免费看欧美成人A片无码| 艾小青av| 亚洲第一色网站| 五月色婷丁香| 国产性av| 婷婷色婷婷| 99精品小视频| 狠狠插狠狠| 婷婷射图| 五月丁香久久综合色| 99热这里有精力| 亚洲色情网站| 天天舔天天| 超碰人人艹| 激情五月丁香五月色| 99久久精彩视频。| 9伊人网| 色婷视频| 五月丁香色色网| 综合激情深爱| 色五月成人在线| 超碰97免费在线| 久99999热视频在线观看免费| 丁香五月日韩| 日熟女| 99热只有这里才是精品| 婷婷五月天美女| 无码A片一区二区免费| 欧洲色色| 日本天天操| 色五月五月天色婷婷色五月| 婷婷丁香高潮了| 五月丁香六月综合基地| 九热视频精品| 色色色色色色色色色色色色色五月天| 大香蕉婷婷婷| 色啪久| 天天操夜夜操| 伊人色综合网| 在线不卡视频| 色婷婷六月| 久草天堂| 久久婷婷成人综合色怡春院| 色婷婷影院| 永久精品| 激情开心五月天| 色5月婷婷| 五月丁香琪琪| 久婷婷| 六月婷婷香蕉| 九月婷婷激情| 色婷婷久久综合| 久久久久婷| 五月天色软件| 激情五月婷在线精品| 日韩一区二区在线播放| 精品久久9| 午夜丁香综合婷婷| 五月婷婷影| 天天插天天射天天干| 亚洲激情四谢| 九九热视频精品999| 99网| 视频一区二区在线| 天天操五月天| 黄网在线免费观看| 色黑鬼导航| 久久这里这里有精品免费视频| 99热精品观看| 亚欧州精品视频| 综合久久高清| 久热久色| 丁香五月天欧美在线| 婷婷综合五月激情| 色噜噜婷婷| 欧美色骚婷婷五月天| 91精品91久久久中77777| AV在线免费播放| 26.uuu丁香五月婷婷| 久婷婷五月综合欧美| av线电影| 久热这里只有精品性色AV| 色哟哟精品| 亚洲成人免费电影| 五月天婷婷在看| 综合性视频99| 色亭亭五月天丁香综合AV - 百度 - 百度| 天天爱天天操| 五月激情小说网| 久久99热这里只频精品6学生| 九九RE视频在线精品| 激情AV| 99热在线观看| 97碰在线免费观看| 再綫Av免费視品| 狠狠人人| 激情综合色婷婷啪啪六月天| 天天综合五月天| 猫咪伊人久久| 色五月婷婷在线| 国产精产国品一二三在观看| 日韩精品一区二区刘| 9 99免费视频| 日韩五月天婷婷| 成人精品99| 日本天堂免费99| 夜夜撸天天操| 丁香啪啪中文字幕| 五月婷婷六月丁香| 色永久| 国产亚洲色婷婷久久99精品91| 婷婷五月丁香91| 在线播放成人网站| 日韩欧美性爱| 久久只有这里精品免费| 五月婷婷真爱激情网| 亚洲成人中心| 三级三久久线久久99久目本WW| 无码少妇高潮喷水A片免费| 午夜微拍福利| 久久五月丁香婷婷| 色五月在线观看| 婷婷丁香久久| 亚洲国产网址| 婷婷六月爽| 久久狠狠干| 五月网网站| 99ri国产| 色色六月| 免费99情趣网视频| www.maotanji.com| 九九99精品视品| 六月丁香色色色| 久久婷婷六月综合资源| 欧美精产国品一二三区| 欧美在线ee日韩| 婷婷久久丁香五月| 天天做天天爱天天做| 成人AV在线电影| 超碰婷婷色| 黑人熟妇一区二区三区| 爱的综合网| 五月精品| 婷婷丁香色女人| 日本三级中国三级99人妇网站| 我要射综合| 色综合色色| 内射 无码 伊人| 97九色| 色综合播放| 久久婷婷亚洲| 日韩中文字幕| 在线观看熟女少妇| 97性视频| www,久久久人人| 人妻爽爽爽久久久久久久久| 人人干女人| 操一区| 丁香花操逼| 国产成人VA| 天天搡日日搡aaaaⅩ| 97超级啪啪在线观看| 色欲人妻综合aaaaaaaa网| 五月天婷婷在线观看| 久久婷婷五月丁香网| 五月婷在线| 91婷婷色五月| 超碰99资源站| 色噜噜五月丁香婷婷| 精品人妻伦| 久久婷婷色综合| 日本97在线看片| 婷婷激情五月天在线视频| 丁香婷婷五月天在线视频| 密着浓厚中出乚交尾GvG935| 蜜臀A∨在线水帘洞| 色色激情网| 色五月婷婷天堂| 久久网思思| 婷婷久久综合久| 色婷婷人人| 色色aⅤ網| 97久久超碰| 91婷婷丁香| 日韩aaa| 婷婷99视频在线| 热99精品视频观看| 国自产拍偷拍精品啪啪一区二区| 草操AV在线| 亚洲AV成人精品日韩在线播放| 超级碰91| 99无码黄色视频| tingtingcaobi| 五月婷婷在线短视频| 美女精品一级不卡视频| 色伊人婷婷| 久热播这里只有精品| 日本色色影片| 色激情五月| 成人午夜视频精品一区| 这里只有精品99www| AV电影在线播放| 激情综合5| 亚洲色五月| 色五月激情| 91狠狠综合网| 五月天激情综合首页| 五月天天天色| 色综合天天网| 影音先锋秋秋五月婷婷| 天天操夜夜爽| 久久精品五月天| 五月婷婷丁香伦理网| 成人五月天婷婷| 99色色视频| 99热.com| 天堂网操| 九玖欧洲亚洲| 六月婷婷最新网址| 毛片新网地| 五月丁香色色网| 色你久久| 亚洲av综合网| 可以免费看av网站| 婷婷丁香激情五月天色色色| 思思精品热在线| 天天综合网亚洲网站| WWW.五月com| 深爱激情丁香五月| 亚洲国产网站| 99视频九九热| 超碰免费人人| 桃色成人网| 日撸夜撸日操| 人妖色AV色综合| 99爱在线视频观看| www.色色五月天.com| 婷婷色色五月| 5月丁香六月婷婷| 婷婷五月天综合亚洲| 婷婷婷婷色| 中文字幕,综合,91| 91久久久久久久久久久| 五月综亚洲| 超级碰碰碰久久网站视频| 天天色视频| 青青草色在线视频观看| 疯狂做受XXXX高潮A片| 久香草视频在线观看| 97干在线免费| AA丁香综合激情| 深爱开心激情网| 人人操碰| 婷婷亚洲天堂| 五月天播播| 成人 在线 日韩| 欧美性生交XXXXX无码小说| A久网| 成人在线综合| 亚洲无AV在线中文字幕| 五月天色不卡| 婷婷色亚洲| 天天日天天肏天天奸| 激情网开心网| 婷婷六月激情| 婷婷色色欧美综合网| 天堂网啪啪| 婷婷五月天av网| Caoub青青超碰 | 91n啪啪| 玖玖综合色| 五月天四色房丁香| 99精品在线播放| 激情玖玖sh| 综合网啪| 五月人人丁香婷婷五月人人丁香| 日本专区久久| 河北真实伦对白精彩脏话| 天天拍天天操| 99热久只有| 丁香综合久久| 丁香,开心成人,久久| 色碰碰| 久久婷婷五月天激情| 亚洲小电影在线观看黄999| 中文字幕日产A片在线看| www色五月| 婷婷五月天色| 99激情网| 午夜精品777| www.五月天婷婷| 五月Huangsewang| 成人看片网站| 亚洲五月天伊人| 91操片| 婷婷五月天涩涩| 日本99久久| 国产午夜精品一区二区| 久久久久久久久人妻| 一区二区三区视频| 日韩av在线免费观看| 97碰碰草| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 性色做爰片在线观看WW| 影音先锋四区| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 五月丁香啪啪激情| 五月婷婷六月丁香在线视频免费在线观看| 色婷婷香蕉丁丁网| 激情综合网,五月| 狠狠色噜噜狠狠狠狠综合| 久久丁香网| 天天日,天天插| 丁香六月婷婷综合| 狠狠色成人影片| 久久99最新| 色色色婷婷五月| 婷婷色六月| 亚洲视频在线观看| 国产精品电影| 九月婷婷综合| 大香蕉人妻| 人人干人人操人人摸| 网色99| 国产亚洲网站在线| 五夜丁香| 久久五月天视频| 金品在线视频99| 五月丁香日逼| 操逼五月天| 91av视频| 成人精品网站在线观看| 亲子乱av一区二区三区的| 日韩在线视频9色| 大香蕉220| 男女啪啪做爰高潮无遮挡| a在线观看| 天天拍天天操| 激情综合网激情五月天| 国产精品久久久久久久久久久久| 婷婷色在线| 人人操五月天| 免费看欧美成人A片无码| 囯产精品久久欠久久久久久九大| www久| 丁香六月天| 色色色网站| 极品人妻VIDEOSSS人妻| 好吊兆人妻| 色婷婷小视频| 97日在线视频| www.久久99| 337p大胆噜噜噜噜噜91Av| 操日挥操日日| 可以免费看AV网站| 日韩av干| 国内精品玖玖| 色 色 色综合com| 婷婷五月天激情在线| 婷婷五月天欧美图片在线播放电驴| 成人电影丁香六月天| 九九热经典视频在线观看| 亚洲天堂aaa| 五月天激情图片| 激情爱爱网站超大免费| 激情五月天小说| 婷婷五月大香蕉| 久久婷婷亚洲| 涩综合网| 97操碰视频| 香蕉AV777XXX色综合一区| 另类视频丁香五月| 可以免费观看的AV| 色偷偷五月天| 九色综合网| 玩熟女五十AV一二三区| 99热爆在线| 亚洲综合欧美色丁香婷婷888月图片 | 日本97在线| av国产精品偷| 99热在线观看| 色射婷婷五月天| 九色啦蜜臀| 欧美婷婷| 狠狠婷婷日韩| 综合色播| 久久这里有精品视频在线免费观看| 99国产视频网| 人人播| 亚洲春色奇米影视| 婷婷涩涩五月天| 丁香婷婷精品视频| 丁香六月伊人| 直接看的AV| 高清资源站日A美A欧亚…| 高清 码 免费看片短视频| 狠狠操综合| 亚洲成人电影aaaa| 九九这里只有精品| 久久久免费精彩视频| 久久99热这里只有精品| 丁香五月婷婷激情蜜桃| 《诡秘之主》在线观看| 色五月婷婷久久| 亚洲激情在线| 无码一区二区三区四区五区91c| 亚洲婷婷91丁香| 玖玖综合色| 思思热热久久| 亚洲综合五月天婷婷| 激情综合五月丁香六月婷婷| 人妻av在线| 久色网五月| 色色色国产| 青青草大香| se99热久久一本| 色婷婷久久综合| 丁香五月激情性色郤| 亚洲婷婷91丁香| 99五月香婷婷丁香在线视频| 超碰色天堂| 狠狠88综合久久久久噜噜噜| 亚洲视频操| 婷婷五月丁香第四色超碰在线| 日韩久久色| 丁香五月23111| 啪啪一区| h亚洲| 99这里只有精品在线| 色婷| 丁香色五月AV在线| 婷婷丁香五月天小说| 色色色色色色色色五月先| 91人妻九色大屁股| 性婷婷| 97碰在线| 人人插9| 五月丁香婷婷伊人| 噜噜在线| 九九热99精品| 九月婷婷综合八月丁香在线观看| 婷久久| 4399精品一区二区| 婷婷免费无视频| 婷婷五月丁香五月| 国产成人在线精品| 亚洲VA口| 六月丁香成人| 婷婷草| 欧美性生交XXXXX无码小说| 亚洲、欧美、国产另类笫二区| 成人丁香婷婷| WWW.五月com| 我要色综合五月婷婷| 夜夜干天天操| 五月天激情图片| 亚洲美女网Va| 九九综合图片网| 玖玖福利视频资源| 99热精品免费| 欧美激情丁香五月| 日日杆天天| 五月丁香六月成人| 久久色五月| 婷婷久久婷婷| 五月丁香综合在线| 九月av在线| 五月婷婷之美女图片| 狠狠插.com| 激情综合婷婷| 色五月婷婷777| 啪啪五月天啪啪| 极品少妇XXXX精品少妇偷拍| 久久久er热| 激情五月天网站| 五月婷婷深深的爱| 91Chinese在线| 成人一级片| 亚洲AV人人操| 欧美熟女99| 亚洲综合婷婷| 五月丁香六月色婷婷综合五月天 | 97色片| 丁香婷婷六月天| 激情久久肏屄视频| 五月丁香六月激情欧美综合| 天天噜天天插| 色婷婷丁香A片区毛片区女人区| 国产亚洲精品人人| 久热超碰| 精品久久99| 天天干天干| 91碰碰视频| 日韩无码专区| 成人.在线日韩| 深爱丁香激情| 爱狠射| 日本九婷婷| 99碰碰视频| av九九| 丁香五月婷婷性爱| 日韩成人中文| 婷婷综合激情| 97精品欧美91久久久久久久| 婷婷五月天激情网| 六月婷婷私欲| 婷婷伊人綜合| 五月天激情婷婷| 综合 蜜月 婷婷| 五月天成人免费视频| 一区二区三区XXXXXX| 日日夜夜天天| 色丁香五月天射婷婷爱婷婷| av操逼网| 人人摸人人澡人人| 六月婷婷天天操夜夜爽视频| 人人人操 超碰| 激情五月com| 五月丁香趴趴| 丁香五月宝贝激情网| 97超碰,人人舔,人人操,人人摸| 亚洲 六月 综合| 色综合色色色色| 91精品综合久久久久久五月丁香| 欧美五月丁香啪啪响视频| 无码人妻少妇色欲AV一区二区| 亚洲行行色色| 影音先锋毛片网站| 欧美搡BBBBB摔BBBBB| 凹凸操Av| 亚洲欧美国产A片免费观看| 婷婷射丁香| 99区视频| 丁香五月综合激情久久潮喷| 久久99精品九九久久久婷婷| 艹| yw.av| 色色激情网| 超碰在线成人| 91热视频| 99热在线只有精品| 夜丁香五月婷婷| 亚洲永久免费| 2015在线中文字幕| 人人操五月天| 精品色| 激情综合自拍五月婷婷色五月| 婷婷五月丁香色色| 99久久国产宗和精品1上映 | 九九视频在线观看| 天天天久久久| 久久人操-久草婷婷-成人AV| 日本99热| 亚洲精品视频电影| 狠狠撸激情综合丁香五月天俺来啦| 9热精品| 久久久网站| 亚洲综合五月天婷婷| www.夜夜操.con| 99在线热视频| 久久伊人大香蕉| 色小说五月天| 99性爱无码| WWW久| 色香久久| 婷婷丁香人妻天天爽| 婷婷开心激情综合五月天| 黄色AAAAAAA| 色婷婷小说网| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 我爱大香蕉| 久婷狼色诱惑在线| 丁香六月综合| 97亚洲婷婷| 色婷婷激情五月天在线观看| 色五月丁香五月五月婷婷| 偷拍九九五月丁香婷婷| 99网| 天天爱天天爽| 久久婷婷啪啪视频| 天天色综网| 丁香婷婷综合精品六月初| 99爱爱网| 一区二区乱视频码| 激情五月婷婷综合秋霞| 色婷婷激情| 日本在线视频www色| 99A片| 国产亚洲精品人人| 亚洲在线综合| 欧美日韩国产伦精品日韩人妻一| 91n啪啪| 国产一区二区av免费| 天天做天天爱天天高潮| 99综合视频一体| 五月丁香色婷婷久久| 婷婷深爱五月丁香| 天天做天天爱天天玩夜夜爽| 激情婷婷狠狠干| www.国产亚洲69ty.久久久久久久久久久久| 精品九九网| 丁香六月天婷婷| 人妻有码乱操| 亚洲九九99精品视频在线播放| 精品一区二区三区四区五区六区| 99色在线| 婷婷丁香在线| 亚洲激情av| 日韩性视频| 成人精品人妻| www.色五月.com| 色综合伊人网| 久久人妻高清中文| 99re思思精品在线观看| 婷婷丁香亚洲五月天| 五月丁香婷婷综合激情基地| ji'qing'luan'ren'lun| 丁香色啪综合| 成人狠狠成人狠狠成人狠狠成人狠狠| 五月天婷婷色播| 五月亭亭激情综合| 99成人无码| 99色在线观看视频| 国产精品热搜丁香五月婷婷| 26UUU精品一区二区c〇m| 丁香五月网| Va另类视频| 狠狠五月天激情| www、色色色| 婷婷五月丁香综合激情| 欧美这里只有精品| 精品网站:999WWW| 日本三级中文字幕| 色色网站| 99在线精品免费视频| 国产又色又爽又黄又免费| 全部老头和老太XXXXX| 国产黄色在线观看| 国产AV网页| 少妇婷婷五月天| 丁香婷婷五月色成人网站| 日本久久视频| 少妇高潮一区二区三区99欧美| 久久五月丁香| 激情五月天之六月婷婷| 日本五月视频| 人妻久久久久久久| 婷婷久久色| 99激情网| 日本99热| 欧美日韩一区二区三区四区| 亚洲无码www| 色色丁香婷婷| 综合激情网| Www,五月天| 国产精品视频| 五月丁香做爱视频| 99精品22| 六月丁香综合| a久久| 五月天丁香啪啪啪啪| 婷婷综合视频| 天天日天天摸天天| 色五月婷婷影院| 天天干天干| 久久久精品人妻| 婷婷色五月天在线| 91久久久久久久久久18| 亚洲天堂无码| 日本九九视频| 97人人草| 五月停停丁香| 色综合综合色| 人妻AV在线| 99视频在线看| 只有精品视频在线观看| 丁香五月综合网亚洲综合欧美狠狠| 五月天婷婷婷| 超碰色综合| 婷婷另类开心| 色五月婷婷五月| 无码色| 国产女人十八水真多1| 日本色道视频网站| 思思久久青草热| 色婷婷激情| 免费看欧美成人A片无码| 99在线视频女女视频| 五月色婷婷综合色| 亚洲五月花| 91九九| 五月天综合色| 狠狠香婷婷五月| 99视频在线观看网址| 久久丁香五月天| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 密乳视频| 99人妻碰碰碰久久久久视| 777精品久无码人妻蜜桃| 超碰婷婷五月| 婷婷五月丁香综合亚洲| 思思热视频在线观看| 婷婷色综合| 伊人网啪啪| 丁香五月亚洲综合| 狠狠干婷婷| 色五月婷婷五月天激情综合| 色色色色色级无码| 五月天丁香成人社| 婷婷六月成人| 婷婷五月天激情综合| 2017狠狠干| 97成人视频| 狠狠va| 成人av在线电影| 91日本在线免费| 丁香五月婷婷动漫| 色爱99| 一区操| 婷婷中文字幕版| 第五色婷婷| Caoub青青超碰| 午夜性爱影视一区77| 超碰操网| 色婷婷影| 婷婷五月丁香手机在线视频| 丰满少妇乱A片无码| 99热在线播放| 99久精品视频| 亚洲中文字幕翔田千里| www.seqingwuyuetian| 综合激情啪啪| 色99在线| 大香蕉九操| 欧美色五月| 激情文学 综合 九月| 亚洲精品性色| 国产精品久久久爽爽爽麻豆色哟哟| 色五月婷婷影院| 精a品a| 亚洲成人av中文| 婷婷色五月色妇| 99re在线播放| 日操| 日韩一级片| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 五月丁香六月婷婷网| 激情五月天情色| 5月丁香六月婷婷| 99视频这里有精品| 婷婷丁香五月天欧美| 天天干,天天日| 99精品国产在热久久 | 99在线视频女女视频| 丁香五月婷婷精品视频| 超碰碰碰碰| 成人做爰A片免费看网站找不到了| 97超碰人人操| 超碰成人在线观看| 99在线热| 97人人操人人爽| 91色久| 婷婷91| 伊人久久婷婷| 99re99热| 天天日天天爽| aaaaa黄色| 丁香五月天综合| 丁香五月天激情网址| 婷婷五月花| 九九综合精品| 最近中文字幕大全免费版在线| 夜夜躁狠狠 | 五月丁香综合啪啪| 婷婷久久婷婷色五月| 色色婷婷丁香| 五月婷婷五月丁香综合| 精品国产乱码久久久久夜深人妻 | 色情综合| 欧美色九| 国产av网| 久久精热| 免费97碰碰| 五月人妻婷婷视频| 色女人久久| 中文字幕不卡+婷婷五月| 婷婷色网站| 欧美色婷婷| 色亚洲中文| 久久R激情| 99九九精品| www.91在线看| 狠狠操狠狠操AV| 青青艹b| 伊人五月综合网| 婷婷五月激情图片| 人人草人人爱| 玖玖九九超碰| 九月婷婷综合网| 婷婷草| 婷婷终合色图| 九九RE视频在线精品| 五月婷婷丁香深深爱| 2025超碰| 婷婷六月激情综合| 另类精品视频在线观看| 思思99热| 五月丁香激情六月| 婷婷五月18永久免费网站| 亚洲区视频| 婷婷五月开心中文字幕色| 天天肏视奸| 五月天婷婷綜合院| 国产伊人五月天| 久久ri精品| 99re这里只有精品视频了| 在线观看亚洲视频影院| 六月丁香久久| 丁香激情综合| 婷婷色丁香五月| 久久精品一区二区三区四区| 亚洲天堂aaa| 乱码操操| 玖玖色综合色| 色色五月婷婷久久| 亚洲色欲欧美一区二区三区| 热热色色五月天婷婷| 色婷婷五月天在线观看| 狠狠色噜噜狠狠色噜噜噜999| 狠狠色丁香乆乆| 91碰超| 91啪级电影| 97欧美在线| 日日影院 | 日日夜夜干| 99热精品在线播放观看| 99在线视频观看| 超碰激情网| 国产精品色色色色| 97色婷婷| 男人综合网| 久久精品系列| 国产露脸150部国语对白| 国产日韩欧美性爱| 久久婷婷五月综合激情国产| 熟女91九色| 日韩在线观看网址| 91欧美日韩综合| 久久久久久丁香五月| 中文字幕黄色片| 五月婷婷丁香91| 综合久| 色婷婷五月视频| Se.婷婷五月天| WWW99视频| www.夜夜| 色久九| 久久丁香久久| 99色色网站| 另类激情码| 五月天电影网| 色五月综合激情| 免费观看的婷婷五月视频在线| 丁香五月天色综合| 大香蕉久久久| YW无码| 欧美性生交A片免费看| 五月丁香五月综合欧美| 五月丁香六月婷婷网| 久久婷综合| 伊人激情网| 亚洲国产无线乱码在线观看| 99热国内精品| 99热99精品在线观看| 狠狠爱综合网| 啪啪黄页网| 九热av| 五月天成人在线视频网站| 99热在线播放| 五月天婷婷高清无码| 思思热久在线观看视频| 亚州色婷婷| 国内久久久精品99| 日本成人内射| 99热热热99精品丁香| 天天做天天爱天天爽| 99re在线视频| 色五月婷婷基地| 凹凸操Av| 五月天婷婷丁香视频| 丁香婷婷精品视频| 亚洲综合99| 97超碰在线免费观看| YW无码| 色综合久久久无码中文字幕999| 丁香五月天激情综合| 九九99免费视频| 激情婷婷久久| www.色婷婷| 久久综合五月| 激情婷婷色五月| 色狠狠综合| 九九热这里都是精品6| 五月色综合网欧美网| 99色视频在线观看最新| 五月丁香狠狠爱婷婷综合| 亚洲欧洲另类图片| 国产AV熟妇人震精品一品二区 | 婷婷五月天a| 一个色的综合| mmm1717.6dbm人人爱人人操| 亚洲精品乱码久久久久久按摩观| 特级操b片| 五月丁香婷婷婷激情爱爱| 五月丁香久久婷| 91se视频| 在线看片h站| 亚洲狠狠爱婷婷| 综合色在线| 刘玥精品一区| 97色综合视频| WWW、日本色丁香、co m| 综合久久五月| 五月丁香综缴情性爱| 97luluse| 国产黄色大片| 99色在线免费观看视频| 人人综合91网| 99热狠狠操| 色七七九九| 成人 在线 日韩| 99色综合网| 婷婷色五月天第7色| 久久视网36| 综合丁香婷婷五月天| 蜘蛛女免费观看完整版高清电影| 色婷婷在线视频久| 色婷五月丁香久亚洲| 丁香五月色情| 99久久激情视频| 激情丁香五月| 丁香六月婷| 成人一级片| 婷婷丁香十月| 99这里只有精| 精国产品一区二区三区A片| 9久久狠狠的| 最新婷婷五月丁香| 无码色综合| 99热在线精品播放| 婷婷五月情| 夜夜躁狠狠 | 五月丁香婷婷六月| 色五月婷婷91| 人人爽天天爽| 国产偷人爽久久久久久老妇APP| 伊人久久丁香狠狠婷婷综合香蕉| 丁香五月97视频| 国产操B视频| 婷婷久久综合久| 激情婷婷五月天伊人在线观看| 思思热久久婷婷五月天| 操一操干一干| 在线播放中文字幕| 极品少妇XXXX精品少妇偷拍| 久久激情四射| 色碰碰| 久久五月天激情婷婷| 国产精品蜜臀99| 五月婷婷婷丁香播| 丁香五月在线观看| 丁香五月婷婷欧美性爱| 色爱爱综合网| 香蕉操亚洲| 婷婷六月爽| 亚洲色99| 五月天激情久久| 最近中文字幕大全免费版在线| 操逼电影免费看| 五月天色综合| 婷婷四月 成人 狠狠干| 狠狠操狠狠做| 五月激情综合网| 熟妇内谢69XXXXXA片| 婷婷久久18| 在线va网站| 无码任你操| 91操人| BlACKEDRAW视频一区二区| 久久综合激情| 常久最新免费的色吊丝| 99热.com| 日韩性爱无码| 五月婷婷久久激情 | 99九九在线视频| 九九热思思热| 97操操操| 无码人妻一区二区一牛影视| 亚洲综合字幕色色| 色99在线视频| 69精品人人人人人人人人人| 六月色播| 天天日,天天射,天天舔| 久热大香蕉| 六月综合婷婷开心伊人| 99色婷婷视频| 天天插,天天射| 激情五月婷婷综合| 亚洲无aV在线中文字幕| 激情婷婷五月天伊人在线观看 | 色狠久| 色色色999| 九九九九九九毛片| 精品色情一区二区三区四区| www婷婷| 这里只有精品96| 色九网| 婷婷基地爱| 99热这里只有精品免费| 超碰伊人碰婷婷五月| 丁香六月婷婷综合网| 中文字幕黄色片| 五月丁香A∨在线| 色婷婷丁香五月高清在线| 丁香色综合| 99这里有精品视频| 色婷亚洲五月丁香| 能看的AV网站| 热99在线| 婷婷五月丁香91| 亚洲色 视频| 狠狠狠狠狠狠| 亚洲区视频| 五月天基地| 综合另类视频| 成人AV综合在线| 色情一区二区播放| 五月丁香色色网| 色综合色五月| 五月丁香另类网| 婷婷五月天激情小说| 亚洲综合色色| 五月婷视频在线| 色爱爱综合网| 99久久成人| 99精品在线| 婷丁香久综合| 亚洲日日日| 噜噜噜狠狠色综| 亚洲免费观看高清完整版AV线| 丁香婷婷老司机久操| 色五月视频,小说| 影音先锋美国A| 色综合色欲综合天天免费| 久久婷婷五月综合| 男人的天堂999| 这里只有精品视频99| 99激情在线| 色色色婷婷五月天| 五月激情网站| 啪啪99| 久9热视频在线观看| 97九色视频| 色色色婷婷| 婷婷五月天影院| 亚洲色图81p| 综合网啪| 非洲一级AV| 九九大香视频| 精典久久| 九九九九国产| AV九九| 婷婷五月天综合网| wuyuedingxiang99| 成人做爰A片免费看网站找不到了 噼里啪啦在线观看免费完整版视频 | 六月激情久久婷婷| 超碰狠狠操| 天干干夜夜操| 91九色最新视频| 天天色天天爱天天爽| 青青久久五月天丁香婷婷| 丁香五月婷综合网| 综合久久伊人| 亚洲激情综合| 色欲天天综合| 亚洲国产精品VA在线看黑人| 天天爽天天爽天天爽天天爽天天爽天天爽天天| 深爱综合网| 狠狠色官网| 中文字幕丰满乱孑伦无码专区| 综合激情网激情五月。| 五月天婷婷香蕉狠狠超碰综合| 激情久久久久| 人人爽天天爽| 99无码免费视频| 97日韩无套内| 丁香五月婷婷在线观看| 日本99视频精品免费播放| 天堂久久精品| 一起草无码视频| 国产成人AV| 婷婷丁香色无五月| 日韩99视频| 99精品在线观看| 久久综合网免费视频| 射婷婷中文字幕| 婷婷性爱五月天| 99色热视频| 激情网五月天| 天天夜天天色天天| 天久久久久| www.婷婷五月| 另类图片 五月激情| 久久99精品久| 激情伊人| 开心五月丁香综合久久| 超碰永久在线| 五月婷婷av| 丁香五月aV| 啪啪五月综合| 狠狠操狠狠爱| 天天操天天谢| 激情视频综合| 91九色在线| 激情婷婷综合五月少妇| 开心五月婷婷婷美女| 色999亚洲人成色| 婷婷色爱| -91九色大屁股| 少妇水多A片太爽了| 五月丁香777| 日日骑夜夜撸| 欧美日韩色色| WWW久久久| 777精品成人a v久久| 99色久| 亚洲色久| 99热这里精品| 婷婷免费精品视频| 久9热插入| 欧美丁香婷婷五月| 五月婷婷激情综合视频| 五月伊人网| 日日操天堂| 91九色精品熟女内射| 99热这里只有精品一区| 色色五月天丁香| 色婷婷伊人激情在线观看| 久久久ww| 国产一级婬片毛片| 综合大香蕉| 91大操| 五月丁香人妻| 色婷婷视频在线| 天堂婷婷五月在线| 9超碰在线| 中文字幕乱码亚洲精品一区| 91久久电影| 天天综合色综合| 免费亚洲婷婷中文字幕| 任我干视频在线观看| 九九99精品视频在线观看| 日本五月婷| 欧洲亚洲免费视频区| 超级黄色片| 婷婷五月五月丁香| 婷婷五月色天| 99视频这里有精品| 色五月 激情婷婷 综合五月天| 国产操B视频| 精品九九九久| 大香蕉520| 99男人的天堂| 婷婷亚洲色| 九九视频这里是精品五月| 丁香五月婷婷激情尤物| 玖玖99婷婷| 五月亭亭开心网| 丁香 亚洲 久久| 天天爽夜夜爽夜爽精品| 丁香五月婷婷亚洲色图| 中文字幕97超级碰| 日韩啪啪自拍| 国产精品涩涩涩视频网站| 丁香六月婷婷开心| 五月天婷婷在线播放| 伊人丁香婷婷东京| 99久久精彩视频。| 久久久久久99精品无码| 九九热内射| 亚洲欧洲中文日韩久久AV乱码| 激情五月婷婷网| www.射伊蕉婷婷| 无码人妻一区| 欧美婷婷五月天综合| 亚洲精99| 色播五月丁香| 五月丁香婷婷综合久久| 97久久久免费福利网址| 在线一起草av| 五月天操逼激情|