#freeze
&size(20){''PropForth''};

Propellar CPUで動作する、Forthインタプリタについての情報です。
3月4日にPropForth5.0がリリースされました。
ParallaxのForumにPropForth5.0のスレッドがあります。(3月16日時点)
http://forums.parallax.com/showthread.php?138399-Propforth-5.0-is-available-for-download

#contents

*1. 準備 [#p57da3b5]
以下はWindowsでの説明:
-http://http://code.google.com/p/propforth/ページのdownloadsタブをクリックしてPropForth4.6-20110725.zipファイルをダウンロードしてPCで展開します。
-PropellerSpinTool又はBSTでV4.6ディレクトリ直下のPropForthKernel.spinをボードのeepromにロードします。以後はPSTもBSTも使用しません。
-http://http://code.google.com/p/propforth/ページのdownloadsタブをクリックしてPropForth5.0-20120304.zipファイルをダウンロードしてPCで展開します。
-V5.0ディレクトリ直下のkernels - doc - tutorialsをひとつずつ実行して行きます。

*2. 使ってみよう [#g0679b2a]
以下はWindowsでの説明:
-通信ターミナルTeraTermを起動して57.6 ks 8 bits, no parity, 1 stop bit, no flow control, no delaysと設定します。
-接続を確立させてボードをリセットしたらTeraTermウィンドーにメッセージが表示されてプロンプト待ちになります。
-TeraTermウィンドーで1 スペース 2 スペース +と入力したら3が表示されます。
-エディタでForthコードを書いてそれをTeraTermウィンドーにコピー/ペーストしたらボードに転送されForthカーネルがdictionaryにワードを登録します。TeraTermウィンドーからワードを入力したらそのワードが実行されます。

ボードリセット時のPropForthのメッセージ
CON:Prop0 Cog0 RESET - last status: 0 ok
エディタは別に何でも構いませんがWindowsではPSPadが推奨されており、1行コメントは\(バックスラッシュ)、{  }で囲まれた複数行がコメントとなります。
Linux、Macでは使っていないのでわかりません。
PropForthのファイルの拡張子はSIZE(20){ f }です。これは一応作者SalSanciとメンテナーprofbrainoの推奨となっています。まあ実際はSIZE(20){ txt }でもいいんですが。
ParallaxのForumでアップロードするには拡張子はSIZE(20){ txt }でないとできないし。

CON:Prop0 Cog1 RESET - last status: 0 ok
今回のリリースで今までとの大きな違いは3種類のkernelが用意されたことです。
(1)開発版kernel(ファイルサポートなし)
(2)epromファイルサポート付き開発版kernel
(3)SDカードファイルサポート付き開発版kernel

CON:Prop0 Cog2 RESET - last status: 0 ok
まだあまり内容見ていないので詳細はよくわかってません。
一つはっきりしてるのはアセンブラがかなり変わったことです。v4.6までのアセンブラ書式と全く違っているのでv5.0のasm.f用のアセンブラ書式でコードを書く必要があります。

CON:Prop0 Cog3 RESET - last status: 0 ok

CON:Prop0 Cog4 RESET - last status: 0 ok

CON:Prop0 PROP REBOOT PropForth v4.5 2011JULY25 7:10 0

CON:Prop0 Cog5 RESET - last status: 0 ok

CON:Prop0 Cog6 RESET - last status: 0 ok

Prop0 Cog6 RESET - last status: 0 ok

Prop0 Cog6 ok

本当はv4.6なんですがeepromに書きこまれてるspinファイル内で間違っています。
ForthカーネルはCog6で動作しています。
defaultで基数はdecimalです。
Prop0 Cog6 ok
a
UNDEFINED WORD a
Prop0 Cog6 ok
hex
Prop0 Cog6 ok
st?
ST: 0000000A
Prop0 Cog6 ok
hexで16進数になりスタックにAが置かれました。

dumpでHubメモリ、edumpでeeprom、cogdumpでCogメモリの内容を参照できます。

他のCogに移動できます。
Prop0 Cog6 ok
5 >con
もう一回リターン
Prop0 Cog5 ok
4 >con
もう一回リターン
Prop0 Cog4 ok
6 >con
もう一回リターン
Prop0 Cog6 ok
7 >con
Cog7は通信のために使われているのでForthカーネルはHangupしたと思われます。


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS