AVR Studio 4.14 でのレジストリ修正によるWinAVRのパス変更方法 2008.4.14
以下はAVR Studioでの複数のWinAVRのバージョンを切り替える方法です。
レジストリを書き変えます。(プログラムの追加と削除にも、同じバージョンのWinAVRが現れます。) 以下の情報が正しくない場合もあるので、自己責任にて実験してください。
対応WinAVRバージョン
WinAVR-20050214
WinAVR-20060125
WinAVR-20060421
WinAVR-20070122
WinAVR-20070525
WinAVR-20071221
WinAVR-20080411
(レジストリを理解されている方は、他のバージョンにも変更可能だと思われます。それぞれのバージョン日付を以下の修正レジストリにて変更するだけです)
実験環境
●修正レジストリは3箇所
WinAVR付属のWinAVR-user-manual.txtにはどのレジストリを使用しているかの記述があります。本手法では、そのレジストリだけを変更しています。ただし、Windows全体に関わるPATHは変更していません。
* Installation Location::
[HKEY_LOCAL_MACHINE\SOFTWARE\WinAVR]
* GCC Component Paths::
[HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\WinAVR]
* Uninstaller::
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinAVR]
WinAVR用の3つのレジストリをAVR
Studio4.13が起動時に参照してWinAVRのバージョンやコンパイラのパスを読み込んでいます。これを利用します。
しかしアンインストールレジストリを変えると「プログラムの追加と削除」からは元のバージョンのWinAVRを削除できなくなりますが、WinAVRには個別にWinAVR-20060125-uninstall.exeのようにアンインストーラーがついているので削除できます。
●添付したAVR071221.regファイルの内容の例(WinAVR-20071221の場合) 赤字はコメント
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\WinAVR]
@=hex(2):43,00,3a,00,5c,00,57,00,69,00,6e,00,41,00,56,00,52,00,2d,00,32,00,30,\
00,30,00,37,00,31,00,32,00,32,00,31,00,00,00 アスキーコードC:\WinAVR-20071221
[HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\WinAVR]
"GCC"="C:\\WinAVR-20071221"
"BINUTILS"="C:\\WinAVR-20071221"
"G++"="C:\\WinAVR-20071221"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinAVR]
"DisplayName"="WinAVR 20071221 (WinAVR切り替え用)"
"UninstallString"="C:\\WinAVR-20071221\\WinAVR-20071221-uninstall.exe"
"DisplayIcon"="C:\\WinAVR-20071221\\WinAVR-20071221-uninstall.exe"
"DisplayVersion"="20071221"
"URLInfoAbout"="http://winavr.sourceforge.net/"
●手順
1)まず、複数のWinAVRをインストールします。
インストールフォルダは必ずC:\WinAVR-20071221のように指定してください。フォルダ名はバージョン識別になります。
私はインストール指定のAdd Directories to PATH (Recommended)をチェックしないで、インストールしました。コンパイルはコマンドプロンプト使用しないので、チェックしていません。
2)AVRStudio4を開いて、ProjectOptionのCustomOptionにあるExternalToolでUseWinAVRがチェックされているのを確認します。
3)一旦、AVRStudio4を閉じます。
4)次のファイルはそのレジストリを変更するためのregファイルです。ダウンロード、解凍して、デスクトップにショートカットを作ってください。
AVR_Studio_WinAVR_ChangeReg3.zip
5)希望するバージョンのショートカットをクリックすると、レジストリを追加しますかと聞いてくるので、はいボタンをクリックすると、WinAVRのバージョンやコンパイラパス情報が変更されます。
6)AVRStudio4を開いて、ProjectOptionのCustomOptionにあるExternalTooのフォルダを確認してください。フォルダが書き換わっているはずです。これで、そのバージョンでコンパイルできるようになります。
7)外部のインクルードファイルオープンしている場合、特にWinAVRのものを開いている際は、すべて閉じてください。ビルドすれば、外部インクルードファイルも正しいパスになります。
8)一度クリーンをおこない、ビルドします。
その他
コマンドプロンプトを使用する方は、Pathの先頭に以下を手動で追加または変更してください。赤字は不要
C:\WinAVR-20071221\bin 数字はバージョンを示すフォルダ名
C:\WinAVR-20071221\utils\bin