スライド 1

USB接続 簡易PICプログラマー
【特徴】
USBバスパワー
PIC・AVR・フラッシュ(I2C・SPI)
に対応
簡易・廉価(500円台)
ICSP & ソケット
ターゲットへ電源供給可能
【構成】
制御マイコン PIC18F14K50
USBフレームワーク にアプリ組込み
PC側ソフト VBとC++(VS2008)
【PC側ソフト】
【対応デバイス】
10F
12F
16F
18Fxxxx
18FxxKxx
18FxxJxx
24FJxxxGA0xx
30F ←チップが割高で未入手のため未テスト
33F/24H
32MX110/210
32MX120/220
32MX130/230 ←未テスト
32MX150/250 ←未テスト
90S1200
90S2313
90S2323
tiny2313
tiny13 ←未テスト
mega48/88/168/328
24FCxxx(ページサイズ32バイト以上のデバイス)
25AAxxx/LCxxx(ページサイズ32バイト以上のデバイス)
【FastdataRegisterの不思議1】
マイクロチップ社のプログラミング仕様
FastdataRegisterアドレスを S3 レジスタ に格納
⇒FastdataRegisterに格納されない
成功している人達(Web情報)のコーディング
0x3c04ff20 とコーディングしている。( a0 レジスタ )
uint32_t ICSP_read_word(uint32_t addr)
{
uint32_t addr_lo = addr & 0xFFFF;
uint32_t addr_hi = (addr >> 16) & 0xFFFF;
uint32_t word;
ICSP_serial_execution();
ICSP_XferInstruction(0x3c04ff20);
// lui s3, 0xFF20
ICSP_XferInstruction(0x3c080000 | addr_hi); // lui t0, addr_hi
ICSP_XferInstruction(0x35080000 | addr_lo); // ori t0, addr_lo
ICSP_XferInstruction(0x8d090000);
// lw t1, 0(t0)
ICSP_XferInstruction(0xae690000);
// sw t1, 0(s3)
ICSP_SendCommand(ETAP_cmd_len, ETAP_FASTDATA);
word = ICSP_XferFastData(0);
return(word);
} // uint32_t ICSP_read_word()
【FastdataRegisterの不思議2】
Fastdata Register に書込むと、その内容がSRAM領域の先頭部分
(アドレス0x00000000)にも書き込まれる。
Fastdata Register は SRAMの先頭にマッピングされている ?
【FastdataRegisterの不思議3】
Fastdata Register にデータを書込み後は、間を空けずに
XferFastdataオペレーションを実行しないとデータが化ける。
Fastdata Register は揮発性がある ?