Archive for the '電子回路' Category

mbedオフラインビルド

Posted by ゆのじ on 2月 9th, 2012

先の投稿で書いたが、mbedは大変すばらしいものの、それが無くなったことを考えると些か不安でもある。そのため、エクスポートしたプロジェクトをローカルでビルドする方法をきちんと確立しておきたかった。

で、ひとまずさんざん試行錯誤した結果、さくっとビルドする方法がわかったのでメモしておく。ちなみに、OSX Lion(10.7.3)にmacports環境なので、WindowsやLinuxユーザの方には適用できないかもしれない。

用意

  • codesourcery gcc用としてエクスポートしたソース
  • YAGARTO(http://www.yagarto.de/)から拾ってきたYAGARTO GNU ARM toolchainの最新版

展開

  • 適当なところ(うちは/opt/local/)にyagarto(最新版).appをおいて実行
    • 中身が実行したディレクトリ/yagarto(バージョン)/に展開される
    • 趣味で/opt/local/yagarto -> /opt/local/yagarto(バージョン) にsymlinkしておく
  • ~/.zshrcなり~/.bashrcなり~/.tcshrcなりにpathを追加
  • エクスポートしたソースを展開してmake
  • できあがり!

・・・あれー。これで終わるはずじゃなかったのだが。macportsのarm-none-eabi-gccでビルドすべくやってみたら、newlibの改変でエラーぼこぼこ出て、調べたら–disable-newlib-supplied-syscallsを付けろとかいうからPortfileに付けてみたらビルド出来ず、–enable-languages=c,c++付けたらarm-none-eabi-gccはビルド出来たけどcrt0.oが無くて結局ダウンロードした奴がビルド出来なくて、ついにはcodeRedのred suite 4 fullの試用版まで落としてきて試したにも関わらず駄目だったのに。

ひとまず大変シンプルなコードでしかテストしてないのでどこまでちゃんと使えるかは不明だがざくっとしたコードは問題なく動いていて、ライブラリ等も一式使えてる模様。ただ、mbed interfaceの支援がないからか、最適化オプションの都合か、バイナリは相当デカくなってしまった。mbedのサイトでビルドすると4,356bytes、エクスポートしてローカルでビルドすると56,736bytes。何かに騙されてる気がするくらいのサイズ差がある。恐らく不要なモノが大量にリンクされてるだけだろうし、この辺放置するとエラいことになりそうなので、追って調査。それと、このままだとmbedからエクスポートしてきたソースのビルドは出来る(ライブラリ類一式がアーカイブに入っている)が、一からソースを書き始めるには諸々準備がいる。その辺もそのうち時間が取れたら調べて書く。

2012/2/20追記:

上のnewlib云々の問題、がた老氏がSTM32で遭遇された問題にそっくりのような気がする。Stub書けば良いだけなら話は早い。追って調査としたい。

mbed買った

Posted by ゆのじ on 2月 7th, 2012

mbed

mbedを買った。LPC1768版とLPC11U24版と。

Macからでも開発が出来て、ファームウェアのアップロードはマウントされたドライブにbinファイルを突っ込むだけのお気軽仕様で素晴らしい。Arduinoも悪くないけどこっちのほうが楽な印象がある。ライセンス的にもmbedを1つは買わないとそのターゲット向けのビルドが出来ないものの、1つ買えばいくらでもビルド出来るしLPCXpressoのようなmbedではないボードにファームウェアを放り込むことも出来る。ライセンス的にもそういう使い方をしていいということらしい。曰く、

Can I make commercial products using an mbed?

Yes! You are free to make and sell products that were developed using the mbed libraries.

We do not offer any guarantee for the libraries, they are there for rapid prototyping purposes, but if you wish you use them, you can. here are some examples showing how you might take a prototype to a custom design.

とのこと。

使うことの出来るmbedのライブラリも良くできてるし、しかもエクスポートしてmbedの外でビルドすることも出来るらしい。このあたり、突然mbedサイトが無くなったりサービス終了したときにソフトウェア資産が無くなるのは辛いので十分調べてみたいところ。

そうそう、mbedのLPC11U24版のほう、裏側のmbed interfaceチップの45,46番ピンの間に半田ブリッジがある。twitterで話題に出したら@tedd_okanoさんが確認してくださった。結果、わざとやっていることであって、このリビジョンにおいてはそれで正しい仕様だとのこと。@tedd_okanoさん、ありがとうございました。

GPSモジュール輸入など

Posted by ゆのじ on 1月 5th, 2012

GPS module。小さい!

今年は色々作ろうと思って去年から細々と物を仕入れている。これはねむいさんのぶろぐを見て欲しくなったGPSモジュールを買ったときの記録。
40ユーロも払ってDHL指定したのにも関わらず、相手先はイタリアのドメインのショップだったにも関わらず、Deutsche PostなDHL、すなわちいわゆるEMSで届いたというすごい悲しい結末に。EMSで日本郵政経由で流れてくるときにはSaulheimって町でしばし待たされるのだが、やたら待つのでどうなってるんだって文句言ったら、EMSのほうの追跡番号を教えてもらえた。というかEMSなら40ユーロも払うんじゃなかったという。40ユーロも。

質はというとねむいさんが色々書いていて非常にいいというのはすぐわかりますが、うちでも適当に繋いで西向きの窓際に置いてみたら、これくらいは補足しました。素晴らしい。

以下転送の記録。さすがEMS遅い・・

Date/time City Status
Wed, 14.12.11 13:48 h
DE
The instruction data for this shipment have been provided by the sender to DHL electronically
Wed, 14.12.11 15:45 h
DE
The shipment has been posted by the sender at the retail outlet
Wed, 14.12.11 19:34 h
Bielefeld, DE
The international shipment has been processed in the parcel center of origin
Thu, 15.12.11 10:27 h
Saulheim, DE
The international shipment has been processed in the export parcel center
Mon, 19.12.11 03:32 h
IPZ-Ffm, DE
The shipment is being transported to the destination country
Wed, 21.12.11 09:01 h
JP
The shipment has arrived in the destination country
Wed, 21.12.11 12:00 h
JP
Shipment is prepared for customs clearance in country of destination
Wed, 21.12.11 12:13 h
JP
The shipment has arrived at the import parcel center
Thu, 22.12.11 09:10 h
JP
The shipment is being prepared for delivery in the delivery depot
Thu, 22.12.11 11:37 h
The shipment has been successfully delivered