December 11, 2011

September 12, 2011

mbed tips in time and interrupts

mbed で HTTP Clock [twitter.com] を作ったときの時間管理や割り込み関係の tips をメモ。
  • Timer [mbed.org]
    Timer クラスのインスタンスは複数作れるが、ハードウェアタイマとしては同じタイマを参照しているようで、違うインスタンスでもタイマ値が同じになっている。reset() とかも隣のインスタンスに影響してしまうかも。コンパイル時に何か警告してほしいなぁ。LPC1768 だとタイマは4つあるっぽいが、mbed コンパイラではどういう振り分けになっているのだろう。
  • wait [mbed.org]
    wait() は float 受けられるし、wait_ms() や wait_us() もある。
  • Ticker [mbed.org]
    タイマー割り込みは多重割り込みしようと思っても、何も言われずに回避されるっぽい。割り込みハンドラに割り込み間隔より長い wait() を入れてみたら、単に多重割り込み側は呼ばれなかった。違う IRQ# なら多重割り込みできてしまったりするのだろうか。
  • time [mbed.org] set_time() で RTC に値を入力できるので大変便利。だが、精度が1秒しかでない。

August 19, 2011

Soft-core MicroBlaze CPU

FPGAの部屋 [fc2.com] で MicroBlaze 互換ソフトコア CPU [fc2.com] を知る。EDK ライセンスがなくても使える Simple MicroBlaze [xilinx.com] (pdf) があるので、ISE WebPack な人でも C コンパイラ対応 CPU を使えるのが売りということか。Altera の石でも MicroBlaze が使えるのは少し嬉しいか。
しかし、動作保証を考えると、少々の(!?)お買い物 (EDK, ISE Full) の方が安い気がすると考えてしまういやな人間になった(>_<)。

June 28, 2011

Xilinx FPGA Day

Xilinx FPGA Day [xilinx.com] に急遽代理出席。パラレルセッションはエンベデッド システム開発 [xilinx.com] を受講。
EDK は PLB から AXI への移行期で、近い将来 ISE が PLB を全くサポートしないというのはいかがなものかというのは、普通の人でも思うらしい。今までの資産があるからか。スレーブは PLB2AXI ブリッジが供給されるらしいけど、パフォーマンスを考えると云々…。FPGA なのだから(ハードマクロ部分ではないのだから)、しばらくサポートしてくれてもいいではないか、とも思う。
FPGA をやってると何でも後から変更できるという頭になってしまって、変わり身が早くなってしまう罠!?しかし、ハードマクロのバグは治らないし、バグがあったらエラッタを出せばいいという文化も FPGA 以前の半導体メーカーに比べると…。ASIC よりボリュームの少ない市場を狙うといいつつ、やはりツール群やハードマクロ部分はボリュームゾーンだけのサポートになってしまうというジレンマ!?

June 8, 2011

Research@Intel 2011

Research@Intel 2011 [intel.com] が行われている模様。偉い人のプレゼンは相変わらずだが、Presentation: Components Research: Enabling Breakthroughs in Technology が Tri Gate などシリコンロードマップに少し触れられている。Silicon Photonics のデモコーナーでは 50G リンクのデモが見られるようだ。Technological Sea Creator or Silicon Photonics?, Probing Speed of Data Zooming w/ Silicon Photonics [mobypicture.com]

May 18, 2011

Twitter Clients with mbed

Cookbook » Twitter [mbed.org]
Twitter の BASIC 認証がなくなったので、プロキシサービスである SuperTweet を使って mbed から tweet してみた。しかし、プロキシサービスを使っていては BASIC 認証を廃止したのに本末転倒。
プロキシを使わずに mbed から直接 tweet できる OAuth 対応のサンプルもあるということで試してみた。
Users » soramimi » Published programs » Twitter [mbed.org]
このサンプルでは(tweet に必要な?)現在時刻を取得するため、NTP クライアントが最初に起動する。しかし、Mac OS X の「インターネット共有」では NTP リクエストが上手く転送されず、現在時刻を取得できず tweet することができなかった。Mac 上での tcpdump では NTP (リクエスト)パケットすら表示されない。Mac OS X の「インターネット共有」は DHCP だけでなく UDP もうまくトンネルしてくれない可能性がある。
ルータに直接繋げた場合は、DHCP も NTP も取得でき、tweet も上手く出来た。

May 17, 2011

mbed NXP LPC1768

昨夜に LED と USB Serial UART での Hello World! は出来たので、今日は StarBoard Orange に載せて LCD, httpd, USB host (USB mass storage read/write) とサンプルをコンパイル、実行してみた。
無線 LAN ルータに Ethernet ケーブルで接続すると DHCP で IP を取得できたが、MacBook Pro の AirMac をインターネット共有の上流に設定し Ethernet Port に繋げると、DHCP で IP を取得できない。Linux PC など繋げたときは IP が取得できてるので、なぜだろう。一応クロスケーブル使ってみたがだめ。tcpdump でみると、一応リクエストは来ているようだが。
$ sudo tcpdump -i en0
00:19:51.055271 IP 0.0.0.0.bootpc > broadcasthost.bootps: BOOTP/DHCP, Request from 00:02:f7:f0:76:4c (oui Unknown), length 308
$ uname -a
Darwin ryo4218.local 10.7.4 Darwin Kernel Version 10.7.4: Mon Apr 18 21:24:17 PDT 2011; root:xnu-1504.14.12~3/RELEASE_X86_64 x86_64

March 17, 2011

Mew 6.3 in Carbon Emacs (MacOS X 10.6.6)

Carbon Emacs Package 2010 Edition についてきた Mew-6.3 (Stable) に stunnel 最新版 (4.35) を make したがうまく繋がらなかった。stunnel3 というラッパもビルドされるけど、そちらを使ってもだめ。stunnel-3 の最終版 (3.22) だとうまくいった。

February 17, 2011

SPARC

最近の話題 2011年2月12日 [geocities.jp] によると SPARC に関して Oracle と Fujitsu が協業継続ということで、SPARC もしばらく資金注入されるようで一安心。