logo_MicroDIYS.png


AVR32 FlipでのDFUプログラムについて
AVR32_synthe回路図のようにOSC0に12MHzがついていれば、書き込みはできるようです。

ただし、現時点のFlip 3.4.7は、正式にAVR32をサポートしていないようです。
そこで、AVR FreaksのBBで見つけたように、以下の手順でごまかして起動します。

Flipのフォルダのbin\PartDescriptionFiles\AT32UC3B0512.xmlを
mAT32UC3B0512.xml に名称を変えます。
さらに中身をGui File指定します。
Flip_2.png


書き込み時にはBlankCheckとVerifyを外さないと、BoolLoader領域が消えていないと怒られます。
Flip_1.png


さらに32KのRTCがないと、12MHzのクロックで起動しない部分は、以下の変更を入れれば、RTCクロックがなくとも立ち上げることができました。

void pm_wait_for_clk0_ready(volatile avr32_pm_t *pm)
{
//   while (!(pm->poscsr & AVR32_PM_POSCSR_OSC0RDY_MASK));
    uint32_t i;
    for (i=0;i<1000000;i++){};

}


AVR32でのDFUの起動に関するピン設定
対象CPU AT32UCB0256,AT32UCB0512 、AT32UCシリーズ

これらのCPUは出荷時に内蔵フラッシュROMにUSB DFU Bootloadersが書き込まれていて、アプリケーション実行ファイルをパソコンからUSBで転送/書き込みできるようになっています。

DFU Programの解説より
bootloadercfg.png

ISP_IO_COND_PINには、ISP起動時に押されるピンのナンバーが入るようです。

たとえば エバボード EVK1101ではCPUがAT32UCB0256なので、
コンフィグ[15:8] = 0Dh = 13(10進数)
になります。
つまり、AT32UCB0256は、
13
PA00
PA01
PA02
PA13
PA13が、ISP起動時に押されるピンとなります。

さらにピンのナンバーはPAn,PBn,PCnと通し番号になるようです。←この説明がない!!
PA0〜31の後にPB0になりますから、PB10は42=2Ahとなりますが、これはEVK1104のCPU AT32A3xxxxにつながれたJOYSTICKのポートになります。

以下のGeneral Purpose Fuseによって、さらに細かな設定もできるようですが、頭が痛いのでやめます。
GP_Fuse1.png
GP_Fuse.png


μDIYS TOPに戻る