robo8080のブログ

ロボット製作や電子工作など。

TinyJS on mbed を FRDM-K64F で動かしてみた。

2014年06月20日 | 電子工作

TinyJS on mbed が面白そうなので動かしてみた。

TinyJSとは : 2000行以下で書かれた非常に小さいJavaScriptインタプリタエンジン 

 


「LPC1768では利用できるメモリは非常に少ない(9kbytes以下)」とのことなので、メモリの多いFRDM-K64F(1MB FLASH, 256KB RAM)に移植してみた。

【手順 】

オリジナルのままではFRDM-K64F用にコンパイルが通らなかったので、一か所修正した。

”Mbed_Functions.cpp”のpinNameStringの変換をしているところを以下のようにした。

//-----------------------------------------------------------------

PinName _mbedPinNameExchange(string pinNameString)
{
#if defined(TARGET_K64F)
    if (pinNameString == "D0") return D0;
    if (pinNameString == "D1") return D1;
    if (pinNameString == "D2") return D2;
    if (pinNameString == "D3") return D3;
    if (pinNameString == "D4") return D4;
    if (pinNameString == "D5") return D5;
    if (pinNameString == "D6") return D6;
    if (pinNameString == "D7") return D7;
    if (pinNameString == "D8") return D8;
    if (pinNameString == "D9") return D9;
    if (pinNameString == "D10") return D10;
    if (pinNameString == "D11") return D11;
    if (pinNameString == "D12") return D12;
    if (pinNameString == "D13") return D13;
    if (pinNameString == "D14") return D14;
    if (pinNameString == "D15") return D15;
    if (pinNameString == "A0") return A0;
    if (pinNameString == "A1") return A1;
    if (pinNameString == "A2") return A2;
    if (pinNameString == "A3") return A3;
    if (pinNameString == "A4") return A4;
    if (pinNameString == "A5") return A5;
#elif defined(TARGET_LPC1768)
    if (pinNameString == "p5") return p5;
    if (pinNameString == "p6") return p6;
    if (pinNameString == "p7") return p7;
    if (pinNameString == "p8") return p8;
    if (pinNameString == "p9") return p9;
    if (pinNameString == "p10") return p10;
    if (pinNameString == "p11") return p11;
    if (pinNameString == "p12") return p12;
    if (pinNameString == "p13") return p13;
    if (pinNameString == "p14") return p14;
    if (pinNameString == "p15") return p15;
    if (pinNameString == "p16") return p16;
    if (pinNameString == "p17") return p17;
    if (pinNameString == "p18") return p18;
    if (pinNameString == "p19") return p19;
    if (pinNameString == "p20") return p20;

    if (pinNameString == "p21") return p21;
    if (pinNameString == "p22") return p22;
    if (pinNameString == "p23") return p23;
    if (pinNameString == "p24") return p24;
    if (pinNameString == "p25") return p25;
    if (pinNameString == "p26") return p26;
    if (pinNameString == "p27") return p27;
    if (pinNameString == "p28") return p28;
    if (pinNameString == "p29") return p29;
    if (pinNameString == "p30") return p30;
#endif


    if (pinNameString == "LED1") return LED1;
    if (pinNameString == "LED2") return LED2;
    if (pinNameString == "LED3") return LED3;
#if defined(TARGET_LPC1768)
    if (pinNameString == "LED4") return LED4;
#endif
    if (pinNameString == "USBTX") return USBTX;
    if (pinNameString == "USBRX") return USBRX;

    return NC;
}

//-----------------------------------------------------------------

 


【実行】

実行ファイルをFRDM-K64Fに書き込んでLチカを動かしてみた。

使い方の詳細はこちらを参照。

TinyJSが使えるmbed上での残りメモリのバイト数は、207,093バイト!

注意:TeraTermを使った場合「端末の設定:改行コード:受信」をAUTOにしないと表示がうまくいかなかった。

 

 

とりあえずLチカしか動かしてないが、時間があったら他のことも試してみたい。

 

 ー以上ー

 


6月19日(木)のつぶやき

2014年06月20日 | 日記

BLEの開発ボード。konashi、サブレー、mbed、ブレイブリッジ。BlueGigaにLaird社の。さらにセンサータグ。だれでもなんでもできる、はず、と思っちゃう自分は、それ自分だけや、なんかもな。個人持ち&センサ系はiOS6までのBLEの文脈か

robo8080さんがリツイート | RT

 
 
【真面目なエンジニアの考え方】
・同じ価格なら、より高機能にしたい
・同じ機能なら、より低価格にしたい
 
【マッドなエンジニアの考え方】
・金をかけても面白いモノを作りたい
・金は無いけど面白いモノを作りたい
 

robo8080さんがリツイート | RT

『拡散希望』 
ニコ生を見ようとする→adobe frash playerのバージョンが最新バージョンになってないので見れません→偽装のadobeのページへ→インストール→勝手に色々とダウンロードするトロイの木馬もインストール^^
 
と言う事案が(俺に)発生、注意

robo8080さんがリツイート | RT

なにそれ怖い…  ニコニコ動画などのYahoo!リスティング広告から偽FlashPlayerをダウンロードさせられる件 - Togetterまとめ togetter.com/li/682003

robo8080さんがリツイート | RT

Wi-Fi搭載のArduino互換機/" Arduino用のライブラリはそのまま使えません " / “Spark Core” htn.to/7wLvU2

robo8080さんがリツイート | RT

LPC1114FN28でSDK的にはRTOS動くようにしてあるのに、オンラインコンパイラでそのようにしていないのには理由があるんです。

robo8080さんがリツイート | RT

ZigBee無線通信基板「TWE-Lite」を切手大の太陽電池で動作させる電源モジュール ascii.jp/elem/000/000/9… #asciijp

robo8080さんがリツイート | RT

ほほ~ : スマートフォンが暗視カメラになる凄いアクセサリ : Snooperscope kickstarter.likeplus1.net/?p=10314 @likekickstarterさんから

3 件 リツイートされました

これいいな。倒立振子ロボット。 : タカラトミー Omnibot Hello!MiPホワイト [楽天] a.r10.to/hKbH39 #RakutenIchiba pic.twitter.com/rOyY1aHynH


スーパーの子供のお菓子コーナーにあった昔買ったロボットハンド。引っ張ると指が曲がるのだが、中身はなるほどという感じ。この機構はなかなか使えそう。 pic.twitter.com/sRhBmtT6xA

robo8080さんがリツイート | RT

おもしろい。 : va009039の日記: LPC1114FN28でUSBパケットキャプチャ
bit.ly/1lBJiE7 via @iLunascape


おもしろそう。 : noble A node.js BLE (Bluetooth low energy) central library. npmjs.org/package/noble


これ使えばnode.jsからkonashi/SBBLEを使えるかも。 : npmjs.org/package/noble