2014年06月22日

Pinguino v11 プレリリース版 2014

Pinguino v11 プレリリース版 2014
次期PinguinoIDE v11のプレリリース版(以下、PR版)が出ました。
PinguinoIDEは、Arduino風のライブラリを使って、PIC18FとPIC32MXで開発できる
統合開発環境。
Windows/Linux/Macで動く。

アナウンス
http://forum.pinguino.cc/showthread.php?tid=4401
ダウンロード
http://pinguino.cc/download.php

pinguino-v11-jp.png

* プレリリース版のポイント
(1) 日本語メニュー対応。
    今回は先手を打って日本語化しておいたら、
    自分のハンドル名がクレジットされてしまった。(^^;
(2) Windows版はインストーラで、一発インストール可能になった。
(3) Linuxは「*.deb」パッケージベース。「install.sh」一発でインストール可能。
    インストール後は、メニューの「Electronics」に「PinguinoIDE v11」が追加される。
    Lubuntu 14.04でインストールできた。
(4) MIPS gcc コンパイラがv4.8.2になった。
    mips16オプションや最適化オプションをメニューで選べるようになった。(^^)/
    mips16対応をx4でコミットしたかいがあったと。

 * 注意ポイント
(1) Mac版はまだ無い様だ。
(2) Windows版はPIC18Fのみコンパイル可能。
(3) Linux版のPIC32コンパイルは、初期化ファイルが無いのでリンクできない。:D 
    crti.o、crtbegin.o、crtend.oとかがないらしい(詳細未調査)

* 不具合報告
不具合がある場合は、
フォーラムか、
http://forum.pinguino.cc/index.php
githubか、
https://github.com/PinguinoIDE
の、どちらかよく分らないけど、報告した方がよい。:D

posted by Copyright (C) avrin All Rights Reserved. at 00:00| Comment(0) | Pinguino | このブログの読者になる | 更新情報をチェックする

2014年01月26日

2014年:Pinguino/PIC開発環境の動向/mbed動向

2014年:Pinguino/PIC開発環境の動向/mbed動向
Pinguino
http://pinguino.cc/

Pinguinoについては、ブログ内カテゴリ Pinguinoを参照
http://avr.paslog.jp/category/149434.html

で、
2014年初頭のPinguino動向、

(1) PingunioのリリースがNightly buildリリースになった (^^)/
    今まで、Windows版は成り行き上 :D 自分がリリース担当でしたが(3ヵ月に一度程度のリリース)、
    強力な人がさっそうと現れて、常に最新版が入手できるようになりました。
    ということで、ようやくお役御免となりました。(^^)/
    http://wiki.pinguino.cc/index.php/Category:IDE_Downloads
	消息をたったままだ orz orz orz
	Nightly build かぁ。遠い目 orz

(2) IDEを構成するGUIライブラリをQtベースのPySideに移行する予定。
    Qtの持つ豊富な機能が使えて、Win/Mac/Linuxの互換性も向上すると思われる。
    現在アルファ版程度。
    https://yeisoneng.appspot.com/post/preview_pinguino_11/
    上記はスペイン語なのでよくわからいものの xD 見ればわかる。
    試したい人は、ここに試しかたを書いた。
    http://forum.pinguino.cc/showthread.php?tid=4226
    ポイント: Windows:
      すでに存在するQtライブラリのパスが通っていると、バージョンの不整合で
      起動しない場合があるので、その場合は、
      コマンドラインで、
      set PATH=c:\python26
      としてから、
      python pinguino.py
      を実行する。

(3) クラウド型のIDEも登場
    これも、スーパーな人が昨年末、突然現れて、mbed風味のクラウド型IDEを作成中。
    2014/01末ごろには、アルファ版が試せるかも。
    Google chromeベースらしい。
    http://forum.pinguino.cc/showthread.php?tid=4154
    ただ、昨年末以来、音沙汰がないのが少し不安 :D
	消息をたったままだ orz orz orz

(4) PIC32のブートローダの縮小化
    PIC32のブートローダはデカくてorzだったけど、
    ようやく、担当者が出現 :D したみたいです。

(5) PIC18FブートローダのHID化
   PIC18FはWindowsではLibUSB型のブートローダで、ドラバのインストールがorzだったけど、
   現在ドライバ不要になるHID化に着手したみたいです。
   期待度大 (^^)/

* 消息をたったままだ orz orz orz
この人、2013/12末から2014/03末現在に至っても消息を絶ったままだ。
フォーラムでの呼びかけにも無視を決め込んでいる様だ。
ここまで動いた、ここまでできた、こんなに高速に動いた、等々、
さんざん煽ってたのに。
見捨てられたようだ。 orz


* mbedの動向
mbedの動向を見るには、以下のgitページを見ると良い。
https://github.com/mbedmicro/mbed/network
「点」にマウスをあわせるとコメントが出る。
これからコミットされる予定のものが何かを知ることができる。

今年はやはり、mbedのSTM32対応が注目されることは間違いないと思われる。
Discovery系のボードで動く日も近いだろう。
ほんとかなぁ。
プレスリリースを見ると、STMicroは新型mbedボードを画策している雰囲気。




参考:

irukaさんのページ
Pinguinoで遊ぼう
http://hp.vector.co.jp/authors/VA000177/html/Pinguino.html
posted by Copyright (C) avrin All Rights Reserved. at 00:00| Comment(0) | TrackBack(0) | Pinguino | このブログの読者になる | 更新情報をチェックする

2013年02月21日

Pinguino X4 IDE 簡単インストール

Pinguino X4 IDE 簡単インストール

* 経緯
* ダウンロード:
* インストール
*  アップデータ (含むMIPS16対応)
    ダウンロード:

* 英語メニューに戻す方法

PIC18F
* Pinguino PIC18F26J50自作ボード

PIC32
* Pinguino PIC32MX220F032B自作ボード
* Pinguinoのmips16化
* mips16化 PIC32MX memo
* GENERIC32MX220F032で使えるFlash容量

* Update-EasyPack のための memo

* Pinguino PIC32基板
* 大容量PIC32MX250F128Bの購入先
* PIC32MX250/MX220は50MHz動作可能

* PIC32MX 日本語マニュアル

* PIC32MXが激速だった件


* 参考リンク:


Pinguinoとは、PICマイコン(18F,PIC32)のプログラムをArduinoライクなライブラリ使って作成できる開発環境です。
http://pinguino.cc

* 経緯
Pinguino X4 IDEの最新版を簡単にインストールできるものを作ってみました。
http://wiki.pinguino.cc/index.php/Main_Page/ja
上のページも翻訳しておきました。(注3)

http://pinguino.ccからダウンロードできるWindows版インストーラ(rev.399)は非常に古い版であり、
さらにPinguinoチームは、今後インストーラ版は出さないと宣言しました。
その辺はコミュニティに任せるそうです。

インストーラを使わず最新版Pinguino IDE(注2)を起動するには多くの関連ソフトウェアを導入する必要があり、
非常に手間がかかるので、Arduinoと同様に解凍するだけでIDEが起動するパッケージを作りました。
加えて、メニューやメッセージの日本語化、及びIDEやコア・ライブラリの一部のバグを修正してあります。

 pinguino-x4.png  easypack-ide-jp-2.png
* ダウンロード:
以下のページから、
http://code.google.com/p/pinguino32/downloads/list (注5)(本家登録になりました)(注6)
Pinguino-X4-EasyPack-Win32-RevNNN-vNN-yyyy-mm.7z をダウンロードしてください。
 (N,y,mは数字や文字)

* インストール
以下は、
「EasyPack_ReleseNote_en.txt」(注1)
からの抜粋です。詳しくはルートフォルダにある同名ファイルを参照してください。
このページの最後の「参考リンク」も参照してください。

*** Pinguino Easy Pack for win32, release note ***

最初に、7zアーカイブを解凍するために「7-Zip」をインストールして下さい。
     http://sevenzip.sourceforge.jp/

インストールとPinguino IDEの実行:
  1. 7-Zipを使って、'Pinguino-X4-EasyPack-Win32-RevNNN-vNN-yyyy-mm.7z' (N,y,mは数字や文字)を適当なフォルダに解凍します。
     スペースや漢字(全角文字)を含まないフォルダに解凍してください。
  2. x4-easy-revNNNフォルダを例えば、c:\x4-easy-revNNN にコピーします。
     (これは、gpasm.exeが長いフォルダ名を認識できないためです)
  3. x4-easy-revNNN\pinguino.exe
     又は、
     x4-easy-revNNN\pinguino_start.bat
     を実行します。

これだけです。 が、...

必要条件:
  1. もし、 「msvc*90.dll」がないというエラーが出たら、以下をインストールします。(注4)
     vcredist_x86.exe (for win32),
        http://www.microsoft.com/en-us/download/details.aspx?id=5582&WT.mc_id=MSCOM_EN_US_DLC_DETAILS_131Z4ENUS22004
     Python v2.6.6も「msvc*90.dll」を含んでいるので、代わりにPythonをインストールしても同じ効果が得られます。
        http://www.python.org/ftp/python/2.6.6/python-2.6.6.msi
  2. 8bit PICのコンパイルで、もし「sdcppが見つからない...」というメッセージが出たら、
     SDCCの実行パスをWindowsの環境変数PATHに追加してください。
     例えば、
	 c:\x4-easy-revNNN に解凍したなら、
	 Windowsの環境変数PATHに「c:\x4-easy-revNNN\win32\p8\bin」を追加してPinguinoIDEを再起動します。

注意事項:
* このパッケージはデバイスドライバをインストールしないので、
  以下のリンクを参照して適切にインストールして下さい。
  Windows XP:
     http://wiki.pinguino.cc/index.php/Windows#Pinguino_Driver
  Windows 7
     http://wiki.pinguino.cc/index.php/Windows_7
* Pinguino IDEが起動しない時は、'.config'ファイルを削除してから再起動してみます。
  又は、 ルートフォルダにある.'pinguino.log'を確認して下さい。
* コンパイル・エラーが出た場合はメニューから、
  「Pinguino」-「stdoutを表示」、
  又は、
  sourceフォルダの「stdout」を参照してください。
  
動作確認環境:
  * このパッケージは「Win32」環境下でのみ動作確認されています。
    Windows XP (on VMWare),
	Windows 7.
	Windows 7 64bit上の動作報告を確認しました。

  * 8bit Pinguino 26J50 (自作基板).

  * 32bit PIC32 
    (Pinguinoの32bit対応マイコン(PIC32)でも動くと思われますが、現時点では未確認です。
	また、コンパイル時の一部の不具合は修正してあります)
	追記:(2013/02)
	Pinguino-OTG基板での動作報告を確認。
	秋月のPC32MX220F032Bでの動作を確認。


* アップデータ (含むMIPS16対応)
上記EasyPackリリース後に発見されたバグなどを修正したアップデート・パックです。
ダウンロード:
 Update-EasyPack-Win32-x4-rev685mod-v01.zip 
解凍して出てきたフォルダ「x4-easy-rev685mod」をオリジナルの同名フォルダに上書きするだけでアップデートできます。

MIPS16化を有効にする方法:
x4-easy-rev685mod/source/Makefile.win32 をエディタで開きます。
66行目を以下から
       #__MIPS16_ENABLE__ = true
以下に変更して保存します。
       __MIPS16_ENABLE__ = true
あとは、普通にIDE上でコンパイルすればMIPS16化されたコードが生成されます、
さらに、「x4-easy-rev685mod/asm-list.bat」をダブルクリックするとMIPS16化された
逆アセンブル・リストを見ることが出来ます。
追記:
「Makefile.win32」内の最適化オプションを「-O3」から「-Os」に変更してください。


注意点:
MIPS16化すると劇的にコードサイズが減りますが、実行速度も30%程度落ちます。
ただ、かなり高速なCPUなので許容範囲とも言えます。

修正点:
主にPIC32MX220の修正です。
内容:上記memoの(1),(2),(4),(6)を含みます。
[GENERIC32MX220F032]:
Fixed: Issue that the mistake of USERLED definition.
Fixed: Issue that UART(Serial) port was undefined (unmapped).
Fixed: Issue that millis() function dose not work correctly.
Added: The option of the mips16 code generation in Makefile.win32
Pinguino PIC32基板 https://www.olimex.com/Products/Duino/PIC32/ PIC32-PINGUINO-OTG: PIC32MX440F256H 80MHz Flash=256KB SRAM=32kB SDカード付 22EUR PIC32-PINGUINO: 同上 SDカードなし 20EUR PIC32-PINGUINO-MICRO: 同上 SDカード付 13EUR PIC32-T795: PIC32MX795F512H 80MHz Flash=512kB SRAM=128kB SDカードなし 20EUR * 英語メニューに戻す方法 何かの理由で英語メニューに戻したい時は「locale/ja」フォルダのフォルダ名「ja」を例えば 「jax」などにリネームして再起動すれば英語になります。 * Pinguino PIC18F26J50自作ボード 26J50関連資料 http://www.pinguino.cc/download/schematics/Generic26J50/ 各種ブートローダ 必要な物を選んでPICマインコンにPickit2/3等で書込みます。 https://code.google.com/p/pinguino32/source/browse/#svn%2Fbootloaders%2F8%2Fusb%2Fv4.x%2Fhex%253Fstate%253Dclosed これらのブートローダ(v4.x系)はリセットSWを押した後、10秒間書込みモードになるのでブートSWは必要ありません。 リセット後、10秒以内にメニューのアップロードボタンを押せば、書込み完了後ユーザプログラムが自動で実行されます。 回路図全部 http://www.pinguino.cc/download/schematics/ 26J50回路図(本家オリジナル) 上記オリジナル回路は3.3Vを作るのにツェナーダイオード使用ですが、 以下のボードは3.3Vレギュレータに変更してあります。 ブートローダは内蔵PLLだけを使うバージョンです。(今は入手が難しい風) 自分が入手したものを置いておきます。ひとまず動いていますが外部水晶子の方が良いかもしれません。 Bootloader_v4.8_18f26j50_INTOSC.zip pinguino-26j50-bb.jpg 26J50ピン配置 http://wiki.pinguino.cc/index.php/PIC18F26J50_Pinguino * Pinguino PIC32MX220F032B自作ボード MX220F023Bについては、 irukaさんのPIC32MXページ http://hp.vector.co.jp/authors/VA000177/html/PIC32MX.html が大変参考になります。 Pinguinoではこのマイコンを使用した物を「GENERIC32MX220F032」と呼んでいます。 * Pinguinoのmips16化: PIC32MX (2013/02)時点で、PIC32MXのコードをPinguinoでコンパイルすると、基本的にMIPS32という32bit長のコードが 生成されます。Flash大容量タイプのPinguino-OTG等なら無問題なものの、秋月で売っている、 PIC32MX220F032Bだと速度を犠牲にしても、コード効率の良いMIPS16のコードを出力して ほしいと思います。 現時点でMIPS16化に成功したので、Update-EasyPackに含めて本家に紹介したいと思います。 あとirukaさんの軽量化ブートローダも試用後に本家で紹介してみる予定。(いつかはちょっと未定) * mips16化: PIC32MX memo PinguinoのUSB-CDCスタックは、「p32\obj\non-free\usb」フォルダにライブラリとして存在する。 大容量FlashのPinguino-OTG等はMIPS32コード版の「libcdc.a」がリンクされ、 小容量FlashのMX220系統はMIPS16化された「libcdc220.a」がリンクされる。 ソースはないので逆アセンブルしてみると、Microchipの「CDC RS-232 Emulation Demo」という デモコードをベースにしていることがわかる。 逆アセンブル:
mips-objdump -xd libcdc220.a > libcdc220.lst
* GENERIC32MX220F032で使えるFlash容量 GENERIC32MX220F032の場合、使用可能なFlash容量は「約14.3kbyte」(14340byte)です。 irukaさんが指摘しているようにブートローダで16kbyte占有されていますのであまり余裕がありません。 USB-CDCを使うと12kbyte程度消費するので、残り約2kbyte程度になってしまいます。 orz Serial(UART)なら、5.6kbyte程度なので、可能ならこちらを使った方が良いです。 * Update-EasyPack のための memo [PIC32MX220F032B]: (1) USERLED = 0 が正解, RB15に付いているLED。const.h (2) UART: io.h の最後近辺に、 #ifdef __SERIAL__ U1RXRbits.U1RXR=4; // Define U1RX as RB2 ( D10 ) RPB3Rbits.RPB3R=1; // Define U1TX as RB3 ( D9 ) #endif #ifdef __SPI__ SDI1Rbits.SDI1R=1; // Define SDI1 as RB5 [Overlap!] RPA4Rbits.RPA4R=3; // Define SDO1 as RA4 [Overlap!] #endif を追加。 (3) 115200bpsで動かない。 serial.cのSerialSetDataRate()で強制的に「UART_ENABLE_HIGH_SPEED」にするとOK. 22pFを省略したのがアレだったか。探査中。 (4) millis()値不正。 リロード値不正を修正。 millis.c : Tmr2Interrupt()の先頭を以下に変更でOK. TMR2 = 65535-_tmr2; 本家SVN最新版では修正済み。 (5) mphidflash.exeをIDEが実行するとデータ不整合のエラー表示。 表示だけなので問題ないが、消したい。 http://forum.pinguino.cc/showthread.php?tid=3605&highlight=mphidflash このパッチで直るらしい。 https://code.google.com/p/mphidflash/issues/detail?id=7 (6) mips16化:成功 * 大容量PIC32MX250F128Bの購入先 RSオンライン 483円 http://jp.rs-online.com/web/p/microcontrollers/7680836/ マイクロファン 630円 http://www.microfan.jp/shop/145_304.html * PIC32MX250/MX220は50MHz動作可能 irukaさんのページのオーバークロック耐性記事、かなりの耐性がある様だ。(^^)/ オーバークロックは一旦置くとして、実は正規の最高クロックは以下のように規定されている。 (データシート参照のこと) 2.3V to 3.6V -40℃ to +105℃. DC to 40MHz 2.3V to 3.6V -40℃ to +85℃. DC to 50MHz 原発振が8MHzの場合(外部、内部含む)、PLLの設定で48MHz動作が可能である。 48MHz=(8MHz / 2[FPLLIDIV]) * 24[PLLMULT] / 2[PLLODIV] 最高40MHzのつもりで買ったので、少し得した気分。(爆 * PIC32MX 日本語マニュアル 以下の物が日本語化されています。 http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en556007 の「Document & Software」で保存時に「Japanease」を選択する。(タイトルは英語) 日本語 CPU 61113D_JP.pdf 日本語 IOポート 61120E_JP.pdf 日本語 PLL設定-61112G_JP.pdf 日本語 はじめに 61127D_JP.pdf 日本語 ウォッチドッグとパワーアップタイマ 61114F_JP.pdf 日本語 オシレータ 61112G_JP.pdf 日本語 オーディオ-01422A_JP.pdf 日本語 キャッシュ 61119E_JP.pdf 日本語 タイマ 61105F_JP.pdf 日本語 パラレルポート PMP 61128G_JP.pdf 日本語 フラッシュプログラミング 61121E_JP.pdf 日本語 メモリ構成 61115F_JP.pdf 日本語 リセット 61118F_JP.pdf 日本語 割込み 61108G_JP.pdf 日本語 省電力モード 61130G_JP.pdf 英語: MIPS32 M4K プロセッサコア ソフトウェア ユーザ マニュアル MD00249-2B-M4K-SUM http://electronicsandbooks.com/eab1/manual/Electronic%20Component%20Databook%20Datasheet/Brand/MIPS/MD00249-2B-M4K-SUM-01.02%20%5B247%5D.pdf * PIC32MXが激速だった件 millis()関数が動いたので、いつもの多倍長演算ルーチンでベンチマークしてみたところ、 なんと、MIPS32コードの場合、ARM Cortex-M3並みの実行速度をたたき出していました。 MIPS16コードだと30%程度速度減になりますが、それでもかなり高速です。(注7) 参考: チョコットお試し LPC1114FN28 (1) 2012/09 (注1)同梱ファイルは微妙にzipと7zを間違えてますが、次の版まで放置します。(^^; en版の方が正しいです。 (注2)2013/02現在の最新版はrev.713あたりですが直近で大きな変更が入っているので、その前のrev.685を 採用しました。 (注3)Pingunoの初期に記述されたものなので、内容については現状と微妙にずれている部分もあります。 (注4)ライセンスの問題で'msvcr*.dll'を勝手に配布できない。 (注5)近々、公式版として登録されそうな予感がしてきました。(爆 と軽い気持ちで、現在の古い公式版のダウンロード回数見たら約6300回/年とかで、 思わず、引いてしまった。(^^; (完) ちなみに、自分の予想は、約15回/年くらいだった。(爆 (注6)(2013/03) なんと正真正銘の公式版になってしまった。(汗(汗 て、どんだけ人手不足やねん :D (注7)エラッタの多さはある。 (**) Pinguino-X4-EasyPack-Win32-Rev857-v01-2013-05.7z は、 2013/05/31 - 2013/10/14 までの5ヶ月で、2270回ダウンロードされました。 前回のPinguino-X4-EasyPack-Win32-Rev685mod-v01-2013-02.7z は、 2013/02/27 - 2013/05/31 までの3ヶ月で、1939回ダウンロードされました。 * 参考リンク: Pinguino X.3 日本語化 2012 irukaさんのページ: PIC32MX http://hp.vector.co.jp/authors/VA000177/html/PIC32MX.html Pinguino 32bit版(PIC32MX) http://hp.vector.co.jp/authors/VA000177/html/Pinguino.html
posted by Copyright (C) avrin All Rights Reserved. at 00:00| Comment(0) | Pinguino | このブログの読者になる | 更新情報をチェックする

2012年06月04日

Pinguino X.3 日本語化 2012

Pinguino X.3 日本語化 2012
 PIC18F2550をPinguino で動かす(1) 2011で取り上げたArduino型開発環境、
Pinguinoが進化しました。
Pinguinoのバージョン3系列の「X.3」と言うのがリリースされています。
Olimexのボード群であるPIC32のサポートが増えました。

秋月で@260円で64kbyteと強力なPIC18F26J50対応は、もう少し先になりそうです。
(作っている最中風)
http://akizukidenshi.com/catalog/g/gI-05396/

Pinguinoは秋月で扱いはじめた@220円、PIC32MX220のQTFP版をサポート中なので、
何とか、このDIPバージョンで動かせないかなぁ。
と、思ったら既にPIC32MX220F032Bは標準対応CPUになっていた。
http://akizukidenshi.com/catalog/g/gI-05852/

以下が以前も雑多なメモで書いたPIC32MX220のPinguino基板。
9.95EURなので最近の某Palレートなら、「1050円」前後で買えてしまう。
送料を払っても、3900円のPickit3の半額程度で入手できる。(注1)
ブートローダ書込み済みなのですぐにPinguino + PIC32MX220を試すことが出来る。
http://www.olimex.com/dev/pic32-pinguino-mx220.html
Pinguinoプロジェクトは常に進展中なので、その点は広い心が必要。(オイ

Pinguino本家
http://www.pinguino.cc/
フォーラム
http://forum.pinguino.cc/
ブログ
http://blog.pinguino.cc/

* Pinguino X.3ダウンロード
http://code.google.com/p/pinguino32/downloads/list
上のページから、Windowsなら「... setup.exe」と言うのをダウンロードして
インストーラで一発インストールすればおしまい。
Flash書き込み用のドライバは別途インストールが必要。

http://wiki.pinguino.cc/index.php/Result_of_compilation_of_the_examples


* 日本語化
日本語化データを作りました。
以下のファイルを解凍して出てきた「ja」フォルダを、Pinguinoをインストールしたフォルダの
「locale」フォルダの中にコピーした後、Pinguinoを再起動します。
 pinguino-locale-ja-20121013.zip
古い版:
pinguino-locale-ja-20120601.zip
そのうち本家に統合してもらおうと思います。
このデータは、どのバージョンでもそれなりに使えます。
 pinguino-x3-ja.gif  pinguino-x3-ja-2.gif
* 動作
PIC18F2550のボードをばらしてしまったので、今のところ実際に動作させたわけではないです。

あと、自分のWindows XP環境では、インストーラバージョンだとPinguinoが起動しないので (爆(爆
以下のSVN版(ソースコード版)((最新版))を入手して動作させています。
http://code.google.com/p/pinguino32/source/checkout

* 日本語化(2) !?
(2012/10)
少し前にハードディスクが壊れて、WindowsXPを再インストールしたら、上記の日本語化が
全く出来なくなってしまいました。 orz orz

環境変数にLANGUAGE=jaなどを追加すれば良いかとやってみても全然だめ。
おまけにWindows7にしても日本語化できず。orz

もう泣くしかないというか、
笑うしかないというか、

どっちやねん (爆

orz
原因半分判明:
 上のPinguino X3 rev3.99 のインストーラバージョンには日本語化が効かないようです。
 理由は不明。
 以下の開発版なら日本語化OKでした。

(2012/10),(2013/02)
* 開発版のインストール Pinguino X.3やX.4
以下はWindows上のやり方です。

上のWindowsインストーラを使えばドライバ以外は不要ですが、
最新版の開発バージョンを試してみたい時は、以下の様にインストールします。

まずは、この「インストール項目」を済ませておきます。(Python,wxPython,PyUSB)
ドライバはOSに合った物をインストール済みとします。

1. Subversion for Windows(svn)
   次のpysvnとの関係があるのでSubversion version1.7.6以上が良いと思われます。
   (Subversionのほうが新しければ良いと思います。)
    http://sourceforge.net/projects/win32svn/
2. pysvn
	これはオプションなので無くても大丈夫の様です。と思いましたが(オイ
	一応インストールしておいてください。
	http://pysvn.tigris.org/project_downloads.html
	http://pysvn.tigris.org/servlets/ProjectDocumentList?folderID=1768
	http://pysvn.tigris.org/files/documents/1233/49192/py26-pysvn-svn173-1.7.6-1457.exe

適当にフォルダを作って(日本語やスペースを含まない方が無難)、MS-DOSコマンドラインを開いて、
Pinguino X.3なら、
svn checkout http://pinguino32.googlecode.com/svn/trunk/x.3 x3-svn
Pinguino X.4なら、
svn checkout http://pinguino32.googlecode.com/svn/branches/x.4 x4-svn
の様にソ−スコードをダウンロードします。かなり時間がかかります。
例えば、
x3-svn\pinguino_start.bat
を実行すればPinguinoが起動します。

Pinguinoが起動しない場合:
Pinguinoのトップフォルダにある「pinguino.log」を開いてみます。
ここにエラー(OKじゃないもの)があれば、それをインストールします。

x4の方は現在ソースコードを修正しないと起動しない様です。修正されました。

PinguinoブートローダをPICに書き込む
以下のブートローダを使うとブートスイッチは不要で、リセットスイッチだけで書込みが出来ます。
Pickit2かPickit3でPICにPinguino用のブートローダを書き込みます。
以下はPinguino X.4の場合です。
PIC18F2550:
秋月の http://akizukidenshi.com/catalog/g/gI-02161/ の場合、
pinguino-x4-dir\extra\bootloaders\8bit\bootloaderV4.2_PIC18Fx6J50_X20MHz.hex
を書込みます。
PIC18F26J50:
http://wiki.pinguino.cc/index.php/PIC18F26J50_Pinguino
同様に
bootloaderV4.2_PIC18Fx6J50_X8MHz.hex
を書き込みます。クリスタルは外付け8Mhzです。
その他の周波数用のブートローダはここ、
https://code.google.com/p/pinguino32/source/browse/#svn%2Fbootloaders%2F8%2Fusb%2Fv4.x%2Fhex%253Fstate%253Dclosed
内蔵PLLのみの場合はここです。
準備中です。

デバイスドライバのインストール
PIC側:
WindowsXP用:
http://www.hackinglab.org/pinguino/download/driver%20pinguino%20windows/driver%20pinguino%20windows.tar.gz
Windows7用:
http://www.hackinglab.org/pinguino/download/driver%20pinguino%20windows/driver%20pinguino%20w7.zip
ボードをPCにつなぐと、インストールを促されるので上記を解凍したフォルダを指定します。

Pingnino IDE用:
Libusb-win32のインストール
http://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/
v1.2.6あたりが無難。
ブートローダ書込み済みのPinguinoボードをつなげた状態で
libusb-win32-bin-1.2.6.0\bin\inf-wizard.exe を実行、
Microchipを選択してインストールします。

IDEの設定
メニューから「Pinguino」-「ボード選択(Board Selector)」で
Bootloaderを「Bootloader v4.x」
DeviceでPICを選びます。

スケッチのアップロード
スケッチのコンパイルは済みとします。
ボードにリセットをかけて3〜5秒程度待った後、メニューの「アップロード」ボタンを押すと書込みはじめます。
書込み後、自動でユーザプログラムが実行されます。

リセット後のアップロード受付可能時間は10秒です。
少し待つのは、PCの速度によってドライバ認識時間が違うためです。








posted by Copyright (C) avrin All Rights Reserved. at 00:00| Comment(0) | Pinguino | このブログの読者になる | 更新情報をチェックする

2011年10月24日

PIC18F2550をPinguino で動かす(1) 2011

PIC18F2550をPinguino で動かす(1) 2011
注意:
このページの内容は古いので、
以下も合わせて参照してください。
Pinguino X.3 日本語化 2012 
http://avr.paslog.jp/article/2477815.html

*はじまり
  Pinguino PIC18F2550 回路図
*Pinguinoのバージョン
*インストール
*日本語版IDE
  ダウンロード
*サンプルプログラムをコンパイルする
  *Flashに書き込む
  *PWM出力させてみる
  *USB CDC (USB-to-Uart) を使う
  *キャラクタLCDに表示してみる
*Pinguino よくある質問と答え
*キーワードヘルプ機能
*Windows Vista/7の注意点
*次期バージョンPinguino32 x.2版(Windows用)について。 2011/11

*はじまり
Olimexのページで以前「Pinguino」というのを発見していた。
その時よく見てなかったけど、もう一度よく見てみると (オイ

状況が少し変わっていた。Pinguinoとは、
PIC18F2550 / PIC18F4550 / PIC32MX等でArduino風開発が出来る統合環境。

Pinguino
http://www.pinguino.cc/
今後は、「Basic言語」にも対応するようだ。
PIC18F26J50や「ARM Cortex-M3 STM32」にも対応予定らしい。
http://wiki.pinguino.cc/index.php/Main_Page

フォーラム
http://forum.pinguino.cc/index.php
Pinguino Google Groups
https://groups.google.com/group/pinguinocard

OlimexとコラボでPIC32MX版にも対応している。
PIC32-PINGUINO-OTG 2500円くらい
http://www.olimex.com/dev/pic32-pinguino-otg.html

秋月で買った絶賛死蔵中の(爆 PIC18F2550基板で簡単にArduino風開発ができる
と言うことなので、PIC18F2550で試してみる。


Pinguino PIC18F2550 回路図
秋月のPIC18F2550基板回路図
以下はPinguino回路図:
秋月の基板でほとんどOKなので、
リセットSWと
Run用のLED(必須)
を付ける。
Power LEDは秋月基板上にあるので必要ない。
あと、「PIN7」に動作確認用のLEDを付けておくと分かり易い。



PIC18FはC++言語が使えないけど、Arduino文法をC言語に変換するトランスレータを搭載していて、
PIC18FでArduinoの記法及び、基本ライブリが使えるらしい。
なかなかおもしろそう。

ちなみに、Chipkitとの関係が微妙と言えば微妙。
予想ではChipkitのほうがArduinoとの互換度は高いと思う。
ただの予想だけど。(PIC18F2550はChipkitのIDEでは使えない)
Pinguinoもどんどん改良中なので今後を見守る必要がある。


*Pinguinoのバージョン
2011年11月現在、PIC18F2550/4550用のベータ版(Pinguino Beta 9-05)と
より進化したPIC32も含んだテスト版(Pinguino32 x.2)が存在する。
これらを試したところ、テスト版(Pinguino32 x.2)は、PIC18F2550でコンパイルできるものの、
FLASH書込みがうまく行かないので調査中。(原因判明)

ここでは一通り動作したベータ版(Pinguino Beta 9-05)(Windows用)の使い方をメモする。
このバージョンは、「PIC18F2550/45550専用」で、デフォルトで「PIC18F2550用」に設定されていますので
PIC18F2550で良ければマイコンの種類を設定する必要はありません。

*インストール
以下の説明は、OSがWindows XPの場合です。(Windows Vista/7の注意点、参照)
以下をダウンロードしてインストールします。
1,Python関連:
 Pythonを初めてインストールする場合:
 以下を順にインストールしていきます。
Pythonはv2.6系列を導入してください。
Python v2.6系は本家系の以下から入手します。
http://www.python.org/download/releases/2.6.6/
Windows 32bit用インストーラ
http://www.python.org/ftp/python/2.6.6/python-2.6.6.msi
 インストール先は全てデフォルトでOKです。(Pythonは、C:\Python25になるはず)
 (1)http://www.python.org/ftp/python/2.5.2/python-2.5.2.msi
 (2)http://downloads.sourceforge.net/wxpython/wxPython2.8-win32-unicode-2.8.9.1-py25.exe
 (3)http://sourceforge.net/projects/pyusb/files/PyUSB%200.x/0.4.1/pyusb-0.4.1.win32-py2.5.exe/download
 (4)http://downloads.sourceforge.net/libusb-win32/libusb-win32-filter-bin-0.1.12.1.exe?modtime=1174387137&big_mirror=0
 既にPython2.6がインストール済みの場合:(自分はこれ)
 (2)http://sourceforge.net/projects/wxpython/files/wxPython/
    http://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/wxPython2.8-win32-unicode-2.8.12.1-py26.exe/download
 (3)http://sourceforge.net/projects/pyusb/files/PyUSB%200.x/
    http://sourceforge.net/projects/pyusb/files/PyUSB%200.x/0.4.3/pyusb-0.4.3.win32-py2.6.exe/download
 (4)Libusb-win32 v1.2.6 下記参照
 既にPython2.7がインストール済みの場合:
 (2)http://sourceforge.net/projects/wxpython/files/wxPython/
    http://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/wxPython2.8-win32-unicode-2.8.12.1-py27.exe/download
 (3)http://sourceforge.net/projects/pyusb/files/PyUSB%201.0/1.0.0-alpha-2/
    「pyusb-1.0.0a2.zip」をダウンロードして解凍したフォルダ内でDOS窓を開いて、
    > python setup.py install
    を実行してインストールします。
 (4)Libusb-win32 v1.2.6 下記参照


 (注)「Python2.6」で「pyusb-1.0.0a2.zip」を使ってみましたが、特に問題ないようです。

2,PingninoのUSBドライバ(Microchip):
  http://www.hackinglab.org/pinguino/download/driver%20pinguino%20windows/driver%20pinguino%20windows.tar.gz
  上のUSBドライバファイルを適当なフォルダに解凍しておきます。
  「*.tar.gz」ファイルの解凍は適当な「解凍ソフト」を探して解凍します。
  (http://www.vector.co.jp/vpack/browse/pickup/pw4/pw004641.html)


*日本語版IDE
現在pinguino beta9-05のWindows版について、日本語化及び一部のバグ修正、
最新版で改良された機能のバックポートを行っています。

pinguino beta9-05-mod-v02版: (2011/12)
  (1)Flash書込みウインドウの日本語化。
  (2)起動時、メインウインドウサイズがおかしくなってしまう場合があるのを修正。

pinguino beta9-05-mod-v01版: (2011/11)
  (1)メイン・メニューやエラーメッセージの日本語化。
  (2)ツールバーのツールチップヘルプの日本語化。
  (3)キーワードヘルプ機能に対応。
  (4)履歴からファイルを開いたときに、LOGOが残ってしまうバグの修正。
  (5)configファイルを消去すれば、ウインドウが初期サイズに戻るように修正。
  (6)ヘルプメニューのリンクを正しく設定した。
  (7)文字列検索でハングアップしないように修正。
  及び、その他の修正。

3,Pinguino Beta 9.05 日本語版をインストール:
  ダウンロード
   pinguino_beta9-05_win_mod-v02-20111203.zip

  これを、「漢字や空白を含まないフォルダ」に解凍します。(そうしないとうまく動きません)
  例えば、「C:\pinguino_beta9-05_win_mod-v01」とか。
  (最後の「v01」の部分はダウンロードしたバージョンによります。)

  IDEの実行:
    「C:\pinguino_beta9-05_win_mod-v01\pinguinobeta9-05windows.py」を選択して
    右クリックメニューで「プログラムから開く」-「python」で実行できます。
    pinguino-gui-start-jp.gif
    上の様に起動します。

日本語化されたIDE:
pinguino-gui-jp3.gif
テーマ:
  「設定」-「テーマ」-「arduino」等でテーマを変えられます。変更後Pinguinoを再起動してください。
pinguino-gui-arduino.png

4,ブートローダをPIC18F2550に書き込む:
    ブートローダファイル
    「C:\pinguino_beta9-05_win_mod-v01\bootloaderV2.12.hex」を「Pickit2」などでPIC18F2550に書き込みます。
    ブートローダ書込み後に、パソコンにUSBケーブルで接続すると、ドライバのインストールを
    促されるので、上の「2,」のドライバフォルダを指定します。
    USB接続を確認する:
      デバイスマネージャで「Custom USB Devices」-「Microchip Custom USB Device」があることを確認する。
      これが確認できないと先に進めません。

*サンプルプログラムをコンパイルする
上のIDE画面でメニューから「ファイル」-「開く」-「examples」フォルダの中から適当に選びます。
例えば「input_output」-「testblink.pde」を選びます。
pinguino-gui-cmpile.png
ツールバーのコンパイルボタンでコンパイルします。
コンパイルは、ほぼ押した瞬間に終了します。
コンパイル結果が画面下部(出力:)に表示されます。

5,Libusb-win32のインストール
http://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/
v1.2.6あたりが無難。
Pinguinoボードをつなげた状態で
libusb-win32-bin-1.2.6.0\bin\inf-wizard.exe を実行、
Microchipを選択してインストール。

*Flashに書き込む
1,上の図で「Flash書込み」ボタンを押すと、以下のライタソフトが起動します。
  pinguino-flashwrite1-jp.gif
2,PIC18F基板とPCをUSBケーブルで接続します。(「書込み」ボタンを押す前ならいつでも良い)
3,Resetボタンを押して離した後、「Run LED」が消えている間(ブートローダモード中)に
  3秒数えて「書込み」ボタンを押します。
  (Reset 後、5秒経つと自動的にユーザーコードに移行してしまいます)
  これで、以下のように表示されれば書込み終了です。
  書込みは瞬時に終了します。
  pinguino-flashwrite2-jp.gif
4,書込み後、自動でユーザーコードが動作します。
  この時「Run LED」が点灯状態になります。
  (従って「Run LED」は省略せずに付けた方が良いです)

5,書き込んだサンプルプログラム(testblink.hex)は「PIN1」か「PIN7」につないだLEDを点滅させます。
  (「PINx」(x=1〜)はPICマイコンのデータシート上の表記ではなく「Pinguino」の回路図上の名称です)

*PWM出力させてみる
examples\pwm\testPWM.pde を実行してみました。
コードはサンプルコードそのまま。
周期48KHz程度、デューティ50%と10%のPWM出力を確認しました。(デューティの分解能は10ビット)
出力はPIN11とPIN12。
	 
// test PWM with Pinguino
// Jean-Pierre MANDON 2009

void setup()
{
}

void loop()
{
    analogWrite(11,512);    // 50% square wave on output 11
    analogWrite(12,102);    // 10% square wave on output 12

    while(1);
}
*USB CDC (USB-to-Uart) を使う PIC18F2550のUSB端子を経由してUART(USB CDC)を使ってみます。 「examples\cdc\cdc.pde」を開いてコンパイル・アップロード(Flash書込み)します。 Windowsが「USB CDCドライバ」を要求してくるので、 「C:\pinguino_beta9-05_win_mod-v01\inf」フォルダを指定します。 これで、準備OKです。デバイスマネージャで「USB Communications Port (COMxx)」のポート番号を確認して、 TeraTerm等でオープンします。CDCの場合、ボーレートに意味はないようです。 pinguino-usb-cdc.gif 上の様なメッセージが表示されればOKです。 この機能はナイスですね。 *キャラクタLCDに表示してみる examples\lcd\lcd.pde をそのままコンパイルして実行さてみました。LCDは SD1602VBWB(-XA-G-R): http://akizukidenshi.com/catalog/g/gP-02985/ pinguino-lcd.jpg *Pinguino よくある質問と答え 題名だけ日本語化してみました。 ★ Pinguinoとは何ですか? ★ Arduinoより良い点は何ですか? ★ Arduinoと100%の互換性がありますか? ★ 32ビット版Pinguinoで、どうやってブートローダモードに入りますか? ★ Arduinoと比べて弱点は何? ★ 次のバージョンで何が良くなるの? ★ ライブラリの作り方は? *キーワードヘルプ機能 最新版で導入された機能をWindows版にバックポートしました。 「ヘルプ」でライブラリのキーワードを選択するとWeb上のヘルプページを開く機能です。 例えば「delay」という関数キーワードを選択すると、以下のヘルプページが開きます。 http://wiki.pinguino.cc/index.php/Delay pinguino-gui-keyword-help.gif *Windows Vista/7の注意点 Win7/VistaはLibUSBのバージョンが違います。詳細は以下を参照してください。 http://tutorial.cytron.com.my/2011/08/20/pinguino-installation-window-7/ Windows XPしか持っていないので詳細は分りません。 *次期バージョンPinguino32 x.2版(Windows用)について。 2011/11 上でも書いたように2011年11月現在、開発中の次期バージョン「Pinguino32 x.2版」は、 PIC18F2550でコンパイルができるものの(出来ない物も多い)、 FLASH書込みがうまく行かないので調査中でしたが、原因がだいたい把握できたので、 ここにメモしておきます。   Flash書込み時のエラーについて:     原因が判明するまでかなり大変でしたが、分ってみれば、対応はたった1行のimport文でした。orz orz orz     IDEからFlash書込みを実行すると以下のようなエラーが発生します。
Traceback (most recent call last):
  File "C:\pinguino\x.2\win32\p8\bin\vascoboot1.3.py", line 169, in Write
    self.WriteFile(vendor,product,self.filename)
  File "C:\pinguino\x.2\win32\p8\bin\vascoboot1.3.py", line 172, in WriteFile
    dh=self.getdevices(vendor,product)
  File "C:\pinguino\x.2\win32\p8\bin\vascoboot1.3.py", line 217, in getdevices

    buses=usb.busses()
  NameError: global name 'usb' is not defined
    「vascoboot1.3.py」というスクリプトの中で「usbモジュール」が見つからないというエラーです。     ところが、「vascoboot1.3.py」の中には「import usb」文が定義してあるのです。     調べていくと以下の方の記述が大きなヒントになりました。m(__)m     masa's WonderLand blog     Python(失敗事例) execfileでの変数スコープ      http://masaland.cocolog-nifty.com/blog/2009/08/pythonexecfile-.html     結論としては、「execfile関数から呼ばれるvascoboot1.3.pyの中のimport usb文」は、     無視されて無くなってしまう様です。     従って、「vascoboot1.3.py」を呼び出す側のスクリプト「pinguinobetax2.py」に「import usb」文が     必須となるのですが、未定義なのが原因でした。     一つ前の「Pinguino Beta 9-05版」ではちゃんと呼び出し側に定義があります。     対応は「pinguinobetax2.py」の先頭あたりに「import usb」文を追加すればOKです。     この対応は、Subversionのリポジトリにある最新版(trunk)のソースでも必要です。   Pinguino32X windows r208 setup.exeについて :     最近リリース(2011/10/23)された以下のWindows用のインストーラ版は、     PIC18Fについては上の「import usb」問題を含んでいて書込みができません。     http://code.google.com/p/pinguino32/downloads/list       Pinguino32X windows r208 setup.exe     Subversionのリポジトリの最新版(trunk)のソースを修正して使った方が良いです。     http://code.google.com/p/pinguino32/source/checkout *次期バージョンPinguino32 x.2版(Windows用)について。 2012/03 バグ関連:   http://wiki.pinguino.cc/index.php/IDE_Bugs (注1)ブートローダをPIC18Fに書き込むためのPICライタが必要です。 参考: http://jpmandon.blogspot.com/2010/10/pinguino-beta-9-04.html http://www.fazzi.eng.br/2010_08_01_archive.html GLCDライブラリ http://www.fazzi.eng.br/2011/01/glcd-162-and-pinguino-rtc-128x64.html http://www.fazzi.eng.br/2011/03/library-for-itdb02-24-8bits-bus-with.html 非常に分かり易い、日本語解説ページ ORBIT limited. さん http://homepage1.nifty.com/ORBIT/lec/pinguino.html#md001 Linux工作室 Pinguino さん http://penguin.tantin.jp/hard/Pinguino.html リンク: pinguino32 Googleグループ http://code.google.com/p/pinguino32/
posted by Copyright (C) avrin All Rights Reserved. at 00:26| Comment(0) | Pinguino | このブログの読者になる | 更新情報をチェックする