2006年10月08日

PIC開発環境をいろいろ試す

PIC18F2550を買ってきてからバイナリを作るための開発環境をいろいろ試していました。

試したのは以下の3種類の組み合わせです。
(A)MPLAB C18+MPASM+MPLINK
(B)SDCC+MPASM+MPLINK
(C)SDCC+gpasm+gplink

(A)MPLAB C18+MPASM+MPLINK
さすがに普通に動きます。
Student Editionの制限ですが、インストールして60日たつと最適化の機能とPIC18の拡張命令が利用できなくなるとのことで、案外アマチュアが使うには問題ないのかも。

(B)SDCC+MPASM+MPLINK
SDCCが吐いたアセンブラのコードをMPASMがアセンブルするまでは良いのですが、MPLINKが以下のエラーになります。

Executing: "C:\MCC18\mpasm\mpasmwin.exe" /q /p18F2550 "test.asm" /l"test.lst" /e"test.err" /o"test.o" /o
Executing: "C:\MCC18\bin\mplink.exe" "C:\Program Files\gputils\lkr\18f2550.lkr" "D:\user\iwata\picsrc\sdcc\test.o" "C:\Program Files\SDCC\lib\pic16\libsdcc.lib" /o"sdcc.cof" /M"sdcc.map"
MPLINK 4.02, Linker
Copyright (c) 2006 Microchip Technology Inc.
Error - Coff file '' does not appear to be a valid COFF file.
Error - Could not build member '' in library file 'C:\Program Files\SDCC\lib\pic16\libsdcc.lib'. 
Errors    : 2

BUILD FAILED: Sun Oct 08 22:37:29 2006

SDCCのライブラリであるlibsdcc.libをMPLINKにかけるとバージョン互換性の問題に引っかかるのかな。SDCCのマニュアルには、MPLINKでフツーにリンクできるとあるんですけどね。

(C)SDCC+gpasm+gplink
コマンドラインで使えば多分フツーに使えます。
MPLABに統合して使えないかと思って、gputils-mplabプラグインを使ってみましたが、gpasmが動いたところでリロケータブルなオブジェクトが出力されるのですが、なぜかFAILで終わってしまってgplinkまで実行されませんでした。

これらの組み合わせで使ってみて、バイナリが生成できるのは(A)と(C)の組み合わせ。(A)だとC言語のレベルでシミュレータが利用でき開発の効率がいいので、しばらくはこれで進めようと思います。
(C)もCOFFが出力できるのでシミュレータで使えそうな気がするのですが、(B)のCOFF互換性問題もあったことだしまた時間があったらということで。

trackbacks

trackbackURL:

comments

(C)のナゾは解けました。
http://aniki.daionet.gr.jp/~iwata/blog/archives/2006/11/gputilsmplab.html

  • iwata
  • 2006年11月27日 01:06
comment form
comment form