2014年4月12日土曜日

python-on-a-chipオンラインコンパイラのLPC1549対応

1年くらい前に比べてmbedのSerialクラスのbaud,readable,writeableメソッドが
SerialBaseから派生するようになっていたのでネイティブ関数を修正する。

mbed.py
class Serial(object):
def baud(self, n):
def readable(self):
def writeable(self):

本来は、pmImgCreator.py で mbed.py から main_nat.cpp を自動作成するのだが、
Pythonのバイトコードの変更はないので、main_nat.cpp を直接修正する。

main_nat.cpp
nat_28_mbed_baud(pPmFrame_t *ppframe)
nat_29_mbed_readable(pPmFrame_t *ppframe)
nat_30_mbed_writeable(pPmFrame_t *ppframe)

PinNameTable.h に LPC1549 のピンの名前を追加する。
バイナリー検索をしたいので、pinname.py で
mbedリポジトリから PinNames.h を取得して名前は予めソートしておく。

ターゲットによってヒープ領域を設定する。
LPC1549 はRAM容量が比較的多いので 32Kバイト にしておく。

main.cpp
#define HEAP_SIZE 0x8000
uint8_t heap[HEAP_SIZE];

mbedオンラインIDEでビルド pymite_LPC1549.binを作成して、
pymbed のフォルダにコピーしておく。

pymbed にLPC1549のドロップメニュー等を追加する。
pymbed_bt_ace.html
pymbed.py


オンラインコンパイラサイト構築のソースコード:
https://bitbucket.org/va009039/pymbed
オンラインコンパイラ用のpython-on-a-chip:
http://mbed.org/users/va009039/code/pymite/
python-on-a-chip本家ソースコード:
https://code.google.com/p/python-on-a-chip/

(2014/4/12)
---

0 件のコメント: