&size(20){''PropForth''}; Propellar CPUで動作する、Forthインタプリタについての情報です。 #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したと思われます。