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
返回資訊列表
丁五月激情视频免费| 天天草天天摸| 久久五月婷婷视频| 99年操人人爽| 日日夜夜婷婷| 丁香五月婷婷五月| 天天拍久久| 欧美六月婷婷| 高潮毛片又色又爽免费| 超碰av在线| 色五月婷婷五月丁香五月| 五月丁香婷中文| 丰满少妇猛烈A片免费看观看| 亚洲AV成人无码精品| 人妻操逼视频| 久久色这里只有精品| 狠狠色丁香五月婷巨| 丁香九月色| 色综合激情| 日韩精品无码99| av网址在线| 97色一二三| 五月丁香综合| 欧美精品18| 99久久6| WWW.五月天9999| 色香久久| 麻豆雪千夏| 婷婷色五月大香蕉在线| 国产熟妇乱子伦hd| 亚洲网在线观看| 色久天| 99久久婷婷五月综合| 五月社区婷婷激情| 婷婷五月天伦理| 99热日本| 99在线er热| 香蕉操亚洲| 五月婷三级片| 4399精品一区二区| 色哟哟性爱av| 激情久久五月天| 加勒比日本一区二区三区| 香蕉久久国产AV一区二区| 婷婷操逼| 婷婷五月花| 俺去也五月天| 九七色色六月丁香| 99热久久日本| 内射综合网| 成人综合伍月天| 99爱这里只有精品| 天天cha成人综合网| 色综合色欲综合天天免费| 色10月婷婷视频| 色婷婷久久| 五月天婷婷香蕉狠狠超碰综合| 欧美婷婷丁香五月| 黄色三级日本| 99在线观看视频精品| www.99在线| 色综合中文| 天天肏在线观看| 99热99天堂| 丁香五月激情欧美| 婷婷中文字幕| 一级二级香港秋霞欧美欧美秋霞| 丁香五月色激情| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 色婷婷狠狠久久综合五月| 日本丁香五月婷婷| 噜噜精品| 久久婷婷色| 五月丁香综合啪啪| 国产人妻777人伦精品HD| 色五月综合激情网| 亚洲天天操| 人人操99| 久久性综合| 久久人人添人人爽添人人片αV | 亚洲激情综合网| 婷婷丁香成人| 日本熟女内射| AV在线观看网站| 久久六月综合| 色婷婷狠狠禁久久| 97资源碰碰| 婷婷综合视频| 男女免费视频999| 久草视频一,二三四| 亚洲日韩国产黑丝黑丝AVAV一区二区三区| 五月天成人在线播放丁香| 无码任你操| 七七色色综合| 99婷五月| 激情小说五月丁香在线视频观看视频| 成人开心五月天| 综合网色| 六月婷婷视频| 婷婷五月天激情综合网| 激情综合久久| 色狠狠999综合| 亚洲日本激情| 日本女人久久| 五月丁香淫淫婷婷婷| 丁香五月欧美午夜视频| 狠狠色婷| 亚洲无码成人性爰网| 激情五月天综合网| 啪啪操网| 天天干天天爽天天爽| 97干97色| 影音先锋91| AV美美午夜| 色婷婷五月在线| 丁香婷婷啪啪| 五月五婷婷网| 成人精品在线观看| 色综合久久中文| 性爱电影科技贸易有限公司| 亚洲人妻av| 丁香婷婷超碰 | 丁香六月激情综合| 日日色五月天| www.开心激情| 538在线精品| 国产精品岛国片在线观看免费| 婷婷激情丁香五月婷婷激情丁香五月婷婷 | 五月天婷婷激情| 五月婷婷激情综合| 婷婷丁香社区网| 色婷婷五月天激情在线观看| 丁香婷婷综合影院| 激情五月丁香六月| 99热人人操人人操| 天天综合中文| 99九九热视频免费| 九九热在线精品| 日韩在线观看网址| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 狠狠五月天激情| 激情久久四色| 五月天伊人网| 久热只有这里有精品| 五月丁香中文| 婷婷丁香成人五月天| 免费观看的AV| 2021日韩无码| 操骚货在线| 大鸡巴伊人网| 99爱视频免费| 7超碰自拍| 丁香婷婷激情六月五月开心| 色五月97| 色综合久| 色婷婷五月天激情久久| 五月丁香久久久| 婷婷六月中文字幕| 蜜臀综合久草| 色播五月婷婷| 久久多色| 97色色网| 色色色色色网站| 久热爱大香蕉在线蜜臀悦色| 操碰99| 亚洲精品国产setv| 国产AV国片偷人妻麻豆| 婷婷五月丁香久久| 久久91久久91色欲精品| 成人丁香五月| 日 日干 日日做| 五月丁香色婷婷| 亭亭丁香久久五月| 69久久久| 99热这里只有精品268| 亚洲九区| 99热精品综合| 中文在线成人| 六月婷婷综合| 人人操五月天| 丁香五月婷婷深爱综合激情| 激情五月天久久| Www,五月天| 天堂网操| 亚洲激情在线| 五月婷婷婷| 欧洲99视频在线| 变态另类色图| 丁香婷婷五月色成人网站| 99WWW免费视频| 日本激情91| 久久久中文| 国产毛片欧美毛片久久久| 欧洲免费视频色| 射久久丁香五月| www,久久久| 狠狠色噜噜狠狠色噜噜噜999| 亚洲国产精品二二三三区| 99青青草| 丁香婷婷五月激情综合| 久色国产| 26UUU成人网| 99久久国产综合精品五月天喷水\| 亚洲综合五月天| 性五月激情| 九九综合九色欧美狠狠| 久久久免费精彩视频| 手机AVAV天堂看网| 、激情六月天| 四月婷婷五月丁香| 丁香五月婷婷影视先锋| 色综合99| 99久久久免费| 五月开心久久| 亚洲激情网站| 六月激情婷婷综合| 亚洲欧美成人在线| 99碰视频| 热久91| 婷婷六月丁| 丁香五月婷婷色| 大香蕉五月天婷婷| 麻豆雪千夏| 老师的粉嫩小又紧水又多A片视频| 综合色色色色色色| 97色婷婷五月天| 97干在线| 26UUU欧美激情一区二区| 国产精品人成A片一区二区| 七七九色| 婷婷久久图片| a性生活久久无| 99热青青草| 九玖欧洲亚洲| 色五月婷婷激情五月| 五月伊人网| 99热全是精品| 91好好热日本在线| 51XX嘿嘿午夜无码| 婷婷丁香www视频日本韩国| 婷婷伊人网| 婷婷五月天小说| 思思热久久久在线| 一级性爱视频| 天天日本夜夜谢| 亚洲AAAA网| 色色是色N一| 美女精品一级不卡视频| 色碰碰| 九月婷婷人人操人人舔人人爱| 五月天婷婷久久视频| 丁香六月婷婷久久综合| 97碰人人操| 天天日天天干天天插天天射| 99热费观看| 五月丁香久久激情网| 丁香女人五月天| 色婷婷综合久久久久| 久久五月情| 久久99精品久| 亚洲免费av在线| 青青草五月天| 激情图片久久| 婷婷射丁香| 超碰男人色| 欧美色碰| 色愛综合网| 久久精品色| 成人超碰AV| wwccc久久久| 538久久| 99视频在线观看欧| 玖玖资源站中文| 婷婷五月情天| 五月天丁香久久| 五月天天久久香| 操97免费超级视频| 丁香激情网| 99精品视频网站| 91操操| 九九人人操| 亚洲色五月| 国产成人精品一区二三区熟女在线| 99精品视频在线观看| 欧美色综合天天久久综合精品| 激情久久久| 影音先锋91网站在线观看| 任我干视频在线观看| 97超级碰碰碰久久久| 亚洲色五月婷婷| 久热91精品| 五月天啪啪| 亚州激情在线视频| 色五月天成人| 天堂成人A片永久免费网站 | 五月丁香婷婷色| 日日夜夜天天| 日韩av网站在线观看| 九色91视频| 天天色·欧美| 五月天啪啪啪| 国产精品久久久久久久久久久久| 婷婷丁香五月基地| 五月天色婷好好| 丁香五月av在线| 五月丁香婷婷综合视频| 蜜桃人妻无码AV天堂三区| 99丁香婷婷综合网| 久热大香蕉| 高清无码中文字幕aVDV| 天天日综合| 色婷婷五月天av在线| 操逼三区| 五月婷婷网站| 婷婷五月天色色| 超碰97在线观看免费| 大香蕉婷婷五月| 六月婷婷视频| 大香蕉综合| 日韩成人中文| 凹凸7777操操操| 狠狠色成人影片| 99热最新| 亚洲av成人在线| 天天日人人爽| 五月天色综合| 在线网黄| 99热精品99| 日本不卡高字幕在线2019| 月婷婷婷婷五月| 天天日天天舔| 日韩999| 激情五月www| 欧洲亚洲精品| 激情综合无码| 色色五月婷婷久久| 欧美婷婷综合网| 一起草无码视频| 日日夜夜狠狠| 激情五月天福利| 欧洲日韩一区二区三区| 日日夜夜狠狠| 欧美大奶熟女噜噜噜噜| 97五月天| 蜜乳9188| 天天拍天天操| 久久五月视频| 亚洲成人综合在线| av在线超清中文| 色婷婷大香蕉| 色九区| 99精彩视频| 五月刺激丁香月综合| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 中文精品久久久久人妻不| 97婷婷丁香| 激情久久 婷婷| 五月丁香婷婷成人网| seuuu婷婷| xxxx五月激情| 久久久久久人妻| 亚洲视频a| 99热这里只有精品3| 久久婷婷五月综合色奶水99啪| 伊人在线视频| 97人人看| 亚洲AV免费在线| 精品在线| 国自产拍偷拍精品啪啪一区二区| 五月久久噜噜| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 成人丁香五月天| 人操91在线| 婷婷六月久久综合导航| 大香蕉人在线65| 天天日夜夜| 久久综合中文字幕| 久久99网| A A色色| 超碰婷婷五月| 色婷婷69| 日本女va| av超碰在线| 日韩三级高清无码| AV中文在线| 天天日天天插| 这里只有精品2| 欧洲区自拍| 99精品久久久| 天天操夜夜夜拍拍拍| 国产伦亲子伦亲子视频观看| 思思热精品在线观看| 9热在线视频| 色噜噜狠噜噜视频| 天堂婷婷五月在线| 中文字幕在线人妻| 久久婷五月婷| 五月婷AV| 级情九色| 久久精品性爱| 精品久久婷婷五月天| 日韩免费视频| 五月天成人在线视频网站| 女婷久久| 婷婷丁香五月综合久久| 狠狠色综合网站久久久久| 天天色综合色| 亚洲碰碰碰| 久久久久久人妻| 精品久久久人妻| 性欧美日本| 亚洲亚洲人成综合网络| 先锋资源91| 色99视| 久久婷婷色综合老司机| 这里只有精品久久| 97久久人人| 亚洲成人电影aaaa| 狠狠第四色| 成人午夜视频精品一区| 日韩成人av在线| 婷婷五月激情欧美大胆视频| 天天草天天爽| 婷婷在线播放| 六月婷婷激情小说网| 久久伊人9| 日本乱子人伦在线视频| 三级三久久线久久99久目本WW| 人妻久久久久久久久久| 天天插天天草人人玩| 另类亚洲视频| 欧美日韩成人h| 色偷偷综合| 五月婷婷六月丁香在线| 一本综合丁香日日狠狠色| 色五月网址| 啪啪色激情五月天| 激情五月成年| 天天日天天久久青青| 97久久人人操| 丁香五月色五月| 九九综合久久| 伊人色欲五月天| 开心激情色婷婷五月天| 色色网站观看| 99色这里| 五月丁香婷婷色| 丁香五月综合久久| 久久性爱激情| 婷婷五月天涩涩| 中文字幕网伦射乱中文| 亚洲亚洲人成综合网络| 极品人妻VIDEOSSS人妻| 久久激情网| 91中文在线| 五月丁香免费视频| 色婷婷av在线观看| 五月丁香六月成人| 亚洲成人免费电影| 天天久久狠狠色综合| 久热只有精品| 日韩精品一品二区三区的使用体验| 天天天天色天天天天天干| 亚洲网综合在线| AV性爱网| 在线观看国产高清视频免费网站| 色综合色综合网| 操骚货在线| 久久九色| 久久激情五月| 超碰日韩成人| 婷婷五月丁香色色| 性爱人人网| 色色婷婷丁香五月天| 操操精品| 五月婷丁香| 欧美噜噜噜草| 夜夜www| 思思re视频在线| 狠狠狠五月婷婷六月丁香| 午夜婷婷六月天| 婷婷5月九九| 天天五月天综合网址| 天天摸天天做天天爱天天爽| 91狠狠色丁香| 99自拍视频在线观看| 99色在线观看| 色五月在线综合| 亚洲色婷婷久久99精品91| 久婷自拍视频| 色色婷婷五月天| 99免费成人网| 人人草人人视| 啪啪婷婷五月天激情| 欧美日综合| 色婷网| 久久精品凹凸分类| 9999热在线免费观看| 91九色丨国产丨爆乳| 97色色婷婷| 4399无码视频| 91疯狂操操操操| 97人凄人人操人人爽| 久久久久这里都是精品| 久久这里只有精品16| 欧美综合激情丁香五月六月婷| 久久久性爱视频| 六月婷婷综合| 综合久久六月| 五月婷婷新网站| 丁香激情婷婷网| 欧美97色| 草榴视频黄色网| 色v综合网| 天天操天天爽天天爱| 色五月婷婷丁香五月| 9色视频在线| 亚洲精品V天堂中文字幕| 欧美在线视频9| 国产精品色色666| 亚洲欧美另类在线23p| 超碰大香蕉网| 亚洲天堂有码| 99色看这里只有精品| 综合网激情| 91丨九色丨43老版熟女| www.日本91| 日本色婷婷久久99精品91| 色色色成人网| 夜夜嗨一区二区三区直播内容| 人人妻人人澡人人爽| 色亚洲视频| 中文字幕AV网址| 国产偷人爽久久久久久老妇APP | 六月丁丁香| 69久久久| 亚洲综合视频一下| 综合色久| 成人在线日韩| 另类专区在线| 天天干夜夜谢| 玖玖九九超碰| 综合色五月天| 色婷网| 久久jiuwww| 久久99性爱视频| 性爱综合网| 天堂A∨在线| 激情综合激情五月一起草| 五月婷婷综合网| 人人九色| 大香蕉婷婷久久| 青青999| 伊人狠狠操| 无码AV免费精品一区二区三区| BT综合在线视频观看| 可以看的AV| 影音先锋五月天婷婷丁香在线观看| 操操操www.com| 亚洲区视频| 在线中文亚洲| 色综合久久中文| WWW.久久久久久久久久久久久| 久久这里只有精品无码| 熟妇内谢69XXXXXA片| 99r久久这里只有精品| 婷婷网五月天| 综合激情开心五月| 色婷婷丁香五月| 色狠狠狠干| www.五月天婷婷| 色综合色色| www.99视频| 99ri在线| 九九这里有精品| 啪啪啪大香蕉| 99热精品在线| 久久这里只有国产精品视频| 婷婷丁香91综合| 婷婷中文字幕网站| 九一99| 五月激情久久| 综合伊人久久| 五月丁香六月激情综合网| www.色婷婷| 丁香五月在线伊人| 人人摸人人操人人爱| 99re这里只有精品首页| 婷婷五月综合基地| 激情久久久| 97色在线视频| 欧美激情VA永久在线播放| 99国产小视频2013| 狠狠五月婷婷| 91日视频| 六月丁香激情综合网| 亚洲第一综合| 婷婷六月色播| 天天搡日日搡aaaaⅩ| 精品色| 六月婷婷无码观看| 五六月婷婷久久| 婷婷五月天六月丁香| aa久久| 桃色成人网| 五月丁香在线综合| 五月综合亚洲色| 91.www综合| 婷婷综合五月| 老司机午夜福利视频金瓶梅| 97久久精品视频| 婷婷五月激情欧美| 天天成人综合视频| 久9无码视频| 99ER热精品视频| 日本熟女二区| 日本va欧美va精品发布视频| 五月天婷婷激情在线色图| 激情综合五月丁香| 伊人网色婷婷五月天| www.久久99热地址发布| 四川BBB搡BBB爽爽视频| 99A级片| 79成人网| 超碰av在线| 伊人激情综合| 99热91| 国产亚洲精品久久一区二区三区| 婷婷六月网| www,com,五月色色| 九九综合影音先锋| av九九| 五月婷婷激情久久| 婷婷瑟五月天久久综合| 婷色五月天| 999热视频精品99免费在线| 人妻中文在线| 婷婷在线播放| 五月丁香狠狠| 欧美婷婷五月无砖| 丁香九月婷| 99九九免费精品| 亚洲爆乳无码精品AAA片蜜桃| 91久久色| 99视频在线观看网址| 色久五月| 五月婷成人网| www.激情.com.| 久久婷婷人人| 婷婷九九视频| 9久热视频| 无码激情AAAAA片-区区| 伊人久久艹| 久久激情五月婷婷| 99精品无码| 激情六月一二| 亚洲男人的天堂婷婷色五月| 久久小视频免费| 九九久久五月天| 亚洲视频国产一区| 五月天婷婷色情| 激情电影五月婷婷| 香蕉久久五月| 1024成人免费看| 爱久久小说下载网| 国产肥白大熟妇BBBB视频| 五月丁香六月婷婷网| 91碰超| 91九色熟女| 色5月丁香婷婷| 久久99网| 色色无码| 中文字幕在线不卡| 99热99在线| 九九热黄色| 91一起操| www久久99| 亚洲色五月| 国产成人综合网| 婷婷五月天福利| 日日夜夜狠狠| 熟女人妻一区二区三区免费看| 色5月婷婷| 国产精品一区在线观看你懂的| 大学生高潮无套内谢视频| 国产精品人成A片一区二区| 亚洲激情综合| 蜜桃婷婷丁香综合久久开心亚洲| 伊人激情综合| 五月丁香色婷婷色| 91蜜桃婷婷狠狠久久综合9色| aⅤ79成人片| 日韩五月婷婷| SS丁香五月婷婷| 少妇达人正片在线播放_ikun_福利吧| 五月丁香六月| 五月天激情视频| 性做久久久久久久免费看 | 九九热精品| 成人国产欧美大片一区| 1024欧美看片| 丁香五月天网站| 亚洲成人色五月婷婷综合| 手机看片日日做夜夜| 五月丁香花激情综合网| 日本色色网站| 九热视频| 婷婷综合国产| 五月婷精品| 96性爱视频| 色久丁香五| 成人在线视频网| 大香蕉丁香五月| 九热...av| 五月的婷婷六月丁香| 色播激情五月天| 色综合色综合网| 琪琪色五月婷婷老师| 啪啪东京热| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 91热爆在线| 先锋男人99资源| 丁香五月婷婷网| 综合久久99| 亚洲欧洲一二| 婷婷黄色五月天在线视频| 欧州色色| 天天干天天插| 91精品久久久久久久久| 99久久成人| 色情久久久| 五月天天丁香婷婷| 大香蕉九九| 五月婷婷视频28| 亚洲免费婷婷| 五月婷婷亚洲色图| www.com操| 操人91| 亚洲视频在线网| 久久五月天合网| 97色天堂| 日韩美一级毛卡片| 色99视| 激情伊人| 婷婷色五月天色| 激情久久五月网| 69精品人人人人| 99在线视频女女视频| 99精品7| 丁香婷婷激情| 伊人干综合| 五月丁香六月激情综合| 六六久久黄色| 国产精品噜噜在线视频| 九九色色| 欧美精品99久久久| 婷婷丁香九月| 久9精品| 丁香婷婷中文字幕| 9精品久久999| 日日天天操| 激情五月婷| 丁香五月电影| 狠狠色丁香| 久久九九玖玖| 亚洲综合草草| 久9免费视频| 开心激情网五月天| 91综合网| 综合五月天完整| 人碰人人人玩91| 九九热视频免费观看| 无码少妇高潮喷水A片免费| 丁香五月激情婷婷视频| 婷婷五月六月| jiujiu热在线视频| 亚洲人人操| 美女天天久久| 五月天婷婷色| 日日夜夜青青草| 国产成人精品一区二区三区视频 | 色丁香五月天| 婷婷综合网| 综合五月婷婷| 91精品电影18T| 国产在线aaa片一区二区99| 五月激情另类| 久月久在线视频| 五月成人综合| 日韩淑女人妻luan伦激情精品一区二| 久久久人妻| 91久久九久久九久久九久久九久久| 丁香六月欧美| 久久婷婷久久| 这里有精品99| 国产精品美女久久久久AV超清| 26uuu欧美亚洲日韩| 天天干人人奸97| 激情六月综合| 超碰免费大香蕉| 99热这里只| 开心五月婷婷六月丁香| 亚洲欧洲美女在线观| 人妻久久久久久久| 欧美人人操| 国产毛片精品一区二区色欲黄A片| 五月天婷婷自拍图片在线观看| 色吧婷婷五月亚洲| 人妻久久久久久| 国产亚洲在线观看| 91男同视频| 色播播五月| 玖玖综合色| 欧美肉大捧一进一出免费视频| 天天爽天天透天天爱| 在线亚洲综合| 丁香六月啪啪| www久热com| 欧美精产国品一二三区| 免费看欧美成人A片无码| Www,五月天| 99热九九这里只有精品| www.ywav| 久久久久9999| 亚洲性爱区无码区| 色综合色综合网| 99视频在线9| 丁香五月日韩| 色色色色色色色色色999| 先锋资源91| 一点色成人网| 五月丁香花视频| 可以直接看的av网站| 亚洲xx网| 丁香婷婷五月份| 激情综合网址| 激情综合另类| 玖玖视频福利| 精品99在线观看| 欧类av怡春院| www.91操| http://www.sd-xiangsu.com/| 日韩色色色色色| 玖色色综合| 欧美人与性动交CCOO| 射久久丁香五月| 欧美综合婷婷欧美综| 91凹凸在线| 蜜臀av 粉嫩av 懂色av | 超极99精品| 婷婷五月成人色综合| 超碰色女人| 亚洲操女| 国产精品99久久久久久久女警| 91色涩| www,99热| 战争与艾拉电影免费观看| 国产99热| 成人在线视频一区| 操老逼综合网| 热99这就是精品视频| 99热这里只有精品8| 伊人网色婷婷五月天| 亚洲午夜精品久久久久久人妖| 婷婷网影院| 偷拍九九热| 国产精品扒开腿做爽爽爽A片唱戏| 五月天婷婷激情| 婷婷噜噜| 日韩十国产极品久久| 五月天色婷好好| 伊人干综合| 光棍影院日韩精品| 婷婷久久婷婷| 怡红院成人AV| 婷婷五月丁香第四色超碰在线| 婷婷五月激情综合| 国产婷婷五月色情综合| 国产成人va在线| 人人色AV| 丁香五月亭亭六月综合激情网| 天天玩夜夜操天天爽| 欧美久久网| 成人免费在线电影| 激情久久丁香| 六月婷婷操逼| 亚洲性爱AV| 婷婷五月天99综合网站| 韩国中文字幕91| 激情综合五月| 亚洲视频一区| 琪琪色网在线| 2025超碰| www.夜夜爱.com| 激情98色婷婷五| 97午夜一区二区| Www.se.久久| 五月丁香综合色婷婷| 99碰碰。| 婷婷性爱五月天丁香网| 丁香社92视频| 久久久27操| 大香蕉七区| 99精品一二三四视频| 色色色在线观看| 日本美女上人| 色综合丁香婷婷| 丁香五月人妻| 99色色爰| 日本黄色一级| 色五月激情五月| 丁香六月综合| 男人的天堂五月丁香| 九月婷婷激情| 久久久久久xxxxx| 婷婷亚洲五| 国产熟女日日骚五月丁香爱| 中文在线视频久1| 五月丁香成人视频| 激情五月综合| 婷婷俺去也| 国产操B| 久久一品区| 狠狠爱婷婷爱| 开心四月婷婷在线色播播| 色婷五月丁香久亚洲| 五月天五月天成人网亭亭成人色网站| 色日本综合| 日日综合网| 亚洲中文字幕AV在线| 久久3级片| 亚洲成人一区| www婷婷色情网| 婷婷五月天六月| 五月丁香自拍| 婷婷天天日婷婷| 精品欧美性爱超级爽| 一起草av在线观看| 99久久综合| 婷婷五月丁香综合人妻| 婷婷久久精品| 免费看欧美成人A片无码| 97操碰日本女人| 性色婷婷| 婷婷五月天天aV| 婷婷五月激情网| 做爰丰满少妇1313| 欧美啪啪五月天| 久久精品婷婷| www.五月丁香av| 26UUU精品一区二区Com| 五夜丁香| 秋霞av吧| 婷婷色色丁香五月天| 人人色AV| 大香蕉手机视频| 久久99久久99久久99| 99黄色性生活| 天天爽夜夜爽天天爽夜夜爽| 五月天婷婷色综合| 婷婷国产五月天17c| 一区色色色色网| 日日夜夜狠狠操| 久久婷婷综合基地| 综合色七七| 五月婷婷色播视频| 国产精品色婷婷AV综合色色| 五月丁香影院| 97九色| 人人噜天天上| 久久AV无码精品人妻系列试探| 日本99视频精品免费播放| 另类激情五月| 超碰免费人人| 婷婷玖玖五月天| www.av骚货| 精品一二三区久久AAA片| 免费看无码视频A级| 天天爱天天做天天爽| 色色五月天丁香| 国产免费一区二区三州老师F1F1……| 99在线看片| 国产一级片| 日熟女| 久色婷婷200| 俺去也五月| 中文网AV| 久久免费操| www.99久久久久99| 成人视频婷婷| 午夜不卡久久精品无码免费| 久久综合热17c| 五月婷婷激情五月| 色色五月婷婷久久| 激情综合激情综合| 久久天堂女人| 思思热99在线| 亚洲字幕AV一区二区三区四区| 色色激情| 九九人人操| 国产成人AV在线| 狠狠的日| 99久久精彩视频| 五月六月婷| 国产欧美大香蕉一区| 永久AⅤ1| 亚洲视频在线网| 热久久国产视频| 久久久天堂国产精品女人| 婷婷久久午夜网| 综合五月天| 日本本土色网第一区| 亚洲综合婷婷| 操91| 激情五月久久| 丁香五月激情婷婷视频| 饮料下药迷倒漂亮女同事强干| 九九热a| 成人电影一区| 99国产er热视频| 免费视频无码| 色五月在线| 日韩AV无码影片| 亚洲男人的天堂婷婷色五月| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 日韩野外 无套| 五月天久久丁香| www.夜夜操| Www.狠狠| 婷婷五月综合网| 二色AV| 五月天综合网| 爱爱色五月天| 婷婷五月丁香综合网| 另类视频丁香五月| 五月亭亭色| 婷婷伊人中文字幕| 精品视频这里只有精品| 午夜无码熟熟妇丰满人妻| 婷婷五点亚洲| 丁香六月婷婷开心婷婷网| 99久久99九九九99九他书对| 夜夜骑操AV| 夜夜嗨一区二区三区直播内容 | 天天操天天曰| 色五月开心五月激情五月| 国产毛片操B| 五月开心深爱激情网| 99狠狠| 国外亚洲成AV人片在线观看| 婷婷色五月天综合网| 婷婷五月丁香A∨| 婷婷99狠狠躁天天| 中文精品久久久久人妻不| 天堂久久丁香| 亚洲网站999| 久热精品视频在线观| 人操综合| 99久热在线精品| 一夜福利不卡| 丁香婷婷综合色五月激情国产基地| 婷婷六月啪啪| 激情涩涩网| 日韩三及成人AV片| 色播五月婷婷| 玖玖精品视频| av 一区三区四区| 99啪在线视频| 亚洲色在线观看| 思思热国产| 色香蕉影院| 大香蕉久久青青| 婷婷色丁香五月| 亚洲小说欧美激情| 国产资源在线视频| 国产真实乱对白精彩| 9热在线观看| 天天做天天爱天天爽在| 97色女人在线| 久热99中文字幕| 丁香五月欧美激情| 六月亭亭久久综合激情| 91色综合| 91狼友视频在线观看| 五月丁香六月情| 人人草人| 99惹| 久久婷婷综合网| 婷婷激情综合色五月久久91| 天天狠天天叉| 99热这里只有精品66| wwW天天干| 另类激情四射| 丁香五月 性爱| 六月伊人婷婷| 高清不卡一区| 色色五月天com| 99精品国产在热久久| 久久婷婷五月综合激情国产| 九一99| 丁香五月激情综合网激情五月| 中文字幕日韩成人| 97亚洲精品| 欧美大片| www.91色| 激情婷婷五月天| 五月激情六月婷婷| 婷婷五月情色| 五月天天天综合| 激情四射网| 色婷婷国产精品综合在线观看| 激情五月激情综合网| 亚洲视频二区| 女人被男人吃奶到高潮| 婷婷五月综合亚洲| 婷婷综合伊人丁香| 九九热思思热| 夜夜躁狠狠| 秋霞电影一级黄| www99热| 五月天婷综合| 激情五月婷婷啪啪| 久热伊人在91| 69人人操人人爽| 五月天天丁香婷婷| 射婷婷中文字幕| 99国产精品久久久久久久久久久| 开心深爱激情网| 91成人性爱视频| 日韩成人网址| 五月丁香在线| 色色色色色色色色色色色色色97| 婷婷狠狠操| 在线五月色播| 先锋男人99资源| 怡红院院久久| 久久99热精品a片在线观看| 色色影院aaaav| 秋霞簧片| 就爱射中文字幕资源网| 五月丁婷婷| 亚洲激情网站| 五月天婷婷激情在线色图| 五月天亭亭俺也| 狠狠干无码| 五月丁香成人小说| 色99色| 久久9热| 97碰久久| 九九精品热| 国产精品人成A片一区二区| 99精品网| 九九婷婷热| 综合玖玖偷拍| 五月天狠狠色| 亚洲国产婷婷色五月| 久久一热免费视频| 亭亭五月天黑人2014| 欧美成人A片AAA片在线播放 | 丁香婷婷视频| 人。妻久久| WWW、日本色丁香、co m| 亚洲综合狠狠艹| 婷婷丁香六月天| 日韩成人精品中文字幕| 99热这里只有精品16| 偷偷与邻居做爰完整视频| 大香蕉丁香婷婷| www.99视频| 婷婷在线日韩综合| 五月五月婷婷| 欧美激情丁香五月| 五月天合网| 五月丁香六月香综合激情| 色五月成人| 五月天激情视频| 婷婷五月天基地| 激情六月婷婷啪啪| 欧美天堂久久| 激情网站五月| 综合激情网激情五月。| 色久女| 中文字幕在线免费看线人| 婷婷丁香五月社区亚洲| 大香蕉伊人99| 色婷婷五月天成人网| 99热这里只有精品21| 天天做天天摸| 天天日天天色| 99精品综合在线| 超碰93在线观看| 狠狠操.COM| 婷婷的99视频网站| 久爱综合| 99精品人人| 亚洲日韩26uuu| 丁香五月婷婷亚洲综合精品| 激情AV综合| aa久久| 婷婷六月视频| 五月婷婷啪啪| 99视频综合网| 色激情综合狠狠婷婷| 色色色色色色网站| 99在线精品免费视频| 欧美69色| 97丁香花五月天激情小说| 大香蕉欧美在线| 激情人妻蜜夜系列区| 啪色综合| 人妻自慰高清合集| 伊人久久婷婷| 五月丁香啪综合| 思思精品久久艹| 九九在线视频| 狠狠色丁香久久婷婷综合五月| wwwxxx五月婷婷小说| 五月丁香婷婷色色色| 狠狠色综合图片| 99热这里只有精品手机在线观看| 91久久精品无码一区二区三区| 国产精产国品一二三在观看| 色五月天.con| AA丁香综合激情| 97色色网| 久久久久网站| 色小说五月天| 五月婷婷丁香日韩在线| 色琪琪一综合久久激情五月视频| 战争与艾拉电影免费观看| 色99视频| 91性高潮久久久久久久久| 亚洲综合五月天婷婷| 亚洲精品久久久无码| 久热这里只有国产| 综合激情婷婷| www久久艹| 五月开行婷婷色五月| 草了bav视频在线观看| 天天爽—爽| 婷色五月天| 综激情网| 97超碰在线免费观看| 人妻操日日| 国产综合网在线| 逼特逼在线免费播放| 天堂五月婷婷| 精品影院| 一区二区三区四区五区| 天天天天天日| 操操碰| 99精在线| 永久的网站AAAA | 婷婷在线观看五月天在线视频| 97碰| 超碰人人干| 国产激情久久久| AV九九| 色色色五月婷婷| 色婷婷影院| 天天爱天天爽| 精品99久久久久成人网站免费| 91操人视频| 激情五月丁香五月| 久久九九怡红院| 五月激情小说|