LUFA 100807と言うバージョンが必要。
そのフォルダの中に・・firmwaresフォルダを放り込んで、makeすると、hexが出来る。
makefaileのMCU = at90usb82の部分を適当に書きかえる。例えば・・
MCU = atmega8u2
MCU = atmega32u2
と書き換えて、makeするとこうなる。
---- Compile Time Library Options ----
USB_DEVICE_ONLY
FIXED_CONTROL_ENDPOINT_SIZE=8
FIXED_NUM_CONFIGURATIONS=1
USE_FLASH_DESCRIPTORS
INTERRUPT_CONTROL_ENDPOINT
DEVICE_STATE_AS_GPIOR=0
USE_STATIC_OPTIONS=(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)
--------------------------------------
--------- Target Information ---------
AVR Model: atmega32u2
Board: USER
Clock: 16000000Hz CPU, 16000000Hz Master
--------------------------------------
Size after:
AVR Memory Usage
----------------
Device: atmega32u2
Program: 4058 bytes (12.4% Full)
(.text + .data + .bootloader)
Data: 303 bytes (29.6% Full)
(.data + .bss + .noinit)
-------- end --------
そのフォルダの中に・・firmwaresフォルダを放り込んで、makeすると、hexが出来る。
makefaileのMCU = at90usb82の部分を適当に書きかえる。例えば・・
MCU = atmega8u2
MCU = atmega32u2
と書き換えて、makeするとこうなる。
---- Compile Time Library Options ----
USB_DEVICE_ONLY
FIXED_CONTROL_ENDPOINT_SIZE=8
FIXED_NUM_CONFIGURATIONS=1
USE_FLASH_DESCRIPTORS
INTERRUPT_CONTROL_ENDPOINT
DEVICE_STATE_AS_GPIOR=0
USE_STATIC_OPTIONS=(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)
--------------------------------------
--------- Target Information ---------
AVR Model: atmega32u2
Board: USER
Clock: 16000000Hz CPU, 16000000Hz Master
--------------------------------------
Size after:
AVR Memory Usage
----------------
Device: atmega32u2
Program: 4058 bytes (12.4% Full)
(.text + .data + .bootloader)
Data: 303 bytes (29.6% Full)
(.data + .bss + .noinit)
-------- end --------
LUFAの中にサンプルがいくらでも有るから・・これは遊べる。
0021に入ってたソースは、at90usb82になってたが、0022のは、atmega8u2に変わってました。
これやる前に、avr-gccのpower.hに数行足しておくのをお忘れ無く。
一応書くが・・OSXの場合、avr-gccの位置や、avrdudeの位置は、/usr/local 以下の、非表示領域に有るから何らかの手段で、たどり着いてください。
私はどこかから拾ってきた、スクリプトで全部表示させて、該当フォルダのパーミッションにadminを足して操作してます。(そうしないと書けないし面倒)
面倒くさがりなので、こんなコマンド集が、デスクトップに入ってます。
sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit
これ以下に、書き換えたいファイル名書けば・・普通のテキストエディタで書き換え可能になります。(どんなやばい物でも書き換え可能になるので注意する事)
わりとチマチマとコピペで、フォルダーまでcdして、lsしてファイルの存在確認して、この行をコピペして、書き換えたいファイル名書いて、リターン押せばOK
終わったら、テキストエディタを完全に終了command-Qする事をお忘れ無く。
nanoとかシェルのエディターは慣れないので・・こればっか。
上記コンパイルで、ちょっと気になってるのは・・mega8u2だと8KB有るんだけどさ・・これ DFU分だけかも・・.bootloaderって書いて有るけど・・
mega8u2コンパイルしたらこうなった
---- Compile Time Library Options ----
USB_DEVICE_ONLY
FIXED_CONTROL_ENDPOINT_SIZE=8
FIXED_NUM_CONFIGURATIONS=1
USE_FLASH_DESCRIPTORS
INTERRUPT_CONTROL_ENDPOINT
DEVICE_STATE_AS_GPIOR=0
USE_STATIC_OPTIONS=(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)
--------------------------------------
--------- Target Information ---------
AVR Model: atmega8u2
Board: USER
Clock: 16000000Hz CPU, 16000000Hz Master
--------------------------------------
Size after:
AVR Memory Usage
----------------
Device: atmega8u2
Program: 4058 bytes (49.5% Full)
(.text + .data + .bootloader)
Data: 303 bytes (59.2% Full)
(.data + .bss + .noinit)
-------- end --------
やっぱ4KBに落ちてる。
0021のコードもmakeしてみたが
undefined reference to `USB_DeviceState
と言うエラーで止まってしまった、
0022の変更箇所に、なんかそんなの書いて有ったような記憶も有る。
とりあえず、0022はmake出来たからいい、0021にバグが有るかも知れないって事か・・
結構進歩したかも。
コメント
コメントを投稿