« 2008年4月 | トップページ | 2008年6月 »

2008年5月

2008年5月29日 (木)

到着

家から19時間ほどかけて、ようやく現地到着。
やはり体の移動を伴う事は、時間がかかるものだ。

現地は、まあ粛々と準備が進んでいる。
しかし、時間不足は否めない...

そうばたばたと出てきたわけではないのだけれど、忘れ物色々。
ありゃま、なにやってるんだか...

| | コメント (0) | トラックバック (0)

2008年5月28日 (水)

出発

空港にて時間待ち。
空港のnet環境も、来るたびによくなっている気がする。
ようやく、海外並みという気もするけれど。

ここでは有線接続ができて、速度も非常に早い。
出発まで、色々用事を済ます。

さすがに、飛んでしまうと接続できないけれど、航空会社によっては機内で無線LANが使えたりする。

電話と違って、やっていることに割り込まれるわけではないので、基本は歓迎。
機内で携帯が鳴るようになったら...いやだなあ。

ところで、無線LAN接続サービスのある機内で、skypeを使うのは違法なのだろうか?

| | コメント (0) | トラックバック (0)

2008年5月27日 (火)

遠出

明日より来週半ばまで、ちょっと遠いところまで外出。
去年に引き続き2回目。
本番は不参加なのも、去年と同じ。

TGVにうまく乗れるかどうかが問題だ...
あの空港は、いまどきの基準からすると、ずいぶん狭くて混雑している印象だ。
モノレールの駅がまだ、今より大分少なかった頃の羽田みたいな感じ?

| | コメント (0) | トラックバック (0)

2008年5月25日 (日)

ふと思い立って

東日本支部の月例会に出てみる。
豊洲も一度、見てみたかったのもある。

これは...
田町も便利だと思っていたけれど、こっちもなかなか便利。
しかし、巨大なビルだ..すごいね。
立地もさることながら、どっかの大企業の本社ビルみたいだ。
いまどきの学校はこんななんだね。

昔の田町の校舎は、いろんな意味で味があったけどね。

------

講習会は、いつもの雰囲気。変わらないものだ。
アールティーから、1/2マウスがデモに来ていた。
発売日程が出ているようだ。

これで、ちょっと気になるのが、ギアボックスのバックラッシュ。
制御が大変かも。
がちがちに走らせようとすると、厳しいかもしれないけれど、バックラッシュ分も織り込んだ高度な制御を実装する好機かもしれない。

------

試走会で、フル迷路探査をやってみる。

やっぱり?ぼろぼろだ。
なんといってもホコリに弱い。
タイヤがきれいなうちは、結構な速度でも探査できるけど、汚れてくるとぜんぜんだめ。

汚れてきても、なにかで補正できるといいのだけれど、今のところうまく行ってない。   

ただまあ、路面がきれいなら(大会レベルなら)何とかなりそうな感じではある。

------

16区画直線テストもやってみる。
ゲイン調整とか以前に、姿勢制御マスク処理がぜんぜんうまく行ってない。
もっとちゃんと作ってからでないと、フル迷路走らせる価値がないな。

もっと自宅での調整が必要だ。
時間を作って、地道にやるしかないな。

------

試走会は台数少なくて寂しかった。
みんなで走らないと、路面のホコリがなかなか掃けないし。

お話を、いろいろさせてもらう。
まあ、みなさんそれぞれ健在のご様子。
大会では、いろいろお会いできそう。楽しみだ。

------

マウスって、ちょろっとやったくらいではどうにもならない。
ゴールに入るマウスをつくるだけでも、相当なものだ。

ひとつのアイディアを形にするのにも、膨大なエネルギーを必要とする。

まあ、マウスのそういう所が気に入っているのだが。

------

昨日見つけて、今日の試走会で満足に走らなかった原因のひとつでもあったバグを、今しがた修正できた。

マクロの間違いだった。
よく似た名前の違うマクロで、加速度を計算していた。

分かれば、何てことなし。いつもどおり。

| | コメント (0) | トラックバック (0)

2008年5月20日 (火)

MINOS 2008 presentations

http://www.micromouseonline.com/
に、MINOS 2008の資料がUPされている。

Ottenさんの資料を読む。
加速度センサの話。なるほど。
それはそうと、ここでも時代は軽量、低重心なのだね。

Harrisonさんの資料。
標準マウスの話。
森永さんのBasicMouseについても言及がある。

ハーフサイズの話も。
って、なんだか、中島さんの新作と、私の古いマウスが出てるよ。
言ってくれたら、もっといい秘蔵の写真を出したのに、とか言ってみたり。笑

ちゃんと、日本の製作者のだと、断ってあった。
名前が発音できなくて分からん、とも。
こういうときには、いつもアルファベット表記しとくべきか、とも思うのだけれど。

Louttitさんの。
うわ、やられた。
カウンターウエイトとフライホイールは、次に自分でやろうと思っていたネタだったのだが、発表されている...
自分で考えているのとは、ちょっと狙いどころが違うけど、まあ着眼点はほとんど同じ。

まあ、1/2に移行すれば、当分は手が出せないからいいのだけれど。
そのうち、もっとイケているアイディアも浮かぶでしょう。

| | コメント (0) | トラックバック (0)

2008年5月17日 (土)

DFU@DW基板

日々忙しくて、なかなか迷路を出してきて作業ができない。

最近は細切れ時間でもできることとして、DW付録基板をいじっている。

stm32はチップ単体で、シリアルローダーで書き込んで、動かしてはみているのだけれど、なにか便利なことは無いかと期待してDFUも試してみる。

考えすぎで遠回りしてしまったけれど、ようやく手作り評価基板のと同じコードで、LEDチカチカが動くようになった。

080517

------
以下、覚書き

------
DWの記事では、DFUは起動時に、ポートの状態を読み、0x08003000にジャンプする、とある。

正確には、0x08003000から普通にベクタテーブルを配置し、規定のベクタ(+0x4)にプログラムのエントリアドレスを記述すればいいみたい。
DFUが0x08003000番地にあるコードを呼ぶような印象を受けるけれど、そうではないようだ。

何も考えずに、普通に0番地から置いておけば起動するコードを、開始アドレス0x08003000にしてリンクしなおし、置いておけばいいだけだ。
DFUがいらなければ、0番地から始まるようにリンカスクリプトを直して、システムブートモードにしてシリアルフラッシュ書き込みで書いてしまえばいいはず。

------
ここまでやってくれるなら、0x08003000からのベクタテーブルに記述したスタックアドレスを反映してくれているかも。
と思って、当該の部分に何も無い空間のアドレスをおいてみると、やはり動かない。
DFUはちゃんと、反映してくれているようだ。

ちゃんとできている。あたりまえか。

------
DFU DEMOは書き込み操作のたびに、オブジェクトを更新してくれるみたいなので、起動しっぱなしでも大丈夫。

DFU File Managerは、Generateボタンを押すだけでは、組み込むオブジェクトを更新しないので、毎回起動するか、度ごとにImageをdeleteして、指定しなおさないといけないらしい。

ちょっと面倒。

------
コードを配置するアドレスは0x08003000でも0x00003000でも、実行に支障は無いけれど、DFUファイルを作る時には、0x08003000に配置しないとFLASH書き込みができない。
プロセッサが、0x08000000からのエリアに対してしか書込み操作ができないことによるものだろう。

実行は0x00003000から行われるようなので、0x08003000から配置されるようなリンカスクリプトを書くのは抵抗があるのだけれど。
気にしすぎか...

ヘキサ形式のオブジェクトはアドレス情報を含んでいるので、DFU File ManagerでのDFUファイルへの組み込み時に、アドレスを変更できないようだ。
そのため、0x08003000から配置するしかなく、やむをえないのか。

オブジェクトは0x00003000から配置されるようにして、HEXやSファイルを作るときに、コード部分だけを0x08003000番地から配置されるように、objcopyにパラーメータを与えてやれば、DFU File Managerの操作時に少しは楽できるかも。

やっぱり、分かりにくいだけかな?

自分では使うときはバイナリで出力しているので、DFU File Managerでアドレスを0x08003000に指定して組み込んでいる。

------
DW記事には、間違えて0x08000000からのアドレスに書き込むと、JTAGデバッガでないと復旧できないとある。
実際にはDFUでは、0x08000000~0x08002FFFのアドレスには、書き込みができないので、DFUを使っている限りは心配しなくてもよさそう。

また、JTAGデバッガが無くても、シリアルでもオブジェクトを書き込めるので、シリアルポートがあれば、DFUの復旧も無理ではなさそうに思える。
JTAGでも書けるだろうけど。

------

ひとまず、DW基板は終了かな。

マウスに使うなら、シリアルとUSBどちらがいいかな?
書き込み時間は、どちらでも大差はないし。

マイクロSDを搭載して、ロガーデータを取り込んで、Windowsからいきなりドライブとして認識できると便利そうだ。
USBシリアルデバイスとしても同時に使えて、いつものコンソールとしても使えるならベストなのだけれど。
複合デバイスとして動かせばできるはずだけれど、エンドポイント個数の制限とかでできないかな?

その場合でも、一番最初のブート(DFU書き込み)のためにJTAGかシリアルポートが接続できるようにしなければならないけど。

------

(追記)

DFUを使う場合、ベクタテーブルオフセットレジスタだけは、自分で指定しなおさないといけないようだ。

SCB->VTOR = 0x00003000;

とやるだけだけど。

| | コメント (0) | トラックバック (0)

2008年5月11日 (日)

今日の様子 5/11

今日は休みだけれど、家の公式行事で一日つぶれる。

明日は朝一から、またまた餃子の町へ日帰り。
ここんところ、この手のがやたら多い。
移動時間は貴重な作業時間だけれど、こう多いと...

明日が終われば、月末までは外は無いはず。
月末から、翌月頭にかけては遠出。
みんなは1~2ヶ月にもなるけれど、自分だけは1週間で勘弁してもらっている。

それが終わると...8月くらいまでは目白押しだ。
マウスを大会レベルに持っていく時間が取れるだろうか?

| | コメント (0) | トラックバック (0)

2008年5月10日 (土)

今日の様子

STM32、ADコンバーターを試す。

080511a

最新のチップらしく、いろいろ仕掛けがあるようだ。
任意のチャネルを2つのADCでシェアするようにプログラムできるとか、温度センサを内蔵しているとか。

まあ、とりあえず動けばいいので、PA0のADC0を使ってみる。
やらなきゃいけないことは、ADCへのクロックの供給を開始し、PA0をアナログ入力に設定する。
CR2.0を定期的にたたき、DRを取り込む。

モニタにコマンドを追加。

080511b

なんとなく、うまく動いているように見える。

------

1/2迷路が到着。

080511c

とりあえず、当分は眺めるだけ...

| | コメント (0) | トラックバック (0)

2008年5月 8日 (木)

stm32 Designe wave 基板

忙しくて、一回つらっと見ただけの、デザインウエーブ5月号を出してくる。

付録基板は、加速度センサとかはついているけれど、ブートローダーを使うためには、外付けでレベルコンバーターが必要だ。
DFUを使う限りでは、USBコネクタだけで用は足りるということか。

------

読んでみているのだが、ブートモードのところの記事が、いまひとつすっきりしない。
BOOTピンの状態によって、フラッシュやシステムメモリのエリアにジャンプする、と記事にある。

自分でデータシートを見た範囲では、BOOTピンの状態で、0番地にそれぞれのメモリが配置される、と読めるのだが。

そもそもジャンプするなら、そのコードは誰が発行しているだろうか...
NVIC?

------

まあ、よく考えてみると、どこに配置されていても、かまわないといえばかまわないのだけれど。
なんとなく、うまく動いてしまうような気もする。

------

気になるので、モニタにプログラムカウンタの値を返すサブルーチンを追加して、ためしに実行してみる。

こんなの。

__Get_PC:

  MOV r0, r15
  BX r14

.end 

------

で、実行してみてみると、0番地近くで実行されているように値を返してくる。
やっぱり、0x08000000へジャンプはしてないようだ。

動作中にremapするようなことができると、どこのアドレスで実行されているかは、問題になりそうだけれど。

うーん、雑誌の記事でも、こんなもんなのかな。

| | コメント (0) | トラックバック (0)

2008年5月 6日 (火)

stm32

stm32続き。

どうにも気になっていた所で、サンプルコードや、提供されているライブラリに、メモリアクセスのウエイトを設定する項目がある。
しかし、stm32のリファレンスマニュアルのどこを見ても記述が無い。

Cortex-M3のコアのほうなのか、と思い色々調べても出てこない。

------

今日、flash programming manualのほうに、記述があるのを見つけた。
こっちは、flash書き込みのほうの話かと思って、チェックしてなかった...

FLASH_ACRレジスタに、ウエイトサイクルを設定する項目がある。

SYSCLK 48~72MHz のときは、2ウエイト入れろとある。
こりゃ動かないはずだ。

ここを設定すると、安定するようになった。

ちょっとオーバークロックを試してみる。
96MHzなら起動するようだ。
この辺はlpcあたりと同じくらいかな。

------

stm32のメモリマップをみると、flashは0x08000000から始まるようになっている。
SRAMは0x20000000から。システムメモリ(シリアル書き込みブートローダー)は0x1FFFF000から始まるようになっている。

で、実際に実行されるコードの先頭0番地は、なにが見えるか?については、リセット時のMODE0,1端子によって決まるようだ。
MODE0端子は専用ピンだけれど、MODE1は共用ピンでブートローダー起動のためにはプルダウンしなければならない。

------

通常のフラッシュメモリで起動すると、0からと、0x08000000からとに、同じイメージが見える。
システムブートモードのときには、0番地にシステムブートプログラムが見える。
この時、シリアルでのFlash書き込みツールは、0x08000000から始まるエリアに、0番地に置かれて実行されるように作られたコードを書き込むようになっている。

それで、SフォーマットやHEXフォーマットではなく、バイナリを要求するのか...
アドレス情報が無くて、ベタつながりの実行ファイルのほうが、ツール的には扱いやすいのね。
リンカスクリプトで、0番地からのアドレスに配置されるように書いておけば、ちゃんとツール側で取り回して、書き込んでくれるようだ。

------

DFuを使う場合は、0x00003000から実行されるバイナリをつくって書き込み、PBのどれかをどうにかしてリセットすればいいのか。

まあ、大体分かったような気がする。

書き込み自体は、shやlpcに比べても、ずいぶん高速に感じる。
なんとか最低限、目処は立ったかも。

------

個人的には、SH7125がいいと思います。

いい点
・マニュアルが日本語
・電源が5V単一
・入手性
・位相計数カウンタが2個あるなど、周辺バランスがマウス向き。
・パッケージが小さくて、扱いやすい。

あまり良くない点
・メモリがちょっと少なめ(特にRAM)

外部バス無しなので、プログラムが置けるメモリが外部に増設できませんが、最近は外部データメモリはSPI接続で扱うことがほとんどで、使いやすいチップも大半そっちの線で出てきているようなので、個人的にはあまりデメリットに感じません。

| | コメント (0) | トラックバック (0)

2008年5月 5日 (月)

連休終了

仕事は一応明後日からなのだけれど、機材の積み込みの関係で、一足先に明日から仕事。

------

結局、昨日行けなかったkyosyoのショールームに、帰りがけに寄ってみる。
dNaNoの実車が走っている。こりゃ小さいなあ。
本当にミニカーが走ってるよ...

しかも、ロスマンズポルシェとか、マツダ787とか、917とか...要するにそういう層が、売り込むターゲットなわけね...なるほど。

------

部品も売っている。
ホイールを見てるだけだと、ハブの構造がいまひとつ分からなかったけれど、棚に並んでいる部品を一通りみて納得。

スケールモデルでもあるので、タイヤ径が何種類もあるのは当然として、トレッドも何種類もあるわけだ。
しかし、デフケースと一体化しているドライブシャフトは1種類しかない。
そこで、ハブの厚み違いがたくさん(10種類くらい)設定されてるようで、ボディにあわせて、ハブを取替え、幅を細かく調整できるようになっている。

ハブも、左右で形状が違う。
片側はデフケースに直接3点で止めるようになっていて、反対側は、シャフトのDカットに合わせた穴が開いていて、差し込むようになっている。
シンプルな構造だ。

-------

一通りみて、結局何も買わずに撤収。

とりあえずタイヤと、ホイールは使えそうだ。
マウスに使うなら、ギアと一体化したハブを作ればいけそうかな。

------

その後、いつもの電気街巡回コース。
変わったところもあり、変わらぬところもあり。
個人的なパーツ集めなど。

巡回コース中のもっとも辺境の、某所の前を通り過ぎると、中で某氏が作業中。
なんか、いつ通っても見かけるような気がするんですが...

作業のお邪魔をする気は無く、タイムリミットまでの時間も無いので、お元気な様子を遠めに確認して退散。
またいずれ。

------

帰りの新幹線は、大して混んでいない。

早速、お店をひろげて、stm32作業再開。

リンカスクリプトを直してみたりするが、いまひとつすっきりしない。
とりあえずシリアル接続で、いつものモニタが起動するところまではきた。

PLLの設定をいじる。
システムクロック、54MHzなら安定している。60MHzは動いたり動かなかったり。それ以上は無理。
やっぱり、変換基板で大雑把な作りがまずいのかも。

最寄の駅に着いたので、作業終了。
まあまあ進んだかな。

ハードウエアのリファレンスが、どこかにないかな。

1/2マウスのためのプロセッサとしては、現状これしかないかも、と思っている。
なんとか、きっちり動いてほしいのだけれど...

| | コメント (0) | トラックバック (0)

2008年5月 4日 (日)

今日の予定

今日もOFF。
昨日回れなかった所に出かける。

とりあえず、kyosyoのショールームに出かけてみよう。
この間、通販でdNaNoのパーツを何点か買ったのだけれど、他のパーツも見てみたいのと、完成車が、どういう構造になっているのか(ハブとか)できれば見てみたい。
まあ、パーツ本来の使い方をするのではないので、ひっそりと。

------

芝浦の豊洲校舎にも、できれば一度行ってみたいのだけれど、なかなか縁が無い...

| | コメント (0) | トラックバック (0)

2008年5月 3日 (土)

1/2迷路

秋葉原に出かけ、色々雑事を済ませた後に、アールティーへお邪魔する。

先日発売になった、表題のブツを確認に。
サンプルを手にとらせてもらう。

ABS製で、試作品Verの柱や壁とは、雰囲気が違う。
色は鮮やかだけれど、表面はちょっとマットな感じ。
海外で使われている1/1迷路壁に近い?
聞けば、大会迷路は、試作品の木製のものではなく、こちらの壁柱でいくそうだ。
当たり前か。

在庫ありとのことなので、財布と相談して、床板の大きいほうと壁と柱を購入。
入手しても、触っている時間は、当分なさそうなのだけれど。

ふと思い立って、常設してある1/2の柱と壁を抜き取り、(持参の)1/1を走らせて見る。
ちょっと横壁センサが、上を見すぎているけれども、調整しなおせば意外といけるかも...

| | コメント (0) | トラックバック (0)

帰省中

最近は、拘束時間が多くそれなりに忙しかった。
連休明けにも、色々予定されているのだけれど、少し休みが必要だ。

この週末は、東に帰省。

一人で、ぶらっと電気街にでも行ってみることにしようか。

| | コメント (0) | トラックバック (0)

« 2008年4月 | トップページ | 2008年6月 »