ATMEL AVR関連の情報交換にお使いください。


お名前:
題名:
合言葉:

ARMマイコンボードのお勧めは?

senshu? (2010-08-27 (Fri) 20:41:34)

廉価に購入可能なARMマイコンボードがたくさんあって迷っています.

ある程度の数量を購入するので,使いでのあるものを求めたいのです.
irukaさんの使った中から,C/Pに優れたものを教えてください.

よろしくお願いいたします.

  • senshuさん、こんばんは。C/Pに優れて在庫ありというとSTBeeかSTBeeMiniは
  • いかがでしょうか。いずれもArduinoより安いです。 -- iruka? : 2010-08-28 (Sat) 00:59:06

  • 了解です。
  • いよいよARM用のArduino IDEもどきが必要になってきました。 -- senshu? : 2010-08-28 (Sat) 01:42:03
    あなたの名前: 合言葉

avrdude-2010-0825版を公開

senshu? (2010-08-25 (Wed) 11:20:39)

ARMで盛り上がっているのに今更の感がありますが、avrdude, avr-dude-GUI
を更新しました。通信ソフトの事実上の標準「TeraTerm? Pro」との連携機能
を追加しました。ここで公開しています。

これにより、FTDI社のUSB変換モジュールとAVRマイコンチップ、そしてArduino
IDEがあれば、ある程度の開発を開始できるようになりました。

利用者自身の努力とわずかなコストで開発を開始できる環境は貴重です。

あなたの名前: 合言葉

16kBの(USB-MSD)BOOTROMをライブラリとして利用する。

kuga? (2010-08-24 (Tue) 21:19:06)

これは興味深いですね。
HIDしかサポートできないだろうというのが、ちと残念ですが・・

  • usbhid_romというのとusbmsd_romというのがあります。元々BOOTROMはMSD(マス
  • ストレージデバイス)としてFlashROMを見せている仕掛けです。cdc_romはサンプル
    には含まれていないようです。 -- iruka? : 2010-08-24 (Tue) 23:40:58

  • サンプルソースはNXPのLPCXpressoサポートページからDLして入手しました。
  • (基板にはCDROM等付属していません) -- iruka? : 2010-08-24 (Tue) 23:42:30

あなたの名前: 合言葉

テスト書き込み

ノンノ? (2010-08-18 (Wed) 19:31:49)

irukaさん初めまして。

なまえをいれて・・こわっ

  • ノンノさん、こんにちは。気軽に書き込んでください。 -- iruka? : 2010-08-18 (Wed) 19:36:50
  • あなたの名前: 合言葉

pic18spx

kuman? (2010-08-16 (Mon) 14:16:08)

irukaさん、こんにちは。 ご無沙汰しています。 kumanです。
pic18spxの復習をしていましたが、時間がかかってしまいました。
ライタ、USB-シリアル変換器ともに素晴らしい作品だと思うのですが話題になる
ことは少ないようです。
豊富な機能が操作を複雑にしているために利用しにくいのではないかと思うのです
がいかがでしょうか。

私のようにライタとして、あるいは変換器として使うときはできるだけ簡単な
操作を期待します。
リセットボタンでライタとして働く(現状でOKです)ライタと
リセットボタンで変換器として働く変換器、すなわち単能機がほしいのです。
800番地から実行するUSB-シリアル変換プログラム(できれば重複したCOMポートを
作らないシリアル番号のあるもの)を作製していただけると、ライタも変換器も
扱いやすくなって使ってみようという方が増えるのではないでしょうか。
みなさん方に勧めたい作品と思っています。
お忙しいことと思いますが、お考えいただきますようお願いします。

  • kumanさん、おひさしぶりです。シリアル番号入りのusb-serialですね。
  • やってみます。暫くお待ちください。 -- iruka? : 2010-08-16 (Mon) 18:07:10

  • かなり前にEEPROMの特定番地にシリアル番号(HIDとシリアルはクラスが異なるので、
  • 同じ番号でも区別されます)を登録できる(つまりmonitorで任意に変更可能)パッチ
    を作成し、irukaさんに提供し、反映していただいていたと記憶していますが、
    違ったかな。 -- senshu? : 2010-08-16 (Mon) 18:53:59

  • 差分はここです。 -- senshu? : 2010-08-16 (Mon) 19:01:12

  • ありがとうございます。ユーザー名とパスワードが無いと見られない....  -- kuman? : 2010-08-16 (Mon) 20:00:00

  • 期待通りの結果が得られました。追って報告します。多謝 -- kuman? : 2010-08-17 (Tue) 11:32:55

  • usbtool listでシリアル番号を確認できます. -- senshu? : 2010-08-18 (Wed) 13:44:59

  • >usbtool list で何も返りません。どのような環境が必要でしょうか。 -- kuman? : 2010-08-18 (Wed) 17:58:00

  • kumanさん、zipの転載はどうぞご自由に。許可なんていりません。(といっても、
  • 元はMicroChip?のサンプルソースなだけなんですけれど・・・) -- iruka? : 2010-08-18 (Wed) 19:39:07

  • それから、DTRは一応制御入ってたと思います。PINは忘れましたけど(ソースかReadMe?
  • にあります)。ただArduinoでは逆極性ですが。 -- iruka? : 2010-08-18 (Wed) 19:42:33

  • usbtool listで何も表示されないのは、libusb-win32がインストールされて
  • いない場合が考えられます。 -- senshu? : 2010-08-18 (Wed) 22:04:32

  • usbtoolについて:libusb-win32のインストールを確認しましたがやはり
  • なにも返りませんでした。
    cdc-18F14K50.hex(800番地)のソースファイルにDTR関係の記述はないようです。
    mchip-cdc14k2.zipのソースには記述があります。
    ところで、cdc-18F14K50.hex(2c00番地)は公表されていますが、シリアル番号は
    無いようです。シリアル番号のある2a00番地のものは08-16ファイルのソースに
    含まれていますが、hexファイルはまだ公開されていないと思います。
    お手数ですが公開をお願いします。 -- kuman? : 2010-08-19 (Thu) 13:00:02

  • 改行のために チルダ を入れたのですがうまく行きません。 -- kuman? : 2010-08-19 (Thu) 13:01:58

  • irukaさんへ、usbtool listを試していただけますか? -- senshu? : 2010-08-19 (Thu) 20:59:27

  • >usbtool list は私のところでは改行するだけで何も出ません。hidaspxを
  • 接続してテストしました。 -- iruka? : 2010-08-19 (Thu) 21:11:52

  • libusb-win32のバージョンはいくつですか? hidspx -pu?で確認できます。
  • 可能なら、usbtool listのソースを使って
    改行のみを出力する理由を突き止めてもらえるとうれしいです。
    私の環境では、数台のマシンで確認する限り、どれも意図したように動作する
    のでDEBUGできないのです。usbtoolのソースはhidspxに同梱しています。 -- senshu? : 2010-08-19 (Thu) 21:25:16

  • たぶん、libusbが古いのだと思います。
 C:\Documents and Settings>hidspx -pu?
 libusb-win32 :
  DLL(libusb0.dll)    version: 0.1.12.1
  Driver(libusb0.sys) version: -1.-1.-1.-1
 
 *** Warning : DLL, Driver Version mismatch ***
 hidspx: did not find any USBasp device
その後、libusbを最新にしたら、以下のようになりました。
 C:\WINDOWS\system32>hidspx -pu?
 libusb-win32 :
  DLL(libusb0.dll)    version: 1.2.1.0
  Driver(libusb0.sys) version: -1.-1.-1.-1
 
  *** Warning : DLL, Driver Version mismatch ***
 hidspx: did not find any USBasp device
 
 C:\WINDOWS\system32>
 C:\WINDOWS\system32>usbtool list
 
 C:\WINDOWS\system32>
usbtoolは相変わらず何も表示してくれません。hidspxは繋がっています。
 C:\WINDOWS\system32>hidspx -ph?
 VID=16c0, PID=05df, [  YCIT], [HIDaspx], serial=[0000] (*)
libusbは手動でコピーしたので、少しおかしいですが、こんな感じです。
 C:\WINDOWS\system32>where -l libusb*.*
 2010-07-28 19:20:28        46528 libusb0.dll
 2010-07-28 19:20:28        46528 libusb0_x86.dll
 2010-07-28 19:20:26        35008 drivers/libusb0.sys

usbtoolのデバッグのしかたが良く分からないのですが、もしかしてlibusbを
フィルタードライバーにするとかしない限り、libusbが管理しているデバイス
しか列挙できないのではないでしょうか?
hidaspxはHIDデバイスなのでlibusb管理下にはないと思います。-- iruka? : 2010-08-19 (Thu) 23:28:00

  • なるほど、私はlibusb-win32のフィルタドライバをインストールしています。
  • HIDaspxもPIC18spxもusbtool listで一覧表示できます。
    フィルタドライバを有効にするには「Enable filter」を動作させる必要があります。
    これを行うとusbtool listが機能し、「Disable filter」では改行するのみとなる
    ことを確認しました。説明文に追記します。 -- senshu? : 2010-08-20 (Fri) 07:42:25

あなたの名前: 合言葉

Cortex-M3:浮動小数演算でハング

audin? (2010-08-09 (Mon) 20:53:34)

こんばんわ、audinです。

掲題の記事に触発されて"sprintf"で試したところハマリ中です。orz
(うちのsbrk系/linkerスクリプト系は大丈夫双でした)

>>とりあえず、浮動小数点は使えるし、printも出来るようにはなったのだ
この部分の記述ですが「printfを使って浮動小数点(%f等)」表示が動いたという
意味でしょうか?

  • audinさん、こんばんは。sprintfはOKです。printfはまだ_writeを実装
  • していないので出ません。まだつくりかけですが、armon.zipを試してみて
    ください。ねむいさんがすでにsyscallを実装されているので、後追いに
    なりますが、こっちはまだ出来ていません。 -- iruka? : 2010-08-09 (Mon) 21:59:03

    • sprintf , printf 両方OKになりました。-- iruka? : 2010-08-11 (Mon) 21:59:03

  • ありがとうございます。
  • おかしいのはOpenOCDかもしれないのでもう少し調査してみます。
    (LPCXpressoや他のJTAG用ソフトでは問題なさそうな感じです。)
    P.S STM32を持っていないのでarmon.zipは出来ないです。
    STbee買うかもです。 -- audin? : 2010-08-09 (Mon) 23:19:37

  • すいません
  • 改行が変でした。-- audin? : 2010-08-09 (Mon) 23:22:23

  • >STM32を持っていないので 。
  • CQ-STARMでも、少し変更すれば動くかもです。 -- iruka? : 2010-08-10 (Tue) 11:03:58

  • 同じCortex-M3でもNXPとSTMではUSB周りに互換性なさそう・・・。 -- iruka? : 2010-08-10 (Tue) 11:07:09

  • STBee Miniは価格的に手ごろですよ。(サイズ的にも)ただし128k+20kRAMを充分と
  • みるか足りないとみるかは、目的によるでしょうね。クロックはいまのところ
    どのCortex-M3も72MHzなので一緒です。 -- iruka? : 2010-08-10 (Tue) 11:09:25

  • + こんにちわ audinです。
  1. 以前、改行に失敗したので箇条書きに挑戦
  2. + 浮動小数表示がうまくいかない件ですが原因はOpenOCDの初期化不足でした。
  3. ブログに追記しました。
  4. + >CQ-STARMでも、少し + CQ-STARMも持っていないので...そのうちやっぱりSTBee買うかもです。 -- audin? : 2010-08-15 (Sun) 10:36:51
  • HIDなbootloaderが全部(CQ-STARM,STBEE,STBEEmini)で動くようになりました -- iruka? : 2010-08-15 (Sun) 22:49:22
  • あなたの名前: 合言葉

AVRマイコンでも統合HEXファイルが使えます

senshu? (2010-08-04 (Wed) 22:34:55)

2010年7月にavrspがFlash/EEPROM/FUSEを統合したHEXファイルをサポート
しました。

hidspxも本日、Flash/EEPROM/FUSE/Lock をサポートするものを公開しま
した。PICマイコンのように、単一のHEXファイルで全てを書き込めます。

ミスがあると恐いので、この仕様でよいのかどうかを検討中です。
FUSEに関しては、警告を発し、問題が無い事を確認後に書き込むような
仕組みが必要かもしれません。

  • そのような仕様に変更しました。 -- senshu? : 2010-08-05 (Thu) 14:33:49

  • senshuさん、こんにちは。精力的な改良お疲れ様です。 -- iruka? : 2010-08-05 (Thu) 17:34:19

  • 無理して対応するようなものでもないのですが、本家avrspにあってhidspxにないのは、
  • ちょっと残念に思いましたので作業しました。 -- senshu? : 2010-08-05 (Thu) 21:37:19

  • 夏季休暇の時期ですが、未だにavrdude-GUIの改良を行っています。hidspxもavrdude -c hidspxで
  • 呼び出せるようにした関係から、整合性確保の為、avrdude.exe, avrdude-GUI.exe, hidspx.exeの
    三つを並行的に行うという恐ろしいことになっています。C, C# を入ったり来たりでしたが、そろ
    そろ打ち止めですのでご心配なく。 -- senshu? : 2010-08-09 (Mon) 15:44:39

  • 夏期休暇・・・うちは無し。あっても休暇中の方が忙しい(汗;) -- shuji009? : 2010-08-09 (Mon) 16:31:38

  • ぼくのなつやすみは実質2日分だけです。しゅくだいなんかありません。せみもとりまません。みーん -- iruka? : 2010-08-09 (Mon) 17:11:14

  • 8/11は電気設備の点検で全学停電なのです。 -- senshu? : 2010-08-09 (Mon) 21:23:14
  • 朝なのに夕立みたい。近くで落雷。びびりました。セミ黙っている朝は久々です。 -- shuji009? : 2010-08-10 (Tue) 07:31:01
  • あなたの名前: 合言葉

armon.exe、期待しています

senshu? (2010-08-01 (Sun) 16:56:12)

avrdudeとの格闘に明け暮れていましたが、ようやく脱出できそうです。

armon.exe、いいネーミングです。Debugバージョンは、当然、armond.exeですね
思わず食指が伸びる名前です。早く、avrdudeから卒業し、思う存分(伸び伸びと?)
プログラムが書ける世界へ踏み出したいと思います。

先日、小山先生が私のところを訪ねてくれました。とても濃密な2時間でした。
irukaさんとも直接会って話がしたいとおっしゃっていました。

  • senshuさん、こんにちは。avrdudeの機能拡張お疲れ様でした。arm用のHIDmonです
  • が・・・結局のところAVRのHIDmonから何も変わってないです。単なるpoorman's
    デバッグ環境なんですけどね。 -- iruka? : 2010-08-02 (Mon) 11:02:44

あなたの名前: 合言葉

re:2010-08

Shuji009? (2010-07-29 (Thu) 22:59:15)

8月は、早いのに、吃驚しました(笑)。
私も、今回のトラ技別冊はパス予定です。JTAGは全然関係ないです・・
実際JTAGって名前しか知りませんし(汗;)。

オレンジって古いんですね、70年代からあったのですか。
画像で見たい物です。

  • shuji009さん、おはようございます。WikiPedia?によりますと、「INS 8060 ISP-8A/600
  • SC/MP II(1977年): 4MHz(内部2MHz)、NMOS。アーキテクチャは SC/MP I と同一。
    Orange: Apple IIによく似た外見のコンピュータ。ただしCPUは SC/MP II であるため、
    Apple IIとの互換性はない。 」だそうです。
    古いI/O誌があれば広告に載ってたと思います。 -- iruka? : 2010-07-30 (Fri) 09:11:32

  • JTAGって、FPGAのコンフィギュレーションで使いませんか? -- iruka? : 2010-07-30 (Fri) 09:12:32

  • JTAGはFPGAで使っていますが、使っているだけで、動作の理解できていません(汗;)。
  • FT232XXとMaxIIがJTAGのキモのようですけど。 -- shuji009? : 2010-07-30 (Fri) 10:44:24

  • ははは、同感ですね。同期クロックのシリアル転送というところまでしか理解しておりません。
  • JTAGはチップや基板検査用の規格らしいのですがARMとかFPGA内部にも勝手にTAPを増やしてFlash
    書き換えとかデバッグに流用してるっぽいので結局各社まちまちの独自プロトコルらしいです。
    (TAPの基本プロトコルだけは共通なんですが) -- iruka? : 2010-07-30 (Fri) 11:00:17

  • 素人考え・・・winavrのprintfまわりをwinarmに持ってくるというのはできないの
  • でしょうか -- shuji009? : 2010-08-05 (Thu) 00:47:20

  • irukaさん!、「ARMプロセッサの系譜」ありがとうございます!! -- shuji009? : 2010-08-12 (Thu) 20:00:21

  • shuji009さん。いえいえ、google先生に聞いただけです。ARMでprintfが出来るよう
  • になりました。winavrのprintfを持ってくることは出来ると思います。
    が、現状ROM,RAM容量を持て余すARMですので、多少の無駄はいいのかなと。
    システムヘッダーやらlibの差し替えは億劫なうえにgccのverが変わったらまた
    やり直すというのが耐えられません。 -- iruka? : 2010-08-17 (Tue) 10:49:59

あなたの名前: 合言葉

「OpenOCD:この分かりにくさは何なんだろう。」同感です

senshu? (2010-07-01 (Thu) 21:17:34)

昨年の今頃ですが、ARMマイコンを使うために、OpenOCDと格闘していました。
製品を買ったのに、結局、OpenOCDを自分でビルドして使ってください、と
いうサポート内容でした。

結局私は、OpenOCDのオープンの意味を理解していなかったわけです。

でも、おかげさまで、知識は増えました。こうした理不尽な仕様とはプラス思考
で付き合っていこうと思います。

  • 私はLinux上での普通のビルド(普通ならサルでも出来る)で諦めてしまいました
  • ので、Windows上でのビルドなんて到底無理です。たぶん一般人はビルドしようと
    思わないはずです(それが正しいと思うのです) -- iruka? : 2010-07-02 (Fri) 00:20:53

  • 了解です。私は、avrdudeをWindows上でビルドしています。確かに万人に薦められる
  • 作業ではありません。 -- senshu? : 2010-07-02 (Fri) 06:54:31

  • irukaさんの書き込みを元にOpenOCDをUbuntu-10.04でビルドしてみました。説明が
  • 簡潔でわかりやすいので、短時間でビルドできました。GUIツールでは、この程度の
    説明でこの作業を伝えることは不可能だと思います。-- senshu? : 2010-07-03 (Sat) 10:20:53

  • 改良版avrdudeのLinux版を意識しての作業です。 -- senshu? : 2010-07-03 (Sat) 10:23:59

  • senshuさん、こんにちは。ビルドは出来たのですが、まだ動かし方が分かっていません。
  • ftd2xx同梱は違反ですが、libftdiのほうはオープンソースなので、バイナリー配布しても
    問題ないような気はするのですが・・・。 -- iruka? : 2010-07-03 (Sat) 14:08:37

  • FTDI BitBang? methodを使ったavrdude(windows版)では、ftdi社のDLLを呼び出す方式で
  • バイナリ配布を実現しています。OpenOCDでは静的リンクをしていた版は配布停止になりま
    した。DLLなら大丈夫なのかは判断に悩みますが、何とか許容範囲なのでしょう。FTDI社に
    とっては、こうした利用は歓迎だと思うのですが、ソースは非公開です。FTDI用のサポート
    コードはLinux版にも配慮(すzさんは筋金入りのLinux利用者です)があり、libftdiにも
    対応するコーディングで。これで動作すれば、GPLでいけると思います。

    OpenOCDはサーバを起動し、クライアント側はTCP/IPでコマンドを投げる方式で動作させます。
    Webサーバとブラウザのような関係です。何故にこんな複雑な仕組みを使うのか、と思いましたが、
    ハードウェア操作をするモジュールを一箇所に閉じ込めるためと考えています。-- senshu? : 2010-07-03 (Sat) 15:52:31

  • irukaさん、大変そうですね。ところで6月まだ終わっていないのですか? -- shuji009? : 2010-07-08 (Thu) 23:14:15

  • さっき7月にしました。Topメニュー(=FrontPage左上の画像)をクリックして、左メニューから2010−07に飛べます。 -- iruka? : 2010-07-09 (Fri) 16:57:58

  • OpenOCDをいろいろ調べていたら脱力感だけが残りました。ARMいや〜ん。
  • (いやいや、せっかく買ったLPCXpressoとかSTM8SDiscoveryを消費していかないと、
    賞味期限きれちゃいますからね。へへへ) -- iruka? : 2010-07-09 (Fri) 17:01:18

  • 私も昨年、ARMマイコンに関しては似たような印象を持ちました。素質は良いのですが
  • アマチュアにとっては優しくない、そんな印象です。 -- senshu? : 2010-07-10 (Sat) 11:11:34

  • またまたトラ技別冊で、ARM付でますけど、様子見しようかな。センサとかは結構あるみたい。 -- shuji009? : 2010-07-11 (Sun) 23:04:35

  • RBox - コーヒー代で買えるDIY 32ビットゲーム機
  • http://jp.makezine.com/blog/2010/07/rbox_a_diy_32_bit_game_console_for.html
    というのがありました。これもLPC1343(というかLPCXpresso)なんですけど、チップは
    安い(コーヒー代)らしいです。水晶を換装(12MHz->14.318MHz)して自力NTSC(カラー)
    波形という感じでがんばってるそうです。 -- iruka? : 2010-07-12 (Mon) 10:45:11

  • ARMはライター持ってないので、まずはライター作りが先だったりします。(てへ) -- iruka? : 2010-07-12 (Mon) 10:47:25

  • 増刊号はこれですね -- iruka? : 2010-07-12 (Mon) 19:48:20
 「トランジスタ技術増刊 ARMワールド」(仮)(発売日2010年8月16日)のご案内
 「ロー・パワーARMマイコン使いこなし術」

  • ちなみにLPC1343の諸元は秋月によりますと、
 NXPセミコンダクターズ(オランダ)のUSB内蔵マイコンCortex-M3
 ■フラッシュ32kB
 ■SRAM8kB
 ■RS485/EIA485 UART
 ■タイマー4ch
 ■SPI、I2C
 ■8ch10bit A/D
  • だそうです。

  • LPCつながりでは、AudinさんがLPCXpresso
  • の新製品(LPC1768)のことを紹介してくれています。
    • LPC1768はFlash 512k/SRAM 64kだそうです。

  • やっぱり時代はARMなんでしょうか? -- shuji009? : 2010-07-12 (Mon) 23:47:24

  • ARMマイコンボードは、Arduinoボード並みの価格になっています。利用環境
  • さえ整えば、使わない理由は見当たりません。でも現状の環境は今ひとつの
    完成度だと思います。とても残念ですが。 -- senshu? : 2010-07-13 (Tue) 01:28:37

  • LPC11xxと13xxはJTAGのサポートがないらしくてSWDオンリーという噂を聞き
  • ました(出所=redcode社)。せっかく作ろうとしているOpenOCDでは書き込めない
    というオチだったり・・・ -- iruka? : 2010-07-13 (Tue) 21:08:54

  • ちなみにLPCXpresso(のIDE)はあまり使う気がしません。というか統合環境IDEは
  • 全部嫌いなので、普通にgcc+make+コマンドラインのライターで書きたいなーと思って
    います。 -- iruka? : 2010-07-13 (Tue) 21:10:40

  • 実はAVRもPICもコマンドラインコンパイラー+gmake+コマンドラインライターで
  • 全部やってます。 -- iruka? : 2010-07-13 (Tue) 21:12:04

  • 私も似たようなものです。Arduino IDEも私的には好みではないので、Arduno用の
  • コンパイラドライバを書き、makeから使いたいと思います。 -- senshu? : 2010-07-13 (Tue) 21:37:04

あなたの名前: 合言葉

avrdude, avrdude-GUIのテストに協力していただける方を募集中

senshu? (2010-06-28 (Mon) 18:42:45)

以下のURLに、FT232RL, hidspx, USBaspなどをサポートするAVRライタ関連
ツールを公開しています。魅力的な仕様なのですが、テストが不十分なので、
テストに協力していただける方を募集しています。

URL変更しました(2010-0712版)
http://www-ice.yamagata-cit.ac.jp/ken/senshu/sitedev/index.php?AVR%2Favrdude04#i18dca2e
↑のURLへお越しください。

あなたの名前: 合言葉

「USB-Blaster兼HIDaspx兼PIC18Fライター兼PIC24Fライター兼簡易ロジアナ兼RS232Cアダプター」

senshu? (2010-06-20 (Sun) 09:32:46)

なかなか素敵な計画ですね。これがあれば、電子工作マニアの定番ツールになると思い
ます。

出張から戻りましたので、気になっていたArduinoIDEの不具合を直そうと苦戦して
います。ソースを熟読すると、試行錯誤の末に書いた(ような)箇所が多く、理解に
苦しむ部分があります。

その意味では、AVRProjectIDEの方が洗練されていて、精力的に改定が行われている
のですが、Windows専用になるのが欠点です。

arduino-0019版の登場が近いようですから、それが出るまではArduinoIDEの
改良は保留し、avrdude関係の改良を早期に完了したいと思っています。

  • 仕様を絞ったところ、作業量は激減しました。私にとってイライラの元になっていた
  • ArduinoIDEのクローズボタンの不具合を修正しました。
    また、hidspxに対し、avrsp-0.45で行われたサポートチップ追加を適用しました。
    pic18spxへの適用もテーブルを差し替える程度で対応できますが、fuse.txtや若干の
    追加修正箇所もあるので、私の方で対応を考えてみます。 -- senshu? : 2010-06-20 (Sun) 12:17:42

  • senshuさん、お忙しい中、精力的に活動されておりますね。私のほうは18F14K50による
  • USB-Blasterのハードだけ出来上がりました。あとはソフトを移植しなくてはなりませ
    ん。 -- iruka? : 2010-06-21 (Mon) 00:13:12

  • USB-BlasterはJTAG専用ではなくAlteraデバイスへの汎用writerです。nSTATUSはパッシブ
  • シリアル、nCEとnCSはアクティブシリアルの時に使用してJTAGの時は接続しません。 -- kuga? : 2010-06-21 (Mon) 10:08:45

  • kugaさん、アドバイスありがとうございます。 ソフトの移植は超難航中です。PINGPONGは
  • メモリー的に無理ですねぇ -- iruka? : 2010-06-21 (Mon) 11:24:32

  • 私はEP_OUTはPINGPONGにして EP_INはシングル+256byteリングバッファーにしました。 -- kuga? : 2010-06-21 (Mon) 13:44:27

  • 14K50でのUSB-Blaster お使いになるならソース送ります。 送り先ご連絡ください。 -- kuga? : 2010-06-21 (Mon) 16:52:34

  • kugaさん、こんばんは。御厚意ありがとうございます。もうすこし自力で悩んでみます。 -- iruka? : 2010-06-21 (Mon) 21:15:46
  • あなたの名前: 合言葉

gputilsのその後

senshu? (2010-06-15 (Tue) 18:39:36)

gpasmのcode_packの不具合に泣かされましたが、SVNのソースをチェックしたら、
以下のような改定が行われているようです。出張中で確認できないのですが、
これでHIDブートローダが生成できるなら大きな進歩だと思うのですが、、。
 2010-05-20  Marko Kohtala  <marko.kohtala@gmail.com>
     * Major change to byte based section data handling. Device classes
      are now structures with class specific data. Bug 2975796 fix for code_pack.
      Several fixes to code generation in data section. __idlocs fixed to use
      correct addresses. const, signedness and other cleanups.
     * Add gpasm test cases for code_pack, data sections, .def, .dim,
      .direct, etc. Also the gpasm test scripts now execute all tests even in
      case of errors and run object tests in objtest directory to not mess up
      the absolute mode tests.
     * Add more descriptive output to gpvo.

  • senshuさん、こんばんは。ubuntu10.4のgpasmで試しました。結論は、バグッたまま
  • です。 -- iruka? : 2010-06-15 (Tue) 19:16:27
 ubu9:~/pic18boot-2010-0406/firmware% gpasm -v
 gpasm-0.13.7 beta
 HEXダンプ
 0800 f7 6a f8 6a 04 01 58 d0 04 ef 08 f0 5e d0 72 d2
 0810 00 01 f6 d3 03 04 09 04 0c ef 08 f0 01 12 01 ff
 0820 00 00 00 00 08 ff d8 04 3c 00 02 01 02 03 01 09
 0830 02 ff 29 01 01 00 80 32 09 04 00 00 02 03 00 00
 0840 00 09 21 ff 01 00 01 22 1d 00 07 05 81 03 40 00
 リスト
                00029 ; We need to avoid zero padding for descriptors.
                00030 ; And put descriptors after XTEA_KEY_SECTION.
                00031 USB_DESCRIPTORS CODE_PACK       VECT + 0x01C
                00032 ;-----------------------------------------------------------------------------
 081C 01        00033                                                         db      1
                00034 ;-----------------------------------------------------------------------------
                00035 ; USB Device Descriptor
 081D 00036 USB_DEV_DESC
 081D 12        00037 USB_DEV_DESC_bLength            db      (USB_DEV_DESC_end - USB_DEV_DESC)       ; Size
 081E 01        00038 USB_DEV_DESC_bDscType           db      DSC_DEV ; Descriptor type = device
 0820 00        00039 USB_DEV_DESC_bcdUSB                     dw      0x0200  ; 0x0200        ; USB 2.0 version
 0821 00        00040 USB_DEV_DESC_bDevCls            db      0x00    ; HID=00: Class. Specified at Interface level
 0822 00        00041 USB_DEV_DESC_bDevSubCls         db      0x00    ; SubClass. Specified at Interface level
 0823 00        00042 USB_DEV_DESC_bDevProtocol       db      0x00    ; Protocol. Specified at Interface level
 0824 08        00043 USB_DEV_DESC_bMaxPktSize0       db      EP0_BUFF_SIZE
 0826 D8        00044 USB_DEV_DESC_idVendor           dw      0x04d8  ;BOOTLOADER_VID
 0828 3C        00045 USB_DEV_DESC_idProduct          dw      0x003c  ;BOOTLOADER_PID
 082A 02        00046 USB_DEV_DESC_bcdDevice          dw      0x0002  ;FW_VER_CODE ; Device release number
 082B 01        00047 USB_DEV_DESC_iMfg               db      0x01    ; Manufacturer string index

  • code_packなのに、081f番地にffが埋められています。(もしかしてMPASMと互換性がないとか)
  • というか、奇数番地のdwは、変なずれ方してストアされますね -- iruka? : 2010-06-15 (Tue) 19:23:49

  • あ、そうかこのgpasmは5月1日の奴らしい。
  • sourceforgeのexeは3月の日付なのでもっとだめですね -- iruka? : 2010-06-15 (Tue) 19:27:54

  • 最新好きのUbuntuでも2010-0520版には追随していないと思います。
  • おそらく、最新ソースを入手し、自前でビルドする必要があります。そのため、開発環境が
    無いと動作確認ができないのです。http://gputils.svn.sourceforge.net/gputils/ から、
    最新ソースをtar ball で入手できますので、ぜひお試しください。 -- senshu? : 2010-06-15 (Tue) 19:31:38

  • たしかに、微妙に直ってます。 -- iruka? : 2010-06-15 (Tue) 21:44:27

 0800 f7 6a f8 6a 04 01 54 d4 04 ef 08 f0 57 d4 6a d6
 0810 00 01 f6 d3 03 04 09 04 0c ef 08 f0 01 12 01 00
 0820 02 00 00 00 08 d8 04 3c 00 02 00 01 02 03 01 09
 0830 02 29 00 01 01 00 80 32 09 04 00 00 02 03 00 00
 0840 00 09 21 01 01 00 01 22 1d 00 07 05 81 03 40 00

気になったのはCODE_PACK 内の dw , db のリスト出力が欠落している点です。
HEXに落ちないと確認出来ないです。
version表記が
 gpasm-0.13.7 beta
のままなので5月1日版と区別が付きません。

もうひとつ、MPASMソースをアセンブルする場合、コードの手直しが必要です。
#if 0 〜 #endif内もシンタクスチェックが行われるようです。 -- iruka? : 2010-06-15 (Tue) 21:52:51

  • sourceforgeのソースからビルドする場合にはbisonとflexが要りますね。
  • bisonはyaccエラーで分かったのですがflexはエラーメッセージを見ても
    分かりませんでした -- iruka? : 2010-06-15 (Tue) 21:54:09

  • avrdudeのコンパイルでもflexとbisonが必要です。その意味ではどちらも敷居が
  • 高いです。(出張中のノートPCではビルドできませんでした)
 0800* f7 6a f8 6a 04 01 54 d4 04 ef 08 f0 57 d4 6a d6
 0800- f7 6a f8 6a 04 01 58 d0 04 ef 08 f0 5e d0 72 d2
 0810* 00 01 f6 d3 03 04 09 04 0c ef 08 f0 01 12 01 00
 0810- 00 01 f6 d3 03 04 09 04 0c ef 08 f0 01 12 01 ff
 0820* 02 00 00 00 08 d8 04 3c 00 02 00 01 02 03 01 09
 0820- 00 00 00 00 08 ff d8 04 3c 00 02 01 02 03 01 09
 0830* 02 29 00 01 01 00 80 32 09 04 00 00 02 03 00 00
 0830- 02 ff 29 01 01 00 80 32 09 04 00 00 02 03 00 00
 0840* 00 09 21 01 01 00 01 22 1d 00 07 05 81 03 40 00
 0840- 00 09 21 ff 01 00 01 22 1d 00 07 05 81 03 40 00

(*)がSVN、(-)が旧版です。確かに違いは微妙ですね。
ところで、このコードで動作するのでしょうか。 -- senshu? : 2010-06-15 (Tue) 21:58:21

  • (たぶん)descripterさえ直れば動くはずです。(未確認ですが) -- iruka? : 2010-06-15 (Tue) 23:38:05

  • MinGWをインストールし、gputilsを作ってみました。HIDbootは、エラーとなる
  • コメントの書き方を変えるとアセンブルは通りました。サイズは同じですが、
    MPASMWINとは異なるHEXファイルになります。これが動作するかどうかは私も
    確認できません。
 >gpasm -v
 gpasm-0.13.7 beta(Jun 16 2010)
詳細なバージョンが不明でしたので↑のように表示するようにしました。 -- senshu? : 2010-06-16 (Wed) 18:00:06
  • こちらでも試してみました。descripter以外にもアドレス相違点が多く、比較はうまく行きません。生成されたHEXを焼いてみたのですが動きません。 -- iruka? : 2010-06-16 (Wed) 20:22:23

  • 正しいローダー
 TARGET DEV_ID=14 VER=1.1(Bootloader)
 PIC> l c0
 00c0 9094        bcf    TRISC, bit0
 00c2 9294        bcf    TRISC, bit1
 00c4 908b        bcf    LATC, bit0
 00c6 928b        bcf    LATC, bit1
 00c8 8494        bsf    TRISC, bit2
 00ca b482        btfsc  PORTC, bit2
 00cc d7a1        bra    0x10
 00ce d893        rcall  0x1f6
 00d0 d899        rcall  0x204
 00d2 d889        rcall  0x1e6
 00d4 da17        rcall  0x504
 00d6 d7fd        bra    0xd2
 00d8 a462        btfss  UIR, bit2
 00da d006        bra    0xe8
 00dc 9264        bcf    UCON, bit1
 00de 9460        bcf    UIE, bit2
 00e0 a462        btfss  UIR, bit2
 00e2 d002        bra    0xe8
 00e4 9462        bcf    UIR, bit2
 00e6 d7fc        bra    0xe0
 PIC>
  • gpasmで作成したローダー
 TARGET DEV_ID=14 VER=1.1(Bootloader)
 PIC> l 8c0
 08c0 9094        bcf    TRISC, bit0
 08c2 9294        bcf    TRISC, bit1
 08c4 908b        bcf    LATC, bit0
 08c6 928b        bcf    LATC, bit1
 08c8 8494        bsf    TRISC, bit2
 08ca b482        btfsc  PORTC, bit2
 08cc d33b        bra    0xf44
 08ce dc2c        rcall  0x128
 08d0 dc31        rcall  0x134
 08d2 dc20        rcall  0x114
 08d4 ddad        rcall  0x430
 08d6 d392        bra    0xffc
 08d8 a462        btfss  UIR, bit2
 08da d399        bra    0x100e
 08dc 9264        bcf    UCON, bit1
 08de 9460        bcf    UIE, bit2
 08e0 a462        btfss  UIR, bit2
 08e2 d391        bra    0x1006
 08e4 9462        bcf    UIR, bit2
 08e6 d389        bra    0xffa
 PIC>
  • gpasm版は+0800になっているべきなのですが、総じてオフセットがバグっていますねー。
  • メインループの分岐命令が bra ffc になっていますが、ここにはなにもありません。

  • 昔試したときはdescriptorだけの問題だったような記憶があります。相当エンバグしたのか、
  • それともMPASMのソースは受け付けないのかどちらかですね。 -- iruka? : 2010-06-16 (Wed) 20:33:15

  • そうですか、残念な結果です。PICマイコンはこの手のツールの充実度が今ひとつです。やはり、
  • 当分はMPASMWINのお世話になるしかないのでしょうか。 -- senshu? : 2010-06-16 (Wed) 21:55:08

  • ubuntuのgputilsはわりと正しいコードを落とすようです。 -- iruka?
 $ make dis
 $ cat 2
 ・・・
 0008c0:  9094  bcf      0x94, 0, 0
 0008c2:  9294  bcf      0x94, 0x1, 0
 0008c4:  908b  bcf      0x8b, 0, 0
 0008c6:  928b  bcf      0x8b, 0x1, 0
 0008c8:  8494  bsf      0x94, 0x2, 0
 0008ca:  b482  btfsc    0x82, 0x2, 0
 0008cc:  d7a1  bra      0x810
 0008ce:  d893  rcall    0x9f6
 0008d0:  d899  rcall    0xa04
 0008d2:  d889  rcall    0x9e6
 0008d4:  da17  rcall    0xd04
 0008d6:  d7fd  bra      0x8d2
 0008d8:  a462  btfss    0x62, 0x2, 0
 0008da:  d006  bra      0x8e8
  • 但し例のdescriptorは駄目ですが・・・。

  • 0.13.7とSVN版の差分をとったところ、かなり大幅に書き換えられていました。
  • test suiteもあるのに、そうしたものは活用されていないのでしょうか。
    残念です。 -- senshu? : 2010-06-16 (Wed) 22:30:27

  • senshuさん、5月1日版と5月20日版をうまく使い分けると、MPASMと同じHEXが
  • 得られることが分かりました。 -- iruka? : 2010-06-16 (Wed) 23:13:51

  • usb_desc.asmのアセンブル時のみ5/20の(/usr/local/bin/)gpasmを呼び出せば良いらしい
  • です。果たして、ubuntu10.4にapt-getしたgputilsとtarballのgputilを両方インストール
    して、あるソースだけtarball版を呼び出すようなMakefileを書く人は・・・まずいないで
    しょうね。 -- iruka? : 2010-06-16 (Wed) 23:16:22

  • gputilsはDOS(Win)で使う人は殆どいないので、ユーザー数が少なく開発の力点も置かれない
  • のでしょう。メンテしている人もおそらく趣味でやっているのでは?。(そういうとミモフタモ
    ないですが) -- iruka? : 2010-06-16 (Wed) 23:23:17

  • 有用な情報をありがとうございます。私も、自前で生成したgpasmをgpasm2と改名し、
  • Makefileを修正に試してみました。分岐先の異常な展開はなくなりました。
    今回の不具合は明確なので修正した本人なら直ぐでも直せそうですが、言語の壁がそれを
    妨げます。困った、、。 -- senshu? : 2010-06-16 (Wed) 23:48:02

あなたの名前: 合言葉

FT232RLによるAVRライタの可能性

senshu? (2010-06-12 (Sat) 06:28:47)

すzさんが公開している「serjtag」を組み込んだavrdedeは、かなりの実力があるようです
(avrdudeを理解しているようで羨ましい限り)。

OGURAMさんのページにも参考例が紹介されていました。Japaninoもこれで報われる?
(それなら、初めからFT232RLを採用すべきでした)

http://d.hatena.ne.jp/OGURAM/20100611/1276264935

ということで、現在取り組んでいるdude-wrapngの次期の版にはserjtagを組み込みたいと
思っています。avrdude-GUIをAVRマイコンの自動認識を追加したので、単純には一般仕様
のavrdudeでは上手く動作しない時があるのです。独自拡張の辛い点です。

  • Japaninoで映像系駄目って聞いたから、てっきり内蔵クロックしかないんだから
  • 当たり前だと思っていたのに(EMS対策でわざとジッターいれてる)、外部クロック
    あったのかあ -- shuji009? : 2010-06-12 (Sat) 06:34:06

  • avrdude-5.10svn+独自修正版に対し、serjtag(+FT232, FT245)サポートを追加
  • しました。すzさんの説明手順に従うとリンク時にエラーになり、修正が必要でした。
    一時間ほどで作成できましたが、後は最も面倒な動作検証が残っています。
    しかし残念なことに一週間の出張となるので、検証作業は当分できません。
    ということで、ドキュメントの整備を行いたいと思います。 -- senshu? : 2010-06-12 (Sat) 20:58:17

  • senshuさんこんばんは。avrdudeの拡張お疲れ様です。ft232は1個だけ持ってます。 -- iruka? : 2010-06-14 (Mon) 04:00:45

  • irukaさん、おはようございます。出張先からの書き込んでいます。
  • serjtagを組み込んだavrdude使えば、HIDaspxの鶏と卵問題を解決できます。
    しかもFT232RLは、ライタ機能以外にもデバッグにも便利に使えるのです。専用に設計
    されているため、PIC18f14k50によるUSBserialコンバータよりも性能がよく、完成品で
    購入でき、マイコン学習スタート時に用意するツールに相応しいモジュールです。
    avrdudeの複雑なコマンドオプションとの格闘が必要になります。そこで、利便性をあげ
    るためavrdude-GUIも独自に改良しました。

    ただしデバッグ時には通信ソフトを利用中もで接続を切る必要がない方が便利です。
    またFT232RLの利用にはドライバのインストールが必要です。したがって、この
    ライタを利用できてもHIDaspxの魅力は変わりません。

    またHIDaspxはATtiny2313の学習にも最適です。ぜひ、serjtagライタなどを使って
    HIDaspxを自作してもらいたいものです。このように、hidspx, avrdude, Arduino IDE
    などを、各種の環境から便利に利用できるようになりました。

    今後は本来の応用部分に注力できると考えています。FT232RLをお持ちとの方は、動作検
    証や使ってみての感想などをお寄せください。近日中にまとめ、自作派向けAVRマイコン
    の開発環境の決定版にしたいと思っています。-- senshu? : 2010-06-14 (Mon) 06:52:14
  • FT232RLはbitbangモードを持っていますので、picライターにしている方もいらっしゃ
  • るようです。arms22さんのpicburnです。 -- iruka? : 2010-06-14 (Mon) 11:25:17

  • arms22さんは、私のWebサイトにも紹介した記憶があります。何度か対話も
  • 行っています。PICマイコンでも機会を見て試してみます。 -- senshu? : 2010-06-14 (Mon) 12:04:58

  • avrdude-5.10svnにFT232RLによるBitBang?ライタを組込み、動作を確認しました。
  • 通信速度を選べばhidspxよりも高速に動作します。pic18spx並でしょうか。

    ドライバのインストールが必要なので教育機関の一部では使えない場合もあり
    ますが、この制約の無い方にはお薦めです。デバッグ時にはUSBシリアルコンバータ、
    そして、AVRマイコンのファームの書込みにも使えます。ターゲットAVRの動作電圧
    範囲に制約があり、私にはHIDaspxの方が便利と感じますが、完成モジュールを入手で
    き、ブレッドボードを活用すれば、ハンダ付け作業も不要なのは特筆すべき点です。

    この対応に時間を要したのは、hidspxとの統合、PICkit2のサポート、avrdude-GUIの
    修正(AVRマイコン自動認識機能追加)などを一度に実施したためです(無謀でした)。
    でも、これらの改定でResetスイッチを操作することなくBootLoader?に対してアップ
    ロード可能になり、ArduinoIDEとの併用が格段に容易になりました。
    (母屋を取られたような感じですが)

    詳細は、こちらをご覧ください。 -- senshu? : 2010-06-22 (Tue) 19:43:21

  • 改造したavrdudeに対応するavrdude-GUIをセットし、暫定公開しました。
  • GUIは数日間、使い込んで改良しました。FT232によるAVRライタも高速に動作
    します。ぜひ、お試しください。 -- senshu? : 2010-06-24 (Thu) 22:43:15

あなたの名前: 合言葉

avrdudeにPICkit2サポートを追加する試み

senshu? (2010-06-07 (Mon) 20:41:20)

現在、avrdude-5.10にPICkit2サポートを追加しようと考えています。
ここで進捗を公開していますが、動作が不安定で実用
できません。irukaさんもPICkit2もどきをお持ちだと思うので、技術的な興味
あれば、試していただけると幸いです。

  • 私は残念乍らPICkit2を持っていません。PICKit2のファームを18F2550に書くことは
  • 出来ますが、その先の回路(昇圧回路やFETスイッチ)が無いのでライターとして機能
    させるのは無理です。 -- iruka? : 2010-06-07 (Mon) 21:54:01

  • 了解しました。pk2avrispを試してみようと思います。 -- senshu? : 2010-06-07 (Mon) 22:17:33

  • 本日(6/9)、avrdude自体にhidspx呼び出し機能を追加しました。これにより、dude-wrap
  • ではなく、hidspx-wrapという奇妙な(しかし非常に実用的な)実装になっています。
    これに伴いavrdude-GUIも改定し、avrdude-GUIからchipの自動認識やFUSEの読み書き
    も可能になりました。まだテストの状態ですが、多くのツールから使えるように
    なると思います。

    最もよい方法はhidspx用のサポートコードを書くことですが、avrdudeの内部の動作を
    完全には理解していないので実現できていません。それができるまでのつなぎとして
    実績のあるhidspxを呼び出し、hidspxを活用できるようにしました。

    これは既にdude-wrapで実現できていたように思えますが、FUSEの参照や書き換えには
    対応できていませんでした。hidspxやhidspxGを使えるので、それらは不要と考えまし
    たが、avrdude用を支援するツールは多数存在します。そして、この辺りを改善するた
    めのツールが多いことがわかりました。そのため、単純なwrapperでは、実現は意外に
    面倒です。-- senshu? : 2010-06-09 (Wed) 23:45:45

あなたの名前: 合言葉

dude-wrapの後継、dude-wrapngを公開

senshu? (2010-05-28 (Fri) 19:32:37)

これはdude-wrapの後継であり、Arduino IDEの内部を修正して
機能追加(hidspxやbootloadHIDサポート)を行っています。

使用してのご意見をお寄せください。

  • 「ARMのArduinoもどき:FEZ Domino 」は、Arduinoのハードウェアを活用
  • しようという試みですね。 一方 dude-wrapngは、既存のハードやソフトを活用して
    Arduino 利用する仕組みを提供します。オープンソースの世界では、視点の違いで
    「思わぬ」発展が生まれるわけです。-- senshu? : 2010-05-29 (Sat) 11:37:55

  • ミラーの更新に感謝します。わたしは、dude-wrapngを導入したArduinoをAVRマイコン
  • の開発環境として利用しようと考えています。dude-wrapngを導入すれば、市販の
    Arduinoボードを購入は不要で、ATtiny2313〜ATmega644pで使えることを確認しました。

    簡単な実権にはtiny2313、高度な用途にはmega644pのようにピン数の多いマイコンと
    使い分けができます。同一のソースが利用でき、学習の連続性が確保できます。

    ブートローダは必須ではなくなるので、XBeeなどの利用ではジャンパーピンの差し替え
    が不要になり、開発効率が向上します。
    エディタが今ひとつですが、外部エディタとの併用で何とか許容できると思います。
    オープンソースですから改良しながら使っていきたいものです。-- senshu? : 2010-06-03 (Thu) 07:38:28

  • Arduinが利用するavrdudeを調べてみましたが、大勢の方が改良に参加している
  • ので、手堅い(悪く言えば冗長)造りです。比較的丁寧な(山ほどのデバッグ文が
    盛り込まれています)コードなので、改良も可能です。

    昨年の今頃も同様の取り組みをしていましたが、その時にはavrdudeを利用する
    予定もなく改良は途絶えていました。しかし、Arduino IDEを利用する場合には
    avrdudeの利用は必須です。今ではdude-wrapngでhidspxを使うことも可能です
    が、市販のArduinoボードを購入した場合には、avrdudeのお世話になるのが一般
    的です。

    私にとって便利に思えるようにavrdudeの改造を再開しました。HIDaspxを直接
    サポートするように機能強化するのが最良の対応だとも思うのですが、avrdude
    とhidspxの2つをメンテナンスするのは時間の面で困難です。dude-wrapのように、
    avrdude自体にhidspxの呼び出し機能の追加も考えました。悩みは尽きません。

    Arduinoを使っている方は現在の仕様で満足しているのでしょうか。
    hidspxなどで軽快な書き換えを経験している方は、ややストレスを感じると思い
    ます。Arduinoが利用するブートローダによるoptibootという高速化の試みが公開
    されております。環境を向上しようと計画しています。
    …でも全く反応がありません。改良が上手くいっても公開するかどうかは微妙
    なところです。 -- senshu? : 2010-06-05 (Sat) 11:06:57

  • >Arduinoを使っている方は現在の仕様で満足しているのでしょうか。
  • 自分でJavaのIDEやらavrdudeを改良しようとしている人は極わずかだと思います。
    かくいう私もLチカのスケッチを1回試しただけでそこからさきの進展がありません
    なので地道に広めていくしかないのでしょう。
    今はインターネットやgoogleがありますので、広報活動はそれほど難しくはありません。
    • iruka? : 2010-06-05 (Sat) 13:28:16

  • 確かに地道に作業するしかないのですが、一人ではできることも限られます。
  • また「Arduino IDE 改良」でgoogle検索すると最初に出てくるのは私のページな
    のです。その次は、irukaさんのページです。日本以外では多くの改良事例が見つ
    かるのですが、日本でIDE自体をHACKしている事例はスイッチサイエンスさんの日本
    語対応以外は見つかりません。今後も調査を続けます。

    Arduinoを使った製作例は多数あるのに残念に思います。-- senshu? : 2010-06-05 (Sat) 20:43:35

あなたの名前: 合言葉

USBシリアル

宮前? (2010-05-26 (Wed) 22:45:36)

こんばんは
ATtiny2313を使った、USBシリアル変換器(usbRS232)のファーム書込みを引き受けました。
書き込んだままで(動作確認せず)渡す予定です。
ファーム書込み時に
「ヒューズ設定時は、必ず 12MHz のクリスタルを接続し、設定してください。」
とありました。
この意味がわかりません。手元に8Mhzのセラロックがありますがこれでは問題ありますか?
以前書き込んで今使用しているのは、何も考えずに書き込みました。
少なくともクリスタルは使用しませんでした。

  • 宮前さんこんにちは。
  • 「ヒューズ設定時は、必ず 12MHz のクリスタルを接続し、設定してください。」
    これは外部発振を選択するのでなんらかの発振子が必要という意味です。 -- iruka? : 2010-05-27 (Thu) 09:37:50

  • 単にAVRライターで書くだけなら12MHzでなくてもいけると思います。 -- iruka? : 2010-05-27 (Thu) 09:38:51

  • 何か特別な理由でもあるかと思いました。納得(了解)しました。 -- 宮前? : 2010-05-27 (Thu) 11:53:46

  • 私の経験では、セラロックでは発振できない場合がありました。クリスタルの方がトラブルは
  • 少ないと感じます。今回の場合には、実績のあるFUSE設定を行えばよいと思います。 -- senshu? : 2010-05-27 (Thu) 17:54:32

あなたの名前: 合言葉

「現在ARMもPICもSH2も飽きてる状態、、、」

senshu? (2010-05-23 (Sun) 08:38:44)

ということは、AVRには飽きていないということでしょうか。

AVRマイコンの開発環境を向上させるためにも、pic18spxを仕上げませんか?

私の考えでは、
1. USBシリアル変換にはシリアル番号を持たせる
2. PIC/AVR兼用ライタとUSBシリアルを同一ファームに共存する
 (できればUSBシリアル変換は、割り込み駆動にしたい)
その他にも、完成の一歩手前の状態です。

ファームの差し替えが容易なので、汎用マイコン開発ツールに仕上げること
ができればと思っています。2つの機能を載せるとファームの空きは僅かなの
で、USB I/O的な機能は抑え、必要に応じてファームを差し替えればよいと考え
ます。

私の現在行っているArduino IDEの改良が一段落つけば、この作業を行いたいの
ですが、もう少し時間が必要です。irukaさんの健闘に期待しております。

  • 1)はそれほど手間は掛からないと思います。2)はkumanさんが書かれているように
  • 電気的なスイッチで切り替えるということでしょうか? -- iruka? : 2010-05-23 (Sun) 11:36:39

  • irukaさん、お手数をおかけします。
  • USBserialのファームにシリアル番号を導入するパッチは作成済みです。
    私のWebサイトのここで公開しています。

    可能なら、評価を行っていただき、問題がなければirukaさんのサイトで公開して
    いただきたいと思います。また、pic18spxとUSBserialの切り替え方法は、Arduinoなど
    の開発環境から自動で切り替えたいのですが、汎用性を考えると電気的なスイッチで
    切り替えるのが簡単です。
    また、AVRマイコンのDTRなどでRESETピンの操作を行う場合とこの操作を禁止したい場合
    があり、それらの挙動はEEPROMの特定番地に設定したいと思っています。比較的多機能な
    ツールになるので、こうした機能を整理し、一般の方にも使っていただけるものにしたい
    と思っています。 -- senshu? : 2010-05-23 (Sun) 17:40:03

  • BOOT SWのようなものをもう1つ用意して、ONのときはシリアル変換に切り替わるというの
  • なら簡単に実現できそうです。 -- iruka? : 2010-05-23 (Sun) 21:44:07

  • しかし、Arduinoのシリアルのようにスケッチが起動したらシリアル端末を動かす、というのは
  • やや難があります。なぜなら、
 1)HIDspxモードでスケッチを書き込む。
 2)スケッチが起動する。
 3)同時にPIC側をシリアル変換モードに切り替える(現状ではboot 2c00など)
 4)パソコンがUSBシリアル変換器がUSBに接続されたことを認識するまで数秒掛かる。
 5)teratermのようなものはUSB認識後に立ち上げないと使用できない。
 6)上記4),5)の処理時間中にスケッチはシリアルメッセージを吐いてプログラムは走り去っている。
というわけです。また、PIC側のシリアル、ライターモード切替を頻繁に行うのでないなら、
第二BOOT SWを用意するよりもファームを焼きなおしたほうがI/Oピンを減らさずにすみます。 -- iruka? : 2010-05-23 (Sun) 21:45:35

  • irukaさんのご指摘の件は検討済みです。この問題を解決するためにArduino IDE側を書き
  • 換える決心をしました。hidspxでの書き換え時にシリアル通信が必要な場合には、シリアル
    ポートの存在を確認してモニタ窓を起動し、hidspx -rを発行しようと考えています。でも、
    切り替え時が非効率ならBootloader方式に切り替えます。そうした利用を行うためにも、2つの
    機能の起動時のモードを選択できる方が便利だと思います。第二BOOT SWは不要で、EEPROMの設定で
    切り替えを行うのはどうでしょうか。
    pic18spxが簡単に製作可能なら、2台用意すればこの問題は起きないのですが低価格の実現は
    難しいものです。 -- senshu? : 2010-05-23 (Sun) 23:50:51

  • 専用の2台をハブで使っています。便利です。2台の価格よりハブが高いかもしれません。
  • 個人使用と集団教育用で考え方の別れるところではないでしょうか。 -- kuman? : 2010-05-24 (Mon) 02:22:01

  • 2台にするとケーブルも2本必要ですが、pic18spxがCDCとHIDの両方を同時にサポート出来る
  • なら、この問題は解決します。そのためにはPICマイコン側により多くのメモリが必要です。
    1kBほどのRAMが追加できればよいのですが、メーカに構成の再考をお願いしたいです。 -- senshu? : 2010-05-24 (Mon) 09:46:40

  • >pic18spxがCDCとHIDの両方を同時にサポート 
  • 複合デバイスにする方法もありますが、それより単純な解法はUSBasp(仮想シリアル)互換のように
    ライターをCDCデバイスにしてしまうことです。どうせCDCドライバーの導入は避けられないのです
    からPIC側は常にCDCデバイスとして振る舞い、ライターコマンドの1つにUSBシリアル変換器動作へ
    の切り替えを入れると良いかと思います。 -- iruka? : 2010-05-24 (Mon) 11:40:12

  • なるほど、その手がありますね。問題は、そうしたライタをどうやって実現するかです。
  • 残念なことにこれを選択すると、ドライバのインストール無しに開発にできるという利点も失わ
    れます。なおUSBaspは、CDCクラスではなかったと思いますが、私の認識不足でしょうか。

    こうした議論を行っているうちに、この企画も面倒に思えてきました。専用のUSBシリアル変換
    基板を廉価に用意すれば解決するのです。物量作戦も悪くない、と感じます。-- senshu? : 2010-05-24 (Mon) 15:17:51

  • すみませんでした。USBaspはgeneric(libusb)デバイスでした。
  • ではHIDtermのようにHIDプロトコルのまま専用termソフトで対応してみるのは
    いかがでしょうか。 -- iruka? : 2010-05-24 (Mon) 16:15:49

  • pic18spxの状態でターゲットのマイコンとUART経由の通信できればよいのですが、HID-UART
  • ブリッジのようなものは実現可能でしょうか。これが実現できれば、常時pic18spxモードで
    よくなります。専用通信ソフトの起動と停止はIDEから操作可能できると思います。 -- senshu? : 2010-05-24 (Mon) 17:21:08

  • HID-UARTブリッジは可能だと思います。私は以前tiny2313の独自シリアルと
  • ComEmulDrv(http://www.mixw.net)を使ってCOMポートにしていました。 -- iruka? : 2010-05-24 (Mon) 17:59:07

  • ただし、Windowsのデバイスドライバーとして組み込む必要があります。ComEmulDrvを使わずに
  • 直接仮想COMを生成する場合はデバイスドライバーを書く必要が出てきます。もしかしたら
    Vistaや7ではインストール制限があるかもしれません。 -- iruka? : 2010-05-24 (Mon) 18:01:01

  • pic18spxのファームを利用してマイコンのUARTとのシリアル通信を実現したいです。CDCクラスで
  • ある必要はなく、ドライバのインストール不要が希望です。picmonと類似方式の通信用アプリを
    実現できれば面白いのですが、「なんちゃってシリアル」がその候補です。-- ''senshu?'


過去ログ

掲示板-過去ログ3

掲示板-過去ログ2

掲示板-過去ログ1


Counter: 3, today: 1, yesterday: 52.27.9.6

Last-modified: 2010-08-28 01:43:21