تاریخ انتشار : سه شنبه ۱۴۰۱/۹/۸
wamr
WebAssembly Micro Runtime (WAMR). Contribute to bytecodealliance/wasm-micro-runtime development by creating an account on GitHub.
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
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
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.
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 .
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:
WAMR is widely used i a lo a eas, he e a e some cases:
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.
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.
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.
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.
The WAMR PTSC Cha e gove s he ope a io s of he p ojec TSC. The cu e TSC membe s:
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.
Check ou he Wiki docume s fo mo e esou ces: