2014年9月11日木曜日
TinyJS on mbedをLPC4088,FRDM-K64Fで動かす
TinyJS on mbedをLPC4088,FRDM-K64Fで動かしてみました。
GAEでオンラインコンパイラ風(ソースコードを繫げてるだけ)にしています。
オンラインエディタでコードを入力してbuildボタンでバイナリーがダウンロードされます。
次のURLで試すことが出来ます。
http://tinyjsmbed.appspot.com/
PinNameの違いはpython-on-a-chipで使っていたPinNameテーブルを使っています。PinNameTable.h
LPC1768版ではメモリの都合で外されていたjavascriptの関数を追加しました。
TinyJS_Functions.cpp(registerFunctions)
exec(jsCode) eval(jsCode) trace() Object.dump() Object.clone() Math.rand() Math.randInt(min, max) charToInt(ch) String.indexOf(search) String.substring(lo,hi) String.charAt(pos) String.charCodeAt(pos) String.fromCharCode(char) String.split(separator) Integer.parseInt(str) Integer.valueOf(str) JSON.stringify(obj, replacer) Array.contains(obj) Array.remove(obj) Array.join(separator)
更に数値・三角関数も追加しました。
TinyJS_MathFunctions.cpp(registerMathFunctions)
Math.abs(a) Math.round(a) Math.min(a,b) Math.max(a,b) Math.range(x,a,b) Math.sign(a) Math.PI() Math.toDegrees(a) Math.toRadians(a) Math.sin(a) Math.asin(a) Math.cos(a) Math.acos(a) Math.tan(a) Math.atan(a) Math.sinh(a) Math.asinh(a) Math.cosh(a) Math.acosh(a) Math.tanh(a) Math.atanh(a) Math.E() Math.log(a) Math.log10(a) Math.exp(a) Math.pow(a,b) Math.sqr(a) Math.sqrt(a)
メモリが多いNucleo-F401REでも動いてほしいのだが、microlibのボードとは相性が良くないみたいです。
print(mbed.memfree());での残りメモリの表示。
LPC4088版
47645バイト
36301バイト TinyJS_Functions.cpp(registerFunctions)を使用。
23733バイト TinyJS_Functions.cpp(registerFunctions)と TinyJS_MathFunctions.cpp(registerMathFunctions)を使用。
FRDM-K64F版
122101バイト TinyJS_Functions.cpp(registerFunctions) と TinyJS_MathFunctions.cpp(registerMathFunctions)を使用。
TinyJS on mbed
http://mbed.org/users/ohneta/code/TinyJS/
GAE用に修正したTinyJS on mbed
http://mbed.org/users/va009039/code/TinyJS/
GAEで動いているWebアプリのソースコード
https://bitbucket.org/va009039/tinyjsmbed
(2014/9/11)
---
ラベル:
javascript.tiny-js,
K64F,
LPC4088,
mbed
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿