免费国产精品自在自线-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啪啪视频| 国产精品VIDEOSSEX久久发布| 五月激情六月婷婷| 九九热思思热| wWw色五月| 91婷婷丁香五月亚洲| 色久影院| 婷婷五月天六月综合| 日韩三级视频一区二区| 久久婷婷精品| 欧洲综合视频| 婷婷六月情| 五月天激情图片| 色情·com| 激情网色五月| 亚洲色就是色色色| 欧美肉大捧一进一出免费视频| 天天射天天射一道本日本社区 | 狠狠色噜噜狠狠狠狠综合| 丁香五月天婷婷中文| 偷偷操99| 日本一级大片| 色操综合| 国产综合A片| 天天干,天天日| 久久婷婷五月综合色播| 天天日天天狠狠操| 日韩色色网| enecarbon-materials.comWu染请涟系Bao护@wip1688| 亚洲日本韩国| 日日影院 | 任你草| 五月婷婷成人| 超碰在线综合| 思思热在线视频精品| 干婷婷五月天| 色高清无码视频| 91操人| 色婷婷国产精品综合在线观看| 久久婷婷老| 久久婷婷亚洲| 亚洲乱码精品久久久久..| 91se在线视频| 色色五月婷婷| 深爱五月激情五月| 五月婷啪| 日日夜夜干| 成人视频一区| 丁香六月激情综合| 色综合色| 婷婷综合中文| 婷婷五月天成人视频| 中字幕视频在线永久在线观看免费| 日良久久| 9色在线| 五月婷婷天| 日韩综合久久| 六月丁丁香| 久久这里只有精品99| 色情免费视频播放| 婷婷五月天激情基地| 亭亭五月天黑人2014| 久色中文| 激情开心五月天| 思思久久精品| 成人电影一区| 大地9中文在线观看免费高清| 激情五月天综合网| 综合久久丁丁香婷| 啪啪啪丁香五月| 狠狠色综合图片| 一级视频网址| 激情性爱五月| 五月丁香在线视频观看| 婷婷免费无视频| 日日操,天天操| 亚州AV超碰人人操| 99热在线中文字幕| 国产又粗又大又爽又黄| 嫩草免费视频| 另类综合激情| 九九在线免费观看| 婷婷久久精品| 久久久国产精品黄毛片| 嫩BBB搡BBBB榛BBBB| 色色色热| 九九热99在线视频| 深爱激情中文五月天av| 亚洲狠狠狠| 九九热免费| 99热在线播放| 国产片XXXXA片国语对白| 久9综合| 亚洲AV久久久久久久久久久久久久久久| 国产偷人爽久久久久久老妇APP| 夜夜嗨一区二区三区直播内容| 人人操人人妻| 婷婷五月天免费小说| 夜夜www| 这里只有精彩视| 婷婷五月天社区| 97色在线| 色5月丁香婷婷| 99视频这里有精品| 日韩人妻AV在线| 成人 九九九九| 亲子乱AV-区二区三区| 婷婷欧美激情| 色婷婷狠狠色| www.99热在线| 狠狠婷婷色综合| 操逼五月天| 无码色色色色色| 99热精国产这里只有精品| 野战毛片三一3| 中文av网站| 五月激情综合网婷婷| 色综合狠狠色| www.五月天婷婷.com| 91色综合久久| 五月婷六月综合在线观看| sewuyuejiqingwang| 久久综合五月| 精品久久久中文字幕大豆网推荐理由| 丁香五月激情六月欧亚激情综合导航| 激情综合五月婷婷丁香| 激情深爱五月天| 草久私拍| 五月婷婷视频ab| 五月丁香激情综合| 丁香五月天天| 秋霞三及片| 狠狠色成人影片| 9一精品视频观看| 天堂爱爱| 婷婷婷婷色| 大香蕉伊然在亚洲90| 久久五月天激情美女| 五月丁香激情综合久久| 婷婷久久综合| 婷婷爱五月| 五月四色激情| 婷婷五月开心中文字幕在线| 久草婷婷| 国产avapp 网| 婷婷在线播放| 五月天婷婷涩涩| 日本在线免费中文com.| 久久99热这里只频精品6学生| 99干在线| 泰州成人视频| 亚州色综合| 97色五月天| 99热最新网址| 成人电影一区| 99热啪啪| 97人人干| 五月天色不卡| 男人的天堂999| 色五月大| 91免费看片| 79色色色色| 色欲一区二区三区精品A片| 91操人视频| 99色看| 丁香六月婷婷色XXXXX| 9热久久| 91性人人| 亚洲尤物在线| 日本综合久久| 天天综合网站| 超碰二区| 国产激情AV| 91xxxx九色| 亚洲AV成人无码久久精品老人法拉利| 婷婷色狠狠| 99热这里只有精品一区| 色 噜噜 九月 婷婷| 校园激情 亚洲| 九九色色| 色婷婷色人人射| 91九九| 日本怕怕视频| 国产欧美精品AAAAAA片| 综合色、色综合| 色综合播放| 日本人妻伦在线中文字幕| 婷婷五月亚洲激情| 91精品刘玥| 思思精品久久艹| 激情 久久 婷婷| 伊人狠狠狠综合| 超碰日韩成人| 狠狠操狠狠操| 色噜噜综合网| 天天日天天舔| 色婷婷激情五月天在线观看| 日本三级日本黄色| 大香蕉久久婷婷精品综合| 精品九九婷婷| 思思精品视频| 亚洲色综合性| 99久久終合| 激情小说在线视频| 97亚洲色 torrent magnet| 丁香婷婷深情五月亚洲| 五月婷五月婷伊人伊人五月婷| 五月丁香综合网| 秋霞午夜理论| 综合色视频| 99超级碰碰| 国产日比| 男人的天堂av俄罗斯热| www.黄色片-久久成人国产精品在线播放-999AV| 91精品久久久久久久久久久久| 中文字幕在线免费| aaa久久久| 美女天天久久| 91av色色乱视频| 99色中文| 五月婷婷五月天亚洲无码| 人人看人人97| 狠狠干狠狠干| 2020日日干| 五月婷丁香| 五月天婷婷成人网| 99re这里只有| VA国产在线综合网站| 色婷小说| 99色在线| 美国十月色婷婷在线观看| 人人草成人视频| 丁香六月婷婷色XXXXX| 欧美天天综合网站上去吧| 九九热狼人| 超碰人人超碰| oumeisesewang| 欲求不满的人妻| 激情綜合W W W,激情五月天| 综合激情开心五月| 99情色五月天| 亚洲亚洲人成综合网络| 91超碰人人操| 五月丁香色婷| 99色精品视频| 婷婷丁香色情| 色婷婷香蕉丁丁网| 日本二级毛片二级毛片| 丁香五月婷婷无码AV| 男人的天堂在线婷婷| 成人在线日韩| 久久人人九| 色五月婷婷五月天激情综合| 激情四射亚洲| 亚洲欧美在线观看| 亚洲精品成人| 99自拍视频在线| 97婷婷五月天| 亚洲噜色| 五月亚洲激情| 9热在线观看| 69精品人人人人人人人人人| 日日夜夜狠狠| 热99AV网站| 久久婷婷五月草视频在线播放| 激情六月丁香| 超碰自拍天堂| 99ri国产| 久久久久亚洲AV无码网影音先锋| 久久九九玖玖| 超碰在线观看成人视| 国产JK精品白丝AV在线观看| 亚洲九九视频| 开心婷婷五月| 99热这里只有精品3| 国产精品色色| 操日视频| 综合久久高清| 欧美 日韩 成人| 综合五月网| 五月婷婷与六月丁香图片激情| 丁香五月之久操视频| 99日本在线| 狠狠操天天干| 色日本综合| 丁香丝袜五月| 天天操,夜夜骑| 这里只有视频精品| 婷婷五月天激情在线观看| 大香蕉中文| 日本久久色| 五月天婷婷色综合| 婷婷色影院| 伊人五月综合网| 久99视频在线观看| 9久热| 五月综合激情视频在线| 婷婷五月天天爽| 色色色综合色| 超级碰碰碰97免费| 伊人久久大香网| www.99精品在线| 狠狠五月激情丁香六月| 色播播之激情五月婷婷| 丁香六月视频免费观看| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 激情婷婷丁香五月天小说| 成人婷婷| 亚洲黄色精品| 天天干,天天舔| 99干日本| 亚洲色色色色色| 五月丁香爱婷婷深深| 日韩在线99| 日韩一级A片黄色| 五月天婷婷激情在线色图| 国产精品岛国片在线观看免费| 91日综合欧美| 男人的天堂在线婷婷| 五月天黄色激情小说| 日 日干 日日做| 极品 少妇 内射| 久久99综合| PORNY九色9l自拍视频成人| 超碰人人色| 成人在线视频网| 激情深爱婷婷网| 久久久www| 五月婷婷激情刺激| 看国产探花操逼三级片| 欧美在线操| 五月丁香色综合| 无码AV免费精品一区二区三区 | 天天网曰日曰夜夜综合永久免费| 五月婷天堂视频| 黑人无码一区| 婷婷舔| 看国产探花操逼三级片| 日本三级黄色大片| 综合色在线| 婷婷99丁香| 亚洲中文字幕AV| 日本综合久久| 五月天激情黄色小说在线观看| 一根材五月婷成人| 色婷婷亚洲婷婷在线观看| 国产密乳av一区二区三区四区| 99九无网码| 色色色热| 五月天激情网址| 天天看片日日夜夜| 99久久玖玖| 99精品热| 伊人天天色| 婷婷五月花西瓜| 婷婷六月色开| 99婷婷色| 色青青五月| www.henhengan| 九九精品在线网| 99ri在线视频| 狠狠色噜噜狠| 五月丁香| 伊人玖玖网| 五月综合视频| 久久综合丁香| 一区=区操屄高清大全av| 综合激情婷婷| 182TV大香蕉| 成人亚洲精品久久久久 | 人妻肉射免费观看| 99色热| 久久综合55| 色99在线观看| 裸体美女丁香五月天。| 亚洲天堂婷婷丁香| 日本女天天爽| 色色婷婷丁香| 天天干,夜夜爽| www.9操| 日韩ac不卡无码| 人妻无码精品一区| 青青草青青草五月天| 婷婷五月色惰| 伊人AV五月婷| 五月婷三级片| 久热黄色| 五月天社区婷婷丁香社区| 天天狠狠综合精区| 99热欧| 亚洲激情视频在线观看| 色欲久久久久久综合网综合网| 人妻第九页| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 婷婷五月丁香五月| 99九九免费精品| 开心五月激情网| 婷婷色色婷婷| 99ri国产精品| 五月成人天| 欧美日韩精品人妻狠狠躁免费视频| 97碰在线视频| 激情综合色| 色视频色综合91| 操笔无码| 最近中文字幕大全免费版在线 | 美女天天久久| 亚洲综合成人网| 99 热国产在| AV性爱在线| 久久五月丁香综合| 婷婷.com| 丁香五月婷婷av影院| 欧美日韩大黄| 思思久久99热只有频精品66| 天天肏天天插| 超碰国产在线播放| 狠狠人人| 五月丁香婷婷综合| 综合五月丁香久久| 99自拍视频| 五月天狠狠色| 操碰97| 九久热| 久久色五月天综合网| 婷婷丁香91综合| 操91| 婷婷五月色播| 亚洲视频在线观看99| 99爱精品| 婷婷五月六月丁香综合| 免费啪啪啪网站| 五月天激情视频| 日韩成人无码人妻| 激情五月色婷婷| 久久婷婷五月天激情四射| 色综合中文色综合网| 色九亚洲| 五五月丁香花激情综合网| 色婷婷小说| 玖玖在线视频福利| 少妇高潮呻吟A片免费看软件| 色色婷五月天| 大鸡巴伊人网| 九月综合| 凹凸7777操操操| 日产精品久久久久久久蜜臀| 人人视频色| 国产亚洲99久久精品熟女| 五月丁香在线观看| 色噜噜狠狠色综合AV兰草影视| 婷婷五月综合在线| 99热99热不卡| 大香蕉婷婷五月天| 中国女人内射6XXXXX| 这里只有免费精品| 黄色网址五月婷婷| 激情五月婷婷六月丁香| 日本三级日本三级99| 狠狠色丁香| 五月天激情.com| 欧美、日韩、中文、制服、人妻| 丁香五月色| 色婷婷五月网| 99日在线视频| 久热精品免费视频4| 五月天偷拍| 99re热视频这里只有综合亚洲| 色色婷| 久色姿源| 久热黄色| 激情五月天色色| 99热欧| 婷婷激情四射五月天| 超碰99在线| 国产精品视频久久99| 综合99综合久久久久久久| 99免费| 安息电影在线观看完整版| 丁香五月色激情| 色婷操逼| 欧美VA在线观看| 日良久久| 月丁香久久久| 99精品成人无码A片观看金桔| 五月天亚洲综合网| 天天日,夜夜爽| 日韩久综合| 五月丁香六月激情| 色噜久| 玖玖色综合| 丁香五月婷婷网| 精品99久久久久成人网站免费| bukadeavzaixian| 大香蕉综合网| 亚洲美女高潮久久久久久69| 五月丁香WWW| ou洲色吧| www.婷婷五月| 五月天社区| 九九热这里只有精品12| 色99自拍| 婷婷久久图片| 久久探花91swag| 色噜噜综合网| 超碰人人艹| 五月天综合在线观看| 五月色视频| 91婷婷视频| 久久怕怕视频| 91日本在线观看| 九九视频在线| 99热精品10| 亚洲小电影在线观看黄999| 久月久在线视频| 丁香六月婷婷综合缴| 成人网站免费sxj| 思思热天天看| 超碰超碰在线| 一本久道综合99| 五月开心播播网| 久久五月天综合| 91欧美日韩综合| 婷婷六月色开 | aa久久| 超碰在线观看成人视| 五月天婷婷色播综合在线| 97碰啪啪| 国产在线黄色| 超碰在线视屏| 月婷婷婷婷五月| 中文字幕色色| 婷婷六月丁香久| 亚洲在线操| 色九月国产| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 久久怕怕视频| 色综合五月| 色色五月婷婷| 丁香五月婷婷大香蕉| 另类激情中文| 大香蕉欧美在线| 久久这里只精品| 久久婷婷视频| 狠狠爱婷婷爱| 五月婷婷综合激情| 大香蕉啪啪网| 色婷婷电影网| 操操操97| 性爱111111| 大香蕉AV在线| 亚洲V国产V欧美V久久久久久 | 九九热九九| 久久人人看| 亚洲激情网| 色播五月丁香| 操日视频| 99操视频| 这里只有精品免费在线视频| 婷婷五月情| 狠狠做五月| 777.色色| 99久久免费精品| 丁香婷婷视频在线| 亚洲无码播放| 99久久9| 99色视频在线| 婷婷99视频在线| 国产精品成人网址| 欧美日韩成人在线网| 站长推荐无码播放| 激情五月婷婷视频一区二区三区| 日韩成人网址| 国产av天天插天天操天天爽| 在线99精品| 五月丁香香蕉| 五月天婷婷乱| 亚洲综合另类| 天天爽夜夜操| 久久天堂色| 黄网免费看| 婷婷久久久久久久| 噜噜噜久久亚洲精品国产品91| 99视频精品全部观看10| www.9797国产| 国产在线aaa片一区二区99| aaaa久久| 99ri在线观看视频| 日日操日日干| 久操97| 久操婷婷| 五月婷婷激情在线| 怡红院 久久| 五月婷婷五月天亚洲无码| 久久玖玖综合| 欧美丰满熟妇BBB久久久| 综合五月婷婷| 欧美精品狠狠色丁香婷婷| 骚五月婷婷| 丁香开心深爱| 99干视频| 人五月天婷婷喷水| 欧美日韩一a.无| 丁香五月婷婷色播艳门照| 日本色天堂| 4399啪啪视频| 激情综合五月丁香| 国产偷人妻精品一区| 激情啪啪五月| 99久久超级| 中文无码婷婷| 亚州操人在线视频| 久九色| 丁香六月婷婷久久综合| 小骚穴电影| 天天日夜夜操五月| 久久久人妻| 久久99久久99精品免视看婷婷| 五月婷婷很很色| 国产成人+综合亚洲+天堂| 亚洲色婷婷五月| 狠狠色性| 色五月天综合网| 中文字幕+中文在线| 综合久久久| 五月草影视| 国产精品电影| 久久婷婷六月综合| 99九九玖玖| 婷婷深爱五月亚洲综合| AⅤ网站在线看| 香蕉人在线香蕉人在线 | 99re在线观看| 99这里有精品久久97| 色综合色综合色综合| 99国产精品久久久久久久久久久| 日本不卡一区二区三区| 九九久久五月天| 亚洲欧美婷婷五月色综合| 综合色99| 五月天久久网站| 六月丁香激情网| 思思久久99热只有频精品66| 色婷婷五月天av在线| 久久五月天网| 另类视屏| 成年人最刺激的综合网| ...婷婷五月综合不卡,国产在线手机| 日本不卡五月婷婷丁香| www.色五月| 激情精品久久| 六月丁香五月婷婷| 99超级碰免费视频| 99热精品在这里| 久热精品免费视频4| 天天操夜夜玩!| 可以免费观看的AV| 美臀自射自家人妻| 五月天婷婷影院| 亚洲日本激情| yazhouzonghesese| 狠狠色噜噜狠狠狠888了| 五月婷婷在线综合| 逼特逼在线免费播放| 99热碰碰热| 99热热这里只精品996小说| 涩五月丝袜婷婷| 婷婷天天婷婷天天澡| 丁香婷婷色| 中文字幕av网站| 久热网站| 丁香五月综合激情久久潮喷| 五月丁香六月色| 婷婷色五月天在线| 五月丁香六月综合情在线观看| 亚洲超碰在线| 婷婷,五月天,丁香,第一| www.99热| 婷色人人狠| 极品人妻VIDEOSSS人妻| 婷婷娱乐丁香综合网| 中国丰满熟女A片免费观| 五月色丁香综合| 亚城区在线| 人妻中文av| 欧美啪啪9| 中文字幕永久在线| 中文字幕日产A片在线看| 色色网站免费观看| 丁香五月婷婷激情中文| 九九精品综合| 婷婷激情五月天天天开心| 能看的av网站| 色五月天激情| 亚洲色色五月天| 天天综合精品| 狠狠色丁香| 99热国产这里只有精品| 97AV在线视频| 香蕉操亚洲| 岛国AV网| 激情综合网亚洲色图| 久xxxx| 久婷五月| 久久欧洲综合网| 99人人干人人操| 九九RE视频在线精品| 日日想日日夜日日操| 五月激情久久| 伊人干综合| 天天天添天天操| 亚洲免费在线观看岛国| 99热天堂| 亚洲丁香五月深爱五月| 欧美日韩中国| 九九热精品视频在线观看| 亭亭五月天成人| 97色片| 亚洲视频综合网| 国产精品国产| 久久机热这里只有精品| 国产99久久久| 97搞在线| 丁香婷婷五月综合| 就爱操www com| 色激情五月| 中文字幕在线免费看线人| 亭亭玉月丁香| 婷婷激情五月天在线视频| 丁香五月天天| 国产日产亚系列精品版优势| 亚洲综合五月天婷婷丁香| 涩涩五| 国产 亚洲 在线| 超碰成人黄色网| 久久久大香蕉| 2025天天操| 丁香亭亭久久| 殴美97色| 亚洲熟妇AV乱码在线观看| www.色九月| 亚洲婷婷成人五月天| 色噜噜狠狠色综合无码久久欧美| 国产探花一片区| 色婷婷丁香A片区毛片区女人区| 五月丁香婷婷综合| 天天综合网网欲色| 日日夜夜青青草| 综合五月婷婷| 日本A片一区| 国产成人精品一区二三区熟女在线 | 丁香婷婷啪啪| 99啪| 色婷婷伊人| 强伦轩人妻一区二区电影| 婷婷五月免费观看| 色婷婷精品视频| 色婷婷aV四虎| 96丁香婷婷九月蜜桃综合久久| 婷婷五月天视频| 欧洲综合视频| 香焦网五月天| 婷婷丁香18| 婷婷六月五月天综合| 色五月婷婷大| 亚洲婷婷丁香五月天激情小说| 婷婷五月天激情网| 久久久18| 九九操操| 五月婷婷综合色啪首页| 久久性爱网| 六月成人网| 少妇人妻人伦A片| 天天影院色| 婷婷五月色天| 另类激情中文| 色噜噜狠狠色综合日日| 激情综合色| 日韩AAAAA| 婷色五月| 99亚洲天堂| 26uuu最新地址| 色婷婷丁香五月| 激情九月综合| 五月丁香六月欧美综合网站| 九九热超碰| 五月婷婷综合网| se99视频| 亚洲第一综合| 国产做A爰片毛片A片美国| 色久综合| WWW.亚洲无码| 高清av在线国产| 久久精品日| 六月婷基地| 色哟哟www| 91人人爽狠狠狠| 四虎成人精品永久免费AV九九| WWW99热| 色六月婷婷| 99久re热视频精品98| 在线观看中文字幕亚洲| 91天天操天天干天天射| 狠狠色丁香久久久婷| 5月婷婷综合| 久久五月激情网| 俺也去综合| 久久久人妻系列| 丁香五月婷婷香| 日本久久性| 天天色综网| 欧美槡BBBB槡BBB少妇| 无码激情AAAAA片-区区| 极品人妻VIDEOSSS人妻| 成人性生活免费观看。| 97爱综合| 五月天天综合| 91九九| 五月色婷婷综合丁香精品无遮挡| A A色色| av色色国产| 丁香五月影视| 婷婷99狠狠| 久久久全国免费视频| 欧美性交一区二区三区| 亚洲中文字幕AV| 久久99热免费| 色 免费网站视频| 婷婷涩五月天综合| 亚洲天堂色色| 婷婷久久网| 久久久全国免费视频| 9婷婷内射| 九九热这里只有精品首页| 激情狠狠丁香月| 丁香五月Av| 日本一级一级一级一级| 五月婷在线观看| 欧美十二区| 99精品久久久久| 秋霞AV淫| 久久A热| 99热精品在线| 99热亚洲| 九九九九九九毛片| 五月激情六月| 婷婷综合在线| 96精品成人无码A片观看金桔| 亚州第一A片| 丁香六月婷婷激情综合| www五月天com| 天天日天天干天天操| 日韩熟女啪啪视频| 久久九九99| 日日插日日干| 超碰在线人妻| 六月婷基地| 婷婷五月天视频小说| 人人摸人人干| 亚洲一级 片内射网站在线观看| 丁香五月天黄色片| 亚洲bt丁香五月天婷婷激情小说| 婷婷丁香五月综合| 一操久久| 久久机热这里只有 | 丁香狠狠操| 丁香五月婷婷五月天在线| 亚洲精品午夜国产va久久成人| 天天爱天天爽| 蜜桃婷婷狠狠久久| 第四色26uuu| 色婷网| 丁香六月婷婷综合啪啪| www.丁香黄色五月天人与| 丁香九月激情| 51XX嘿嘿午夜无码| 五月天成人手机在线视频| 色婷久久| 99精品女人天堂| 精品少妇蜜臀91| 丁香色婷婷| 91ncom.色| 六月婷婷中文字幕| 东北熟女高潮99综合99| 无码se| 九九精品热播| 操逼综合网| 日日肏夜夜干| 国产精品久久久久久妇女6080| 久久丁香五月婷婷| 五月天婷婷社区| 婷婷久久久| 97碰在线| 女人天堂久久| 热996精品在线观看| 激情五月视频| 99国产精品久久久久久久久久久 | 97色射| 日日干综合| 91久久婷婷| 9久精品| www.久久久.com| 久综合| 少妇性按摩无码中文A片| 人人操超碰| 可以免费看的av网站| 农村熟妇高潮精品A片| 伊人婷婷青青cao| 日韩1区2区| 九九操操| 色区久久| 性爱动图国产麻豆一区二区三区 | 91凹凸在线| 91人碰| 色蜜婷婷| 五月丁香在线| WWW色色色COm| 91超碰在线播放| 天天干 夜夜爽| 激情丁香五月天综合| 日韩久久视频| 丁香五月婷婷亚洲综合精品| 超碰成人av| 欧美色色色色色色色色色色| WWW,婷婷,COM| 99丝袜精品视频网站| 国产五月天欧美色| 五月丁香在线观看99| 九九99香蕉在线视频播放| 丁香伍月婷电影全集| 五月激情五月婷婷五月天在线| 九月丁香网婷婷| 这里只有精品9| 婷婷五月综合免费在线| 婷婷九月丁香| WWW.久久久久久久| 激情小说婷婷| 精品无码人妻一区| 热99玖玖99玖玖99九九| 日韩色色视频| 97碰碰在线看视频免费| 狠狠爱综合网| 欧美精品久久久久久视频观看| 国精产品一区一区三区免费视频| 色色热99| 丰满少妇乱A片无码| 99re这里只有精品首页| 91日精品| 久热伊人| 亚洲99视频| 综合 蜜月 婷婷| 原琪琪色影院| 99热欧美在线观看| 欧美日本韩国亚洲| 亚洲第一第二网站| 超碰在线人妻| 国产日产亚系列精品版优势| 久久久精品色| 91九九| 国产永久一二一起草| 五月激情四射网站| 天天操天天干天天日| 久久9RE热视频精品98| 激情六月综合| 丁香婷婷五月六月天| 亭亭玉月丁香| 99精品综合| 久色成人| 好色婷婷| 婷色五月| 1995年关宝慧版蜘蛛女| 久久精品噜噜噜成人A∨色欲 | 黄久久久| 99热免费| 精品成人久久久久久久_一二三四视| 夜夜爱网站| WWW.99热| 精a品a视a频| 碰人人97| 思思热在线视频精品| 色欲久久久久| 九九热a| 婷婷激情五月天桃花网| 大香蕉精品视频| 五六月丁香激情视频| 五月婷啪| 热99玖玖99玖玖99九九| 色婷婷婷婷| 综合激情五月天六月婷免费视频| 超碰免费人人| 色亭亭九月| 五月丁香婷婷欧美| 五月婷婷综合视频| 久久狠狠色| 岛囯综合激情网| www.激情五月| 亚洲无码色色| 九九九九九九九热| 操一区| 天堂在线婷婷| 少妇出轨做爰高潮A片| 99久.| 丁香婷婷影院| 亭亭色天香| 九九久久五月天综合伊人| 丁香婷婷浪潮AV久久综合| 日本色婷婷| 五月天成人在线视频网站| 五月色丁香国产在线视频| 欧美综合五月丁香六月婷| 五月黄色婷婷| 老美AA片| 激情深爱五月天| 欧美色色色色色色| 天天做 天天爱| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 狠狠狠狠狠狠色| 无毒黄色网址| 99综合视频一体| 996热re视频精品视频| 婷婷丁香五另类网站| 天天肏夜夜肏| 偷偷操99| 操婷婷基地| 色婷婷成人色网| 99ER热精品视频| 综合网亚洲| 国产精品久久7777777精品无码| 五月天伊人av| 二色av| 高清视频一区| 一起草无码| 激情操逼婷婷| 精品一二三区久久AAA片| 久99热| 九色视频91| 色色无码| 99色视频在线| 79色色色色| 婷婷五月天视| 99精品这里只有免费视频| 婷婷色五月丁香六月欧美啪| 99玖玖免费视频| 激情婷婷九月| 色婷婷色九月| 婷婷 伊人 久久| 五月婷婷玖玖综合玖玖爱| 亚洲字幕AV一区二区三区四区 | 97色婷婷| 色播丁香| 噜综合| 欧洲激情网站| 激情五月天婷婷久久久久久久久久久| 超碰人人91| 在线观看亚洲视频影院| 一级精品999WWW| 免费观看日韩成人av| 被强行糟蹋的女人A片| www久久久| 香蕉AV福利精品导航| 日本人人超碰| 伊人婷婷99热精品| 婷婷五月天成人视频| 中文AⅤ大全| 9婷婷内射| 爆乳熟女一区二区三区爆乳| 4399伦理午夜| 亚州操操| 欧美日韩国产一区二区| 五月婷婷,狠狠操| 日韩99视频| 99人妻碰碰碰久久久久禁片| 综合五月婷婷| 五丁香激情综合| 五月丁香六月婷婷玖玖| 日本色婷婷久久99精品91| caopeng97日韩| 五月婷婷深爱六月| 五月天色影院| 色婷婷A| 色五月婷婷在线| 国外亚洲成AV人片在线观看| 97操碰人免费| www.99热这里精品| 五月叮香啪| Av九九| 激情精品久久| 成人超碰Av| www.婷婷,com| 久久人妻精品| 综合久久十三| 九九综合色综合| 另类的婷婷| 99综合一区| 成人在线日韩欧美| 激情丁香五月婷婷| 久久婷婷青青草| 超碰在线免费观看3 9| 国产激情在线| 狠狠做六月爱婷婷综合aⅴ| 色婷婷色情| 天天爱天天做天天| 丁香五月婷婷基地| 99丁香五月| 六月激情婷婷综合| 婷婷激情丁香五月天综合| 欧美爆乳一区二区三区| 精品99在线| 99精品国产乱码久久久人妻| 99热99思午夜精品| 久久激情天堂| 五月婷婷香蕉| 天天摸天天透天天舔| 国产亚洲99久久精品| 91a片爽| 免费九九热| 五月婷婷狠狠干| 婷婷九月激情| 久久久久久久久久久久久9| 婷婷五月天丁香成人社区| www.激情| 激情综合激情五月一起草| 大香蕉久久| 91熟妇大香蕉| 91啪啪| 婷婷亚洲欧美丁香五月| 久久美女五月天| 五月天婷婷基地| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 激情九月婷婷| 久久ri精品| 久热精品视频在线观| 亚洲第一精品成人999久久精品| 色99视频| 九九久久偷拍| 丁香五月天天日| 超碰97免费在线| 婷婷在线网| 日夜操B| 免费观看的婷婷五月视频在线| 五月婷婷av| 五月天停停日日| 六月天六月婷| 五月丁香黄色视频| www99xxxx五月丁| 亚洲九九九九| 五月丁香影院| 婷婷色在线播放| 色五月成人婷婷| 超碰色综合| 99超级超级超级碰| www。五月天。com| 丁香五月天激情| 五月婷婷婷综合网| 热99精品视频| 99精品国产在热久久| 激情综合网址| 色屌丝中文字幕| 亚洲中文字幕AV在线| 久久99综合| 婷婷色在线视频| 五月婷婷黄网站大全| 777色婷婷爱五月| 激情亚洲婷婷| 五月色婷婷夜色| 婷婷成人五月天一区| 婷婷激情小说| 97碰碰视频在线观看免费| 激情婷婷啪啪| aaaa久久| 丁香六月 人妻| 91久久久久久久久18| 日韩一级A片黄色| 99热综合| 97超喷视频在线观看| 婷婷五月激情在线| 九九视频在线观看视频6 | 色婷婷XXXXX| 婷色五月天| 性生活视频98791| www.久热| 99ER热精品视频| Av狠狠色丁香婷| 色婷婷丁香| 婷婷丁香五月综合| www.99视频| 99久.| 亚洲综合在线播放| www激情网站| 色婷婷激情四射视频| 超热久碰.com| 婷香五月激情视频| 亚洲精品无码A片一区二区| 色情久久久| 一级片操逼视频| 久久婷婷一级片| 日韩久久成人| 99热在线观看这里只有精品| 激情开心五月天| www.91.com处女在线直播| 婷婷五月天丁香| 中文人妻主播久久| 亚洲亚洲人成综合网络| 日本美女天天日天天爽| 五月激情天| 欧美久久五月婷婷| 成人中文网| 国产精品久久久60086| 99热最新国内| 狠狠干五月丁香综合网| 五月婷婷欧洲| 激情5月婷婷| 玖玖五月丁香| 婷婷五月天高清无码| 在线不卡中文字幕| 色五月综合激情| 婷婷五月色播网| 欧美搡BBBBB摔BBBBB| 激情婷婷狠狠干| xxxx五月天色色| www热久久yy9| 91狠狠综合久久久久久| 99热在线观看| 热99这里只有精品视频| www亚洲无码| 亚洲99在线| 日日爱678| 国产成人精品一区二三区熟女在线| 青青草原中文字幕| 国产精品扒开腿做爽爽爽A片唱戏| 亚洲色色色色| 99色免费在线观看| 99操久久| 五月丁香婷婷在线综合蜜桃| 99免费超碰在线| 色五月久久成人婷婷| 天天干天天av天天射| 日本99在线| 天天弄天天爽| 97人人操人人拍| 婷婷五月丁香欧洲| a色色色色色| 性生生活大片又黄又| 99色视频在线| 九月婷婷色色| 久久久久婷婷| 九九九九这里只有精品| 中文精品在| 97干干干丁香| 99热8| 亚洲性爱干干| 亚洲人人艹| 婷婷激情社区| 天天做天天爱天天综合| 日本激情91| 婷婷在线网| 五月天天天色| 综合激情伊人影视在线| 久久五月热| 五月丁香成人网| 婷婷五月天黄色小说| 五月丁香六月婷| 9久热在线视频| 五月天婷婷久久|