フォト
2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« Icigojamのファームウェアを1.2 beta 24にアップデートしました | トップページ | 「IchigoJam」の新製品が出るっぽい »

2016年4月23日 (土)

Ichigojamのプログラム保存領域 その1

Ichigojamのプログラム保存をSDカードでやってしまおうと構想しており、
まずはIchigoJamのプログラム保存に関してのちょっと確認とまとめをしてみました。

Ichigojamのプログラム保存機能の確認

Ichigojamでは作成したプログラムを本体のフラッシュメモリ領域に4本まで保存することが出来ます。

  □作成したプログラムを保存する
     SAVE n  (nは0~3を指定、省略時は0とみなす)

   01

先頭行にコメントでプログラムの説明を記載するのがIchigojam的作法です。

次に本体のフラッシュメモリに何が保存されているかを調べる場合は、FILES命令を使います。

  □保存されているプログラムリストの表示
     FILES n,m  (n,mは表示する範囲 省略時は 0,3指定と同じ)

  02_2

このコマンドでは、保存されている各プログラムの先頭行をリスト表示します。
ですので、先頭行にコメントや作成日を付けると良いですね。
上記リストのプログラム 1,3 は何のプログラムだか分かりませんね。

保存したプログラムのロードはLOAD命令を使います。

  □保存されているプログラムをメモリにロードする
      LOAD n  (nは0~3を指定、省略時は0とみなす)

  04

電源を入れた直後にFILESコマンドでリストを表示して確認、LOADコマンドで
プログラムをロードってな感じで使います。

ここで、若干注意が必要です。現在プログラムを実行していて別のプログラムを
LOADコマンドでロードした場合、プログラム領域はロードしたプログラムに置き換わる
のですが、変数領域、キャラクタ定義領域等は初期化されず、前のプログラムで利用した
ままの状態になっています。

初期化するにめ明示的にコマンドの実行が必要です。
  □ 変数領域の初期化        CLV
  □ キャラクタ定義領域の初期化    CLP
  □ タイマーカウンタの初期化        CLT
  □ キーバッファーの初期化          CLK
  □ 画面表示の初期化                 CLS
   
ここまでが基本的な機能ですが、ほかに起動後にプログラムをロードして実行する
機能もあります。

□起動後に保存プログラム番号0 をロードして自動起動する
    Ichigojam本体のボタンを押しながら電源を入れる、
   または BTNピンをGNDに接続して電源を入れる、
   または SOUNDピンをプルダウン
接続して電源を入れる(20kΩ程度)
   とプログラム番号0を自動起動する。

 
参考文献:福野泰介の一日一創  - IchigoJamのピン配置解説、IchigoJamを自動起動させてマイコン的に使う新方式 ver 1.2β1

  Dscn5090

    この場合の起動では、起動時のバージョン等の表示は行われません。
    この機能は、Icihojamをロボットカーなんかに組み込んで使う場合に便利です。
    キーボード無しでプログラムに実行が出来ますね。

また、プログラムから別のプログラムをロードして実行する機能があります。

  □指定したプログラムをロードして実行する
     LRUN n,m (nはプログラム番号、mはプログラム内の行番号,省略時は直前ロードしたプログラム番号)

     05

     上記のプログラムは実行したいプログラム番号を入力して実行するというものです。
     0を指定して、保存したプログラム番号0が実行されます。

     LRUNもLOADと同様、変数領域等は直前のプログラムで利用した状態のままです。

     06

     実行後、元に戻る場合はLRUNを使います。

     07

    行番号の指定も可能なでの、プログラム間のでのジャンプが出来ます。    

     08   

    LRUN 3,40 にて プログラム番号3の40行にジャンプして実行した結果です。

    プログラム間を渡り歩いても変数領域等は継承されるので上手く利用すれば
    大きなプログラムが作成出来ます。

以上のプログラム保存機能は外部接続EEPROMでも利用出来ます。
Ichigojamは外部記憶装置的にI2C接続のEEPROMにプログラムの保存が出来ます。
本体保存領域への保存と異なるのはプログラム番号が100以降となるだけです。

   参考文献
     福野泰介の一日一創 - 外部記憶装置とROMカセットに対応!こどもパソコンIchigoJam
     イチゴジャムレシピ - 外部記憶装置 EEPROM

      
外部接続EEPROMについては次回とします。
取りあえずArduino(あちゃんでいいの)でI2C EEPROMをエミュレートしてSDカードに
読書きしようと考えています。 出来そうな感じなのですが、まだ調査段階です。

« Icigojamのファームウェアを1.2 beta 24にアップデートしました | トップページ | 「IchigoJam」の新製品が出るっぽい »

IchigoJam」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/571408/63524981

この記事へのトラックバック一覧です: Ichigojamのプログラム保存領域 その1:

« Icigojamのファームウェアを1.2 beta 24にアップデートしました | トップページ | 「IchigoJam」の新製品が出るっぽい »