Quantcast
Channel: robo8080のブログ
Viewing all articles
Browse latest Browse all 2618

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

$
0
0

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チカしか動かしてないが、時間があったら他のことも試してみたい。

 

 ー以上ー

 


Viewing all articles
Browse latest Browse all 2618

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>