トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

Diary/2016-8-18

mruby/cとか

mruby/cという話をちょっと小耳にはさんだので,
PSoCで動かすというサンプルをまねしてみた.
http://qiita.com/kazuaki_tanaka/items/daff64b84c4108a6dfc3
記事にあるCY8C5888LTI-LP097向けにコンパイルしてみたところ,
sample.cで定義されているaryがmultiple定義だといってエラーに.
sample.cは,sample.rbからmrbcで作ったファイルなのだけど,
main.cでインクルードしてたものと,sample.cをコンパイルしたものが衝突するよう.
解決方法はいろいろあるだろうけど,sample.cをsample.hにリネームしてコンパイル.


さて,コンパイルした結果をリソースメータで確認してみると,
SRAMを64KBのうち39.6% (約25KBに相当) 使うことがわかる.
たしかに64KB以下の環境で動くのだなあ,と.
ちなみに,CY8C5888LTI-LP097のSRAMは64KB.


Qiitaの記事には,
CY8C4247AZI-M485を搭載するCY8CKIT-049でも同様の手順でよいとあるけれど
CY8C4247AZI-M485のSRAM 16KBで,
コンパイルしてみると.bssが入らないよ,とエラーに.
Qiitaの記事の時点ではαで,今回はbeta2で試したのだけど,
何かの変更でサイズが大きくなったのかも.
25KBなので,不要な関数とか削るとなんとか収められるかなあ...


ちなみに手元にあったPSoCボードCY8CKIT-042で動かせればいいなと思ったのだけど
載っているチップがCY8C4245AXI-483で,SRAMが4KBなので,さすがに無理っぽい.


まあ,とりあえず手順は確認できた,ということで.

あとでよむ