USB OTG コントローラ付きの PIC32MX PIC32MX220F032B が、秋月で 220円という低価格で売られるようになった。この値段だと、単なる USB コントローラより安い。AVR の代わりとして使う気はないのだが、なにかの専用ICとして仕立て使ってみたい気がしている。
興味があるのは、とりあえず USB ホスト機能。USB BlueTooth ドングルは妙に安いようだから、これでシリアルやSPIに変換できたらと思っている。
というわけで、ちょっと下調べ。
28 pin DIP だが、自由に使えるピンは少ないようだ。
~MCLR (1) AVdd
PGED3 RA0 G1 AVss
PGEC3 RA1 G2 G1 RB15/SCK2 G1 SS1
PGED1 RB0 G4 G4 RB14/VBUSON/SCK1 G2 SDI1 SDO1 SDO2
PGEC1 RB1 G2 G3 RB13 G3 SDI2
SDA2/RB2 G3 Vusb3v3 G4 SS2
SCL2/RB3 G1 G2 RB11/D- PGEC2
Vss G4 RB10/D+ PGED2
CLKI Vcap
CLKO Vss
SOSCI RB4 G1 G4 RB9/SDA1 TDO
SOSCO RA4 G3 G2 PB8/SCL1 TCK
Vdd G1 PB7 TDI
TMS/USBID RB5 G2 Vbus
とりあえずピン配置をメモ。JTAG を使うと 11 pin しか自由に使えない。ただ、コンフィグで JTAG は Disable に出来る。そうすると 15 pin 使えるようになるらしい。
補足: デフォルトでは、セカンダリオシレータ(32.768 Hz 水晶) が ON になっているそうだ。さらに、USBID と VUSBON の設定も コンフィグにあり、これも ON になっているとポートとして使えない。また、PPS -- Periphral Pin Assign という機能があって、UART などのピンをいくつかのピンから選択できるのだが、この選択を 1 回しかできなくする設定も コンフィグにある。とにかくコンフィグはよくよく調べておかないとならない。
補足2: JTAG は コンフィグでは Enable にしておいて、ブートローダやプログラムの先頭で
CFGCON = 0; // 1xx/2xx 以外では DDPCON = 0;
とやって Disable にするものらしい。こうすると、ファームウェアを書き込むときにだけ JTAG を使うことができる。
RA0 o AREF PGED3
GND
RB4 U1TX RB15 o D13 LED1
RA4 U1RX RB13 o D12
RB14 SCK1 RB5 o D11 TMS
RA1 o D10 PGEC3
RA10 x D9 LED2
RB7 o D8 BUT/TDI
RC7 x D7
RC6 x D6
A0 x RC0 RC5 x D5
A1 x RC1 RC4 x D4
A2 o RB0 RC3 x D3
A3 o RB1 RC2 x D2
A4 o RB2 RB9 o D1 U2TX/TDO
A5 o RB3 RB8 o D0 U2RX/TCK
ちょっと PIC32-PINGUINO-MX32 のピン配置を調べてみた。これは、同じ PIC32MX220F032 だが 44pin の D を使っている。B ではピンが足りなすぎて Arduino もどきにするには、厳しそうだ。
組み込みの機能のピンは、割り当てが最初から決まっているものと、割り当てを変えられるものがある。ここで載せたのは、最初から決まっているもので、興味があるもの。( ADC 関係は面倒なので載せていない。)
どうも I2C と SPI の SCK は配置を変えられないようだ。
ピン A0 B3 B4 B15 B7
出力 U1TX U2RTS SS1 OC1 C2OUT
入力 INT4 T2CK IC4 SS1 REFCLK1
ピン RA1 RB5 RB1 RB11 RB8
出力 SDO1 SDO2 OC2
入力 INT3 T3CK IC3 U1CTS U2RX SDI1
ピン RB6 RA4 RB13 RB2
出力 SDO1 SDO2 OC4 OC5 REFCLKO
入力 INT2 T4CK IC1 IC5 U1RX U2CTS SDI2 OCFB
ピン RB14 RB0 RB10 RB9
出力 U1RTS U2TX SS2 OC3 C1OUT
入力 INT1 T5CK IC2 SS2 OCFA
割当てを変えられるものは、4 つのグループに分けられていて、その中では自由に割り当てられるようだ。
あといくつか
フラッシュの書き込みは、OpenOCD が使えるとのこと。
~MCLR (リセット) にはプルアップが必要。
レジスタへの 書き込みは割り込み禁止で
デジキーでの値段とか
QFN28 や SSOP28 パッケージもあり、デジキーでは 300円ぐらい。10 個買えば、秋月価格に近くなるみたいだ。
QFN28:
1 315.00000 315
10 246.00000 2,460
25 225.80000 5,64
SSOP28
1 300.00000 300
10 236.30000 2,363
25 216.12000 5,403
ピンを増やしたいなら TQFP44 がある。QFN もあるけど。値段は 少し高くなる。
44pin は、PIC32MX220F032D とか末尾が D。
メモリが多いのは、型番が違う。
PIC32MX220F032B/D Flash 32KB RAM 8KB
PIC32MX230F064B/D Flash 64KB RAM 16KB
PIC32MX250F128B/D Flash 128KB RAM 32KB
SSOP28 128KB
1 431.00000 431
10 338.20000 3,382
25 310.12000 7,753
DIP28 128KB
1 457.00000 457
10 359.30000 3,593
25 329.48000 8,237
これでも安いといえば安いが、使いこなせなければ意味ないし気軽に買えるわけでもない。
USBコントローラ
PIC32MXの USB インターフェイス について 秋月の URL にあるデータシートを見れば、説明が載っているわけだが、全部英語。で、レジスタの名前 例えば U1OTGIR で検索すると ... PIC24F の 日本語ドキュメント がヒットする。
構成図を見ると、PIC32MX と PIC24F の USB モジュールは実に似ている。どうもほとんど同じようだ。概要を知りたい程度なら、PIC24Fの方で済みそう。
PIC には、USB Framework というのがあるらしいが、32KB でも厳しいらしい。gcc のくせに最適化を使わせないというのは、どうかと思うし、このチップを使うなら、全部自前で用意した開発ツールでビルドできるようにしたい。
... というわけで、使いたくはあるが、なかなか手がつけられないのだった。
ブートローダ
AVR の ATmega32u2 用に自前の USB ライブラリ で USBasp プロトコル ブートローダ を作っている。 PIC32MX も 3KB の ブートローダ 領域を持っている。移植できたりしないかな。ヒューズビット等の関係があるから、avrdude が使えるかどうか分からないが ...
あと、AVR と同様に割り込みを一切使わずに ブートローダ を作れるなら、mips16e が使えるかも知れない。
ブートローダは、後述している Pinguino プロジェクト のを使うのが吉らしい。自分で作る必要はなかったか。
・ Section 5 : Flash Programming -- Run-Time Self-Programming(RTSP) の仕様書 (pdf)
・ PIC32MX Flash Programming Specification -- JTAG , ICSP の仕様書 (pdf)
JTAG を使った書き込みには、2 種類あるらしい。ひとつは、Programming Executive(PE) を RAM に送り込んで それを使って Flash を操作するやりかたで 多分これが標準的。もうひとつは、直接 RTSP 用レジスタを操作して書き込むやりかた?
参考になるサイト
・ 『マイコン風雲録: 秋月でPIC32MX 28pin DIP版出る』
ここが詳しい。Pinguino プロジェクト というのがキーワードっぽい。
Pinguino プロジェクト:
ブートローダや gcc まで 含まれた開発ツール Pinguino X.3 を 配布している。
gcc/binutils のパッチ や config方法 、ブートローダのソースコードだけ見たいのだが どこにあるんだろう?
そもそも gcc のバージョンは? 4.6.2 と 4.5.2 があるようだが。 自製 AVR_Toolchain は、gcc-4.4.3 を使っているのだが、これで済ませられないかな?
追記: svn から最新のものをダウンロードしてみた。(リビジョン 543)
Configured with: ../configure --target=mips-elf --program-prefix=mips- \
--enable-languages=c --prefix=/home/jpm/pcompiler --disable-nls \
--disable-tui --disable-gdbtk --disable-shared --enable-static --disable-threads \
--disable-bootstrap --with-dwarf2 --enable-multilib --enable-sim \
--with-float=soft --without-headers --with-lib-path=: \
--with-pkgversion='Pinguino C Compiler for PIC32 v4.5'
Thread model: single
gcc version 4.5.2 (Pinguino C Compiler for PIC32 v4.5)
-v で確認するとこういうオプションで config されていることは分かった。
MIPS は AVR のように 新しいチップに対応するために コンパイラを変更したりしない。たぶんパッチなしなのだろう。変更がないのなら、gcc-4.4.3 でも構わなさそう。ちょっとビルドしてみよう。
ところで、バイナリのダウンロードは、
http://code.google.com/p/pinguino32/downloads/list
ここから出来るのだが、win32 版だけ小さい。これはたぶん g++ がない。svn の方にも win版だけ g++ がなかった。
pic32prog: PIC32MX220をPickit2/Pickkit3で書き込む
これは ... ソースコード を GPLv2 で配布しているではないか。MPSSE(Olimex ARM-USB-Tiny JTAG adapter) 用のコードもある。
ちょっと見てみよう。FT232RL に対応できるかも知れないし、逆に 自製の JTAG ツールで対応できるかも知れない。(対応できた。追記参照)
Olomex PIC32-PINGUINO-MX220

Olimex のボード 。結構安い。9.95EUR。送料はいくらだろう?
リンクも参考になりそう。
arduio と ピン互換になるようにしていて、
追記: Mouser で PINGUINO を扱っている。
PIC32-PINGUINO-MX220 1:\1,572
PINGUINO-MICRO (PIC32MX440F256H) 1:\1,660
本末転倒なのかも知れないが、pickit3 や PIC32MX250F128B/PIC32MX220F220B あるいは UM232H なんかを一緒に買うと 7500 円は超えそうだし、Mouser で買うのも悪くなさそう。
追記: デジキーでも PINGUINO を扱いはじめた。
PIC32-PINGUINO-MX220 1:\1,418
PINGUINO-MICRO (PIC32MX440F256H) 1:\1,418
こっちの方が安い。
エラッタ : レジスタに書き込んでるときに 割り込みが起きると 割り込みからの戻りで 再度書き込む。
割り込みが起きた以上そうなるのは、MIPS の特性。割り込みが起きないようにしていないというのがバグ?
PIC32MX 用 gcc のビルド(1)
以前、『AVR Toolchain (その2)』という記事で avr-gcc をビルドした。この バージョンの gcc を PIC32MX 向けにビルドしようと思う。
binutils-2.20.1
./configure --prefix=/d/MIPS32_Toolchain --target=mips-elf --disable-shared \
--disable-threads --enable-languages=c,c++ --disable-dssi \
--disable-plugin
--enable-languages など関係ないはずだが、prefix と target だけ変更してビルド。
make ; make install
gcc-4.4.3
./configure --target=avr --prefix=/c/AVR_Toolchain --enable-languages=c,c++ \
--with-dwarf2 --disable-doc --disable-shared --disable-libada \
--disable-libssp --disable-nls --enable-fixed-point \
--with-build-time-tools=/c/AVR_Toolchain/avr/bin
AVR ではこういう指定をした。
./configure --target=mips-elf --prefix=/d/MIPS32_Toolchain --enable-languages=c \
--with-dwarf2 --disable-doc --disable-shared --disable-libada \
--disable-libssp --disable-nls --disable-fixed-point \
--with-build-time-tools=/d/MIPS32_Toolchain/mips-elf/bin \
--disable-tui --disable-gdbtk --disable-threads --disable-bootstrap \
--enable-multilib --enable-sim --with-float=soft --without-headers
それを元に Pinguino で指定しているオプションを追加。C のみに限れば 比較的簡単だろう。
オプションは、有効でないものもおそらく指定している。だが、確認するのが面倒なので気にしない。
make は通った。
mips-elf-gcc -Os -mips16
も使えるようだ。
ls /d/MIPS32_Toolchain/bin/
libiconv-2.dll mips-elf-gcc-4.4.3.exe mips-elf-objdump.exe
libintl-8.dll mips-elf-gcc.exe mips-elf-ranlib.exe
mips-elf-addr2line.exe mips-elf-gccbug mips-elf-readelf.exe
mips-elf-ar.exe mips-elf-gcov.exe mips-elf-size.exe
mips-elf-as.exe mips-elf-ld.exe mips-elf-strings.exe
mips-elf-c++filt.exe mips-elf-nm.exe mips-elf-strip.exe
mips-elf-cpp.exe mips-elf-objcopy.exe
ls x.3/win32/p32/bin/
grep.exe mips-as.exe mips-ld.bfd.exe mips-strings.exe
libiconv-2.dll mips-c++filt.exe mips-ld.exe mips-strip.exe
libiconv2.dll mips-cpp.exe mips-nm.exe mphidflash.exe
libintl-8.dll mips-elf-gcc-4.5.2.exe mips-objcopy.exe pcre3.dll
libintl3.dll mips-elfedit.exe mips-objdump.exe regex2.dll
make.exe mips-gcc.exe mips-ranlib.exe
mips-addr2line.exe mips-gccbug mips-readelf.exe
mips-ar.exe mips-gcov.exe mips-size.exe
作ったものの実行ファイル一覧と Pinguino (win版)比較。
dll は、AVR_Toolchain と同じものを入れている。
Pinguino では、make と grep が添付されている。binutils は target=mips でビルドしているのか。gcc もリネームしている。
さて、これだけで、PIC32MX220F032B で動くものが作れるかというと ダメ。足りないものがある。
Pinguino をチェックすると
p32/include/non-free/cp0defs.h
p32/include/non-free/p32xxxx.h
p32/include/non-free/regdef.h
p32/include/non-free/proc/p32mx220f032b.h
p32/include/non-free/proc/p32mx220f032d.h
p32/include/non-free/proc/p32mx250f128b.h
p32/include/non-free/proc/p32mx440f256h.h
p32/include/non-free/proc/p32mx460f512l.h
p32/include/non-free/proc/p32mx795f512l.h
p32/include/non-free/proc/p32mxgeneric.h
p32/include/non-free/proc/ppic32mx.h
p32/obj/non-free/crt0.S
p32/lkr/ISRwrapper.S
p32/lkr/elf32pic32mx.x
p32/lkr/procdefs.ld
p32/lkr/PIC32_PINGUINO_220/ISRwrapper.S
p32/lkr/PIC32_PINGUINO_220/elf32pic32mx.x
p32/lkr/PIC32_PINGUINO_220/procdefs.ld
多分これらが必要。include のものは、レジスタの定義が主。non-free となっているのは、MicroChip 提供のコード。crt0.S はスタートアップ。p32/lkr は、リンカスクリプトだと思うが、ISRwrapper.S が何なのかは未チェック。
これらを使って main を call するところまで 行くのが最初のステップ。
ライブラリは、AVR-libc 風のものを 以前に作ったのがあるから、これを使えるようにしたい。これが次のステップ。
記事『USBBOOTプログラム用ライブラリ』にどういうものかについて記載している。usbboot-wk19.tar.gz がその最後の版で 未完成のまま放置中。
記事を見直すと、-fno-pic ,-fno-pic -mno-abicalls , -fpic といったオプションのどれを使うべきかで悩んでいた。これもチェックしておかないと。
PIC32MX は、シャドウ・レジスタを持っている。対応できると 割り込みで、レジスタのセーブ・リストアが要らなくなる。ちなみに AVR-libc 風ライブラリは、(適当なものだが)割り込みベクタもサポートしている。
リンカスクリプトは、チップの種類毎に ユーザプログラム用、ブートローダ用の 2 つ。中を見てみると割り込みベクタまでいちいち定義している。AVR-libc だとベクタは アーキテクチャとして定義されている。のだが、ライブラリの中でサポートしていて、リンカスクリプトは、関知しない。MIPS は、割り込み要因毎のベクタは アーキテクチャとして定義されていない。にも関わらずリンカスクリプトに細かく定義されている。
これは相当に気に入らない。どうせ自製のライブラリにするんだから、リンカスクリプトは 一種類で済ませたい。
メモリマップを調べてみた。kseg0 だけ書くと
Start Size
Config 9FC00BF0 10
Boot 9FC00000 BF0
Flash 9D000000 16KB - 128KB
RAM 80000000 4KB - 32KB
1xx , 2xx は、こんな風になっていて、スタートアドレスは同じ。Flash と RAM のサイズが違うのみ。
あと、PIC32MX は、M4K アーキテクチャで、割り込みベクタは、ハードウェアでサポートされているらしい。そうだとしても AVR-libc のように .text セクションの先頭に 置けばよいだけのはず。ただ、エントリが細分化されると レジスタのセーブ・リストアが面倒。シャドウレジスタを使いたくなる。使い方を調べないと...
・ Breaf Introduction for M4K Shadow Registers
これか?
リンカスクリプトを見てみたが 割り込みベクタは 1エントリにつき 32バイト(8命令分)使う。で、1xx/2xx は 32 エントリ -- 1KB も消費するわけだ。データシートの割り込みコントローラの説明を見たところ マルチベクターモードと シングルベクターモードがあることが分かった。シングルベクターモードでは、シャドウレジスタを使うか使わないかの設定もある。あと、INTSTAT レジスタに 割り込み番号が入っているが、CPU に通知した番号らしい。もし、シングルベクターモードでは 常に 0 になるなら使えない。( IFSx という ビットマップから番号を作れはするが、重くなる。)
その次が、自製の USB デバイスライブラリの移植。
こっちは、『Teensy(1.0)互換ボード』に記載した angel_loader-1.4c.zip が最新。API を共通にしたいところ。
USB デバイスライブラリは、割り込みを使用していない。PIC32MX でも同じように出来ると良いのだが ...
ここまで動かせたら、USB HOST のプログラミングに入れる。なかなかに道のりは遠い。
ライタソフトも FT232R 対応のものを用意したい。これは別途検討するが、動かそうとする段階で欲しくなる。
『MachXO2コンフィグめも』の記事の rtavr_tools-0.10.tar.gz が公開している 自製 JTAG ツールの最新版なのだが、それから変更した版がある。
自製 JTAG ツールだと、もともと FT232R 用で、JTAG レベルの手順が分れば、PIC32MX に対応できる。HEX ファイルの読み込みも 一応ある。
pic32prog に FT232R 用のコードを追加する手もあるだろう。どっちが楽かというと 多分自製ツールでの対応。でも、元が MPSSE に対応しているなら、 FT232R のコード追加は、それほど難しくはない。ただし、ピンアサインの自由度がなくなるかも知れない。
ライタの検討(1)
・ PIC32MX Flash Programming Specification -- JTAG , ICSP の仕様書 (pdf)
まずは、どういう手順で操作するのか知るためにこれを読んでみた。
FLASH をプログラミングするには、2 つの手段がある。ひとつは、JTAG でもうひとつは、ICSP(2-Wire) 。ICSP は、PGECx/PGEDx という 2 つの 信号線と ~MCLR を使うもので、PIC32MX220F032B には、3 セットもある。そのうちのひとつは、D-/D+ に割り当てられている。USB を使うのが前提であれば、このピンは必ず空いている。相当便利なような気がしてきた。
ICSP は、PGECx をクロックにして、PGEDx でデータを送受信する。これを JTAG の操作にマッピングしている。だから 下位レイヤを変更することで対応できる。それは良いのだが、JTAG だと 1 CLK で済むところを、標準的には 4 CLK かける 。そして、4 CLK の間で 出力と入力を切り替える。MPSSE だと、高度な I/O ができるので問題ないのだが、FT232R だと 出力を Hi-Z にするための付加回路が必要になりそう。チップの機能で 入出力を切り替えると とてつもなく遅くなる。
あと、ICSP を使うためには、手続きがある。3 セットもあるわけだし、どれを使うか 手続きなしに決められるわけもない。一方 JTAG は手続きなしらしい。... ということは Disable にしてしまったら、どうなるのだろう? ひょっとしたら使えないのかも知れない。
追記: だいぶ分かってきた。PGEx は、どれを使うかコンフィグで設定する。00 を設定してしまうと、使えなくなってしまう。JTAG も コンフィグで Disable できるが、プログラムでもできる。Enable にしておいて、プログラムの頭で Disable にする使い方が良い。(ブートローダを使っている場合は、既に Disableにされているから プログラムではなにもしなくて良い。)こうすることで、最悪 JTAG を使って復活できる。
もうひとつの懸案は、クロック。AVR だとクロックの設定を失敗すると面倒なことになった。JTAG/ICSP では、クロックは関係無いようなことが書いてある。そうであれば、チップイレーズすることで、なんとでもなるのだろう。
... というわけで、ICSP を中心に検討した方が良さそうな感じ。
ライタの検討(2)
ICSP を中心にするといっても、操作の基本は JTAG と変わらない。では、それはどういうものなのか?
・SetMode
・SendCommand
・XferData
・XferFastData
・XferInstruction
これら 5 つのオペレーションを使うらしい。最後の XferInstruction は、基本操作ではなく、上の 4 つを使って実装する。で、名前から想像できるように 命令列を送り込んで実行させるもののようだ。
どのような命令を送り込むのかについて、詳しく書いてある。また、PE -- Program Executive という プログラムを RAM に送りこんで 高度な操作をさせることも可能になっている。PE を使うやりかたは標準的で、pic32prog でも採用しているようだ。
それは良いのだが ... こんな手続きだと 非常に面倒。自製の ツールに組み込むのは止めにして、pic32prog を改造する方針で検討する。
pic32prog を使う利点はほかにもあった。
・ PIC32MX220F032B 製品ページ
ここに、いろいろリンクがあるのだが、AN1388 -- PIC32 Bootloader の HID プロトコルに対応しているのだ。そうであれば、pic32prog に 機能をまとめてしまった方が便利だろう。
さて、pic32prog だが、svn から チェックアウトしたものを
・ pic32prog-r51-20120714.tar.gz
に置いた。
これを見ると .. MPSSE を使うのに ftd2xx.dll を使っていない。なんと libusb を使って直接アクセスしている。これは GPL をクリアするためなのだろうか? ただ、遅いはずだし、ちょっと改造がやりにくい。といっても Synchronos BitBang Mode はモードが違うだけで、READ/WRITE を基本にするところは同じ。ICSP に対応するにしても MPSSE のコマンドが違うだけの話。なんとかなりそうな気はする。
あと、対応している VID:PID が OLIMEX_ARM_USB_TINY/OLIMEX_ARM_USB_TINY_H だけになっている。ジェネリックな FTDI の ID に対応していない。
行数は全部で、985 行。libftdi 相当が含まれていると思えば、かなり小さいともいえる。処理をちょっと見てみたのだが、
・ MPSSE としての機能しか使っていない。TCK/TMS/TDI/TDO のみの操作ということ。
・ mpsse_send / mpsse_recv が基本操作。MPSSE だと recv 不要の操作がある。ICSP の対応 や Synchrons BitBang では、必ず READ が入るから 少々対応が面倒。
割り込みアドレスの調査
話は飛ぶのだが、ライブラリを作るうえで どんな割り込みアドレスがあるのか知っておかないといけない。ちょっと調べてみた。
その前に メモリマップ
kseg1 base Memory Map
1xx/2xx 3xx/4xx 5xx/6xx/7xx
Start Size Start Size Start Size
Config BFC00BF0 10 BFC02FF0 10 BFC02FF0 10
Boot BFC00000 BF0 BFC00000 2FF0 BFC00000 2FF0
Flash BD000000 16KB - 128KB BD000000 BD000000
RAM A0000000 4KB - 32KB A0000000 A0000000
kseg1 内のメモリマップを作った。1xx/2xx 以外も調べてみたが、Boot 領域 のサイズが違う。Boot 領域の最後 16 バイトは、Config 領域で、AVR での ヒューズビット・ロックビットに相当する重要な情報が入っている。ここが 1xx/2xx でずれるというのは覚えておかないと。
ただ、スタートアドレスはみな同じ。リンカースクリプトはかなり共通化できそう。
さて、割り込みだが、
0xBFC0_0000 Reset,Soft Reset,NMI
0xBFC0_0200 EJTAG Debug (EJTAG ProbEn==1)
0xBFC0_0380 all generic interrupt (BEV==1)
0xBFC0_0480 EJTAG Debug (EJTAG ProbEn==0)
0xBD00_0000 (EBase)
0xBD00_0200 Single Vector Mode (BEV==0)
0xBD00_0200 Multi Vector Mode (BEV==0)
+ vector_no * 32 * VS(VS==1)
どうも ユーザコードにくる割り込みは、0xBD00_0200 から始まる割り込みベクタのみらしい。シングルベクタモードを使うと、たった一つ。
あと、ブート領域になにかコードが入っていないと、ユーザコードは実行されない。それに 最初のエントリは、どこなのか? ブートローダによって決まるような?
追記、回路図を作ってみた

『PIC32MX2xx用基板』用の回路図の焼き直しなのだが、ユニバーサル基板とかで作るときの参考用として作った。

いつも水晶の収まりが悪いわけだが、MA-506などはどうだろう?足を伸ばすことで、ブレッドボードなんかに挿せるような気がする。
追記) ブレッドボードで 、ライタのテスト用配置を考えているのだが、なかなか厳しい。PIC32MX032B は、28 pin で 14 列を使う。予定している UM232H も 28 pin で これまた 14 列。そして、EIC-801 (BB-801) などは 30 列しかない。2 列しか 余裕がないのだ。で、この 2 列で入るものとして、リセットスイッチと DTC144 を考えている。
o-------o
| |
| TACT |
| -SW |
--o---o---o o-------o
|
| o---o---o
UM232H | |
| x x | PIC23MX220F032B
| |
| o---o---o
--o---o---o
o o o DTC144
IN OUT GND
たぶん、こういう位置関係以外は無理。UM232H の重なっている部分は、AD6, AD7 で IN/OUT ともに接続する設定にすれば OK 。LED は、ストレートに 接続するしかない。そのためには、小基板を使ったりして 抵抗 + LED のパーツを作る必要がある。
AE-UM232R だと 24 pin で 2 列増える。だが、DTC144 は重ねられないから 位置関係はあまり変わらない。
Arduino がライタになるらしい。
『ardupic32』というのを発見した。これは、JTAG で書き込む。
遅いらしいのだが、ブートローダさえ書き込めさえすれば、あとは快適になるはず。幸いなことに、JTAG のピンは 5V トレラントになっているので、5V 版の Arduino が使える。
同じようなものは、USB デバイスのコードが自由に書けるようになりさえすれば、作れるはずで いずれは検討したい。
追記 : BitBang で 書き込みが出来た。
pic32prog を改造して、FT232R や FT232H で 書き込みできるようになった。(テストは、UM232H のみ)
ものは、
・ pic32prog-r62-ftdi-05.zip
バイナリも同梱しているので、ftd2xx.dll を別途用意すれば使える。『pic32progの改造』の記事で説明はしているのだが、経緯込みで書いているので、イマイチわかりづらいと思う。いずれまとめの記事を起こしたいとは思う。
もう少し詳しく書くと、Synchronous BitBang を使った CISP (外付けトランジスタが必要) と MPSSE での BitBang を使った CISP (結線のみ) の動作が確認できた。JTAG は、まだ動いていない。
関連記事
・『PIC32MX220F032B メモ 』(この記事)
・『pic32progの改造』
・『jzlibの使い方』
・『PIC32MX2xx用基板』
・『ブートローダの検討』
https://wakelet.com/wake/o8My8ADGE_jmbh3Hh-gMW
https://tingcoformord1989.wixsite.com/lidetexca/post/a8002a-emulex-driver-download
https://trello.com/c/feJ2dKDd/24-the-triangle-2005-film-dubbed-utorrent-1080-full-watch-online-720
https://wakelet.com/wake/VLz8e4y43nndy8CbO5d4I
https://conroabicu.diarynote.jp/202111270327503166/
https://shapshare.com/read-blog/42286
https://uploads.strikinglycdn.com/files/46864f7d-5ad8-41c7-b3ed-fb48dafbb555/Sprint-Layout-6-Crack-Download.pdf
https://kit.co/tuinerdetodd/the-go-betweens-16-lovers-lane-rar-utorrent-crack-pc-latest-registration-rar-free
https://dihynsucoli.wixsite.com/lessbesortmarg/post/buku-effendi-1997-tentang-biologi-perikanan-free-rar-mobi-torrent-book
https://reranlicharcold.wixsite.com/rakhfepearigh/post/movie-the-seventh-sense-1999-blu-ray-watch-online-full-720p-watch-online
https://inplachonliedifeng.wixsite.com/wichedabti/post/whatsapp-for-windows-torrent-full-version-crack-iso-build-key
https://giononcutthrythda.wixsite.com/elpesubcui/post/pc-point-layout-2017-download-x32-rar-build
https://trello.com/c/z9OrYd2M/21-draftsightfreedownloadwithcracked
https://trello.com/c/iXdY8uEm/14-official-windows-mobile-65-rom-for-htc-hd2-download
https://trello.com/c/CxWswugI/23-bade-dilwala-video-songs-hd-720p-free-download-2015-movies
https://trello.com/c/1zIocIqB/19-sas-jmp-statistical-discovery-v110-x86x64rar
https://cdn.thingiverse.com/assets/83/62/af/29/6b/raaz-2002-full-hindi-movie-downloadgolkes.html
https://cdn.thingiverse.com/assets/79/a0/af/06/16/impvivi241.html
https://cdn.thingiverse.com/assets/72/f8/46/9a/f0/ellbrang455.html
https://cdn.thingiverse.com/assets/9d/51/39/c2/4a/Contoh_Karangan_Pedaran_Basa_Sunda_Nyieun_Bala_Bala.html
https://cdn.thingiverse.com/assets/28/6b/93/4e/77/alriyear240.html
https://uploads.strikinglycdn.com/files/0dac77c3-b4cb-4c78-8c8d-609da070adff/Woh-Lamhe-hindi-full-movie-free-download.pdf
https://trello.com/c/QRkiPJOG/11-contoh-rpp-sd-kurikulum-2013-semester-1-chemistry
https://secure-sea-22963.herokuapp.com/Azov-Films-Igorl-ervihartw.html
https://wakelet.com/wake/Z9ftnmNxaZirYbVIxg1w8
https://wakelet.com/wake/cyHlcGEsTkJ4PAmqKDxSf
https://wakelet.com/wake/Ln68ZxtUm5JmWxYYnNqOa
https://wakelet.com/wake/gow_CNc2g2CyvhBnUsv85
https://coub.com/stories/2669812-upd-yamaha-psr-295-driver-download-free
https://coub.com/stories/2669809-astute-graphics-mirror-me-crack-verified
https://coub.com/stories/2669807-contoh-soal-tes-psikotes-bank-bca-work
https://coub.com/stories/2669806-clo-show-player-2-free-download-with-28-salayedi
https://wakelet.com/wake/5Rl8twriILaY-npNi4MrB
https://wakelet.com/wake/rqZKjq4LAuMUcHrULhuzB
https://wakelet.com/wake/IiRForV437qpcIEUkTmdj
https://wakelet.com/wake/UFpQhkjHjYyCsHAL6U0f8
https://coub.com/stories/2790651-bread-talk-ccd-cafe-late-dominoz
https://coub.com/stories/2790652-2021-howard-hr20-manual
https://coub.com/stories/2790653-_verified_-dilwale-dulhania-le-jayenge-english-subtitle-download
https://coub.com/stories/2789735-work-fifth-kalima-english
https://wakelet.com/wake/nnVlwLz0IPrTWYK7SnZIB
https://wakelet.com/wake/DJxOKWdK0gj3dJgPKrZPe
https://wakelet.com/wake/YSulBDJmANBgleN0QjOIU
https://wakelet.com/wake/Pkg15Kgguw-oG4pKdiyQF
https://wakelet.com/wake/eb8CDnRM3DfIkX-nol6lY
https://wakelet.com/wake/X1ECI05dsaMfgpd5H2AOl
https://wakelet.com/wake/ECJkkdlopC-4ZWfkhGc3k
https://wakelet.com/wake/NDjZCHfSVZpA_46Q18OTY
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgID_xIHkCQwLEgZDb3Vyc2UYgICA_9Pd-gsMCxIIQWN0aXZpdHkYgIDAoNHnuQkMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgMDA1rHbCwwLEgZDb3Vyc2UYgIDAwNbmiggMCxIIQWN0aXZpdHkYgIDA4IzZ7gsMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgMCA8ozoCAwLEgZDb3Vyc2UYgIDAgJHF_QkMCxIIQWN0aXZpdHkYgIDAoPPU5wgMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgMCA3_zjCgwLEgZDb3Vyc2UYgIDAgOK_qAgMCxIIQWN0aXZpdHkYgIDA0LzEzwoMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgMCghP6WCQwLEgZDb3Vyc2UYgIDAoKu1_AsMCxIIQWN0aXZpdHkYgIDAoPOsvAoMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgMCA2K3XCQwLEgZDb3Vyc2UYgIDAwJbqhwsMCxIIQWN0aXZpdHkYgIDA0KCN1wkMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgIC_o8y-CgwLEgZDb3Vyc2UYgIDAwICXvQgMCxIIQWN0aXZpdHkYgIDA4IyF2AsMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgMDAgMPcCwwLEgZDb3Vyc2UYgICA__nuwwkMCxIIQWN0aXZpdHkYgIDAkIu94woMogEQNTcyODg4NTg4Mjc0ODkyOA
https://wakelet.com/wake/qaydacNWGgNdNVV6oIl8t
https://wakelet.com/wake/DZitJWIG4Rfv36MdDxrIn
https://wakelet.com/wake/ZNvpkOcjXWpWdUSoB8aSE
https://wakelet.com/wake/ydUxUUGG2hp-8JwyZEtyK
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgICfpNqYCgwLEgZDb3Vyc2UYgIDAgJHgqQgMCxIIQWN0aXZpdHkYgIDA0ICo7QsMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgICfq_iuCQwLEgZDb3Vyc2UYgICA__m0sAkMCxIIQWN0aXZpdHkYgIDAgJPhjQsMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgMDAtMehCwwLEgZDb3Vyc2UYgICA_5O68goMCxIIQWN0aXZpdHkYgIDA4PSbjAsMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgIC_v477CwwLEgZDb3Vyc2UYgICAn8SD8QkMCxIIQWN0aXZpdHkYgIDAkIm8qgsMogEQNTcyODg4NTg4Mjc0ODkyOA
https://coub.com/stories/2764255-smart-launcher-5-pro-5-4-build-021-plugin-theme-apk-for-android-verified
https://coub.com/stories/2764253-download-nicole-espolong-zip-kassper
https://coub.com/stories/2764249-link-grand-royal-magazine-pdf-download
https://coub.com/stories/2764250-larsen-embryology-pdf-download-ranlor
https://coub.com/stories/2671227-dndirilecek-dosya-karekgk-ayt-organik-kimya-soru-bankasd-pdf-pdf-34-80-mb-gc-portable
https://coub.com/stories/2671228-sims-4-store-custom-content-felchr
https://coub.com/stories/2671225-tglgcharger-un-fichier-horizon-for-milena-s-bikini-rar-27-88-mb-in-free-mode-tur-patcher
https://coub.com/stories/2671224-full-vishwa-vidhata-full-movie-hd-720p-download-free
https://wakelet.com/wake/BtaXsctwLYFoq6a-tC_p0
https://wakelet.com/wake/0YKO5M8_SBw4Z1m4UkvDv
https://wakelet.com/wake/1OHwvy8SWg9o2uvQS3b3p
https://wakelet.com/wake/NkeigMscquJvOOm4zOo_o
https://coub.com/stories/2622721-klim-type-foundry-rar
https://coub.com/stories/2622720-golmaal-again-2-full-movie-hot-download-dual-audio-mov-adelante-consolle-mo
https://coub.com/stories/2622719-the-southern-reach-trilogy-epub-file
https://coub.com/stories/2622718-1000-synonyms-and-antonyms-list-pdf-mayrsea
https://wakelet.com/wake/7nRvx6Cfmc2gVHh9kuq3w
https://wakelet.com/wake/jfc9WmZory4WrAHOLbpfP
https://wakelet.com/wake/NEVkV5Xh_hvxiUmEGg7Dr
https://wakelet.com/wake/xHatFClpqn5c0lQbIeOCT
https://coub.com/stories/2654404-video-player-all-format-xplayer-tasjuli
https://coub.com/stories/2654403-portable-adverb-detailed-lesson-plan-pdf
https://coub.com/stories/2654401-exclusive-payingguestsmovie1080ptorrent
https://coub.com/stories/2654400-repack-nisha-guragain-tik-tok-star-leaked-mms-video
https://wakelet.com/wake/9WSQC8ccW2Swg9fNnuWtX
https://wakelet.com/wake/y3FjDm_rjq1sfYugJko7j
https://wakelet.com/wake/yPECniYy-JrjSbCrMvDJA
https://wakelet.com/wake/N8fCK5h-4TD_Z2YK8BTPg
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgMDgt-6iCwwLEgZDb3Vyc2UYgIDAoPPeiAgMCxIIQWN0aXZpdHkYgIDAkIrflgkMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgMDAl5LoCgwLEgZDb3Vyc2UYgIDAoJmFnggMCxIIQWN0aXZpdHkYgIDA0OD9wgoMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgMCg6dGPCwwLEgZDb3Vyc2UYgIDAwNWZggsMCxIIQWN0aXZpdHkYgIDAwOmirAgMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgMCgmeTfCwwLEgZDb3Vyc2UYgICA_7P01QoMCxIIQWN0aXZpdHkYgIDA4PfrnQgMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgMDgzJyLCgwLEgZDb3Vyc2UYgIDA0Nym-AkMCxIIQWN0aXZpdHkYgIDAoIvR5QoMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgMCgq7WcCgwLEgZDb3Vyc2UYgICA_6Sd7AoMCxIIQWN0aXZpdHkYgIDAwNmfngsMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgIC_39W0CgwLEgZDb3Vyc2UYgICA_5PamwsMCxIIQWN0aXZpdHkYgIDAoJjIzAsMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgID_5pzyCwwLEgZDb3Vyc2UYgICA_6TW6AoMCxIIQWN0aXZpdHkYgICA__fiowgMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgMDAgOS9CQwLEgZDb3Vyc2UYgIDAwJWN6AkMCxIIQWN0aXZpdHkYgIDAoNjE-QoMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgID_hP3ZCgwLEgZDb3Vyc2UYgIDAoPiE-goMCxIIQWN0aXZpdHkYgIDA4Ozl0wgMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgMCAxI2ACQwLEgZDb3Vyc2UYgIDAwM6c7wsMCxIIQWN0aXZpdHkYgIDA0J7MpggMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgMDgj9KMCwwLEgZDb3Vyc2UYgIDAgLOcjQsMCxIIQWN0aXZpdHkYgIDAkOrN0goMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgMDgzLjPCQwLEgZDb3Vyc2UYgIDAkIqrnAoMCxIIQWN0aXZpdHkYgIDAkPH_ygsMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgIC_veuvCAwLEgZDb3Vyc2UYgICAn8uT4goMCxIIQWN0aXZpdHkYgIDA0MDzhQsMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgMCAv-67CQwLEgZDb3Vyc2UYgICAn6u82wkMCxIIQWN0aXZpdHkYgIDA4LCk6AkMogEQNTcyODg4NTg4Mjc0ODkyOA
https://www.cloudschool.org/activities/ahFzfmNsb3Vkc2Nob29sLWFwcHI5CxIEVXNlchiAgID_pvK7CgwLEgZDb3Vyc2UYgICAn-u3sQsMCxIIQWN0aXZpdHkYgIDAoLP2wwsMogEQNTcyODg4NTg4Mjc0ODkyOA
https://coub.com/stories/3093986-trainer-nfs-most-wanted-1-2-money-editor-teleporter-epub
https://coub.com/stories/3093985-white-knight-chronicles-2-servers-back-up
https://coub.com/stories/3093982-patched-the-official-guide-to-the-toefl-ibt-4th-edition-cd-full-version
https://coub.com/stories/3093981-updated-driver-athena-asedrive-iiie-usbfor-windows-10-64-bit
https://coub.com/stories/2953850-verified-the-manichithrathazhu-movie-download-hd
https://coub.com/stories/2953851-solidworks-2008-sp0-install-crack-71
https://coub.com/stories/2953849-exclusive-fifa-13-crack-multiplayer-skidrow
https://coub.com/stories/2953848-__hot__-free-download-cooking-academy-1-and-2-full-version
https://coub.com/stories/2967464-link-microsoft-photodraw-2000-v2-serial-key
https://coub.com/stories/2967463-devil-may-cry-4-dx9-dx10-no-dvd-crack-full-7z
https://coub.com/stories/2967462-exclusive-hajra-choudhary-workshop-technology-vol-2-pdf-free-download
https://coub.com/stories/2967460-new-chef-de-partie-cv-pdf-download
https://coub.com/stories/3142222-zelotes-t-80-mouse-driver-44-link
https://coub.com/stories/3142223-upd-pyetje-logjike-per-test-per-banka-30
https://coub.com/stories/3142221-lustomic-bea-sissy-comics-__link__
https://coub.com/stories/3142220-download-subtitle-indonesia-police-story-2013-106-updated
https://coub.com/stories/2960228-best-merge-excel-files-10-1-10-key
https://coub.com/stories/2960225-poor-sakura-vol-4-uncensored
https://coub.com/stories/2960226-basic-economics-with-taxation-and-agrarian-reform-pdf-chekei
https://coub.com/stories/2960224-full-lc-technology-solid-state-doctor-3-1-0-8-keygen-tsz-britjar
https://coub.com/stories/2937873-jplay-audio-player-v43-x64-x86-cracked-26-cayjar
https://coub.com/stories/2937872-missing-file-sleeping-dogs-setupexe-download-top
https://coub.com/stories/2937863-mac-os-x-mountain-lion-pt-br-download-torrentgolkes-janalee
https://coub.com/stories/2937871-top-teleport-ultra-v1-70-retail-cracked-brd-setup-free
https://coub.com/stories/2988306-thepowerofsubconsciousmindpdfingujarati-benrein
https://coub.com/stories/2988304-patched-techsmithcamtasiastudio911build2546x64licensekeysserialkey
https://coub.com/stories/2988303-link-express-vpn-crack-7-7-11-4-key-2020-latest
https://coub.com/stories/2988302-2011-gemini-4-70-dm500-maxvar-cccam-2-1-4-via-2-6-vali-ii-by-althubabe-erskrash
https://coub.com/stories/2977864-patched-vkm-nr-594-dt-22-12-1997
https://coub.com/stories/2977863-lihim-na-karunungan-ng-diyos-pdf
https://coub.com/stories/2977862-download-dlc-scandinavia-ets2-exclusive
https://coub.com/stories/2977861-poweriso-2020-full-crack-latest-version-for-windows-free-download-triharm
https://coub.com/stories/2945601-exclusive-gupt-1997-hindi-720p-dvdrip-x264-hon3y
https://coub.com/stories/2945602-driverpack-solution-14-8-r418-driver-packs-14-08-1-free-download-exclusive
https://coub.com/stories/2945603-solarwindsengineerstoolsetv10crackincluded-__full__
https://coub.com/stories/2945604-serial-number-for-gta-4-keygen-torrent-install
https://coub.com/stories/3500563-updated-hd-online-player-tumhari-sulu-720p-hd-movie-download
https://coub.com/stories/3500562-better-js-jobs-pro-nulled-wordpress
https://coub.com/stories/3500561-best-the-mummy-returns-pc-game-full-version-free-downloadgolkes
https://www.rootdownloads.com/pc-game/ys-viii-lacrimosa-of-dana-v20200119-hotfix-hq-texture-pack-all-dlcs/
https://coub.com/stories/3295469-alex-aleks-freestyle-chlopaki-nie-placza-danysama
https://coub.com/stories/3295462-do-bigha-zameen-full-movie-free-download-marhal
https://coub.com/stories/3295461-hot-rare-carol-goldnerova-threesome-from-1999
https://securelist.lat/keypass-ransomware/87497/
https://coub.com/stories/3267418-dual-audio-movies-hindi-english-720p-bullett-raja-1080p-wentdeia
https://coub.com/stories/3267419-tom-newby-school-grade-7-homework-peleliz
https://coub.com/stories/3267411-hot-download-movie-d-underworld-in-hindi-hd
https://www.indianwomenorg.com/ningnewsbattrent
HI everyone, Amber Dhara aired it's final episode and i know we'll have too many topics regarding it! So i request all of you to discuss.. AGRI tambien publicar reseas de libros sobre recursos genticos animales. ... Arizala, ilustre Catedratico de la Facultad de Veterinaria de Cordoba,... 63b95dad73 rafanfo
https://marketplace.visualstudio.com/items?itemName=monstkill.Earth-Magic-Oracle-Cards-A-48Card-Deck-And-Guidebo-FULL
https://marketplace.visualstudio.com/items?itemName=pantera93.ELOoffice-1100016-Keygen-PATCHED
https://marketplace.visualstudio.com/items?itemName=krokill.Aygun-Kazimova-Seks-Ve-Lut-Sekillerizip-NEW
https://marketplace.visualstudio.com/items?itemName=killzon.Download-Film-Thor-2-Mp4l-2021
https://marketplace.visualstudio.com/items?itemName=darckmoon.Pure-Luck-Latino
36:58 Amber Dhara Ep 01 Subtitle ... Amber Dhara is an Indian Hindi language television series that aired on Sony Entertainment ... Opening theme, "Amber.... Amber Dhara is an Indian Hindi language television series that aired on Sony Entertainment Television from 24 September 2007 until 24 April 2008, based on...
https://hioki.asia/ampe-kim-hioki-cm3286-01/