Sim's blog

電子工作はじめてみました

LLVMがPICをサポート

2008-11-16 20:34:18 | その他のマイコン
LLVMが2.4になって、PICをサポートしたようです(マイコミジャーナルの記事)。

New Featureのところには次のように書かれています。「LLVM 2.4 also includes an initial port for the PIC16 microprocessor. This target only has support for 8 bit registers, and a number of other crazy constraints. While the port is still in early development stages, it shows some interesting things you can do with LLVM.」。a number of other crazy constraints(たくさんの他のcrazyな制約)の所が笑っちゃいますね。

LLVM(Low Level Virtual Machine)はThe LLVM Compiler Infrastructureで開発されている仮想機械とコンパイラです(wiki)。Cとかの高級言語で記述されたソースはLLVMのコードにコンパイルされた後で実行されます。Javaのバイトコードとかと似た感じだと思います。

C言語から中間言語に変換するコンパイラと、中間言語を最適化してコード生成する部分を分離できるので、色々な言語に対応できます。

LLVM勉強会というのが開催されていたみたいです。プレゼン資料をダウンロードして見ることができます。私がうだうだ書くより、こちらの資料を見た方がよっぽど分かりやすいです。

LLVMのページにはon line demoというのがあって、Cのソースを入れてコンパイル結果が見れるようになっています。

PICができるんならAVRとかもできるようにならないかな(他力本願)。

gingerを作ってみる

2008-11-16 14:01:59 | AVR
ginger部品表の続きになります。

もあさんのエレキジャックの記事も着々と進んでいます。

基板です。


背の低い部品からつけていきます。


だいぶできてきました。

って、ICソケットまがってますね。

完成です。


今回は、コネクタ関連をほとんどまがってつけるというマヌケなことをしてしまいました。

もあさんのpepper作成記事を参考にして、USBの電源コネクタがショートしていないことを確認します。


いよいよUSBコネクタをつないでみます。

うぐっ、これは困った。

とりあえず、はんだづけ確認します。怪しそうなところは再はんだです。
でも、状況変わらず。

ATMega168が動いてないかも、と思いプログラマ(トラ技付録78K0基板)をつないでみます。


Read Signatureできません。ISPコネクタとATMega168のpinをテスタで導通チェックしていくとリセット(ISP5pinとATMega168 1pin)がつながっていません。何かの拍子に切っちゃったかな。しかたないのでジャンパーを飛ばしました。

(ううっ、はんだが汚い><)

今度はRead SignatureもFuseの読み出しもできるようになりました。Fuseは外部クロックになっていたので、クロックもちゃんと動いているみたいです。

念のため、ATMega 2pinとD-、4pinとD+も導通があります(正確には68Ω)。
PCとの相性かなと思い、別のPCにつないでみましたが、状況は変わりませんでした。

ツェナーダイオードを壊したのかもしれません。ツェナーダイオードの良否ってどうやって調べるんでしょう?

すんなり動いたときはいいけど、トラブルになったときにスキルの低さがたたります。自分の腕のなさがうらめしいw


(17時頃追記)
その後、ATMega168のファームを吸い出して、もあさんの所にあるginger.hexとファイルコンベアしてみました。同期ができないくらい食い違っています。変だなあと思ったら、元々gingerってATMega88Pなんですね。そういえば88と88Pの違いって何なんだろう?Atmelを見てみるとPはpico powerの略みたいです。

とりあえず、もあさんのところから落としてきたginger.hexをATMega88に書き込んでみました。フューズはよく分からないので外部クロックとクロック分周なしだけ設定してみました。

おおっ、認識してる。
Communication Port (COM7)ができています。

えっと、これからどうすればいいんだろう?もあさんの連載を見直してきます。