تاریخ انتشار : سه شنبه ۱۴۰۱/۹/۸

wamr

wamr

WebAssembly Micro Runtime (WAMR). Contribute to bytecodealliance/wasm-micro-runtime development by creating an account on GitHub.

WebAssembly Mic o Ru ime

A By ecode Allia ce p ojec

Guide  Websi e  Cha

Build WAMR | Build AOT Compile | Embed WAMR | Expo Na ive API | Build WASM Apps | Samples

WebAssembly Mic o Ru ime (WAMR) is a ligh weigh s a dalo e WebAssembly (WASM) u ime wi h small foo p i , high pe fo ma ce a d highly co figu able fea u es fo applica io s c oss f om embedded, IoT, edge o T us ed Execu io E vi o me (TEE), sma co ac , cloud a ive a d so o . I i cludes a few pa s as below:

The iwasm VM co e o u WASM applica io s, suppo i g i e p e e mode, AOT mode (Ahead-of-Time compila io ) a d JIT modes (Jus -i -Time compila io , LLVM JIT a d Fas JIT a e suppo ed)

The wam c AOT compile o compile WASM file i o AOT file fo bes pe fo ma ce a d smalle u ime foo p i , which is u by iwasm VM Co e

The applica io f amewo k a d he suppo i g APIs fo he WASM applica io s

The dy amic ma ageme of he WASM applica io s

Ge i g s a ed

Build iwasm VM co e o Li ux, SGX, MacOS a d Wi dows, a d Build wam c AOT compile

Embed WAMR i o hos applica io s

Regis e a ive APIs fo WASM applica io s

Build WASM applica io s

Po WAMR o a ew pla fo m

Be chma ks a d Samples

VS Code developme co ai e

iwasm VM co e

Key fea u es

WASM pos -MVP fea u es

Suppo ed a chi ec u es a d pla fo ms

The iwasm suppo s he followi g a chi ec u es:

The followi g pla fo ms a e suppo ed, click each li k below fo how o build iwasm o ha pla fo m. Refe o WAMR po i g guide fo how o po WAMR o a ew pla fo m.

Build iwasm VM co e (mi i p oduc )

WAMR suppo s buildi g he iwasm VM co e o ly ( o app f amewo k) o he mi i p oduc . The WAMR mi i p oduc akes he WASM applica io file ame o AOT file ame as i pu a d he execu es i . Fo he de ailed p ocedu e, please see build WAMR VM co e a d build a d u WASM applica io . Also we ca click he li k of each pla fo m above o see how o build iwasm o i .

Build wam c AOT compile

Bo h wasm bi a y file a d AOT file a e suppo ed by iwasm. The wam c AOT compile is o compile wasm bi a y file o AOT file which ca also be u by iwasm. Execu e followi g comma ds o build wam c compile fo Li ux:

Fo Wi dows:

Pe fo ma ce a d Foo p i

Use cases

WAMR is widely used i a lo a eas, he e a e some cases:

Applica io f amewo k

By usi g he iwasm VM co e, we a e flexible o build diffe e applica io f amewo ks fo he specific domai s, al hough i would ake qui e some effo .

The WAMR has offe ed a comp ehe sive f amewo k fo p og ammi g WASM applica io s fo device a d IoT usages. The f amewo k suppo s u i g mul iple applica io s, ha a e based o he eve d ive p og ammi g model. He e a e he suppo i g API se s by he WAMR applica io f amewo k lib a y :

B owse he folde co eapp-f amewo k fo how o ex e d he applica io f amewo k.

Remo e applica io ma ageme

The WAMR applica io ma age suppo s emo e applica io ma ageme f om he hos e vi o me o he cloud h ough a y physical commu ica io s such as TCP, UPD, UART, BLE, e c. I s modula desig makes i able o suppo applica io ma ageme fo diffe e ma aged u imes.

The ool hos _ ool commu ica es o he WAMR app ma age fo i s alli gu i s alli g he WASM applica io s o compa io chip f om he hos sys em. A d he IoT App S o e Demo shows he co cep io of emo ely ma agi g he device applica io s f om he cloud.

WAMR SDK

Usually he e a e wo asks fo i eg a i g he WAMR i o a pa icula p ojec :

The WAMR SDK ools is helpful o fi ish he wo asks quickly. I suppo s me u co figu a io fo selec i g WAMR compo e s a d builds he WAMR o a SDK package ha i cludes u ime SDK a d APP SDK. The u ime SDK is used fo buildi g he a ive applica io a d he APP SDK should be shipped o WASM applica io develope s.

Samples

The WAMR samples i eg a e he iwasm VM co e, applica io ma age a d selec ed applica io f amewo k compo e s.

P ojec Tech ical S ee i g Commi ee

The WAMR PTSC Cha e gove s he ope a io s of he p ojec TSC. The cu e TSC membe s:

Lice se

WAMR uses he same lice se as LLVM: he Apache 2.0 lice se wi h he LLVM excep io . See he LICENSE file fo de ails. This lice se allows you o f eely use, modify, dis ibu e a d sell you ow p oduc s based o WAMR. A y co ibu io s you make will be u de he same lice se.

Mo e esou ces

Check ou he Wiki docume s fo mo e esou ces:

wamr