楽天市場
[無料でホームページを作成] [通報・削除依頼]

続続 Tiny AVR/PIC Bootloader+


Tiny AVR/PIC Bootloader+ がすべてのPICデバイスに対応できましたので、
piccodes.iniの記述について、ここにまとめます。

はじめに

Tiny AVR/PIC Bootloader+ は、Claudiu Chiculita 氏の作成した "Tiny PIC Bootloader" の思想を受け継ぎ、
AVRなどの他のデバイスでも使用できるように独自に改良したオープンソースのブートローダーです。

多くのデバイスに対応するため、"piccode.ini" にデバイスの情報を記述する必要があります。
さらに、上記に加えてブートローダーファームウエアのサイズと、フラッシュメモリー書き換えデータの転送量を記述する必要があります。



piccode.iniの記述について

piccode.iniの記述はPIC16、PIC18、24bit PIC、PIC32 で共通です。

以下はPIC10F322における記述例です。($は16進表記)

$12, B, 10F 322 (84W),  $400, $000,     168, 32,

$12                 デバイス番号 :ユーザーがグループ毎に$00から$FFまで256個のデバイス番号を
                                         勝手に割付けることが出来ます。
B                     グループ名称 :現在A,B,C,D,E,F,J,K,N,1,2,3 が使用されています。
                                         ユーザーがグループを増やすことは可能ですが、
                                         新しいグループとして認識させるため、ホストプログラムを変更する必要があります。
10F 322 (84W)  デバイスの名称:同一デバイスでも、ブートローダーのサイズが異なるファームウエアが
                                            存在する場合には、別のデバイス番号を割付ける必要があります。
$400                デバイスが塔載するフラッシュメモリの容量(バイト表記)
$000                デバイスが塔載するEEPROMの大きさ(バイト表記)
168                  ブートローダーファームウエアの大きさ(バイト表記)
32                    フラッシュメモリ書き換えに使用するデータの転送量(バイト表記)

img_20140622-184207.jpg

この中で注意する必要があるのは後半の2つの数値で、デバイスのフラッシュメモリ消去ページのサイズに留意する必要があります。

①ブートローダーは、先頭4ワードと残りのワードが隣合う消去ページとなるように配置する必要があります。

例えば消去ページのサイズが32ワード(64バイト)の場合32の倍数である64+4ワード(136バイト)や96+4ワード(200バイト)は許されますが、PIC10F322のように168バイトは許されません。
PIC10F322は消去ページのサイズが16ワード(32バイト)であるため80+4ワード(168バイト)が許されます。


②多くのファームウエアはデータの転送量=消去ページのサイズとなることを前提に作成されています。

これは、データが送られて来たら、まずページを消去して、その消去したページにページサイズと同一量のデータを書き込める、いわゆる1:1の関係が成立するからです。

しかし、これはあくまでもひとつの考え方ですので、新たにファームウエアを作成するときはデータの転送量を自由に選択可能です。






























.