再びPIC-BASIC(秋月)について質問ですが、プログラムの実行方法で、デバックモードと、最終書き込み(スタンドアローンで動作するモード)がありますが、最終書き込みは1回書き込むと書き換える事ができないのでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2006/10/08 15:50:04
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:neko-yashiki No.1

回答回数20ベストアンサー獲得回数0

ポイント35pt

PICマイコンのプログラムメモリ(フラッシュROM)の書き換え回数の上限まで、書き換えることが可能ですよ。

書き換え回数の上限は、PICの開発・販売を行っているマイクロチップ社のサイトでpdf配布されているデータシートに掲載されています。

http://www.microchip.com/

日本法人のサイトもあり、日本でよく使われるラインナップについてはデータシートの日本語訳が存在する場合もありますが、日本語訳が用意されていない製品の方がずっと多いので、「本家」サイトを見た方が早いです。

id:youkan_ni_ocha

確かに、PICそのものは、1000回以上書き換えられます。ただ、秋月のPIC-BASICは、BASICスタンプというオリジナルのファームウエアをチップに入れてあり、ここにソフトをインストールするという形をとっています。最終書き込みでは、インタプリンタ動作ではないようなので、一度最終書き込みしたら、ファームウエアも変更されるのでは?というのが質問の意図です。

2006/10/02 10:05:53
id:neko-yashiki No.2

回答回数20ベストアンサー獲得回数0

ポイント35pt

秋月で扱っているPIC-BASICはこれのようですが、

http://picbasic.jp/?summary=

このページに記載があるとおり、インタプリタは残したまま、プログラムメモリにプログラムを書き込むようですね。


仕組みを考えてみると誤解のしようがないのですが、このボードはプログラム領域の中にBASICインタプリタを持つことによって、

「PC上で、BASICで書いたプログラムをそのまま(中間言語に変換はしているようですが)マイコンに持っていって動かす」

を可能にしているわけですよね? ファームウェアを消してしまうのだったら、アセンブルして機械語にしたプログラムを書き込まないと動きませんよ。

秋月のサイトを見てみると、

「PIC-BASIC向けベースボード」

http://akizukidenshi.com/catalog/items2.php?p=1&q="K-00169"

があります。通常、プログラムメモリへの書き込みでは、いったんプログラムメモリの内容を完全に消去しますが、このベースボードを使うと、BASICインタプリタ部分は無傷にしておいてくれるんでしょうね。

というのは、秋月のPIC-BASICボードのページには、

「このような普通のROMライタを使ったら、PIC-BASICとして使えなくなりますよ」

という警告があるからです。こちらはプログラムメモリを完全にフラッシュして、機械語のプログラムを0番地から書き込むタイプの、ごく普通のROMライタです。

http://akizukidenshi.com/catalog/items2.php?p=1&q="K-00038"

id:youkan_ni_ocha

スタンドアローンだと、若干早く動くようです。このへんが気になるところで、もし、ファームウエアを書き換えないというのであれば、スタンドアローンでも速度が変わらないのではないか?と思います。

2006/10/02 10:50:02
  • id:neko-yashiki
    >スタンドアローンだと、若干早く動くようです。このへんが気になるところで、もし、ファームウエアを書き換えないというのであれば、スタンドアローンでも速度が変わらないのではないか?と思います。

    デバッグモードでPCに接続している状態では、PCとの通信が行われている可能性がありますね。それだけでも速度を落とす原因になります。
    スタンドアローンでも、インタプリタ動作みたいですよ。ただ「ナマ」のBASICをPICのCPUが「食える」わけはないので、中間言語に翻訳してプログラムメモリに書き込んで、それをPIC-BASICのインタプリタがCPUに順次食わせてくれるみたいです。私はその詳細を見たことはありませんが、おそらくこの中間言語はアセンブラ寄りのものであろうと思いますので、それだけでも速くなるでしょう。

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません