- 追加された行はこの色です。
- 削除された行はこの色です。
&size(20){''PropForth''};
Propellar CPUで動作する、Forthインタプリタについての情報です。
ParallaxのForumにPropForth4.6のスレッドがあります。
http://forums.parallax.com/showthread.php?133312-PropForth4.6-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も使用しません。
*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ウィンドーからワードを入力したらそのワードが実行されます。
エディタは別に何でも構いませんがWindowsではPSPadが推奨されており、1行コメントは\(バックスラッシュ)、{ }で囲まれた複数行がコメントとなります。
Linux、Macでは使っていないのでわかりません。
PropForthのファイルの拡張子はSIZE(20){ f }です。これは一応作者SalSanciとメンテナーprofbrainoの推奨となっています。まあ実際はSIZE(20){ txt }でもいいんですが。
ParallaxのForumでアップロードするには拡張子はSIZE(20){ txt }でないとできないし。
ボードリセット時のPropForthのメッセージ
CON:Prop0 Cog0 RESET - last status: 0 ok
CON:Prop0 Cog1 RESET - last status: 0 ok
CON:Prop0 Cog2 RESET - last status: 0 ok
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したと思われます。