sdcc-usb の変更点


[[sdcc]]←  [[PIC日記>2009-05PIC]]←  →[[sdccを飼い馴らす>PIC18F2550]]  →[[PIC18F4550]]



----
''目次:''

#contents


~
~
~
共通のお約束
-秋月AE-18F2550またはほぼ互換なハードウェア用(18F4550でもOK)です。
-秋月AE-18F2550またはほぼ互換なハードウェア用([[PIC18F4550]]でもOK)です。
--参考:[[UBWサイトにある回路図]] --> 水晶は20MHzに。(秋月のと同じファームが使えるので)。

-コンパイルには
[[sdcc:http://sdcc.sourceforge.net/]]
と
[[gputils:http://gputils.sourceforge.net/]]
を使います。

-PICへのファームウェア書き込みはブートローダーの使用をお勧めします。
-ツール、ブートローダーともに、[[HIDmon-2550]]アーカイブに含まれています。

~
お断り
-PICのアーキテクチャーが抱える問題と、sdccのやる気のなさにより、C言語で書かれたアプリケーションは肥大であり、低速です。
-しかしフルアセンブラで書くよりは、保守性が高いと思います。
-部分的に高速化する手段は残されていますので、絶望しないでください。

 void sub1(void) __naked
 {
  __asm
    処理を記述
    ・・・
    return
  __endasm ;
 }
こんな感じです。
-C:/sdcc/ にsdccをインストールしている場合、
以下のディレクトリにライブラリのソースがあります。
 C:/sdcc/lib/src/pic16/
-一通りさらっと目を通しましょう。
-それに倣って書けば、PICなのに高速なアプリケーションが書ける様になります。



~
~
~
----
*SDCC bootloader [#m424304d]

■ 概要

-これはMicrochipが提供しているPIC 18F2550用のUSBブートローダー
のファームウェアを sdcc でコンパイル出来るように改造したものです。

■ 用途

-PICでのUSBバルク転送ベンチマーク(USB転送高速化の研究)に使うことが出来ます。



■ Download
-http://psp.dip.jp/web/upload/PIC/sdccloader-0423.zip

~

-現在のところ、HIDmonのようにポートやメモリーを読み書きする機能はありません。
-USB転送のベンチマークだけを実行出来ます。
-PIDをFirmware-Bと同じにすれば、MyBootから操作できます。(但しFlash書き込みはsdccとC18の仕様に関わる問題により、今のところ出来ません)




~
~
~
----

* UBW リメイク [#af85b383]

■ 概要

-UBW Firmware-D 1.4.3 のリメイクです。
-MicroChipによるビルドディレクトリ構成が(深すぎて)気に入らなかったので、system/以下を平坦にしてみました。~
(--+勝手に改蔵+-勝手に改蔵+-勝手に改蔵+---)
-ブートローダーから起動するバイナリー(0x800 オリジン)と、外部PICライターを使って単独に書き込むバイナリー(0x0000オリジン)の両方が作成できます。

~

■ 用途

-PCに接続すると仮想COMポート接続によりファームウェアと交信出来ます。
-GainerのようにPICのI/Oの読み出しとコントロールが出来ます。
-Gainerに良く似た(しかしGainerより少しだけエレガントな)汎用USB-IOとして使えます。

~

■ Download
-http://psp.dip.jp/web/upload/PIC/sdccFW_D143.zip




~
~
~
----

* USB-CDCスケルトン [#z01de7df]

■ 概要

-UBWを改造して、CDCクラス(仮想COMポートデバイス)のスケルトンを試します。

■ 用途

-各種CDCデバイスを作成するフレームワークになります。

■ Download
-http://psp.dip.jp/web/upload/PIC/sdccUSB-cdc.zip

-仮想COMポートから送られてきた文字をそのままエコーバックします。