2013年8月14日水曜日

PIC12F629/657でキャリブレーションデータが消えちゃう件

なぜか消えなくなったと思ったらプログラムによってはやっぱり消える。

普段は、キャリブレーションデータをつかわない設定で動かせばいいですけど、ある程度時間の精度が必要なときには困ります。

window環境ならPickit2でキャリブレーションデータを書きこんでからプログラムを書きこめば問題ないのですけど、linux環境ではPickit2のツールが使えない。

代替手段がないかいろいろ探して、これに落ち着きしました。

「pk2cmd」というコマンドを使います。これは、たしか、Pickit2のオフィシャルページにあったと思いますです。

で、マイコンにプログラムを書いた状態で以下のコマンドを実行します。

  $ pk2cmd -P -GF/ファイル保存するフォルダ/test.hex

これで、マイコン内のプログラムをPCに保存します。このファイルの0x3ffにあたるところをみるとキャリブレーションデータが0x0000になってるはずです。

次に、以下のコマンドを実行します。

  $ pk2cmd -P -M -F/ファイル保存するフォルダ/test.hex  -U0xXXXX

「-U0xXXXX」のXXXXのところにはもともとマイコンに書きこまれていた固有のキャリブレーションデータを指定します。

これで、バッチグー(死語)です。


3 件のコメント:

  1. 夏休みの宿題たのしそうですね~
    今のところの最終成果物は自作モジュールって感じになるんですかね?
    ここ最近暑くて外に居ると溶けちゃいそうです…
    こんなときはインドアで手を動かしてるのがいいですよね。
    こちらも久しぶりに一ヶ月くらいPCに張り付いて何かやりたいですよ~

    返信削除
    返信
    1. どもー(^^)/
      只今、大阪でーす!!
      そうですね。最終的には赤外線送信モジュールでトイラジを操作する感じですね。
      自分は仕事では昔、無線機を作ってた位でロジック回路やソフトはほとんど経験ゼロなので四苦八苦してます。
      でも、楽しいですね。
      仕事ではなかなか自分でものをいじらなくなってしまったので、また、そういう仕事に戻りたいななんて、思ってます(^_^ゞ

      削除
    2. どもー(^^)/
      只今、大阪でーす!!
      そうですね。最終的には赤外線送信モジュールでトイラジを操作する感じですね。
      自分は仕事では昔、無線機を作ってた位でロジック回路やソフトはほとんど経験ゼロなので四苦八苦してます。
      でも、楽しいですね。
      仕事ではなかなか自分でものをいじらなくなってしまったので、また、そういう仕事に戻りたいななんて、思ってます(^_^ゞ

      削除