Senshu LAB
サイト内検索: AND検索 OR検索  


Counter: 15150, today: 2, yesterday: 5
Table of Contents

pic18spxの問題点(対策完了)

  • senshu 2011-07-27 (水) 13:24:06

    私が確認した問題点を書きます。

    × USBコネクタを抜き差しした時に、pic18spxが認識されない場合がある。
    → pic18spxのRESETスイッチを押下すると利用可能になるので、RESETが
     うまく発行できないことがあると予想します。

    当面の対応は、「認識されない場合には、RESETスイッチを押下する」です。

    また、一度認識されなくなると、RESETスイッチの操作でも認識されず、OSの
    再起動が必要になる場合もありました。原因は不明ですが、私のPCとpic18spx
    の相性は万全とは言えないようです。

    これは、類似の回路規模を持つUSBaspとその関連のライタでは発生しません。
    Microchip社製のUSBライブラリを更新すべきかもしれません。

現行のpic18spxにはリセットSWが必要

  • kuman? 2011-07-27 (水) 14:50:33
    特定のハブに接続していますが、pic18spxをつないだままPCをスタンバイ状態に
    して、そこから立ち上げると確実に認識しません。
    このライタにはリセットスイッチは必需と考えています。

    抜き挿しでもよいのかもしれませんがめんどうです。
    なお、リセットスイッチの動作とPCの反応がずれますので、windowsの音により
    判断しています。
  • senshu 2011-07-27 (水) 15:20:17
    kumanさん、こんにちは。
    抜き挿しでもよいのかもしれませんがめんどうです。
    ↑でも書きましたが、pic18spxの抜き差しやRESET SWの操作でも解決できない場合
    があります。私はAVRマイコンを使った作品の開発中に何度かこの不具合に遭遇した
    ので、 今のところpic18spxを積極的に使う気になれません。

    Watchdogタイマーを利用すれば改善できると思いますが、BootLoaderの関係もあり、
    未だ解決できていません。近いうちにirukaさんに相談してみたいと思います。
  • kuga? 2011-07-27 (水) 17:23:12
    pic18spx-firmware.zip を眺めましたが
    18F14K50用のconfig は ブラウンアウトリセットが有効になっていません。
    kumanさんのトラブルはこれを有効にするだけで解決しませんかね。

CONFIG設定状況

  • senshu 2011-07-27 (水) 17:29:28
    kugaさん、こんにちは。

    このファームは、picbootで書き込みを行います。picbootではCONFIG情報が設定
    されていてもブラウンアウトなどの情報は書き込まれず、読み飛ばします。
    ただし、ご指摘のように、HEXファイルをPIC用のライタで書き込む場合には、
    この指定は不完全なので修正します。

    動作時のCONFIGはブートローダの設定を継承します。この内容は以下の通りです。
    ここではBOREN = ONが指定されています。
    ;--------------------------------------------------------------------------
    	CONFIG	PLLEN  = ON		; Oscillator multiplied by 4
    	CONFIG  CPUDIV = NOCLKDIV	; CPU_clk = PLL
    	CONFIG 	USBDIV = OFF		; USB Clock comes directly from the OSC1/OSC2 oscillator
    	CONFIG 	FOSC   = HS		; HS oscillator
    	CONFIG 	PCLKEN = ON             ; Primary clock enabled
    	CONFIG  IESO   = OFF		; Int/Ext switchover mode
    	CONFIG  PWRTEN = ON		; PowerUp Timer
    	CONFIG  BOREN  = ON		; Brown Out
    	CONFIG  BORV   = 27             ; Brown Out Voltage: VBOR set to 2.7 V nominal
    	CONFIG  WDTEN  = OFF		; WatchDog Timer
    	CONFIG  MCLRE  = ON		; MCLR pin enabled, RE3 input pin disabled
    	CONFIG  STVREN = ON		; Stack Overflow Reset
    	CONFIG  LVP    = OFF		; Low Voltage Programming
    
    ;   Extended Instruction Set Enable bit:
    ;下記の記述には特に注意すること。
    	CONFIG  XINST = OFF			; Ext CPU Instruction Set
    ;
    ;;Bootloaderは XINSTのON/OFFに関わらず動作するが、bootloaderが動かすプログラムは
    ;;XINST がOn か Offかで動作したりしなかったりする。(書き方による)
    ;;特に、sdccで作成したプログラムは全て XINST=OFF でないと意味不明の動作をする。
    ;;拡張命令(addfsr,subfsr等)や、FSR2相対アドレス( AccessBank代替 )を使用する
    ;;プログラムでは必ず XINST=ONで焼かなければならない。
    
    ;   Code Protection bit:
    	CONFIG  CP0 = OFF			; Code Protect
    	CONFIG  CP1 = OFF
    ;   Boot Block Size Select Bit:
    ;     BBSIZ = OFF          1kW boot block size
    ;     BBSIZ = ON           2kW boot block size
    ;   Boot Block Code Protection bit:
    	CONFIG  CPB = OFF  			; Boot Sect Code Protect
    	CONFIG  CPD = OFF  			; EEPROM Data Protect
    ;   Write Protection bit:
    	CONFIG  WRT0 = OFF 			; Table Write Protect
    	CONFIG  WRT1 = OFF
    ;	CONFIG  WRTB = ON  			; Boot Table Write Protect
    	CONFIG  WRTB = OFF  			; Boot Table Write Protect
    	CONFIG  WRTC = OFF 			; CONFIG Write Protect
    	CONFIG  WRTD = OFF 			; EEPROM Write Protect
    ;   Table Read Protection bit:
    	CONFIG  EBTR0 = OFF			; Ext Table Read Protect
    	CONFIG  EBTR1 = OFF
    	CONFIG  EBTRB = OFF			; Boot Table Read Protect
    ;[EOF]

ウォッチドッグタイマーで解決

  • senshu 2011-07-28 (木) 09:04:52
    プログラムの変更点を最小限にするため、
    1. BootloaderにてWDTPS  = 512 (約2秒間)... ウォッチドッグタイマーを設定
    2. ファームウェア側で WDTCONbits.SWDTE = 1; を設定
    3. ClrWdt()を各所(時間のかかる処理やmainループ)に挿入
    この修正で、上記の問題は改善しました。

    USBポートポーリングが実行されなくなり2秒間を経過するとリセットが行われます。
    その結果「動かなかった時にはRESETスイッチを押す」という操作は不要になり、
    USBコネクタの抜き差しを行った時も、この処理が行われるため電源の再投入と同じ
    結果が期待できます。

    さらにLEDも、PCに接続された場合には高速で明滅し、接続に失敗している時には
    点灯(あるいは滅灯)するので、目視で動作を確認できるようにしました。

    これで以前より安定した動作が期待できますが、BootLoaderも書き換える必要が
    あります。ただし、pic18spxのファームのみを書き換えた場合でも、LEDの明滅で
    状態がわかるというメリットは得られます。

ファームを入れ替えてみました

  • ばんと? 2011-07-28 (木) 12:09:59
    今回のトラブル遭遇したことがないので対処出来たかどうか分からないので、
    テスト報告ができないのが心苦しいですが、ブートローダ及びライタ・モニタ
    ファームを入れ替えてみました。

    緑LEDは高速で点滅するのですね。了解しました。

不具合の再現方法

  • senshu 2011-07-28 (木) 12:22:38
    ばんとさん、こんにちは。

    pic18spxの不具合は「ターゲットAVRを別電源で動作させ、pic18spxのUSBコネクタを
    抜き差しする」で再現できると思います。修正前は抜き差し後に操作不能になります
    が、修正後は自動的に再接続が行われます。
    緑LEDは高速で点滅するのですね。了解しました。
    LEDの点滅はUSBのポーリング中の片手間に行うので、他に仕事がある時には点滅の
    周期は遅くなります。また、PCとの接続に問題がある場合には点滅しませんので、
    明滅は接続モニタ(完全ではありません)的な利用が可能です。

    USBSerialファームについては確認してみます。

    【追記】
    irukaさんの改定作業は2011年7月11日でした。期せずして、似た時期に改定を
    行ったことになります。私も、AVRminiProgのソース不具合を数年後に見つけま
    した。

モード切り替えの流れ(各スイッチの働き)

  • senshu 2011-07-29 (金) 21:38:59
    現在のところ、usb serial変換モードからpicmonに戻る仕組みがありません。
    そのため、RESETスイッチを使ってモードを切り替える必要があります。
    usbserialとAVRライタ機能を使い分けるなら、RESETスイッチは必須です。
    現在のモードの切り替えシーケンス
    1. POWER ONでBootLoader起動(ブートSWが押されていれば、ローダに留まる)
    2. BootLoaderは0x0800に書かれたアプリを起動(通常はpicmon)、あるいは
       EEPROMのFF番地に 2Aが書かれていれば、2A00番地にあるアプリを起動
    3.picmonにて、boot 2a00を実行すれば、2a00番地のアプリを起動
    2a00番地のアプリから、bootloaderに戻る仕組みがあれば、RESETスイッチは
    不要になります。適当なエスケープシーケンスを導入するのも一案ですが、
    その方法が確立していません。

    現行のスイッチによる方法が最も簡単で確実です。

bootスイッチで起動アプリが入れ替わると便利

  • ばんと? 2011-08-01 (月) 21:34:07
    bootスイッチで起動アプリが入れ替わると便利と思うのですが…
    ライタモニタファームが起動されてたらシリアルファームを、シリアル
    ファームが起動されてたらライタモニタファームを起動する。

2つのAppを選択起動を実現【2011-0812更新】

  • senshu 2011-08-05 (木) 12:47:12

    pic18spxには、ライタとUSBシリアルの2つの機能があります。ソフトで切り替えること
    も可能ですが、複数のOS用に切り替えの仕組みを用意する必要があり、簡単な操作で
    切り替えることができると便利です。そこで、Boot SW操作でusbserialを起動可能に
    してみました。

    RESET直後、RC1 LED(私の場合は赤色LED)が約1秒間点灯時にBoot SWを押下(最初から
    SWを押下するとBootloaderが起動)すると、usbserialを起動できます。

    SW操作を行わなければpicmonが起動(今までと同様)し、またEEPROMを設定すれば
    usbserialを優先して起動もできます。SW検出に1秒程度割り当てたので、picmonの
    起動が遅くなりますが利便性は向上しています。なおメモリに余裕が無いので、
    0x2a00以降のファームの有無は未チェックです。

    Bootloader, pic18spx, usbserial 一式 → 評価ファイル?
    ※ bootloader用のHEXファイルを追加しました。

    0729版との違いは、pic18spxのfirmwareのみです。picbootでfirmwareを更新します。
    使ってみての感想をお寄せください。

Flashメモリに空きがない

  • senshu 2011-08-05 (金) 17:22:07
    8/5のファーム変更で、以下のようなメモリ利用状況となりました。これからも
    わかるようにPIC18F14k50のflashメモリ(16kB)は空がありません。不具合修正や
    拡張のためのエリヤがほとんど残っていない点が心配です。
    bootloader (000000 - 000673)
    picmon     (000800 - 0029FA) 
    usbserial (002A00 - 003F7B)

Ubuntuでのシリアル変換に便利

  • ばんと? 2011-08-10 (水) 17:26:10
    シリアルに変更する時のボタンを押すタイミングが少し難しいですが、慣れれば
    問題なくできると思います。

    ボタンの操作でシリアルに移行できると、picmonがない、つまりWindows以外の
    環境でpic18spxをシリアル(変換器)で使いたいとき便利です。

    早速Ubuntuでシリアルとして使ってみたところ、便利に利用できました。

    要望にお応えいただきありがとうございました。
  • senshu 2011-08-10 (水) 17:35:48
    ばんとさん、試用報告に感謝します。

    これ以上時間待ちを増やすと、多用する(と思われる)picmonの起動時間が
    遅くなり、ウォッチドッグタイマーによるRESETにも同様に影響します。

    私は、何種類かの時間待ちをテストし、妥当と思われる時間を設定しました。
    「赤色LEDの点灯中のみ切り替えが有効」なので、目でSW押下のタイミングを
    確認できます。迅速に応答するので、SW操作は難しくないと思います。

pic18spx-0805の報告

  • kuman? 2011-08-12 (金) 16:10:19
    pic18spx-0805についての報告です。

    picmon-18F14K50.hex(2011/08/05)とcdc-18F14K50.hex(2011/07/29)を、2台のライタ
    /シリアル変換切替機と1台のライタ専用機(picmonのみ)に書き込みました。

    3台とも正常に起動するのですが、兼用機の1台はシリアルが不安定で2〜3分くら
    いでライタ機能に変わってしまいます。原因は不明です。他の1台は安定しています。
    PCを使わずに切り替えできるのは便利になったと思います。(切替の手間よりも
    専用機を用意する方が精神的にラクですからそれぞれの専用機を使っていました)。

    通信状態でのLEDの点滅は興味がないのですが、ライタ/シリアルのパイロットラン
    プはよいと思いました。
    ライタ専用機ではリセットボタンを押さなくてもPCのスタンバイから起動できる
    ようになりました。

    bootloaderも変わったと読んでいましたのでhexファイルを探したのですが-0805版には
    ないようで困りましたが、DLしてあった-0729版にありましたので使いました。
    検索できなかったのですが-0729版はどこにあるのでしょうか。

    些細なことですが、usbserial_2a00\readme.txtに serial.hex・・・焼いて使えます と
    いう記述が残っていますがこのファイルは含まれていないようです。
    pic18spxの改良が落ち着きましたら、3種のhexファイルと2種のexeファイル(picboot,
    picwrite)をまとめて入れていただけると紹介しやすくなります。
    なお、-0805に含まれる14k50.hex(36kB)はどのようなファイルか教えてください。
    readmeには記述がないようです。

pic18spx-0812に更新

  • senshu 2011-08-12 (金) 17:18:28
    kumanさん、ご報告に感謝します。こうした報告があれば、完成度を高めることが
    できます。

    3台とも正常に起動するのですが、兼用機のうちの1台だけはシリアルが不安定で
    2〜3分くらいでライタ機能に変わってしまいます。原因は不明です。他の1台は
    安定しています。
    不安定なのは、ハードウェアに原因があると思います。専用機ではRESETが起きても
    その不具合を確認できないでいたのかもしれません。
    PCを使わずに切り替えできるのは便利になったと思います。(切替の手間よりも
    専用機を用意する方が精神的にラクですからそれぞれの専用機を使っていました)。
    通信状態でのLEDの点滅は興味がないのですが、ライタ/シリアルのパイロットラン
    プはよいと思いました。
    目視で状態をモニタできる機能は重要です。複数の機能があるなら、モードを確認
    できる機能は必須で、確実に操作できます。
    2つのアプリを書き込んでも、EEPROMの設定でusbserial優先起動を設定すれば、
    専用機としても使用できます。
    ライタ専用機ではリセットボタンを押さなくてもPCのスタンバイから起動できる
    ようになりました。
    今回の改定はこれが目玉です。現在の動作が本来あるべき姿と考えます。
    今まで問題にならなかったのは、おそらく利用者が限られていた為です。私自身、
    この不具合を確認してから(2010年5月ごろ)利用を中断していました。この改良で
    メイン書き込みツールに昇格?する可能性がでてきました(^_^)/。
    bootladerも変わったと読んでいましたのでhexファイルを探したのですが-0805版には
    ないようで困りましたが、DLしてあった-0729版にありましたので使いました。
    検索できなかったのですが-0729版はどこにあるのでしょうか。
    ソースが付属するので、MPLABを利用できれば自分でビルドできますが、配慮不足で
    した。またBootloaderを書き換えなければ、picmonの不具合は改善はできません。
    内容を見なおし、pic18spx-0812.zip に差し替えました。また、0729版と同じく、
    binフォルダにHEXファイルをまとめましたので、フォルダを移動する手間が省けます。
    些細なことですが、usbserial_2a00\readme.txtに serial.hex・・・焼いて使えます と
    いう記述が残っていますがこのファイルは含まれていないようです。
    pic18spxの改良が落ち着きましたら、3種のhexファイルと2種のexeファイル(picboot,
    picwrite)をまとめて入れていただけると紹介しやすくなります。
    なお、-0805に含まれる14k50.hex(36kB)はどのようなファイルか教えてください。
    readmeには記述がないようです。
    14k50.hex(36kB)は、picmon+usbserial です。このHEXをpicbootを使って書き込めば
    出せば、2つの機能を利用可能になります。

追加報告

  • kuman? 2011-08-13 (土) 11:29:40
    >兼用機のうちの1台だけはシリアルが不安定で・・・
    時間をかけてハードを点検したのですが改善されず、他のpic18spxを用いて全消去の後
    3つのファイルを書き換えました。最終的には、安定して動作するようになりました。
  • senshu 2011-08-13 (土) 12:36:05
    安定になってよかったですね。

    ただし、「firmwareを書き換えて安定になった、ということはfirmwareが上手く書き
    こめていなかった」ということになり、この点が気になります。picbootコマンドは
    verifyが使えるので、書き換え前に照合してみればよかったと思います。

    なお、firmwareは全て今回提供しているものを組み合わせてください。特にbootloader
    設定に違いがあるので、混用はトラブルの元になります。ご注意ください。

usbserialの優先起動を実験

  • kuman? 2011-08-13 (土) 16:10:51
    0812版で、シリアル専用機に設定して、その後戻しました。
    次の操作を行いました。

    シリアル変換専用機にする方法(EEPROMのffに2aを書き込む)
    リセットで2a00番地から実行される。
    picmonモード(ライタモード)で(loaderモードでも可?)
    >picmon
    TARGET DEV_ID=14 VER=1.1
    PIC> dr ff ff                //ff番地を表示せよ
    0000ff ff ff ff ff ff ff ff ff  ........  //内容はff
    PIC> er ff 2a                //ff番地に2aを書き込む
    PIC> dr ff ff                //確認
    0000ff 2a ff ff ff ff ff ff ff  *.......  //2aが書かれた
    PIC> q
    Bye.

    ただし、スイッチ操作だけでライタモードにすることはできません。
    元に戻すには loader起動モードで EEPROMのff番地にffを書き込む。
    >picmon
    TARGET DEV_ID=14 VER=1.1(Bootloader)
    PIC> dr ff ff
    0000ff 2a ff ff ff ff ff ff ff  *.......
    PIC> er ff ff
    PIC> dr ff ff
    0000ff ff ff ff ff ff ff ff ff  ........
    PIC> q
    Bye.
  • senshu 2011-08-14 (日) 10:07:08
    ただし、スイッチ操作だけでライタモードにすることはできません。
    usbserial専用での動作は、利用者の希望に沿った動作です。
    picmonモード(ライタモード)で(loaderモードでも可?)
    USBserialを通常に戻したい場合はloaderモードで変更してください。

  • kuman? 2011-08-14 (日) 12:20:46
    了解しました。ありがとうございます。
    EEPROMの0xff番地の書き換えはloaderモードで設定します。リセット+boot
    スイッチonでloaderモードに移行すれば、picmonでいつでも変更できますね。
  • senshu 2011-08-14 (日) 16:48:39
    picmonが使えない環境では変更ができません。また、EEPROMでの優先起動はpicmon
    中のコードで実行します。picmonファームを書き込まない場合にはこの設定は無効
    です。
    しかし、picbootで-sXXXXオプションを指定すれば、任意の実行開始番地をflash
    メモリに固定できます。
    * PICboot Ver 0.2 (Apr  2 2010)
    Usage is
      picboot.exe [Options] hexfile.hex
    Options
      -p[:XXXX]   ...  Select serial number (default=*).
      -r          ...  Run after write.
      -v          ...  Verify.
      -E          ...  Erase.
      -rp         ...  Read program area.
      -B          ...  Allow Bootloader Area to Write / Read !.
      -sXXXX      ...  Set program start address. (default=0800)

不具合を修正しました

pic18spxとusbserialの共存

  • senshu 2011-07-28 (木) 19:27:06
    一年以上経過しているので、デバッグの勘が取り戻せません。

    0x0800から格納するファームは動作するのですが、0x2a00から動作する
    ファームが機能しません。

    割り込みベクタの関係かもしれませんが、以前はどう扱っていたのか、、
    当時のソースをベースにしているのになぜか動作しないのです。

    ちょっと少休止です。

動作するのは、割り込みを使わない場合です

  • iruka? 2011-07-28 (木) 20:06:45
    0x0800から格納するファームは動作するのですが、0x2a00から動作する
    ファームが機能しません。

    pic18bootは割り込みベクターを0x808と0x818にjmpさせていますが、0x2a08に
    jmpさせるには、0x808番地に jmp 0x2a08 のような命令を埋めないとうまく
    いきません。

    picmonのboot命令でたまたま2a00のコードが動くのは、割り込みを使っていない
    場合に限られます

ウォッチドッグタイマの影響

  • senshu 2011-07-28 (木) 20:14:53
    irukaさん、お久しぶりです。

    現在は、一連の作品のリファクタリング中です。その成果で、いくつかの改良が
    実現できました。確かに割り込みベクタは大きな問題です。

    【追記】

    picmon対応ファームは、WDTCONbits.SWDTE = 1 で動作しています。この状態で
    usbserialに処理が移行しますが、usbserialではウォッチドッグタイマを考慮し
    た処理を行っていません。

    ユーザープログラムに移行する時には、SWDTE = 0を設定するようにしてみます。

usbserialの問題解決

  • senshu 2011-07-29 (金) 12:11:59
    SWDTE = 0の追加後、usbserialが動作するようになりました。

    これ以外にも操作ミスがありました。picmonの操作でpicmon で run 2a00 と
    していた点です。

    picmon で boot 2a00 と入力しなければ、USBが切り離されず、CDCデバイスの
    認識が行われませんでした。(コードの増大により実行番地が変わりました)

pic18spx用ファームを改良

  • senshu 2011-07-29 (金) 13:30:12
    pic18spxのファームを修正し、EEPROMの設定にてRESET後にアプリの起動を可能
    にしました。usbserialも起動できます。この機能があれば、USBserial変換器と
    しての利用が可能になります。

    BootLoaderモードにて設定変更が可能であり、柔軟な対応ができます。
    irukaさんの手になる「usbserial 2011-0710の変更」も反映しました。

    ここ数日で「BootLoader, usbserial, picmon の三種類のファームウェア」を
    変更しました。テスト可能な方は、動作確認にご協力ください。

    なお、usbserialは割り込みを使わないのでpicmonファームとの重複はありません。
    そのため、picmonの書き込み後も、picbootで追加書き込み可能です。
  • ばんと? 2011-07-31 (日) 08:48:14
    pic18spxの報告です。

    ファームを入れ替えてテストしてみました。
    前回のフォームでは、古いシリアルファームがリブートする現象がありましたが
    ウォッチドッグ設定で治りました。

    ライタの動作に関しては、当方がテストした範囲では問題は無さそうです。
    ただしシリアルのテスト環境(ターゲット)が今手元ないのでテストできません
    でした。中途半端な報告で申し訳ございません。

変更は「64バイトを超える書き込み対策のみ」

  • senshu 2011-07-31 (日) 11:06:23
    前回のフォームでは、古いシリアルファームがリブートする
    現象がありましたがウォッチドッグ設定で治りました。
    今回のusbserialのファームは「ウォッチドッグ設定」には対応しておりません。
    64バイトを超える書き込み対策が主たる変更点です。

    usbserialの動作テストには、ターゲットは不要です。

    w32termを利用すれば、任意のBPSで動作テストが実施できます。
    RX-TXを接続し、お試しください。

もう一つの気になっている点

  • senshu 2011-07-28 (木) 21:29:13
    ウォッチドッグタイマを追加したpic18spx(YCIT版)で気になっている点があります。

    picmonで bench テストを行うと、時々ライトエラーになることがあります。
    しかし、何度か試行するとエラーはなくなり、その後、しばらくはエラーに
    なりません。対策は検討中ですが、実行中にClrWdtマクロによるカウンタのリセット
    が適切に行われないのが原因と考えられます。他のコマンドでも類似の現象が起きる
    可能性がありますので、再点検してみます。

    なお、pic18spxをAVRライタとして使う場合には、この問題は表面化しません。
    picmonでモニタ機能を駆使する場合の問題点です。

  • senshu 2011-08-01 (月) 06:53:52
    0729版では、ClrWdtマクロを挿入する箇所を見直しました。

    修正後は、(今のところ)意図しないエラーの発生は確認しておりません。

pic18spxのその後

senshu (2011-06-09 (木) 13:42:43)

pic18spx誕生から一年経過が経過しました。

HIDaspxに比べて多数の機能を有しますが、未だに普及した感はありません。

普及には、性能や機能以外の要素があるのかもしれません。


pic18blaster(OpenOCD対応)が公開されました

  • senshu 2010-10-15 (金) 07:05:08

    irukaさんのサイトで、pic18spxをJTAGケーブル化する試みが公開されています。

    ・PIC18spxを使って、OpenOCDのJTAGアダプターを実現
    ・ファームを更新すれば、既存の機能はそのままに、OpenOCD対応となる
    ・高速化も完了

    かなり魅力的な内容です。pic18spxをお持ちで,JTAG対応を希望する方は,
    ぜひお試しください。
    pic18blaster
    http://hp.vector.co.jp/authors/VA000177/html/pic18blaster.html


USB-シリアル

宮前? (2010-04-26 (月) 10:58:53)

AVRに書き込んだ後、USB差し込んだまま簡単な操作でUSB-シリアルとして
使用できるんでしょうか? ターミナルソフトでテストしたい場合など。
(HIDaspxとhidspxではできませんよね(以前試みました))
説明など全く読んでいません。(すみません)


  • senshu 2010-04-26 (月) 13:52:20
    AVRに書き込んだ後、USB差し込んだまま簡単な操作でUSB-シリアル
    として使用できるんでしょうか? ターミナルソフトでテストしたい場合など。
    HIDaspxでこうした使い方をするには、2種類のファームを書き込んだ、2台の
    HIDaspxが必要です。HIDaspxが採用しているATTiny2313は、わずか2kBのメモリし
    かないので、両方の機能を同時に実現するのは不可能です。2台のHIDaspxを用意し
    ても、CDCクラスは特定のOS(Windows XP)でしか上手く機能しないので、一般の方
    にはお薦めできません。

    しかし、pic18spxでは一台のpic18spxだけでこうした利用が可能です。
    pic18F14k50には、16kBフラッシュとUSB I/Fが内蔵されており、一般的な方法で
    実現(しかも高速)できます。

    V-USBとは異なり、USB 2.0規格に準拠しているのでCDCクラスを利用した場合でも、
    HUB経由の利用でもトラブルなく機能します。AVRマイコンでないのが残念ですが、
    希望の性能と機能が実現できるなら、マイコンはどれでもよいのです。
    コストもHIDaspxと変わりませんので、今後、pic18spxを推奨したいと考えています。

  • 宮前? 2010-04-26 (月) 14:47:01
    kumanさんのサイトに分かりやすく書いてありました。
    http://www.geocities.jp/kuman2600/o19pic18spx.html#01
  • senshu 2010-04-26 (月) 15:35:40
    kumanさんのサイトの情報は、irukaさんとこのサイトからの情報をkumanさん流に
    平易に解説したものです。これはお願いですが、わかり易い記述にしたいと思いま
    すので、改善すべき点などを具体的に書いてください。

    このサイトでは、開発経過を詳細に書いており、一般的な利用時に必要な情報が
    わかりにくいことがあります。しかし、こうした努力の末にモノが作られること
    をご理解ください。

    pic18spxの主な特徴