ねむいさん遊んでる暇あるの!?
届いたわぁ・・・ARM9(LPC3250)のボードが…!
今は別の案件で忙しすぎて触ってる暇すらないけどMTM05終わったk頃くらいに
androidとか動かしてみたいなぁと画策してます…。
ちなみにEmbedded Artisitsさんより直接購入しました。日本国内で代理店通して
同スペックのボード買うとどうしても割高になってしまうので…。
20190726追:上のボードは前の職場にすてtゲフンゲフフン寄贈してきました
ついでにこれも購入しました…しかしOpenOCDでLPC1114/1343書き込み/デバッグ
出来るようになるまで上記のLPC3250のボードとともに塩漬け…。
ついでに"た"の人のARMデバッガCortex-M3対応も期待。
上のARM9のボード購入にあたってJTAGKeyCloneの機能アップ版である
JTAGKey2Cloneの制作を行いました。
お手本にしたのは最初にJTAGKeyCloneを作ったときと同じく神木さんの作例です。
20130422追:
JTAGkey2Cloneの回路図改良しました
JTAGKey2は中のチップがFT2232Hになっています。超高速信号を引き回すことに
なるので、FTDIチップ周りは神木さんのものと同じく出来合いのモジュールを
使用しています。
氏の作例と違う部分はレベルシフタICをJTAGKeyCloneで使用したときとおなじもの
を使用し、FT2232H <-> レベルシフタ間を+5V電圧系で駆動させている点です。
FT2232HのVCCIO上限は+3.3Vなので通常なら思いきり制約に違反している
ところですが、FT2232Hとレベルシフタの+5V入出力トレラント性を大いに利用して
レベルシフタの入力(つまりFT2232Hの+3.3Vな出力)を+5Vでプルアップするという力技で電圧変換の問題をクリアして
います!!
20150218追:
↑の出力プルアップ作戦は470ohmでプルアップしてもFT2232Hの出力バッファの
引き込み能力の方が勝ってしまうため全く意味がありません。
結局出力は3.3Vのままで規約違反です。でたらめ書いてましたすみません。
代わりに+5VCMOSレベルとの動作の際の電圧遷移がどうなっているかを
調べましたので参考にしてください。
20150218追:
20150514追:
電圧レベルに関してケリをつけました!!!!!!
20150514追:
また、前回のJTAGKeyCloneを作った時はDAISENの変換基板に頼っていましたが、
今回はメッシュアース基板を利用してレベルシフタを基板に直付け・UEW線で引き
まわして高速な信号も扱えるようにしています。
↑こうしてみると1608サイズのパスコンが相対的におっきく見えるほと小さいですなぁ…
こうして作り上げたJTAGKey2CloneはJTAGKeyCloneと同じ感覚で使用ができます。
OpenOCDで使う場合なら、jtagkey.cfgと指定しているのをjtagkey2.cfgに変える
だけで使えます。JTAGKey2の売りはUSB-HighSpeedで各種シリアル転送がさらに
高速になった上にRTCK(AdaptiveClocking=自動クロック追従)がサポートされて
いる点なわけですが、これはLPC2388のようなRTCK端子が出ているデバイスで
真価を発揮します。
以下に各条件でOpenOCDからLPC2388に100kB程のデータをフラッシュ書き込み/
ベリファイした時の速度の比較を記載しておきます。
(以下無駄に長いので覚悟してください)
●JTAGkeyClone(FT2232D)/LPC2388_Ext12MHz X'tal
> > "C:/Devz/AVR/WinAVR/utils/bin/make.exe" program
> openocd -f C:/Devz/ARM/OCD/daemon.cfg -f C:/Devz/ARM/OCD/tcl/interface/jtagkey.cfg -f C:/Devz/ARM/OCD/tcl/target/lpc2388_flash.cfg -c "mt_flash main.elf" -c "continue" -c "resume" -c "shutdown"
> Open On-Chip Debugger 0.5.0-dev-00145-g2a17fd9 (2010-04-08-13:41)
> Licensed under GNU GPL v2
> For bug reports, read
> http://openocd.berlios.de/doc/doxygen/bugs.html
> adapter_nsrst_delay: 200
> jtag_ntrst_delay: 200
> trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain
> 500 kHz
> fast memory access is enabled
> dcc downloads are enabled
> Info : device: 4 "2232C"
> Info : deviceID: 67358712
> Info : SerialNumber: 11111111A
> Info : Description: Amontec JTAGkey A
> Info : clock speed 500 kHz
> Error: JTAG scan chain interrogation failed: all zeroes
> Error: Check JTAG interface, timings, target power, etc.
> Info : JTAG tap: lpc2388.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
> Info : Embedded ICE version 7
> Error: EmbeddedICE v7 handling might be broken
> Info : lpc2388.cpu: hardware has 2 breakpoint/watchpoint units
> 100 kHz
> Info : JTAG tap: lpc2388.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
> Info : JTAG tap: lpc2388.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
> Warn : srst pulls trst - can not reset into halted mode. Issuing halt after reset.
> target state: halted
> target halted in ARM state due to breakpoint, current mode: Supervisor
> cpsr: 0x000000d3 pc: 0x00000000
> Warn : Bad value '00000000' captured during DR or IR scan:
> Warn : check_value: 0x00000009
> Warn : check_mask: 0x00000009
> Error: JTAG error while reading cpsr
> 500 kHz
> flash 'lpc2000' found at 0x00000000
> auto erase enabled
> Info : Padding image section 0 with 0 bytes
> Error: Target not halted
> Error: failed erasing sectors 0 to 10 (-304)
> Command handler execution failed
> make.exe: *** [program] Error 1
>
> > Process Exit Code: 2
> > Time Taken: 00:04
↑JTAGKeyCloneでは外部クロックだとフラッシュの書き込みが出来ません!
●JTAGkeyClone(FT2232D)/LPC2388_Int4MHz RC
> > "C:/Devz/AVR/WinAVR/utils/bin/make.exe" program
> openocd -f C:/Devz/ARM/OCD/daemon.cfg -f C:/Devz/ARM/OCD/tcl/interface/jtagkey.cfg -f C:/Devz/ARM/OCD/tcl/target/lpc2388_flash.cfg -c "mt_flash main.elf" -c "continue" -c "resume" -c "shutdown"
> Open On-Chip Debugger 0.5.0-dev-00145-g2a17fd9 (2010-04-08-13:41)
> Licensed under GNU GPL v2
> For bug reports, read
> http://openocd.berlios.de/doc/doxygen/bugs.html
> adapter_nsrst_delay: 200
> jtag_ntrst_delay: 200
> trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain
> 500 kHz
> fast memory access is enabled
> dcc downloads are enabled
> Info : device: 4 "2232C"
> Info : deviceID: 67358712
> Info : SerialNumber: 11111111A
> Info : Description: Amontec JTAGkey A
> Info : clock speed 500 kHz
> Info : JTAG tap: lpc2388.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
> Info : Embedded ICE version 7
> Error: EmbeddedICE v7 handling might be broken
> Info : lpc2388.cpu: hardware has 2 breakpoint/watchpoint units
> 100 kHz
> Info : JTAG tap: lpc2388.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
> Info : JTAG tap: lpc2388.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
> Warn : srst pulls trst - can not reset into halted mode. Issuing halt after reset.
> target state: halted
> target halted in ARM state due to breakpoint, current mode: Supervisor
> cpsr: 0x000000d3 pc: 0x00000000
> 500 kHz
> flash 'lpc2000' found at 0x00000000
> auto erase enabled
> Info : Padding image section 0 with 0 bytes
> wrote 131072 bytes from file main.elf in 7.468798s (17.138 kb/s)
> verified 117280 bytes in 2.812518s (40.722 kb/s)
> shutdown command invoked
>
> > Process Exit Code: 0
> > Time Taken: 00:14
↑JtagKeyCloneでは内部4MHz RC(電源投入時のデフォルト状態)でフラッシュ
書き込みするのが無難なようです。
●JTAGkey2Clone(FT2232H)/LPC2388_Int4MHz RC
> > "C:/Devz/AVR/WinAVR/utils/bin/make.exe" program
> openocd -f C:/Devz/ARM/OCD/daemon.cfg -f C:/Devz/ARM/OCD/tcl/interface/jtagkey2.cfg -f C:/Devz/ARM/OCD/tcl/target/lpc2388_flash.cfg -c "mt_flash main.elf" -c "continue" -c "resume" -c "shutdown"
> Open On-Chip Debugger 0.5.0-dev-00145-g2a17fd9 (2010-04-08-13:41)
> Licensed under GNU GPL v2
> For bug reports, read
> http://openocd.berlios.de/doc/doxygen/bugs.html
> adapter_nsrst_delay: 200
> jtag_ntrst_delay: 200
> trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain
> 500 kHz
> fast memory access is enabled
> dcc downloads are enabled
> Info : device: 6 "2232H"
> Info : deviceID: 67358712
> Info : SerialNumber: 22222222A
> Info : Description: Amontec JTAGkey-2 A
> Info : max TCK change to: 30000 kHz
> Info : clock speed 500 kHz
> Info : JTAG tap: lpc2388.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
> Info : Embedded ICE version 7
> Error: EmbeddedICE v7 handling might be broken
> Info : lpc2388.cpu: hardware has 2 breakpoint/watchpoint units
> 100 kHz
> Info : JTAG tap: lpc2388.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
> Info : JTAG tap: lpc2388.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
> Warn : srst pulls trst - can not reset into halted mode. Issuing halt after reset.
> target state: halted
> target halted in ARM state due to debug-request, current mode: User
> cpsr: 0x60000050 pc: 0x00002028
> 500 kHz
> flash 'lpc2000' found at 0x00000000
> auto erase enabled
> Info : Padding image section 0 with 0 bytes
> wrote 131072 bytes from file main.elf in 6.750044s (18.963 kb/s)
> verified 117280 bytes in 2.640642s (43.373 kb/s)
> shutdown command invoked
>
> > Process Exit Code: 0
> > Time Taken: 00:13
↑JTAGKey2Clone(FT2232D)の時と比べて少し早くなってますね。
●JTAGkey2Clone(FT2232H)/LPC2388_Ext12MHz X'tal
> > "C:/Devz/AVR/WinAVR/utils/bin/make.exe" program
> openocd -f C:/Devz/ARM/OCD/daemon.cfg -f C:/Devz/ARM/OCD/tcl/interface/jtagkey2.cfg -f C:/Devz/ARM/OCD/tcl/target/lpc2388_flash.cfg -c "mt_flash main.elf" -c "continue" -c "resume" -c "shutdown"
> Open On-Chip Debugger 0.5.0-dev-00145-g2a17fd9 (2010-04-08-13:41)
> Licensed under GNU GPL v2
> For bug reports, read
> http://openocd.berlios.de/doc/doxygen/bugs.html
> adapter_nsrst_delay: 200
> jtag_ntrst_delay: 200
> trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain
> 500 kHz
> fast memory access is enabled
> dcc downloads are enabled
> Info : device: 6 "2232H"
> Info : deviceID: 67358712
> Info : SerialNumber: 22222222A
> Info : Description: Amontec JTAGkey-2 A
> Info : max TCK change to: 30000 kHz
> Info : clock speed 500 kHz
> Info : JTAG tap: lpc2388.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
> Info : Embedded ICE version 7
> Error: EmbeddedICE v7 handling might be broken
> Info : lpc2388.cpu: hardware has 2 breakpoint/watchpoint units
> 100 kHz
> Info : JTAG tap: lpc2388.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
> Info : JTAG tap: lpc2388.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
> Warn : srst pulls trst - can not reset into halted mode. Issuing halt after reset.
> target state: halted
> target halted in ARM state due to debug-request, current mode: User
> cpsr: 0x60000050 pc: 0x0000373c
> 500 kHz
> flash 'lpc2000' found at 0x00000000
> auto erase enabled
> Info : Padding image section 0 with 0 bytes
> wrote 131072 bytes from file main.elf in 5.843788s (21.904 kb/s)
> verified 117280 bytes in 1.015632s (112.768 kb/s)
> shutdown command invoked
>
> > Process Exit Code: 0
> > Time Taken: 00:10
↑JTAGKeyClone(FT2232D)では不可能だった外部12MHzのクロックでの
書き込み/ベリファイが出来てます。スピードも速くなってます。
●JTAGkey2Clone(FT2232H) with RCLK/LPC2388_Int4MHz RC
> > "C:/Devz/AVR/WinAVR/utils/bin/make.exe" program
> openocd -f C:/Devz/ARM/OCD/daemon.cfg -f C:/Devz/ARM/OCD/tcl/interface/jtagkey2.cfg -f C:/Devz/ARM/OCD/tcl/target/lpc2388_rclk_flash.cfg -c "mt_flash main.elf" -c "continue" -c "resume" -c "shutdown"
> Open On-Chip Debugger 0.5.0-dev-00145-g2a17fd9 (2010-04-08-13:41)
> Licensed under GNU GPL v2
> For bug reports, read
> http://openocd.berlios.de/doc/doxygen/bugs.html
> adapter_nsrst_delay: 100
> jtag_ntrst_delay: 100
> trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain
> RCLK - adaptive
> fast memory access is enabled
> dcc downloads are enabled
> Info : device: 6 "2232H"
> Info : deviceID: 67358712
> Info : SerialNumber: 22222222A
> Info : Description: Amontec JTAGkey-2 A
> Info : max TCK change to: 30000 kHz
> Info : RCLK (adaptive clock speed)
> Info : JTAG tap: lpc2388.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
> Info : Embedded ICE version 7
> Error: EmbeddedICE v7 handling might be broken
> Info : lpc2388.cpu: hardware has 2 breakpoint/watchpoint units
> target state: halted
> target halted in ARM state due to debug-request, current mode: User
> cpsr: 0x60000050 pc: 0x00002040
> flash 'lpc2000' found at 0x00000000
> auto erase enabled
> Info : Padding image section 0 with 0 bytes
> wrote 131072 bytes from file main.elf in 5.859412s (21.845 kb/s)
> verified 117280 bytes in 2.640642s (43.373 kb/s)
> requesting target halt and executing a soft reset
> target state: halted
> target halted in ARM state due to breakpoint, current mode: Supervisor
> cpsr: 0x600000d3 pc: 0x00000000
> shutdown command invoked
>
> > Process Exit Code: 0
> > Time Taken: 00:09
↑書き込みは少し早くなっていますが、RCLK有効でもベリファイ速度はCCLKの関係で
頭打ちになってますね。
●JTAGkey2Clone(FT2232H) with RCLK/LPC2388_EXt12MHz X'Tal
> > "C:/Devz/AVR/WinAVR/utils/bin/make.exe" program
> openocd -f C:/Devz/ARM/OCD/daemon.cfg -f C:/Devz/ARM/OCD/tcl/interface/jtagkey2.cfg -f C:/Devz/ARM/OCD/tcl/target/lpc2388_rclk_flash.cfg -c "mt_flash main.elf" -c "continue" -c "resume" -c "shutdown"
> Open On-Chip Debugger 0.5.0-dev-00145-g2a17fd9 (2010-04-08-13:41)
> Licensed under GNU GPL v2
> For bug reports, read
> http://openocd.berlios.de/doc/doxygen/bugs.html
> adapter_nsrst_delay: 100
> jtag_ntrst_delay: 100
> trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain
> RCLK - adaptive
> fast memory access is enabled
> dcc downloads are enabled
> Info : device: 6 "2232H"
> Info : deviceID: 67358712
> Info : SerialNumber: 22222222A
> Info : Description: Amontec JTAGkey-2 A
> Info : max TCK change to: 30000 kHz
> Info : RCLK (adaptive clock speed)
> Info : JTAG tap: lpc2388.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
> Info : Embedded ICE version 7
> Error: EmbeddedICE v7 handling might be broken
> Info : lpc2388.cpu: hardware has 2 breakpoint/watchpoint units
> target state: halted
> target halted in ARM state due to debug-request, current mode: User
> cpsr: 0x60000050 pc: 0x0000373c
> flash 'lpc2000' found at 0x00000000
> auto erase enabled
> Info : Padding image section 0 with 0 bytes
> wrote 131072 bytes from file main.elf in 2.765643s (46.282 kb/s)
> verified 117280 bytes in 0.921881s (124.236 kb/s)
> requesting target halt and executing a soft reset
> target state: halted
> target halted in ARM state due to breakpoint, current mode: Supervisor
> cpsr: 0x600000d3 pc: 0x00000000
> shutdown command invoked
>
> > Process Exit Code: 0
> > Time Taken: 00:04
↑ううん早い
JTAGkey2Clone+RTCKの組み合わせではJTAGKeyCloneと比べるとフラッシュ書き込み
ベリファイとも約2.7倍ほど早くなってます。LPC2388はROM容量が大きいので早いに
越したこたぁ無いですね♥これでLPC3250を迎え入れる体制ができました!
…あ、わかってます、遊ぶのはやる事やってからです…!!
ついでにLPC23xx系のマイコン使うときのTipsですが、このマイコンは電源を起動する
とフラッシュに書かれたプログラムとは関係なく先ず内蔵のブートローダーが立ち上が
ります。大まかな流れとしては以下のようにしてブートシーケンスを行うようです。
P2.10ピンの状態を読みに行く,P2.10=Lowの時
->ISP起動
P2.10=Lowではない時
->0x14にかかれたチェックサムが有効かどうか確認
チェックサム有効
->ユーザープログラム起動
チェックサム無効
->ISP起動
(本来これにCRP他も絡みますが詳細はUserManualのp606以降を参照してください)
したがってフラッシュロムに何も書かれていないとP2.10LowでなくてもISPが
起動します。このときにJTAGから書こうとするとISPのアドレスに飛ばされて
しまってうまくいかない時があります。がた老氏も同じ問題に遭遇されていましたが私も
JTAGKey2Clone使った時に初めて気づきました(JTAGKeyCloneでは出なかった)。
この問題はinit後即soft_reset_halt->フラッシュ書き込みで回避できました(OpenOCD-0.5.0)。
確証が完全にとれたらcfgファイル更新しときますね。更新しましま。
んでもって現在のOpenOCDのLPC2xxx系のフラッシュ書き込みはチェックサムを計算
して0x14番書き込んでくれる機能がありますがこれやってしまうとベリファイで引っか
かってしまいます(難儀だ)。
どうしてもベリファイしたかったらフラッシュメモリの0x14番地に割り込みベクタの
チェックサムを前もって計算してスタートアップに書き込んどくとOpenOCDからも
ベリファイすることができます
(割り込みベクタなんてほぼ固定ですしこれでも良いと思います)。
もちろんこれやる時はcfgファイル中の"calc_chacksum"は消しておくように!
-
免責・連絡先は↑のリンクを
↓SNSもやってます↓
powered by まめわざ- ARM/STM32 (116)
- OpenOCD (27)
- ARM/NxP (34)
- ARM/Cypress (5)
- ARM/Others (3)
- ARM/Raspi (1)
- AVR (13)
- FPGA (4)
- GPS/GNSS (19)
- MISC (81)
- STM8 (2)
- Wirelessなアレ (16)
- おきぱ (1)
- ブラウザベンチマーク (28)
- 日本の自然歩道 (25)
- STM32U0はぢめました
⇒ ねむい (08/07) - STM32U0はぢめました
⇒ ひかわ (07/28) - STM32H5を使ってみる3 -待ち受ける初見殺しの罠たち-
⇒ ねむい (05/17) - STM32H5を使ってみる3 -待ち受ける初見殺しの罠たち-
⇒ どじょりん (05/16) - STM32H5を使ってみる3 -待ち受ける初見殺しの罠たち-
⇒ どじょりん (05/16) - いろいろ試す61(と今年の反省会)
⇒ ねむい (01/02) - いろいろ試す61(と今年の反省会)
⇒ ひかわ (01/02) - いろいろ試す61(と今年の反省会)
⇒ ひかわ (01/01) - STM32H5を使ってみる3 -待ち受ける初見殺しの罠たち-
⇒ ねむい (12/31) - STM32H5を使ってみる3 -待ち受ける初見殺しの罠たち-
⇒ ひかわ (12/31)
- October 2024 (1)
- September 2024 (1)
- August 2024 (1)
- July 2024 (1)
- June 2024 (1)
- May 2024 (1)
- April 2024 (1)
- March 2024 (1)
- February 2024 (2)
- January 2024 (1)
- December 2023 (4)
- November 2023 (2)
- October 2023 (2)
- September 2023 (1)
- August 2023 (2)
- July 2023 (1)
- June 2023 (2)
- May 2023 (3)
- April 2023 (1)
- March 2023 (1)
- February 2023 (1)
- January 2023 (1)
- December 2022 (2)
- November 2022 (1)
- October 2022 (1)
- September 2022 (1)
- August 2022 (1)
- July 2022 (1)
- June 2022 (1)
- May 2022 (1)
- April 2022 (1)
- March 2022 (1)
- February 2022 (1)
- January 2022 (1)
- December 2021 (2)
- November 2021 (2)
- October 2021 (1)
- September 2021 (1)
- August 2021 (1)
- July 2021 (1)
- June 2021 (1)
- May 2021 (1)
- April 2021 (1)
- March 2021 (1)
- February 2021 (1)
- January 2021 (1)
- December 2020 (3)
- November 2020 (1)
- October 2020 (1)
- September 2020 (1)
- August 2020 (1)
- July 2020 (1)
- June 2020 (2)
- May 2020 (1)
- April 2020 (1)
- March 2020 (1)
- February 2020 (1)
- January 2020 (1)
- December 2019 (3)
- November 2019 (1)
- October 2019 (1)
- September 2019 (2)
- August 2019 (1)
- July 2019 (1)
- June 2019 (1)
- May 2019 (1)
- April 2019 (1)
- March 2019 (1)
- February 2019 (1)
- January 2019 (1)
- December 2018 (3)
- November 2018 (2)
- October 2018 (1)
- September 2018 (1)
- August 2018 (1)
- July 2018 (1)
- June 2018 (1)
- May 2018 (1)
- April 2018 (2)
- March 2018 (1)
- February 2018 (1)
- January 2018 (1)
- December 2017 (2)
- November 2017 (2)
- October 2017 (1)
- September 2017 (1)
- August 2017 (1)
- July 2017 (1)
- June 2017 (1)
- May 2017 (1)
- April 2017 (1)
- March 2017 (2)
- February 2017 (2)
- January 2017 (2)
- December 2016 (7)
- November 2016 (2)
- October 2016 (2)
- September 2016 (1)
- August 2016 (1)
- July 2016 (1)
- June 2016 (1)
- May 2016 (2)
- April 2016 (1)
- March 2016 (2)
- February 2016 (1)
- January 2016 (1)
- December 2015 (3)
- November 2015 (1)
- October 2015 (3)
- September 2015 (2)
- August 2015 (2)
- July 2015 (3)
- June 2015 (3)
- May 2015 (4)
- April 2015 (2)
- March 2015 (4)
- February 2015 (1)
- January 2015 (3)
- December 2014 (3)
- November 2014 (2)
- October 2014 (1)
- September 2014 (2)
- August 2014 (2)
- July 2014 (3)
- June 2014 (2)
- May 2014 (1)
- April 2014 (1)
- March 2014 (4)
- February 2014 (4)
- January 2014 (3)
- December 2013 (5)
- November 2013 (4)
- October 2013 (3)
- September 2013 (2)
- August 2013 (2)
- July 2013 (2)
- June 2013 (3)
- May 2013 (2)
- April 2013 (2)
- March 2013 (2)
- February 2013 (2)
- January 2013 (3)
- December 2012 (4)
- November 2012 (2)
- October 2012 (2)
- September 2012 (4)
- August 2012 (1)
- July 2012 (3)
- June 2012 (2)
- May 2012 (3)
- April 2012 (3)
- March 2012 (2)
- February 2012 (3)
- January 2012 (3)
- December 2011 (5)
- November 2011 (3)
- October 2011 (2)
- September 2011 (2)
- August 2011 (2)
- July 2011 (2)
- June 2011 (2)
- May 2011 (2)
- April 2011 (2)
- March 2011 (2)
- February 2011 (2)
- January 2011 (3)
- December 2010 (7)
- November 2010 (1)
- October 2010 (1)
- September 2010 (1)
- August 2010 (3)
- July 2010 (4)
- May 2010 (1)
- April 2010 (2)
- March 2010 (2)
- February 2010 (2)
- January 2010 (3)
- December 2009 (3)
- November 2009 (8)
- October 2009 (7)
- September 2009 (5)
- August 2009 (4)
- July 2009 (6)
- June 2009 (6)
- May 2009 (14)
- January 1970 (1)
Copyright(C) B-Blog project All rights reserved.
Comments
Post a Comment