mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-02-06 06:55:07 +00:00
Add wamr to esp-idf components registry (#3287)
This PR is for the main branch, but only the released branch will be pushed into Espressif component registry. See also similar fixes in branch release/1.3.x: https://github.com/bytecodealliance/wasm-micro-runtime/pull/3264 https://github.com/bytecodealliance/wasm-micro-runtime/pull/3288
This commit is contained in:
parent
ef3babc658
commit
dacb3c4105
|
@ -3,6 +3,11 @@
|
|||
|
||||
cmake_minimum_required (VERSION 3.0)
|
||||
|
||||
if(ESP_PLATFORM)
|
||||
include (${COMPONENT_DIR}/build-scripts/esp-idf/wamr/CMakeLists.txt)
|
||||
return()
|
||||
endif()
|
||||
|
||||
project (iwasm)
|
||||
|
||||
set (CMAKE_VERBOSE_MAKEFILE OFF)
|
||||
|
|
|
@ -55,7 +55,24 @@ os_mmap(void *hint, size_t size, int prot, int flags, os_file_handle file)
|
|||
#else
|
||||
uint32_t mem_caps = MALLOC_CAP_8BIT;
|
||||
#endif
|
||||
return heap_caps_malloc(size, mem_caps);
|
||||
void *buf_origin =
|
||||
heap_caps_malloc(size + 4 + sizeof(uintptr_t), mem_caps);
|
||||
if (!buf_origin) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// Memory allocation with MALLOC_CAP_SPIRAM or MALLOC_CAP_8BIT will
|
||||
// return 4-byte aligned Reserve extra 4 byte to fixup alignment and
|
||||
// size for the pointer to the originally allocated address
|
||||
void *buf_fixed = buf_origin + sizeof(void *);
|
||||
if ((uintptr_t)buf_fixed & (uintptr_t)0x7) {
|
||||
buf_fixed = (void *)((uintptr_t)(buf_fixed + 4) & (~(uintptr_t)7));
|
||||
}
|
||||
|
||||
uintptr_t *addr_field = buf_fixed - sizeof(uintptr_t);
|
||||
*addr_field = (uintptr_t)buf_origin;
|
||||
|
||||
return buf_fixed;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
8
idf_component.yml
Normal file
8
idf_component.yml
Normal file
|
@ -0,0 +1,8 @@
|
|||
version: "2.0.0"
|
||||
description: WebAssembly Micro Runtime - A lightweight standalone WebAssembly (Wasm) runtime with small footprint, high performance and highly configurable features
|
||||
url: https://bytecodealliance.org/
|
||||
repository: https://github.com/bytecodealliance/wasm-micro-runtime.git
|
||||
documentation: https://wamr.gitbook.io/
|
||||
issues: https://github.com/bytecodealliance/wasm-micro-runtime/issues
|
||||
dependencies:
|
||||
idf: ">=4.4"
|
|
@ -6,7 +6,4 @@ cmake_minimum_required(VERSION 3.5)
|
|||
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
|
||||
set (COMPONENTS ${IDF_TARGET} main freertos esptool_py wamr)
|
||||
list(APPEND EXTRA_COMPONENT_DIRS "$ENV{WAMR_PATH}/build-scripts/esp-idf")
|
||||
|
||||
project(wamr-simple)
|
|
@ -2,5 +2,4 @@
|
|||
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
|
||||
idf_component_register(SRCS "main.c"
|
||||
INCLUDE_DIRS "."
|
||||
REQUIRES wamr)
|
||||
INCLUDE_DIRS ".")
|
||||
|
|
7
product-mini/platforms/esp-idf/main/idf_component.yml
Normal file
7
product-mini/platforms/esp-idf/main/idf_component.yml
Normal file
|
@ -0,0 +1,7 @@
|
|||
## IDF Component Manager Manifest File
|
||||
dependencies:
|
||||
wasm-micro-runtime:
|
||||
version: ">=2.0"
|
||||
override_path: "../../../.."
|
||||
idf:
|
||||
version: ">=4.4"
|
|
@ -12,11 +12,7 @@
|
|||
|
||||
#include "esp_log.h"
|
||||
|
||||
#ifdef CONFIG_IDF_TARGET_ESP32S3
|
||||
#define IWASM_MAIN_STACK_SIZE 5120
|
||||
#else
|
||||
#define IWASM_MAIN_STACK_SIZE 4096
|
||||
#endif
|
||||
|
||||
#define LOG_TAG "wamr"
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user