Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 79 additions & 0 deletions boards/nrf5340dk_nrf5340_cpuapp.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
CONFIG_ARM_MPU=y
CONFIG_MAIN_STACK_SIZE=4096
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096
CONFIG_COMMON_LIBC_MALLOC_ARENA_SIZE=-1
CONFIG_HEAP_MEM_POOL_SIZE=32768

# Container defaults - Reduced for nRF5340's limited RAM
CONFIG_MAX_CONTAINERS=2
CONFIG_OCRE_WAMR_HEAP_BUFFER_SIZE=180000
CONFIG_OCRE_CONTAINER_DEFAULT_HEAP_SIZE=4096
CONFIG_OCRE_CONTAINER_DEFAULT_STACK_SIZE=4096

# DISABLE OCRE SHELL (this is what's causing the shell_fprintf errors!)
CONFIG_OCRE_SHELL=n

# Disable the main Zephyr shell AND all shell subsystems
CONFIG_NET_SHELL=n
CONFIG_FILE_SYSTEM_SHELL=n
CONFIG_SENSOR_SHELL=n

# Override shell-related configs from prj.conf since shell is disabled

# Random number generator (REQUIRED by networking and RNG sensor)
CONFIG_ENTROPY_GENERATOR=y
CONFIG_TEST_RANDOM_GENERATOR=y

# Reduce networking stack sizes to save RAM
CONFIG_NET_TX_STACK_SIZE=1024
CONFIG_NET_RX_STACK_SIZE=2048
CONFIG_NET_BUF_TX_COUNT=8
CONFIG_NET_BUF_RX_COUNT=16
CONFIG_NET_MGMT_EVENT_STACK_SIZE=1024
CONFIG_NET_PKT_RX_COUNT=8
CONFIG_NET_PKT_TX_COUNT=8
CONFIG_NET_BUF_DATA_SIZE=128

# Bus interfaces
CONFIG_GPIO=y

# Ocre Sensors support
CONFIG_SENSOR=y
CONFIG_OCRE_SENSORS=y
CONFIG_RNG_SENSOR=y

# Ocre GPIO Support (minimal)
CONFIG_OCRE_GPIO=y
CONFIG_OCRE_GPIO_MAX_PORTS=4
CONFIG_OCRE_GPIO_PINS_PER_PORT=8
CONFIG_OCRE_GPIO_MAX_PINS=32

# Disable container messaging to save RAM
CONFIG_OCRE_CONTAINER_MESSAGING=y

# Enable container filesystem for WASI stdio
CONFIG_OCRE_CONTAINER_FILESYSTEM=y

# CONFIG_BOOTLOADER_MCUBOOT=n
# # CONFIG_IMG_MANAGER=n
# CONFIG_MCUBOOT_IMG_MANAGER=n
# CONFIG_STREAM_FLASH=n
# CONFIG_IMG_ERASE_PROGRESSIVELY=n

# Flash settings
CONFIG_FLASH=y
CONFIG_FLASH_MAP=y
CONFIG_FLASH_PAGE_LAYOUT=y

# Serial/UART
CONFIG_SERIAL=y
CONFIG_UART_CONSOLE=y
CONFIG_CONSOLE=y

# Reduce other buffers
CONFIG_ZVFS_OPEN_MAX=8
CONFIG_ZVFS_EVENTFD_MAX=5

CONFIG_LOG_TRACE_SHORT_TIMESTAMP=n

CONFIG_SHELL_PROMPT_UART=""
34 changes: 34 additions & 0 deletions boards/nrf5340dk_nrf5340_cpuapp.overlay
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/ {
aliases {
rng0 = &rng_device;
led0 = &led0;
};

rng_device: rng_0 {
compatible = "custom,rng-sensor";
label = "RNG Sensor";
status = "okay";
};

devices {
compatible = "custom,devices";
status = "okay";
device_list = <&rng_device>;
};
};

/* Enable one LED for blinky */
&led0 {
status = "okay";
};

&flash0 {
partitions {
/delete-node/ partition@f8000;

user_data_partition: partition@e0000 {
label = "user_data";
reg = <0x000e0000 DT_SIZE_K(128)>;
};
};
};
5 changes: 5 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,11 @@ if [[ "$TARGET" == "z" ]]; then
-DDTC_OVERLAY_FILE=boards/${ZEPHYR_BOARD}.overlay\;boards/enc28j60.overlay"
echo "Building for b_u585i_iot02a with ENC28J60 support"
;;
nrf5340)
ZEPHYR_BOARD="nrf5340dk/nrf5340/cpuapp"
CONF_EXTRA=""
echo "Building for nrf5340dk board: App CPU"
;;
*)
ZEPHYR_BOARD="$BOARD_ARG"
CONF_EXTRA=""
Expand Down
8 changes: 4 additions & 4 deletions src/ocre/ocre_gpio/ocre_gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,7 @@ static void gpio_callback_handler(const struct device *port, struct gpio_callbac
}

//========================================================================================================================================================================================================================================================================================================
// By Name
// By Name
//========================================================================================================================================================================================================================================================================================================
static int find_port_index(const struct device *port) {
if (!port) {
Expand Down Expand Up @@ -662,12 +662,12 @@ int ocre_gpio_wasm_register_callback_by_name(wasm_exec_env_t exec_env, const cha

int global_pin = port_idx * CONFIG_OCRE_GPIO_PINS_PER_PORT + pin;
LOG_INF("Registering callback by name: %s, global_pin=%d", name, global_pin);

if (global_pin >= CONFIG_OCRE_GPIO_MAX_PINS) {
LOG_ERR("Global pin %d exceeds max %d", global_pin, CONFIG_OCRE_GPIO_MAX_PINS);
return -EINVAL;
}

return ocre_gpio_register_callback(global_pin);
}

Expand All @@ -686,6 +686,6 @@ int ocre_gpio_wasm_unregister_callback_by_name(wasm_exec_env_t exec_env, const c

int global_pin = port_idx * CONFIG_OCRE_GPIO_PINS_PER_PORT + pin;
LOG_INF("Unregistering callback by name: %s, global_pin=%d", name, global_pin);

return ocre_gpio_unregister_callback(global_pin);
}
5 changes: 3 additions & 2 deletions west.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ manifest:
- hal_st
- mbedtls
- cmsis_6

- hal_nordic

self:
path: application
path: application