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なので,さすがに無理っぽい.
まあ,とりあえず手順は確認できた,ということで.
あとでよむ
- LTSpiceを使う http://make.kosakalab.com/ltspice/
- トランジスタ増幅回路入門 http://make.kosakalab.com/ltspice/Transistor_basics.pdf
- Qiita LTSpice http://qiita.com/tags/LTSpice