From d4d37b8d7c0529e9a583d5db95fe00bf0fa284e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20LOUEDEC?= Date: Thu, 12 Jun 2025 14:49:45 -0400 Subject: [PATCH 1/4] Duplicate application options template for sandboxed mode --- configuration/common-sandboxed-app.properties | 343 ++++++++++++++++++ 1 file changed, 343 insertions(+) create mode 100644 configuration/common-sandboxed-app.properties diff --git a/configuration/common-sandboxed-app.properties b/configuration/common-sandboxed-app.properties new file mode 100644 index 0000000..81fac31 --- /dev/null +++ b/configuration/common-sandboxed-app.properties @@ -0,0 +1,343 @@ +############################################################################### +# Runtime Options +############################################################################### + +## Types + +# Embeds the name of all types. When this option is disabled, only names of declared required types are embedded. +#soar.generate.classnames=true + +## Assertions + +# When this option is enabled, asserts statements are executed on Simulator. +# Please note that the executed code may produce side effects or throw java.lang.AssertionError. +#core.assertions.sim.enabled=false + +# When this option is enabled, asserts statements are executed on the Device. +# Please note that the executed code may produce side effects or throw java.lang.AssertionError. +#core.assertions.emb.enabled=false + +############################################################################### +# Memory Options +############################################################################### + +## Heaps + +# Specifies the Immortal heap size in bytes. +#core.memory.immortal.size=4096 + +# Specifies the Java heap size in bytes. +#core.memory.javaheap.size=65536 + +## Threads + +# Specifies the thread stack block size (in bytes). +#core.memory.thread.block.size=512 + +# Specifies the maximum number of blocks a thread can use. If a thread requires more blocks a StackOverflow error will occur. +#core.memory.thread.max.size=4 + +# Specifies the number of blocks in the stacks pool. +#core.memory.threads.pool.size=15 + +# Specifies the number of threads the application will be able to use at the same time. +#core.memory.threads.size=5 + +# Specifies the maximum number of monitors a thread can own at the same time. +#core.memory.thread.max.nb.monitors=8 + +# Specifies the maximum number of stack frames that can be dumped to the standard output when Core Engine throws an OutOfMemoryError. +#core.memory.oome.nb.frames=5 + +############################################################################### +# BSP Connection Options +# +# Uncomment one and only one option block depending on how the target VEE Port +# is connected to BSP (defaults to Full BSP Connection) +############################################################################### + +# No BSP Connection +#deploy.dir.microejapp=[absolute_path] +#deploy.dir.microejlib=[absolute_path] +#deploy.dir.microejinc=[absolute_path] +#deploy.dir.microejscript=[absolute_path] + +# Partial BSP Connection +#deploy.bsp.root.dir=[absolute_path] +#deploy.bsp.microejscript=true + +# Full BSP Connection +deploy.bsp.microejscript=true + +############################################################################### +# Core Engine Options +############################################################################### + +## SOAR + +# Enables Binary Code Verifier. +#soar.bytecode.verifier=false + +## Watchdog + +# Enables watchdog support. +#enable.watchdog.support=true + +# Specifies the maximum number of active watchdogs at the same time. +#maximum.active.watchdogs=4 + +## EDC + +# Specifies the additional classes to embed at runtime. +#cldc.encoding.utf8.included=true + +# Enables the security manager runtime checks. +#com.microej.library.edc.securitymanager.enabled=false + +# Selects this option to specify another Java System.out print stream. +#core.outputstream.disable.uart=false + +# Defines the Java class used to manage System.out. +#core.outputstream.class= + +## Profiling + +# Enables execution traces. +#core.trace.enabled=false + +# Starts execution traces automatically. +#core.trace.autostart=false + +# Enables Java heap usage monitoring. +#com.microej.runtime.debug.heap.monitoring.enabled=false + +# Specifies the initial size (in bytes) of the Java Heap. +#com.microej.runtime.debug.heap.monitoring.init.size=0 + +############################################################################### +# Multi-Sandbox Options +############################################################################### + +# Specifies the maximum number of threads a Feature is allowed to use at the same time. +#core.memory.feature.max.threads=0 + +# Specifies the maximum number of Features that can be dynamically installed to this Kernel (see Kernel.install() method). +#com.microej.runtime.kernel.dynamicfeatures.max=0 + +# Specifies the byte size of each Feature .fo code chunk temporarily loading into RAM for relocations. +# Smaller chunks increase the .fo size, bigger chunks increase the amount of RAM needed at installation for relocations. +#com.microej.soar.kernel.featurecodechunk.size=65536 + +# Enables Feature Portability Control. +#com.microej.soar.kernel.featureportabilitycontrol.enabled=false + +# Specifies the path to the Kernel metadata file for Feature Portability Control. +#com.microej.soar.kernel.featureportabilitycontrol.metadata.path=C\:\\path\\ + +# Specifies the maximum number of relocations applied simultaneously. +#com.microej.runtime.kf.link.chunk.relocations.count=128 + +# Specifies the inputStream transfer buffer size. +#com.microej.runtime.kf.link.transferbuffer.size=512 + +# Specifies the feature stop timeout. +#com.microej.runtime.kf.waitstop.delay=2000 + +# Enables the RAM control to automatically stop less critical Features when a more critical Feature cannot allocate new objects. +#com.microej.runtime.mjvm.com.microej.runtime.kf.ramcontrol.enabled=false + +############################################################################### +# Simulator Options +############################################################################### + +## Options + +# Uses target characteristics. +#s3.board.compliant=false + +# Allows the Simulator to be slowed down in order to match the target execution speed. +# The greater the slowing factor, the slower the Simulator runs. +#s3.slow=0 + +## HIL Connection + +# When selected allows the use of a specific HIL connection port, otherwise a random free port is used. +#s3.hil.use.port=false + +# Specifies the port used by the Simulator to accept HIL connections. Values: [1024-65535]. +#s3.hil.port=8001 + +# Specifies the time the Simulator should wait before failing when it invokes native methods. +#s3.hil.timeout=10 + +# Specifies the maximum frame size in bytes. Must be increased to transfer large arrays to native side. +#com.microej.simulator.hil.frame.size=262144 + +## Code Coverage + +# Activates the code coverage analysis. +#s3.cc.activated=false + +# Specifies the period between the generation of .cc files. +#s3.cc.thread.period=15 + +### Debug + +# Configures the JDWP debug port. Values: [1024-65535]. +#debug.port=12000 + +## Heap Dumper + +# Activates the heap dumper. +#s3.inspect.heap=false + +## Logs + +# Enables logs by category. +#console.logs.level.low=false +#console.logs.level.memory=false +#console.logs.level.monitoring=false +#console.logs.level.monitors=false +#console.logs.level.schedule=false +#console.logs.level.thread=false + +# Specifies the periodicity of periodical logs. +#console.logs.period=2 + +## Mock + +# Enables Mock debug. +#com.microej.simulator.hil.debug.enabled=false + +# Specifies the Mock debug port. +#com.microej.simulator.hil.debug.port=8002 + +## Specifies the Multi-Sandbox Kernel UID. +#com.microej.simulator.kf.kernel.uid.enabled=false +#com.microej.simulator.kf.kernel.uid= + +############################################################################### +# NET Options +############################################################################### + +# Toggles Automatic IP address configuration (DHCP). +#com.is2t.libraries.netembedded.networksettings.dhcp.ip.conf=true + +# Specifies the device's static IP address, ignored when automatic IP address configuration is enabled. +#com.is2t.libraries.netembedded.networksettings.device.ip.address.str=0.0.0.0 + +# Specifies the netmask for the static IP address, ignored when automatic IP address configuration is enabled. +#com.is2t.libraries.netembedded.networksettings.netmask.str=0.0.0.0 + +# Specifies the gateway IP address, ignored when automatic IP address configuration is enabled. +#com.is2t.libraries.netembedded.networksettings.gateway.ip.address.str=0.0.0.0 + +# Toggles the Automatic DNS IP configuration (DHCP). +#com.is2t.libraries.netembedded.networksettings.dhcp.dns.ip.conf=false + +# Specifies the DNS IP address. +#com.is2t.libraries.netembedded.networksettings.dns.ip.address.str=8.8.8.8 + +# Toggles the use of a custom MAC address. +#com.is2t.libraries.netembedded.networksettings.mac.address.conf=false + +# Specifies a custom MAC address, ignored when the use of a custom MAC address is disabled. +#com.is2t.libraries.netembedded.networksettings.mac.address.str=00\:00\:00\:00\:00\:00 + +############################################################################### +# MicroUI Options +############################################################################### + +# Memory + +# Specifies the Pump events (inputs and display) queue size (in number of events). +#ej.microui.memory.queue.size=100 + +# Specifies the Images heap size (in bytes). +#ej.microui.memory.imagesheap.size=131072 + +# Runtime + +# Specifies the Pump events thread priority. +#com.microej.library.microui.pump.priority=5 + +# Disables the runtime checks at flush after drawing errors (recommended for release). +#com.microej.library.microui.impl.check-drawing-errors-on-flush=true + +# Fonts + +# Disables the use of the Font Generator cache. +#ej.microui.fontConverter.disableCache=true + +# Image + +# Disables the use of the Image Generator cache. +#ej.microui.imageConverter.disableCache=true + +# Front Panel + +# Exports all the frames drawn on the display and list the drawings done for each frame. +#ej.fp.display.flushVisualizer=true + +# Identifies the drawn regions for each frame (a R-G-B color). +#ej.fp.brs.drawnColor=0x00ff00 + +# Identifies the restored regions for each frame (a R-G-B color). +#ej.fp.brs.restoredColor=0xff00ff + +# Identifies the regions not fully filled by the drawings (a A-R-G-B color). +#ej.fp.brs.dirtyColor=0x200000ff + +# Simulates a display refresh frequency (in Hertz). +#ej.fp.widget.display.refreshRate=60 + +# Simulates the time to send the back buffer content to the display buffer (a value in milliseconds). +#ej.fp.widget.display.flushTime=10 + +# Uses a specific .fp file available in the Front Panel project. +#frontpanel.file= + +############################################################################### +# FS Options +############################################################################### + +## Simulation + +# Specifies the Simulation filesystem root directory. +#com.is2t.fs.embedded.mock.root= + +############################################################################### +# Bluetooth Options +############################################################################### + +# Set the size of the buffer used by the Bluetooth pump to fetch events +#bluetooth.pump.buffer.size=600 + +# Set the Bluetooth simulation mode. +# Supported values: 'stub' (default), 'net' (Bluetooth Controller) +#s3.bluetooth.mode=stub + +# When using `net` simulation mode, set the IP address of the Bluetooth Controller. +#s3.bluetooth.net.host=192.168.x.y + +# When using `net` simulation mode, set the TCP port of the Bluetooth Controller. +#s3.bluetooth.net.port=80 + +# When using `net` simulation mode, set the timeout (in ms) of the connection to the Bluetooth Controller. +#s3.bluetooth.net.timeout=5000 + +############################################################################### +# System Properties +# +# Declare System Properties that can be retrieved +# using 'System.getProperty("my_property_name")' +############################################################################### + +# Defines a property available on both Core Engine and Simulator. +#microej.java.property.my_property_name=my_property_value + +# Defines a property available on Simulator only. +#sim.java.property.my_property_name=my_property_value + +# Defines a property available on Core Engine only. +#emb.java.property.my_property_name=my_property_value From c19d05c1903129dd2953099a0c3d8d91345a9a94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20LOUEDEC?= Date: Thu, 12 Jun 2025 14:50:50 -0400 Subject: [PATCH 2/4] Remove all application options not applicable to sandboxed apps --- configuration/common-sandboxed-app.properties | 178 ------------------ 1 file changed, 178 deletions(-) diff --git a/configuration/common-sandboxed-app.properties b/configuration/common-sandboxed-app.properties index 81fac31..5bfe1d5 100644 --- a/configuration/common-sandboxed-app.properties +++ b/configuration/common-sandboxed-app.properties @@ -17,113 +17,10 @@ # Please note that the executed code may produce side effects or throw java.lang.AssertionError. #core.assertions.emb.enabled=false -############################################################################### -# Memory Options -############################################################################### - -## Heaps - -# Specifies the Immortal heap size in bytes. -#core.memory.immortal.size=4096 - -# Specifies the Java heap size in bytes. -#core.memory.javaheap.size=65536 - -## Threads - -# Specifies the thread stack block size (in bytes). -#core.memory.thread.block.size=512 - -# Specifies the maximum number of blocks a thread can use. If a thread requires more blocks a StackOverflow error will occur. -#core.memory.thread.max.size=4 - -# Specifies the number of blocks in the stacks pool. -#core.memory.threads.pool.size=15 - -# Specifies the number of threads the application will be able to use at the same time. -#core.memory.threads.size=5 - -# Specifies the maximum number of monitors a thread can own at the same time. -#core.memory.thread.max.nb.monitors=8 - -# Specifies the maximum number of stack frames that can be dumped to the standard output when Core Engine throws an OutOfMemoryError. -#core.memory.oome.nb.frames=5 - -############################################################################### -# BSP Connection Options -# -# Uncomment one and only one option block depending on how the target VEE Port -# is connected to BSP (defaults to Full BSP Connection) -############################################################################### - -# No BSP Connection -#deploy.dir.microejapp=[absolute_path] -#deploy.dir.microejlib=[absolute_path] -#deploy.dir.microejinc=[absolute_path] -#deploy.dir.microejscript=[absolute_path] - -# Partial BSP Connection -#deploy.bsp.root.dir=[absolute_path] -#deploy.bsp.microejscript=true - -# Full BSP Connection -deploy.bsp.microejscript=true - -############################################################################### -# Core Engine Options -############################################################################### - -## SOAR - -# Enables Binary Code Verifier. -#soar.bytecode.verifier=false - -## Watchdog - -# Enables watchdog support. -#enable.watchdog.support=true - -# Specifies the maximum number of active watchdogs at the same time. -#maximum.active.watchdogs=4 - -## EDC - -# Specifies the additional classes to embed at runtime. -#cldc.encoding.utf8.included=true - -# Enables the security manager runtime checks. -#com.microej.library.edc.securitymanager.enabled=false - -# Selects this option to specify another Java System.out print stream. -#core.outputstream.disable.uart=false - -# Defines the Java class used to manage System.out. -#core.outputstream.class= - -## Profiling - -# Enables execution traces. -#core.trace.enabled=false - -# Starts execution traces automatically. -#core.trace.autostart=false - -# Enables Java heap usage monitoring. -#com.microej.runtime.debug.heap.monitoring.enabled=false - -# Specifies the initial size (in bytes) of the Java Heap. -#com.microej.runtime.debug.heap.monitoring.init.size=0 - ############################################################################### # Multi-Sandbox Options ############################################################################### -# Specifies the maximum number of threads a Feature is allowed to use at the same time. -#core.memory.feature.max.threads=0 - -# Specifies the maximum number of Features that can be dynamically installed to this Kernel (see Kernel.install() method). -#com.microej.runtime.kernel.dynamicfeatures.max=0 - # Specifies the byte size of each Feature .fo code chunk temporarily loading into RAM for relocations. # Smaller chunks increase the .fo size, bigger chunks increase the amount of RAM needed at installation for relocations. #com.microej.soar.kernel.featurecodechunk.size=65536 @@ -134,18 +31,6 @@ deploy.bsp.microejscript=true # Specifies the path to the Kernel metadata file for Feature Portability Control. #com.microej.soar.kernel.featureportabilitycontrol.metadata.path=C\:\\path\\ -# Specifies the maximum number of relocations applied simultaneously. -#com.microej.runtime.kf.link.chunk.relocations.count=128 - -# Specifies the inputStream transfer buffer size. -#com.microej.runtime.kf.link.transferbuffer.size=512 - -# Specifies the feature stop timeout. -#com.microej.runtime.kf.waitstop.delay=2000 - -# Enables the RAM control to automatically stop less critical Features when a more critical Feature cannot allocate new objects. -#com.microej.runtime.mjvm.com.microej.runtime.kf.ramcontrol.enabled=false - ############################################################################### # Simulator Options ############################################################################### @@ -216,54 +101,10 @@ deploy.bsp.microejscript=true #com.microej.simulator.kf.kernel.uid.enabled=false #com.microej.simulator.kf.kernel.uid= -############################################################################### -# NET Options -############################################################################### - -# Toggles Automatic IP address configuration (DHCP). -#com.is2t.libraries.netembedded.networksettings.dhcp.ip.conf=true - -# Specifies the device's static IP address, ignored when automatic IP address configuration is enabled. -#com.is2t.libraries.netembedded.networksettings.device.ip.address.str=0.0.0.0 - -# Specifies the netmask for the static IP address, ignored when automatic IP address configuration is enabled. -#com.is2t.libraries.netembedded.networksettings.netmask.str=0.0.0.0 - -# Specifies the gateway IP address, ignored when automatic IP address configuration is enabled. -#com.is2t.libraries.netembedded.networksettings.gateway.ip.address.str=0.0.0.0 - -# Toggles the Automatic DNS IP configuration (DHCP). -#com.is2t.libraries.netembedded.networksettings.dhcp.dns.ip.conf=false - -# Specifies the DNS IP address. -#com.is2t.libraries.netembedded.networksettings.dns.ip.address.str=8.8.8.8 - -# Toggles the use of a custom MAC address. -#com.is2t.libraries.netembedded.networksettings.mac.address.conf=false - -# Specifies a custom MAC address, ignored when the use of a custom MAC address is disabled. -#com.is2t.libraries.netembedded.networksettings.mac.address.str=00\:00\:00\:00\:00\:00 - ############################################################################### # MicroUI Options ############################################################################### -# Memory - -# Specifies the Pump events (inputs and display) queue size (in number of events). -#ej.microui.memory.queue.size=100 - -# Specifies the Images heap size (in bytes). -#ej.microui.memory.imagesheap.size=131072 - -# Runtime - -# Specifies the Pump events thread priority. -#com.microej.library.microui.pump.priority=5 - -# Disables the runtime checks at flush after drawing errors (recommended for release). -#com.microej.library.microui.impl.check-drawing-errors-on-flush=true - # Fonts # Disables the use of the Font Generator cache. @@ -310,9 +151,6 @@ deploy.bsp.microejscript=true # Bluetooth Options ############################################################################### -# Set the size of the buffer used by the Bluetooth pump to fetch events -#bluetooth.pump.buffer.size=600 - # Set the Bluetooth simulation mode. # Supported values: 'stub' (default), 'net' (Bluetooth Controller) #s3.bluetooth.mode=stub @@ -325,19 +163,3 @@ deploy.bsp.microejscript=true # When using `net` simulation mode, set the timeout (in ms) of the connection to the Bluetooth Controller. #s3.bluetooth.net.timeout=5000 - -############################################################################### -# System Properties -# -# Declare System Properties that can be retrieved -# using 'System.getProperty("my_property_name")' -############################################################################### - -# Defines a property available on both Core Engine and Simulator. -#microej.java.property.my_property_name=my_property_value - -# Defines a property available on Simulator only. -#sim.java.property.my_property_name=my_property_value - -# Defines a property available on Core Engine only. -#emb.java.property.my_property_name=my_property_value From 3742d7797d9393380ed8b56cb6dabc102c8dcef4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20LOUEDEC?= Date: Fri, 13 Jun 2025 11:47:24 -0400 Subject: [PATCH 3/4] Remove featureportability options (those are for the Kernel project) --- configuration/common-sandboxed-app.properties | 6 ------ 1 file changed, 6 deletions(-) diff --git a/configuration/common-sandboxed-app.properties b/configuration/common-sandboxed-app.properties index 5bfe1d5..9011f60 100644 --- a/configuration/common-sandboxed-app.properties +++ b/configuration/common-sandboxed-app.properties @@ -25,12 +25,6 @@ # Smaller chunks increase the .fo size, bigger chunks increase the amount of RAM needed at installation for relocations. #com.microej.soar.kernel.featurecodechunk.size=65536 -# Enables Feature Portability Control. -#com.microej.soar.kernel.featureportabilitycontrol.enabled=false - -# Specifies the path to the Kernel metadata file for Feature Portability Control. -#com.microej.soar.kernel.featureportabilitycontrol.metadata.path=C\:\\path\\ - ############################################################################### # Simulator Options ############################################################################### From c920759a873ac832fabdb09da6e001cc3af9d7bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20LOUEDEC?= Date: Fri, 13 Jun 2025 12:05:54 -0400 Subject: [PATCH 4/4] Remove soar.generateclassnames which is only applicable for standalone apps --- configuration/common-sandboxed-app.properties | 5 ----- 1 file changed, 5 deletions(-) diff --git a/configuration/common-sandboxed-app.properties b/configuration/common-sandboxed-app.properties index 9011f60..620809d 100644 --- a/configuration/common-sandboxed-app.properties +++ b/configuration/common-sandboxed-app.properties @@ -2,11 +2,6 @@ # Runtime Options ############################################################################### -## Types - -# Embeds the name of all types. When this option is disabled, only names of declared required types are embedded. -#soar.generate.classnames=true - ## Assertions # When this option is enabled, asserts statements are executed on Simulator.