50 likes | 121 Views
USB接続 簡易PICプログラマー. 【 特徴 】 USBバスパワー PIC・AVR・フラッシュ(I2C・SPI) に対応 簡易・廉価( 500円台 ) ICSP & ソケット ターゲットへ 電源供給可能. 【 構成 】 制御マイコン PIC18F14K50 USBフレームワーク に アプリ組込み PC側ソフト VBとC ++ ( VS2008 ). 【 PC側ソフト 】. 【 対応デバイス 】. 10F 12F 16F 18F xxxx 18F xx K xx 18F xx J xx 24FJxxxGA0xx
E N D
USB接続 簡易PICプログラマー 【特徴】 USBバスパワー PIC・AVR・フラッシュ(I2C・SPI) に対応 簡易・廉価(500円台) ICSP & ソケット ターゲットへ電源供給可能 【構成】 制御マイコンPIC18F14K50 USBフレームワーク にアプリ組込み PC側ソフトVBとC++(VS2008)
【対応デバイス】 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の不思議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】【FastdataRegisterの不思議2】 Fastdata Register に書込むと、その内容がSRAM領域の先頭部分 (アドレス0x00000000)にも書き込まれる。 Fastdata Register は SRAMの先頭にマッピングされている ? 【FastdataRegisterの不思議3】 Fastdata Register にデータを書込み後は、間を空けずに XferFastdataオペレーションを実行しないとデータが化ける。 Fastdata Register は揮発性がある ?