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

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
返回資訊列表
看久久性爱99视频| 激情小说婷婷| 六月婷婷九月丁香| AV亚洲在线| 大香蕉天堂| 另类图片激情五月天| 色婷婷亚洲综合天堂| 婷婷六月激情| 五月天综合在线观看视频| 五月丁香操婷逼| 婷婷无五月无码视频| 激情五月天天狠狠久久| 夜夜干夜夜操| 婷激情五月| 激情文学久久| 二色av| 超碰熟女农村在线69| 狠狠操狠狠| 色色国产| 天天综合色丁香| 五月丁香成人| 开心五月丁香婷婷| 丁香五月亚洲综合| 午夜激情五月| 色色 亚洲| 人人干天天舔| 深爱激情九九五月天| 99热精品99| 91丁香色| 久久久久九九九九视屏小说88| 久久婷婷五月综合| 亚洲三A| 亚洲综合五月| 成人国产欧美大片一区| 亚洲狠狠爱婷婷| 丁香五月天堂网| 99热免| 成人在线视频一区| 五月婷婷啪| 停婷丁五月在线| 婷婷色五月情| 婷婷中文字幕| 色优久久| 中文字幕在线免费看线人| 五月婷婷丁香五月| 国产av天天插天天操天天爽| 婷五月天六| 丁香五月色情av| 欧美日本不卡黄色片| 九九综合九| 成人做爰黄A片免费看直播室男男| 色色色综合网| 超碰狠狠干99| 一区二区乱视频码| 欧美六月| 色婷婷色久综| 亚洲人人操| 丁香五月激情综合| 色狠狠综合| 久久伊人大香蕉| 大香蕉久操| 五月天成人综合| 色99色| 久热这里| 丁香久久九九99| 九九综舍久久| 这里只有精9| AAAA亚洲| 开心五月深爱五月| 国产毛片精品一区二区色欲黄A片| 内射在线CHINESE| 久久44| 99热99| 亚洲天堂爱爱| 热99AV网站| 六月丁香婷婷综合狠狠爱夜夜爱| 青草青草视频2免费观看| 亚洲精品白浆高清久久久久久| 亚州第一黄网| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 天天狠狠六月婷丁香影院| 天天摸天天舔天天天天爽| www.日本91| 久久久97| 任你爽在线视频| 久久久jd| 婷婷久久亚洲| 天天干天天爽| 色久九| 思思99热在线| 天天色播| 大香蕉人在线65| 精品99这里有| 9999三级片| 疯狂做受XXXX高潮A片动画| 超级碰碰99| 中文字幕av久久爽一区| 丁香激情综合| 男女啪啪做爰高潮无遮挡| 婷丁香五月天| 日日操,夜夜爽| 另类小说色婷婷| 被男人添B超爽视频| 六月丁香停| 婷婷五月天777| 人人操AV| 蜜桃婷婷狠狠久久综合| 激情久久综合网| 免费黄色视频网址| 亚洲旡码| 国产成人AV在线播放| 偷拍丁香九月激情| 丁香六月婷婷综合网| 色呦呦美女| 婷婷五月花| www.97碰碰com| 婷婷.com| 九九九九九九热| 国产欧美日韩性爱| 亚洲精品亚洲人成人网| 国产 亚洲 在线| 99日韩网站| 天天爱天天爽| 五月婷婷丁香成人网| 成人综合视频在线| www.婷婷亚洲基地| 日本综合久久| 亚洲五月丁香综合网| 五月天停婷基地| 韩日另类| 激情五婷网| 99视频| 蜜桃婷婷五月| 欧美成人精品三区综合A片| 久久久久网站| 亚洲超碰在线| 婷婷六月激情小说网| 极品人妻VideOssS人妻| 超碰不卡在线| 久9热| 天天操婷婷| 色五月AV| 久久9视频欧美| 生活片五区| 1024成人在线观看| 久久ww| 狠狠狠狠狠狠色| 开心激情综合| 五月丁香福利| 亚洲无AV在线中文字幕| 五月婷婷激清网| 日本三级99人妇网站| 久久99热 这里有精品| 亚洲国产精品SUV| 丁香六月 婷婷六月| 久久五月视频| 亚洲aV写真天天综合网久久| 日韩日比视频| av中文在线| 91操色| 丁香五月综合| 欧美成人色婷婷| 九九99在线| 人人操插| 五月色欧洲| 国产,欧美,学生妹,视频| 亚洲五月婷婷在线| 激情熟女网| 久99久99精品免| 黄色激情久久| 极品人妻VIDEOSSS人妻| 五月色亚洲| 欧美色图天堂网色| 综合五月天| 五月婷婷网久久| 丁香五月天AV在线| 91九色视频| 色七色九九| 97干干干丁香| 精品久久9| 亚洲激情图文小说| 精品九九网| 操一区| 婷婷激情蜜桃玖玖丁香| 日本欧美国产| 色婷五月天网站| 色婷婷8| 丁香婷婷情色五月天| WWW.久久久久久久| 亚洲永远av在线播放| www.99热在线观看| 色综合综合色| 天天色情站| 97超碰色| 免费观看18视频网站| 五月婷婷自拍视频| 综合五月草| 免费在线观看av网站| 亚洲综合五月天婷婷丁香| 91狠狠色丁香婷婷综合久久| 人妻中文字幕网| 啪啪综合网| 丁香婷在线| 久9久9热久热| 色婷婷操逼网| 影音先锋AV男人站| 亚洲婷婷性爱| 99国产精品久久久久久久久久久| 欧美在线操| 五月久久亚洲| oVV4WIB3vFi8D| 婷婷综合在线播放| 一区二区三区四区牛| 激情五月天视频| 99热这里只有精品3| 丁香六月中文| 99免费成人网| wWwCom夜操wwW| 久久久久久久久久久月丁| 超碰免费在线| www.婷婷六月天| 91久久九久久九久久九久久九久久| 内射丰满人妻| 啄木鸟黑丝一区二区| 婷久久| 超碰人人摸AV| 丁香五月激情五月| 97人人操人人拍| 国产亚洲色婷婷久久99精品91| 国产精品色婷婷久久久精品| 精品人妻伦一二三区久久| 天天在线天天综合网色| 五月天婷基地| 亚洲五月天综合| 俺也去婷婷五月天第五色| 五月丁香六月综合基地| 久久久ww| 99爱爱| 五月丁香色婷婷久久| 激情精品久久| 最新日韩久热免费视频看看| 亚洲无码成人网| 狠爱婷色| 99ri在线| 青青草a在线| 久热久色| 另类小说五月天综合网| 久久人妻在线| 婷婷久久五月天| 丁香六月欧美| AA久久| 4438激情网| 五日激情综合| 五月丁香啪啪| 777影视理论片大全在线观看| 天天操婷婷| av大香蕉| 久久se 综合网| 伊大人久久| 中文字幕综合色| 99婷婷色| 色99网| 激情黄色小说色五月| 国产91视频| 99操逼| AV伊人青草丁香六月| 五月婷婷丁香成人网| 五月色综合网欧美网| 色综久久AV| 综合婷婷六月| 亚洲99热| 中文AV网站| 思思久久99热只有频精品66| 操比激情五月| 欧美日韩99| 天天肏屄夜夜爽| 夜夜爽日日躁| 91久久五月天| 香蕉97碰碰碰欧美| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 五月欧美丁香在线观看| 99热免| 99热| 草榴视频网| 五月丁香婷中文| 亚洲婷婷五月天在线激情综合网| 久久久人人人妻丝丝丝| 五月婷婷啪啪啪| 久久九九综合| 久久亚洲天堂| www 五月天 com| 人人摸人人搞| 色狠狠色噜噜AV天堂五区| 亚洲AV无码电影| 色情丁香五月婷婷精品| 四色女婷婷| 99热激情| 国产精品第一国产精品| 婷婷五月大香蕉| 成人色五月天| 丁香婷婷色五月| 久久久全国免费视频| 天堂爱啪啪| 九九这里只这里只有精品| 91精品综合久久久久久五月丁香 | 97干在线视频| 五月婷婷真爱激情网| 久久九九99| 天天婬色综合| 五月丁香六月激情网| 亚洲激情综合| 久久加勤综合| 五月综亚洲| 丁香六月婷婷综合激情欧美| 久久青青日本视频| www.夜夜.com| 大学生高潮无套内谢视频| 六月婷婷九月丁香| 天天色综网| 婷婷大香蕉| 99热一本久道| 色久五月天| 久久久五月天| 啪啪色激情五月天| av在线资源| 国产中文字幕在线视频免费观看| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 99在线资源| 六月激情婷婷色| www.激情| 六月婷婷综合久久| 婷婷色五天| 五月天丁香久久综合| 亚洲黄色影视| 怡红院视频| 六月大香蕉| 国产午夜成人AV在线播放| 六月婷婷激情小说网| 91成人看片| 深爱激情丁香| 少妇高潮呻吟A片免费看软件| 亚洲综合欧美色丁香婷婷888月图片| 五月婷婷色综图片| 狠狠撸激情综合丁香五月天俺来啦| 精品色色| 婷婷在线五月综合| 全亚洲最大的婷婷五月天网站COM| 九玖欧洲亚洲| 天天影院色| 久久五月热| 久久久久久欧美精品se一二三四| 停停五月丁香| 亚洲亚洲人成综合网络| 九九热黄色| 99热这里只有精品最新地址获取| 久久久97| 97香蕉久久超级碰碰高清版| 99亚洲无码| 中文字幕成人| 五月丁香中文婷婷中文| 五月婷婷免费在线观看| 这里只有精品视频| 97资源碰碰| 亚洲欧美另类在线23p| 337p大胆噜噜噜噜噜91Av| 丰滿爆乳一区二区三区| 国产婷婷五月中文字幕高清| av狠狠操| 丁香五月婷婷色情综合| 26uuu成人网| 精品香蕉99久久久久网站| 婷婷综合亚洲| 欧美乱码国产一级A片| AAA级久久久精品| 九九黄色网| 这里只有精品视频在线| 久久久免费图片视频| 国产夫妻操逼内射视频| 尔尔AV一区| 久久精品婷婷五月丁香| 亚洲人人操| 伊人喵咪a V| 五月丁香婷婷福利| 婷婷丁香人妻天天爽| 狠狠干在线| 色婷婷丁香五月综合| 五月婷婷激情综合| 777久久综合视频 | 丁香婷婷六月在线资源观看| 色一色综合| 九九人妻福利| 天天爱天天爽| 婷婷五月天AV网| 91操片| 欧美日韩成人高清在线| 欧美色频| 99噜噜| 精品人妻久久久久久| 五月综合激情网| 深爱激情五月天婷婷网| W色综合| 天天插天天很| 亚洲综合色婷| 五月婷婷说| 丁香五月天91| 99爱视频在线播放| 色婷婷综合丁香五月天| 五月丁香婷婷免费视频| 97色图片中文字幕视频在线观看| 五月天激情网站| 九九热91| 婷婷欧美激情综合| 综合婷婷| 在线理论片| 色插综合网| 嫩草极品| se99视频| 天堂久久精品| 五月丁香婷婷综合| 伊人久久五月天| 九九中文色色| 久久性操| 性爱在线播放av| 色婷婷在线视频| 内射丰满人妻| 综合九九日本| 亚洲综合色婷婷| 伊人春天av| 色婷婷99| 亚洲视频伍月婷婷| 丁香五月区| 深爱综合网| 国产99精品免费视频| 熟女少妇内射日韩亚洲| 色播激情五月天| 色香久久| 午夜丁香| 99热这里有精力| 色www.con| 思思热这里只有精品| 天干天天干天天天天天| 96色婷婷| 99综合视频| 丁香久久五月天视频在线观看| 1024AV视频| 深爱综合网| 色五月色五天色情网| 性爱视频久久| 国产成人亚洲综合A∨婷婷| 国産精品| 成人草榴视频| 久久东京热婷婷五月| 爱之国产色情综合| 五月丁香五月丁香五月丁香五月丁香91| 香蕉视频91| 日本本土色网第一区| www.婷婷五月.com| www.色婷婷.com| 丁香五月冃欧美| 亚洲综合一区二区| 免费观看欧美成人AA片爱我多深| 天天色视频| 激情五月天在线观看色婷婷| 97AV人人插人人操| 99亚洲天堂| 激情五月丁香亭亭| 五月婷婷熟女| 丁香五月婷婷基地| 国成人网| 人妻久久久久久| 色99在线观看| 丁香五月激情无码视频| 久久五月丁香婷婷| 99久久五月天| 超碰av在| 色婷婷亚洲婷婷| 日韩五月丁香| 亚洲精品小视频| 亚洲AV综合在线观看| 射婷婷中文字幕| 色情五月丁香| 99亚洲视频| 99爱最新免费视频在线观看| 就是色婷婷五月亚洲色| pom538精品视频| 五月丁香六月片| 久久婷婷五月| 男人的天堂五月丁香| 甈你aaaaa| 久热视频A.| 亚洲色色五月天| 狠狠色噜噜狠| 97精品人人A片免费看| 久久婷婷五月丁香网| 国产一二三四五六七八视频| 亚洲丁香五月美女| av九九| 六月激情丁香一道本7777| 思思久久99热只有频精品66| 色色a| 色丁香五月天| 婷婷五月丁香欧洲| 激情婷婷五月| 五月婷婷人妻| 亚洲丁香五月| 婷婷成人小说综合| 婷婷成人五月天一区| 99惹在线精品免费观看| 色色五月天激情| 九九人人自拍| 日亚二欧美| 五月天激情亚洲| 色综啪啪网| 婷婷大香蕉| 天天骑天天操| 激情小说婷婷| 玖玖婷婷五月天| 五月婷婷之综合激情| 久久激情五月婷婷| 91玖玖| WWW.桔色成人.COM| 久久五月天色婷婷| 欧美精品啪啪| 色婷婷狠狠| 91九色视频| 大香蕉网站,大香蕉综合| 亚洲精品99| www.色婷婷.com| 天天做天天爱天天爽综合网| 日本丁香五月| 综合激情在线| 欧美久热| 婷婷五月天影院| 99热综合| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 91九色在线视频| 人妻激情视频| 色婷婷久久综合| 五月香婷婷| 99久久精| 天天综合干| 99热这里只有精品2016| 伊人AV五月婷| 五月天婷婷AV| 五月丁香亚洲综合| 搡BBBB搡BBB搡18| 日本熟妇乱妇熟色A片蜜桃| 亚洲三级无码| www.色情五月天.com| 天啪色| 99热免费精品| 激情com| 99热九九在线| 99热只有这里有精品| 国产性爱一级| 99ri视频| 91碰碰碰久久久久| 色婷婷亚洲| 婷婷五月色花丁香社区| 天天爱天天做天天爽| 天天狠狠干| 六月丁香婷婷综合狠狠爱夜夜爱| 伊人久久艹| 激情图片亚洲| 亚洲成人在线综合| 五月丁香六月综合情在线观看| 精品婷婷五月天| 五月丁香色婷婷综合| 丁香五月天综合| 亚洲色五月| 玩熟女五十AV一二三区| 天堂色色色| 国在线激情网| 99视频网| 99热网站| 免费日本aⅴ中文字幕 | 五月婷婷中文字幕| 色和综合网| WWW,五月| 五月丁香六月停停| 亚洲成人一区| 99热草草| www.激情.com.| 中文字幕久久一区二区三区| 婷婷五月天激情网| 九色视频九色九色91jiuseshipin| 97丁香五月| 99综合婷婷五月| 激情综合激情综合| 国产69久久久欧美黑人A片| 蜜乳人妻一区二区三区| 激情综合网,婷婷| 2025天天日爽| 中文字幕无线久必| AV九九| 狠狠干综合网| 国产婷婷色综合AV蜜臀AV| 色色色97| 久久思思热视频| 天天日,天天干,天天操| 色色色色色综合| 五月熟妇婷婷久久| 91人妻PORNY九色大屁股| 色婷婷成人色网| 色色操| 丁香五月天激情免费在线观看AV777| 久久性爱视频| 亚州操操| 思思精品视频| 国产一二区爆乳_1国产日韩一区二区三-成人AV| 久久99精品久久久久久噜噜| 狠狠草综合网| 日本精品人妻无码77777| 九色91国产| 激情丁香五月天图片| 久久小说| 激情色中文| 久久WW| 亚洲视频另类| 天天爱天天做天天爽| 狠狠操狠狠操AV| 久久婷婷综合国产| 五月婷婷婷| 91九色超碰| 久久成人性爱| 久久性视频| 9久精品| 猫咪伊人久久| 男女免费视频999| 国产VA亚洲VA96| 成人.在线日韩| 五月激情婷婷开心五月| 丁香婷婷色五月激情综合| 蜜桃婷婷狠狠久久| 99爱视频| 无码yw| 开心网五月色婷婷| 97超级碰碰碰久久久| 色婷婷五月网| 激情涩播| 婷婷五月天婷婷| 97很鲁在线视频| 99久热这里有精品| 专区无日本视频高清8| 婷婷免费精品视频| 色婷婷亚洲婷婷| 99热在线爱| 欧美色婷婷| 激情图片亚洲| 久久性爱视频| 久久九九热re6这里有精品| 日本成人噜噜噜噜噜| 五月天激情国产综合婷婷婷| 日本特黄aaaaa| 曰韩少妇内射免费播放| www.五月天婷婷姐姐| 色伦专区97中文字幕| 亚洲丁香五月深爱五月| 色欧美一级| 五月丁香色狠狠干大屄| 91操黄| 开心五月激情婷婷| 蜜乳人妻一区二区三区| 国产精品色婷婷久久久精品| 亚洲av免费在线| 天天操天天曰| oVV4WIB3vFi8D| 99精品丁香五月| 丁香五月激情五月开心五月| 久久嘟嘟丁香| 五月丁香婷婷色| 梁铮版蜘蛛女在线观看| 久99久视频精品| 色婷婷丁香五月天在线观看| 91九色熟女| 欧美性爱五月天| 五月激情网五月综合网| 依人大香蕉在钱1| 99亚洲精品视频| 99网址在线看| 激情丁香五月婷婷| 精品免费99| 日本WWW九九九| 99色精品| 久色国产| 丁香五月天社区| 99视频这里只有久久精品| 热996精品在线观看| 成人欧美日韩| 南京搡BBBB搡BBBB| 综合久久伊人| 天天综合精品| 人人摸人人干人人做| 2017人人操| 成功精品影院| 直接看的AV| 少妇激情基地| 免费一区二区三区| 色99网| 五月天欧美 另类小说| 99热免费18| 色综合色| 婷婷五月天综合小说网| 97av在线视频| 91久久18| 国产亚洲色婷婷久久99精品91| ss视频xx91| 538任你爽| 思思9久久| 激情久久久久久久久久| 五月婷婷,六月激情| 天天综合91入口| 人妻久久久| 久9视频免费播放| 日日爽日日操| 五月婷婷中文字幕| 丁香五月伊人| 久色网| 强伦轩人妻一区二区电影| 婷婷五月天成人五月天| 色色五月激情| 激情都市另类| 婷婷色婷婷| 五月天国产| 色婷成人狠干| 疯狂做受XXXX高潮A片| 97色片| 五月丁香六月综合激情无码软件亮点 | 久色激情| 欲色人妻| 亚洲无AV在线中文字幕| 亚洲精品无码久久| 九九热最新视频| 亚洲射激情| 婷婷在线免费| 天天操五月天| 五月 婷 久| 国外亚洲成AV人片在线观看| 九九aV| 色播五月天激情| 久久99热精品a片在线观看| www.激情.com.| 久人操| 色综合网页| 色伦专区97中文字幕| 天天色综网| 国产精品视频| 五月天综合久久| 99r这里只有精品在线观看| 色久婷婷网| 久热这里只精品| 激情性爱五月| 色婷婷色综合激情91| 超碰妻人人| 超碰亚洲欧美| 逼特逼在线免费播放| 五月丁香| 丁香六月激情综合| 天天做天天爱天天爽| 婷婷五月丁香久久| 一起草Av| 色综合色五月| 97色片| www.精品99| 激情五月天综合网| 99热这里只有精品99| 天天狠狠夜夜狠狠2023| 婷婷王月天影院| 亚洲第一色区| 狠狠五月激情丁香六月| Www.狠狠| 可以直接看的av| 色五月激情| 丁香五月在线| 婷婷丁香五月网| 在线观看亚洲AV| www.日韩国产| 九九热av| 亭亭五月丁香五月天激情| 99精品亚洲| 婷婷五月情| 99ri视频| 国产精品美女久久久久AV超清| 4399无码视频| 大香蕉福利导航| 亚洲最大视频网站| 亚洲无码激情| 久久香蕉福利| 欧美婷婷六月丁香综合色| 丁香五月精品视频| 天堂婷婷五月色| 天天成人丁香美女AV| 丁香五月五月婷婷五月天激情四射| 激情五月,激情综合网| 色婷婷久久综合久色综| 色色色婷| 91九色在线| 九九99九九精品免费| 大香蕉视频99| 久Se视频在线观看| 这里只有精品视频222| 国产成人VA| av免费人人| 99性爱视频| 日日爽日日| 欧美三级巜人妻互换| 91美女啪啪| 大香蕉99热| 色色色99韩| 少妇人妻综合色6699| 丁香激情五月| 婷婷五月色| 色婷丁香91| 亚洲综合一区二区| 激情综合4月| 狠狠操狠狠干综合| www.色9| 日日夜夜狠狠| 超碰永久在线| 久久9精品| 激情婷婷五六月天| 五月丁香六月激情欧美综合| 亚洲九区| 9九九久久精品无码专区| 99五月婷| 玖玖在线资源视频| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 九九9久九9国产视频| 丁香97综合| 丁香婷最新动态| 亚洲无码九九| 成人看片网站| 99se丁香| 日韩欧美一级大黄网站| 五月天艹天天| 成人视频一区| 亚洲免费成人电影AV| 色婷视频| 激情深爱五月| 欧美婷婷| 密乳Va| 婷婷成人五月天一区| 4438激情网| 超碰成人黄色网| 久久婷婷网| 日日夜夜小色哥| 婷婷激情小说| 97干在线看| 99亚洲欧洲| 黄色AV日韩| 99re视频在线精品| 干亚洲天堂| 久99热在线观看| 香蕉影院色| www久久99com| 色哟哟www| 婷婷五月综合社区在线| 五月丁香激情片| 久久丁香五月天| 日日操夜夜擼| 久久网站免费亚洲| 激情综合色婷婷啪啪六月天| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 六月丁香中文字幕| www.99成人视频| 久久精品99国产精品日本| 色情丁香五月婷婷精品| 97色色综合| 日韩人妻白浆视频系列| www.婷婷网| 午夜成人天堂久久无码日韩久久| 97男人天堂| 五月天激情图| 噼里啪啦完整版中文在线观看| 五月婷婷人人人操| 欧美五月婷婷| 日韩精品呦呦va| 亚洲色情激情丁香五月| 激情五月丁香五月| 影音先锋四区| 五月开心网| Av免费网站在线| 日日操日日射| 亚洲亚洲人成综合网络| 做爱夜夜干天天操| 热99在线| 五月婷婷综合激情| 成人av中文字幕| AV动漫不卡无码免费| www.五月丁香| 婷婷综合在线视频| 激情99在线视频| 91九色白丝| 中文网av| 少妇搡BBBB搡BBB搡毛茸茸| 成人精品一区二区三区四区五区| 亚洲成人五月天| 五月丁香六月香香蕉| 99玖玖免费视频| 欧美三级黄色片久久| 国产精品久久久海的味道| 亚洲无码免费看| 婷婷六月激情综合| 婷婷五月天丁香久久| 婷婷五月天电影区小说区| 婷婷五月综合社区在线| 色婷婷视频综合| 内射 无码 伊人| 婷婷五月视频| 人妻中文字幕精品| 久久久久久久人妻| 久久9久久| 婷婷五月丁香综合| 99色婷婷| 久久久久久欧美精品se一二三四| 五月丁香综合激情在线观看| 99精品无码| 激情合网婷婷| 色欲久久99精品久久久久久| www.成人婷婷综合| 久久五月情| 丁香六月狠狠干| 亚洲综合色色| 五月综合激情网| 狠狠色丁婷婷日日,伊人激情综合网 | 婷婷激情五月综合| 啪啪夜久久| 国产精品电影| 多精窝99在线视频| www.色多多婷| 这里只有精品1| 色婷天天| 色狠狠综合| 色婷五月丁香久亚洲| 五月丁香另类网| 伊人婷婷五月天| WWW久久久| 开心激情站| 情婷婷五月天| 五月天婷婷基地综合网| 日日撸夜夜操| 久噜久噜| 超级碰碰碰碰视频| 五月天狠狠| 俺去也在线官网| 激情五月天99色| 五月天激情国产综合婷婷| 久久狠色噜噜狠狠狠狠97| 日韩欧美成人网| 色婷另类| 色播播之激情五月婷婷| 综合激情四射一theav| 91丨九色丨高潮丰满日本| 五月天婷婷三级黄| 九色视频91| 中文无码精品一区二区三区| 色婷婷综合在线| 99热亚洲精品| 五月天电影网| 啪啪综合| 亚洲av| 久久婷婷久久| ji'qing'luan'ren'lun| 亚洲色色五月| 午夜一区| 桃色激情网| 五月丁香婷婷网网网网| 免费在线观看av网站| 激情九月综合| 婷婷五月天免费| 一区视频网站| 中文字幕网伦射乱中文| 婷婷综合成人| 伊人婷婷激情| 六月丁香色色色| 青青久在线视频免费观看| 精品爆操| 五月婷婷中文网| 婷婷射综合| 一区二区成人电影免费播放| 97在线综合| 国产精品激情五月天色婷婷| 91色色色| 五月婷婷性爱视频| 99成人| 色碰碰| 青青草原福利在线| 狠狠看狠狠| 超碰97免费在线| 又大又粗九一在线| www.yw尤物| 婷婷激情六月| 蜜乳国产网站| 丁香六月婷婷久久综合八月| 婷婷九月丁香天堂丁香天堂| 欧美内射AAAAAAXXXXX| 五月丁香琪琪| 五月婷婷无码| 五月社区婷婷激情| 色99视频| 婷婷va| 日本WwW色偷偷丁香花久久久京东热| 91chinese在线| 人人草人人爱| 婷婷五月骚厕所| 狠狠色婷婷7| 另类激情五月| 在线伦子99热| 婷婷黄色网| 少妇高潮呻吟A片免费看软件 | 丁香五月av| 国产9色在线/日韩| 久久婷婷六月综合综合色| 亚洲婷婷六月天| 天天弄天天爽| 99久在线| 日本成人综合| 99热人人操人人操| 色婷婷在线电影| 久久大香蕉| 丁香五月在线观看| 五月婷婷色情| 激情综合网五月| 99热精品免费| 天天综合亚洲| 性99网站| 五月婷六月丁香| 五月丁香六月激情网| 日本本土色网第一区| 色综合网上班开心婷婷久久| 中文字幕不卡+婷婷五月| 一本色道久久88加勒比—| 久久五月情| 五月婷久久综合| 日韩精品呦呦va| 亚洲无码影音| 激情亚洲五月| 激情图片亚洲| 五月丁香六月激情网站| www久视频com| AV成人在线网站| 狠狠色 综合色区| 610018岁成人视频| 久久无码成人| 大香伊人久色| 日韩一级| 久久免费干| 涩玖玖免费视频| 久久久精品99| 久久久久久久久久久97| 99色.com| 九色 在线| 91丨九色丨熟女|老版| 狼人狠狠操| 婷婷久热| 日本女va| 青青草蜜臀| 丁香综合网| 色色色色色色色色网站| 99热激情| 中文资源在线a | 无码激情AAAAA片-区区| 亚洲亚洲人成综合网络| 亚洲黄色网址| 久久久色情| 五月久久网| 欧美婷婷日本| 九九综合视频在线观看| 在线VA视频| 噜噜噜色噜噜| 国产综合网在线| 欧美性爱一区| 99视频内射三四| 日日操天天操| 久草x色在线观看99| 第1影院之五月婷婷| 婷婷网影院| 九九AV| 狠狠狠人妻| 五月婷婷丁香综合| 播五月开心婷婷欧美综合| 91viP在线看| 欧美激情五月天| 亚洲在线网站| 日本一级特黄大片AAAAA级| 99热久| 九月婷婷丁香| 久久狠狠干| 丁香五月婷久久| 亚洲乱码日产精品BD| 天堂网亚洲色图| 一本久道综合99| 狠狠色狠狠干| 婷婷五月花西瓜| 色婷天天| 国产看真人毛片爱做A片| 9色操| 99自拍视频在线| 丁香涩涩五月天| 大香蕉伊人爱在线| 婷婷五月综合激情| 亚洲最大视频网站| 欧美内射AA| 97五月天婷婷| 婷婷五月天奸女| 婷婷成人基地| 性热视频99精品| 婷婷激情综合无月| 久久人妻人人| 色情综合网| 五月亭亭色| 思思热99er在线视频| 日韩啊啊啊| 精品一二三区久久AAA片| 丁香五月婷婷www..com| 五月天啪啪| 五月天激情无码| 一区二区三区视频| 免费成片在线观看| www.夜夜操.con| 天天干一干| 野战J办公桌椅H| 九九色综合网| 色色五月婷婷丁香| www五月| 色五月婷婷五月天激情综合| 五月激情丁香五月宗合| 丁香五月色网| 婷婷综合性爱网| www.五月婷婷久久.com| 丁香 婷婷 亚洲 熟女| 激情影院丁香五月| 黄色一极大片| 五月天自拍视频| 99爱这里只有精品免费视频| 免费观看日韩成人av| www.激情在线| 丁香五月网址| 国产色色色色色| 高清无码 一区 二区 三区| 香蕉操亚洲| 丁香婷婷老司机久操| 丁香五月天天日| 91狠狠色| 成人短视频在线免费观看| 囯产精品一品二区三区| 激情综合网五月天| 1024成人在线观看| www.六月丁香看AV| 六月婷婷综合| 色人久久| 色色色在线观看| 91干99| 九九爱看亚洲| 色色婷婷五月天| 91超碰九色| 亚洲丁香婷婷丁香五月天激情| 婷婷久综合| 天天干天天日天天插 | 色婷婷丁香| www.yw色| 日韩三及成人AV片| 99精品22| 婷婷五月天综合亚洲| AV天堂淫乩| 色色热| 99re热精品在线视频| 婷婷综合97| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 深夜男女福利刺激影院一区| 99国产精品久久久久久久久久久 | 欧美草久久五月天91| 超碰在线网站9| 五月婷婷色丁香| 超碰免费在线| 丁香五月婷婷久久久| 狠狠干夜夜干| 激情五月天色色| 久操激情| 影音先锋四区| 超碰九九热| 丁香婷婷五月六月久久| 在线天堂9| 色色色97| 99亚洲视频| 九九视屏| 五月丁香六月色| 成人av观看| 婷婷五月精品中文字幕| 九九九午夜视频| 天天日天天舔| 99热这里有精品首页10| 色婷婷激情| 九九青草热| 超碰免费99| 色情五月综合婷婷| 国产成人99久久亚洲综合精品| 成人精品在线观看| 九九视频在线观看| eeuus五月婷| 最近中文字幕大全免费版在线| 热无码A∨| 久久97久久99久久综合欧美| 婷婷日日天天| 色五月婷婷激情五月| 色99网| 99内射视频| 日韩综合久久| 丁香综合婷婷开心激情网| 激情深爱五月天| 日本美女天天日天天爽| 99年操人人爽| 伊人五月成人| 77777亚洲午夜久久| 久久伦乱| 狠狠搞五月天| 最近中文字幕在线中文视频| 亚洲色色色色| 丁香六月欧美| 色婷婷先锋| 丁香色六月| www.9操| 五月天婷婷激情在线色图| 狠狠色五月| 思思久久精品| 九九九午夜影院成人| 色婷婷aV四虎| 日本一级特黄大片AAAAA级| 婷婷五月播| 爱爱网址9| 午夜丁香婷婷| 久久香蕉影院| 在线视频区| 看片视频在线免费日产在线看| 中文字幕AV在线播放| 丰满老熟妇BBBBB搡BBB| 婷婷爱五月天人人爱| 久99久视频免费观看| 婷婷五月色| 久热A| 五月天成人综合| 成人午夜视频精品一区| 成人丁香五月天| 99色在线视频| www.色色色com| 碰97久久| 精品无码人妻一区| 丁香婷婷五月综合| 日本三级中国三级99人妇网站| 激情五月狠狠| 婷婷六月色开| 婷婷五月丁香五月基地| 91婷婷色 | 久热视频这里只有精品68| av第一二区| 色色无码| 日本色狠狠| aaaaaa片| 丁香五月婷婷大香蕉| 色播丁香| 五月丁香影院| 天天爽天天弄| 涩九九九九| www,婷婷,com| 综合色色网| 婷婷五月花西瓜|