Segger emApps
Panoramica
emApps è un pacchetto software rivoluzionario che porta la nota flessibilità degli smartphone nel mondo dei sistemi embedded. Come alternativa al firmware fisso, emApps introduce un livello applicativo che consente di aggiungere nuove funzionalità in qualsiasi momento senza toccare il nucleo (core) validato del sistema.
Per ottenere questo risultato, emApps crea delle “app”, ovvero piccoli programmi che possono essere caricati ed eseguiti dinamicamente in un ambiente protetto chiamato sandbox. Ogni app opera nel proprio spazio di memoria (la sandbox), isolata dal firmware e dalle altre app.
Queste app consentono all’utente di aggiungere nuove capacità, caratteristiche o miglioramenti ai dispositivi embedded mantenendo il firmware compatto e preservando la stabilità e la sicurezza del sistema. Permettono inoltre al produttore di eseguire test sui sistemi embedded utilizzando le app stesse.
Poiché le app possono essere caricate dinamicamente, non aumentano le dimensioni del firmware. Pertanto, è possibile scrivere ed eseguire un numero qualsiasi di test, inclusi test di funzionalità e di prestazioni sul sistema embedded.
Le capacità delle app sono definite da una tabella API nel firmware, offrendo allo sviluppatore del firmware il pieno controllo sulle funzionalità esatte messe a disposizione. È persino possibile concedere diritti differenti (tabelle API diverse) a diverse app in esecuzione nello stesso sistema.
Caratteristiche principali
-
Dimensioni ridotte delle app Le app create con emApps sono estremamente piccole, partendo da meno di 100 byte. Il numero di funzioni runtime è ridotto al minimo e solo le funzioni necessarie vengono aggiunte alla build: ciò significa che la dimensione dell’app è ottimizzata per l’uso su sistemi a bassa memoria.
-
Alte prestazioni Le app vengono eseguite su una CPU virtuale progettata specificamente da SEGGER per questo scopo. L’esecuzione avviene tramite una chiamata all’esecutore emApps, che implementa il set di istruzioni. L’elevata densità del codice (spesso più compatto del codice ARM Thumb-2 o RISC-V) e un’efficiente pianificazione delle istruzioni garantiscono prestazioni elevate.
-
Sandboxing Le app operano nel proprio spazio di memoria, completamente isolate dal programma ospite (host) e dalle altre app. Qualsiasi operazione illegale (come l’accesso al di fuori dello spazio di memoria dell’app) viene rilevata, restituendo il controllo al chiamante. L’unico collegamento con l’host avviene tramite l’API fornita dall’host stesso.
-
Integrazione semplice Integrare emApps nel firmware esistente è facile e veloce. L’intero codice host (integrato nel firmware), composto dall’esecutore, dal loader e dalle funzioni di servizio API, è scritto in C. Il framework si integra perfettamente in qualsiasi firmware esistente e supporta ogni tipo di RTOS.
Casi d’uso
Le app possono essere utilizzate per estendere dinamicamente le capacità di un host o per consentire la personalizzazione da parte di produttori, OEM e clienti finali. I casi d’uso includono app di test, comunicazione (server web, personalizzazione), automazione e molto altro.
-
Sistemi di programmazione (Flasher) e produzione Le app possono implementare routine di programmazione flash, logica di test personalizzata o protocolli di comunicazione senza modificare il firmware del dispositivo.
-
Sviluppo di app da parte di terzi È possibile fornire un kit di sviluppo a partner esterni. Le app possono essere create indipendentemente e distribuite in modo sicuro grazie al sandboxing.
-
Ambienti critici per la sicurezza (Safety-critical) Le funzioni non essenziali — come il controllo della GUI o la logica del display — possono essere isolate come app ed escluse dall’ambito della certificazione.
-
Personalizzazione dinamica del prodotto Le app consentono l’espansione delle funzionalità sul campo, supportando nuove lingue, nuovi algoritmi o standard di connettività aggiuntivi.
Come valutare emApps
È disponibile per il download una versione di prova per PC. Include varie app precompilate insieme al loro codice sorgente. Tutte le app incluse possono essere eseguite sia su PC che su un Flasher, consentendo test in un sistema embedded reale. Per creare app per la versione di prova, è disponibile una versione online del compilatore S32.
Come funziona emApps
emApps è composto da un ambiente di sviluppo su PC con un compilatore per la creazione delle app, oltre al codice sorgente per l’integrazione nell’host. È incluso anche un esecutore basato su PC per eseguire, testare, tracciare e persino profilare le app su desktop.
emApps aggiunge un motore runtime minimale — l’esecutore — all’interno del firmware. Questo minuscolo componente (~1 KB) agisce come una CPU virtuale che esegue le applicazioni e gestisce la loro interazione con il sistema embedded. Le app vengono collegate staticamente o dinamicamente e possono essere scaricate in qualsiasi momento del ciclo di vita del dispositivo.
Ogni applicazione gira all’interno di uno spazio di memoria dedicato. Il firmware assegna memoria all’app solo per la durata dell’esecuzione. Qualsiasi tentativo di accesso alla memoria al di fuori di questo spazio viene intercettato dall’esecutore, che restituisce immediatamente il controllo al firmware. La stabilità e la sicurezza del sistema rimangono intatte in ogni momento.
L’esecutore e la sua API formano insieme un’architettura completa per la gestione delle applicazioni. Invece di assemblare componenti di basso livello o configurare manualmente la protezione della memoria, il framework fornisce una struttura finita e scalabile: un motore pronto all’uso, invece di una scatola di pezzi sfusi. Sebbene obiettivi simili possano essere tentati utilizzando meccanismi RTOS standard o una MPU, tali soluzioni rimangono complesse da configurare e mantenere. Forniscono isolamento ma non modularità, e non consentono il caricamento dinamico o gli aggiornamenti sul campo. emApps risolve tutto questo in un unico modello integrato.
Caratteristiche aggiuntive
-
Modello di esecuzione Più app possono essere eseguite sotto il controllo di un RTOS, anche in parallelo. Le app possono essere collegate staticamente o dinamicamente e scaricate in qualsiasi momento.
-
Adattamento al target (Target adaptation) Con l’adattamento al target, le app rilevano se nel firmware sono disponibili funzioni native o se devono utilizzare funzioni codificate in S32. Grazie a questa funzione, eseguendo un’app su target diversi, questi utilizzeranno le funzioni con le migliori prestazioni a seconda della piattaforma su cui vengono eseguite.
-
Propagazione delle API Quando un’app viene caricata con emApps, riceve un elenco di funzioni API disponibili sull’esecutore su cui l’app è in esecuzione. Se l’app richiede funzioni API non disponibili, non si avvierà. La tabella API deve essere codificata nell’esecutore per definire la gestione delle specifiche chiamate di funzione.
Esempio di codice di una tabella API:
static const S32_SERVICE_BINDING _aServices[] = { { "printf", S32_API_C_printf }, { "__S32_idiv", S32_API_S32_idiv }, { "__S32_udiv", S32_API_S32_udiv }, { "UTIL_MulDiv", S32_API_General_MulDiv }, { "SYS_GetTime_ms", _SYS_GetTime_ms }, };
Utilizzo delle risorse
L’utilizzo di memoria di emApps somma i requisiti dell’esecutore emApps e la dimensione dell’app stessa, incluso lo stack. L’uso dello stack è tipicamente inferiore a 256 byte.
Le app, caricate ed eseguite in RAM, sono piccolissime (a partire da meno di 100 byte). Non esiste un limite superiore alla complessità che queste app possono avere, e quindi alla dimensione massima del programma.
Dimensioni dell’esecutore emApps:
-
L’esecutore emApps non richiede RAM statica.
-
Requisito codice statico (ROM): ~2,5 KB (non include i servizi forniti/chiamate API).
-
Requisito RAM dinamica: 102 byte per contesto S32.
-
Il software include anche un esecutore ottimizzato in assembly per core Arm, ancora più piccolo.
Esempi di dimensioni delle app:
-
Hello World: 44 byte di dimensione totale dell’immagine runtime (inclusi 8 byte di stack).
-
Dhrystone: 12.548 byte di dimensione totale dell’immagine runtime (inclusi 512 byte di stack).
-
Nota: Questo rende emApps adatto anche per MCU compatte con soli 64 KB di memoria flash.
Prestazioni e densità del codice
Il set di istruzioni virtuali è estremamente efficiente. Sono necessarie meno istruzioni e l’esecuzione rimane vicina alla velocità nativa, anche per compiti ad alta intensità di calcolo. Le prestazioni complessive dell’app dipendono dalla velocità della CPU su cui gira l’esecutore e dalle istruzioni utilizzate.
Le prestazioni dell’esecutore emApps si traducono in circa 18 istruzioni (o cicli di clock) del sistema host per ogni istruzione virtuale S32 (CPI). A seconda che le istruzioni chiamino operazioni interne, operazioni del firmware o hardware, il rapporto CPI può ulteriormente migliorare. Infine, la densità del codice delle istruzioni S32 è solitamente migliore di quella del sistema host, il che migliora ulteriormente le prestazioni.
.

zq02oo
uv7buf
2ex02l
**backbiome**
Backbiome is a naturally crafted, research-backed daily supplement formulated to gently relieve back tension and soothe sciatic discomfort.
vge6f4
nsifo6
v1r00v
0tll5w
**nervecalm**
NerveCalm is a high-quality nutritional supplement crafted to promote nerve wellness, ease chronic discomfort, and boost everyday vitality.
**prostafense**
ProstAfense is a premium, doctor-crafted supplement formulated to maintain optimal prostate function, enhance urinary performance, and support overall male wellness.
**prodentim**
ProDentim is a distinctive oral-care formula that pairs targeted probiotics with plant-based ingredients to encourage strong teeth, comfortable gums, and reliably fresh breath.
**neurosharp**
Neuro Sharp is a modern brain-support supplement created to help you think clearly, stay focused, and feel mentally confident throughout the day.
**prodentim**
ProDentim is a distinctive oral-care formula that pairs targeted probiotics with plant-based ingredients to encourage strong teeth, comfortable gums, and reliably fresh breath.
**mitolyn**
Mitolyn is a carefully developed, plant-based formula created to help support metabolic efficiency and encourage healthy, lasting weight management.
**purdentix**
PurDentix is a revolutionary oral health supplement designed to support strong teeth and healthy gums. It tackles a wide range of dental concerns
**native gut**
NativeGut is a precision-crafted nutritional blend designed to nurture your dog’s digestive tract.
**citrus burn**
CitrusBurn is a Mediterranean-inspired thermogenic formula created to support a naturally slower metabolism, encourage efficient fat utilization.
**heroup**
HeroUP is a premium mens wellness formula designed to support sustained energy, physical stamina, and everyday confidence.
**boostaro**
Boostaro is a purpose-built wellness formula created for men who want to strengthen vitality, confidence, and everyday performance.
**aquasculpt**
AquaSculpt is a high-quality metabolic support supplement created to help the body utilize fat more efficiently while maintaining steady, reliable energy levels throughout the day.
**insuleaf**
InsuLeaf is a high-quality, naturally formulated supplement created to help maintain balanced blood glucose, support metabolic health, and boost overall vitality.
**prime biome**
The bodys natural process of skin cell renewal is essential for preserving a smooth, healthy, and youthful-looking complexion.
**prostapeak**
Prosta Peak is a high-quality prostate wellness supplement formulated with a comprehensive blend of 20+ natural ingredients and essential nutrients to support prostate health
**manergy**
Manergy is an advanced male vitality supplement created to help support healthy testosterone levels
**nervegenics**
NerveGenics is a naturally formulated nerve-health supplement created to promote nerve comfort, cellular energy support, antioxidant defense
tjvoub
dkry1v
8pc0fo
3a3gq4
0r4ykn
7ljcl5
49wj51
Prueba tu suerte hoy mismo — abre rajajoy-mx.com y te llevas el bono de bienvenida.
Se ti interessa un’opzione pensata per visitatori italiani https://alfcasinowin.it con un’esperienza fluida pensata per utenti abituali puo offrirti una panoramica utile se il tuo obiettivo e trovare una proposta piu completa per unire intrattenimento, semplicita, ordine, velocita di consultazione, comfort visivo, varieta e facilita d’uso.
If you are exploring a platform connected with gambling notes and updates https://plicpad.com with a practical setup for exploring notes and related sections can give you a useful overview before deciding which source to use next through an environment designed to combine organization, simplicity, readability, browsing speed, visual comfort, topic variety and ease of use.
ffrqpi
jejx1r
Casino information pages can help players to find relevant gambling information before registering. casoolawin.es can be used as a review-style gambling resource. It is better when the page gives simple explanations and present details in a clean way.