mruby

mbed-mruby GVL版マルチスレッドのヒープ使用量を調べた

しばらく間が空いたけれども、mbed-mrubyのスレッドの話の続きです。下のmrubyのGVLでのマルチスレッド実装がされていますので、これをmbedにのせてみました。目的はmaster版とのスレッドが動いている時のヒープ使用量の比較です。mrubyにGVLを使ったmulti-t…

mbed で非同期メッセージドリブンなスレッドクラスを作った

mbed rtosのThreadクラスはそのままでも簡単ではあるのですが、Thread と Mail をより簡単に使うための非同期処理用スレッドクラス Actor を作りました。http://developer.mbed.org/users/mzta/code/actor/サンプル1 まず、イベントドリブンにするためのイベ…

mrbgemsをmruby-mbedだけにしたらVM1インスタンスで100Kbyteくらいになった

タイトルは本文。mbed-mruby で mruby がとってるヒープサイズを調べた - くくしたいブログの続きで、mrbgems削ったら、ヒープ使用量が半分くらいになりました。 どんな機能が無くなったのかは把握できていません。 mirb - Embeddable Interactive Ruby Shel…

mbed-mruby で mruby がとってるヒープサイズを調べた

GR-PEACHはデフォルトのヒープサイズを512Kしかとってません(RAMは10Mあるのに。mbed-srcいちいち直すのはめんどい)。最近はmbed(GR-PEACH)にmrubyを乗せて遊んでいますが、mrubyでThreadを作ると、2個めのThreadでもうヒープ枯渇します。これは現状Thread作…

mruby で割り込みハンドラから呼ぶ処理をブロックで渡す際のやり方

Tickerはmbedでインターバルタイマを扱うクラスです。前に、Tickerの実装を、Ticker.new するときのブロックとして、タイマハンドラを渡したいけれどmrb_stateコンテキストをどう分けるのかわからないと書いたのですが、mruby-threadを参考に実装できました…

C++ で継承関係のあるクラスを mruby のクラスとして実装した際のやりかたメモ

mruby-mbed で、mbed の Ticker と Timeout を mrbgems に実装したのでメモ。mbed の Ticker 、Timeout は下のような継承関係にあるので、mruby-mbed でもそのままこれを実装することにします。 Timeout まず、Timeout クラスを定義する際に、mrb_define_cla…

mbed(GR-PEACH) を使ってみて mruby をのせた話

ルネサスがやっている"がじぇっとるねさす"というプロジェクト(?)で、GR-PEACHというマイコンボードのプロデューサー活動という企画があり、発売前のGR-PEACHボードが使えるというので、応募したら当たったのが11月末頃。そして、3/21に最終発表会というの…