目次: GCC
自作ARMエミュレータでLinaroのクロスコンパイラで作ったバイナリを動かすまでは道が遠すぎて(ARMv6, Thumb-2, ARMv7の実装が要る)、すぐに出来そうにないので、
ARM9用のgccとglibcをビルドすれば良いんじゃねー?と軽い気持ちで始めたのですが、エラー大量発生&何を変えたら直るかさっぱりわからず、悪戦苦闘でした。
一応libc付き&スタンドアローンで動作するARM用クロスコンパイラが作れましたが、疲れましたね…。
Linaroはcrosstool-NGを使っているようです。次はこれも試してみようと思います。自前でやって苦戦した今だからこそ、ビルド自動化ツールのありがたさが理解できるはずです。
適当にgccとlinuxのソースtarballをGithubに叩き込んだら、Githubに「デカいファイル置くな」って怒られた…。
remote: warning: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com/ remote: warning: See http://git.io/iEPt8g for more information. remote: warning: File gcc-shared/gcc-4.9.2.tar.bz2 is 85.77 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB remote: warning: File linux-headers/linux-3.18.11.tar.xz is 77.21 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB remote: warning: File gcc-shared/gcc-4.8.4.tar.bz2 is 82.23 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB
メモ: 技術系の話はFacebookから転記しておくことにした。
このサイトの日記には「permalink」というリンクを出していて、リンク先はあらかじめ保存しておいたHTMLファイルへのリンクとなっています。
内容は同じですが、動的に生成するトップページに比べ、permalink先は単なるHTMLファイルですので表示が速いはずです。実はきちんと測ったことないので、どれくらい速いかまでは知らないですけど…。
で、permalinkのリンク先であるHTMLファイルは、今まで記事を書くごとに手動で更新していたわけです。しかし面倒だし良く忘れてリンク切れになるし、ロクなことがないので、自動更新するように変えました。
現状は自宅サーバから更新を掛けており、昼と夜の1日2回更新です。たしかSakuraのサーバでもcrontabを設定できたはずですが、書き方が悪いのか動かなかったので放棄しました。
自作エミュレータに外部とのアクセス手段を足そうと思い、ARM Versatileに載っており、かつLinuxのドライバが存在するハードを調べてみたら、
NORフラッシュなら簡単かなーと思って調べ始めたら、ちょっと甘かったです。
Versatileのメモリコントローラの仕様書には16bitフラッシュの型番が載っていて「対応してる」と書いてあります。つまり16bitフラッシュをエミュレーションすれば良いはずです。
NORフラッシュにはコマンドという概念があって、特殊なアドレス+特殊なデータをwriteすると、コマンドとして解釈されます。コマンドによって、容量とか8bitなのか16bitなのか調べたり、ブロックをEraseしたりできるわけです。
試しにLinuxのドライバを動かして、CFIというJEDECの規格に載っているQueryコマンド(CPUからFlashへ、容量やらビット幅を尋ねるコマンド)を送るとき、どんな動きをしているか見ると、
このように一見32bitに見えて、コマンドのデータが全然違う値なので、最初はさっぱり意味がわかりませんでした。
もしデータ幅と同じ32bitフラッシュが接続されているのであれば、下記の図のように接続されていて、使用するコマンドは32bitフラッシュ用のデータになるはずです。
しかし仕様書にはどう見ても16bitフラッシュの品番が書いてありますし、実際に発行しているコマンドも16bitフラッシュ用のデータです。
ハードに詳しい方はお気づきかもしれませんが、おそらくCPUとNORフラッシュの間にいるメモリコントローラが一枚噛んでいて、下記の図のように16bitフラッシュに2発同時アクセスして、32bitデータを扱えるようにしていると思われます。
アドレス線は共通(ただし下位1bitは捨てる)で、データはコントローラ側で分割(Write時)、結合(Read時)される仕様です。
CPUから見ると1度に32bitのデータを扱えるように見えますが、あくまでも接続されているのは16bitフラッシュですので、アドレスとデータは16bitフラッシュ用のものにしなければなりません。1つ目のフラッシュと2つ目のフラッシュ双方にデータを送る必要があるため、上位bitと下位bitの両方にデータを入れていた訳です。
とまあ、こんな具合でreadは簡単(?)に出来ましたが、writeを調べたらerase, writeのパターンが多くて、ちょいと大変そうです…。
Flash ROMのハードウェア仕様上のアドレスは、ワードアドレス(つまり2バイトでアドレスが1増える)ですが、仕様書のコマンドの説明はバイトオフセットで書いてありました。少なくともIntelとMicronの仕様書は。
従ってエミュレーションする際はバイトアドレスを使った方が、仕様書と数字が一致して読みやすいです。ハードウェアのアドレス線がどうなっていようが、ほとんど気にする必要はありません…。
目次: 車
古いコンテンツサルベージ計画その2です。今回の記事は、書いたのは大学生時代、車を買ってしばらくしてから(2004〜2006年あたりか?)です。
この記事もどうでも良いことを書いて間延びしすぎです。読みづらいので、ざっくり削りました…。
三菱FTOのATモデルには、日本初のシーケンシャルシフト機構INVECS-IIが搭載されました。ちなみにFTOはFresh Touring Originationの頭文字だそうです。へぇー。
INVECS-IIは車が自動的にシフトチェンジを行う通常のATモードと、運転者がシフトアップ&ダウンを指示するシーケンシャルモードがあり、モードはいつでも切り替え可能で、運転している気分がより高まること間違いなしです。
シーケンシャルモードは、シフトノブを前に押すとシフトアップ、手前に引くとシフトダウンします。このままでも充分ですが、アップとダウンの向きを逆にした方がレースカー気分がさらに増して良いのでは?と思い、このたび+/−の向きを入れ替えました。
当内容はFTOのオーナーズサイトTensionを参考にさせていただきました(2015年現在、残念ながらサイトが無くなってしまったようです…)。
最初に結論だけ言えばINVECS-IIはシフトパネル側にシーケンシャルシフトを検知するスイッチがあります。スイッチに繋がっている信号線を入れ替えれば、+と−が逆になります。そこに辿り着くまでには、いくつかの部品を分解しなければなりません。
私のクルマ(GPX 95年式)は電装系はほぼノーマルのはずですなので、基本的には今からご紹介する手順でどのFTOでも上手くいくと思いますが、マイナーチェンジ後、カーナビ搭載車などでは、部品の分解手順が異なる部分等があるかもしれません。ご了承ください。
灰皿や小物入れに物が入っていると衝撃で飛び散るので、シガーソケットとともに最初に外します。CDやカセットなども取り除きましょう。
オーディオ等がついているセンターパネルを分解します。パネルの周りにあるゴムパッキンの下1/3くらいのところから左右にツメ(図の赤丸部分)に向けて、ドライバーを差し込み、テコで内側のツメを押し込む感じで外します。ちょっと嫌な音がしますが折れなければ問題なし。
次に灰皿の横あたりのツメを外します。センターパネルを少し引っ張るとわかりやすいはず。パネルの最上部も外します。最上部はツメではなくエアコンの下部に差し込まれているだけなので、引っ張れば抜けます。
もしセンターパネルを引き抜く際にシフトノブに干渉する場合は、車のキーを回して、シフトノブをPレンジからNレンジに入れれば干渉しなくなります。
電飾用とシガーソケット用のコードを全て外し、後付けオーディオなどがセンターパネルに固定されている場合はそれも外します。するとパネルだけになるので、後部席にでも置いときましょう。
これは簡単です。カップホルダーを力任せに引っこ抜き、見えたネジ2本を緩めます。次に小物入れ(真中の黒くて開閉できる箱です)を開け、中のネジ2本を緩めます。そしてフタを閉めた後、後部座席の向きにグイグイ揺らすと一気に取れます。こんなでかいのにネジ4本…。
助手席の右から運転席の左の部分まで広く覆っているカバーです。大きいだけあって手ごわいです。エアコン下の2箇所のネジ、運転席側の3つのネジ、助手席側の3つのネジ、これら全て外します。
純正オーディオにひっかかってセンターカバーが取れない場合があるので、オーディオも外します。左右の銀色の板の2つずつあるネジ(計4つ)を緩め、オーディオを引っこ抜きます。でL字の金属板とオーディオをつないでいるネジ4つを外し金属板を外します。ただし、オーディオのコードは一部取れない(電源コードかな?)ので完全には外れません。仕方ないので落ちて壊れないような位置に押し込んで置きましょう。
センターカバーを助手席側に押すようにして上に持ち上げる(こうしないとサイドブレーキにひっかかる)とガバっと全部取れます。できれば、純正オーディオが落ちないように、手で抑えながら外してください。
シフトノブを外します。上のプラスチックボタンは左右2個所のツメで止まっています。パネルと同様の仕組みですが、ツメがけっこう長いです。おそらく2箇所同時に外さないとボタンが取れません。私は右上と左下にドライバーを差し込んで外しましたが、無理な力が掛かってる感じがしますね。何かいい方法があるのでしょうか…。
ボタンを外すとバネと白い土台(これらは変な粘着物でくっついている)が見えるので回して外します。その下には12mmナットがあるのでディープソケットを使って(ソケットじゃ届かないのでここだけは工具が必要)外し、シフトノブを上に持ち上げて外しましょう。
シフトパネルは4つのネジで固定されているので、全部外せば持ち上げて外せます。パネルは2つの板が上下にあるツメで噛み合ってるだけなので外してやると、+と−の印字された青ボタンが見えると思います。青いボタンは黒いプラスチックを取り除き、表から押せば取れます。
しかし+と−の位置を入れ替えてはめ直しても入りません。−の方は土台が湾曲しており、ボタンもよく見ると同じ形ではありません。どうやらシフトパネルの湾曲に合わせているようです。細かいなー。
仕方ないので黒い柱はニッパーで切り、青いボタンの土台も削って適度な大きさにした後、アロンアルファを流し込み(表まで垂れないように)固定します。青いボタンが取れるとまた全部分解しなければならないので、しっかり着けましょう。
+と−のボタンの下に目的のスイッチがあります。スイッチに繋がっている線を見ると同じ色の線があります。これが回路駆動用の電源コードで、違う色のコードが信号用のコードです。
コードを追うと、助手席側に固定されたオスコネクタに辿り着くと思います。このコネクタからさきほど確かめた色の信号線を引き抜いて交換します。が…オスコネクタががっちり固定されていまして、固すぎて取れません。
私はクルマ側から来ているメスコネクタのコードを入れ替えました。コネクタ内はストレート結線っぽいので問題ないはずです。どのコードが信号線か入念に確かめた上で、コネクタの裏からマイクロドライバのマイナスを突っ込んでツメを押します。情けは無用です(すごく固い)で線がうまく抜けたら差し替えて、コネクタを元に戻します。ドライバーを折って怪我しないように。
ちなみにコネクタを破損してしまうと、まったく変速できなくなるので注意してください。コネクタを抜いた状態でDに入れて、家の周りでも走ってみたらわかりますが、自動変速モードにならず、シーケンシャルシフトも効きません。ずっと1速のままです。
うまく+と−を逆出来たら、勘と記憶を頼りに全てを元通りに組み立ててください。私は形が同じで色だけ違うネジを間違えて組み付けてしまいました…。あーあ…。
これから作業する人は勘と経験ではなく、分解しながら写真を撮っておくことを強くお勧めします。
使用した工具の一覧です。
目次: 車
古いコンテンツサルベージ計画です。今回の記事は、書いたのは大学生時代、車を買ったときくらい(2003〜2004年あたりか?)です。
昔の日記もそうですけど、照れ隠しなのか何なのか、どうでも良いことを書いて間延びしすぎです。読みづらいので、ざっくり削りました…。
私が乗っていた平成7年(1995年)式のFTOという車を紹介したいと思います。おそらく50代くらいの方はFTOと聞くと、ギャランクーペFTO(1971年〜75年)が思い浮かぶと思います。同じ名前を冠していますが違う車です。
FTOは三菱のスポーツタイプ車です。1994年から発売開始、1996年にマイナーモデルチェンジ、2000年に生産中止となりました。できるならまた作って欲しい車です。
私のFTOはマイナーチェンジ前のいわゆる前期型です。1997年以降はATが4速から5速へと変わり、フォグランプが丸型になりました。派手なスポイラーを付けたFTO GP ver.Rグレードも追加された他、いくつか特別仕様車や限定車もあるようです。
排気量は1800cc〜2000cc、駆動方式はFFです。ざっくり言うとトヨタ セリカやホンダ インテグラと同じくらいの車格です。日本車初のシーケンシャルシフトAT(三菱はINVECS IIと呼んでいる)を搭載した挑戦的な設計となっています。
自分の車はINVECS-IIのシフトアップ/ダウンの方向を入れ替えています(この話も後日サルベージ予定)。
筑波パープルラインに行ったときに撮った写真です。車が汚いです…洗車してから行けば良かった。
個人的に車は見た目命なので、その点は非常に満足しています。パワステは重めですが、重くても軽くても車の持ち味だと思うので気にしません。駆動系はノーマルで200馬力です。普通に走っていてこれ以上のパワーが必要になる機会はないでしょう。
足回りは前のオーナーさんがスプリングをいじったためか、非常に硬いです。元の足回りはわかりませんが、元々乗り心地なんて気にする車ではないです。アグレッシブなデザインの犠牲か、窓の位置が高くて横が見えません。バックミラーも全然見えないです。1mくらいのポールだとほぼ見えません。
居住性ですが、見た目のとおり狭いです。後部座席は身長150cmくらいの人でないと、頭が上にぶつかります。トランクだけは意外と広いですが、深さが無く、開口部が上向き(=ハッチバック式ではない)で引越しでは役に立ちません。車幅は1.7mをわずかに超える程度で、3ナンバーです。
燃費は9〜10km/L程度。街乗りのストップ&ゴーでは9km/Lを切ることもしばしばで、ハイオク指定なので財布に優しくないです。フロントヘビーで、前タイヤがやたらと減ります。FTOに限らずFF車は同じ傾向がありますけどね。定期的なタイヤのローテーションをお忘れなく。
メモ代わりに性能の一覧を載せておきます。純正じゃない部品も付いているので、純正の諸元とは異なります。
三菱FTO GPX '95 | 主要諸元 |
---|---|
型式 | DE3A |
駆動方式 | FF |
トランスミッション/変速比 | 4AT 2.842/1.529/1.000/0.712ファイナル4.626 |
タイヤ/サイズ | ハンコックVENTUS K102 205/50R 16 87V |
全長x全幅x全高 | 4320x1735x1300 (mm) |
形態/乗車定員 | 2ドアクーペ4名 |
原動機/種類、機能 | 6A12 MIVEC V型6気筒DOHC 24バルブ 可変バルブタイミング機構(MIVEC)付 |
排気量/出力 | 1998cc 200ps/7500rpm 20.4kgm/6000rpm |
室外装備/追加 | フォグランプ、リアスポイラー、アルミホイール |
室内装備/追加 | キーレスエントリ、フルオートエアコン、パワーウインドウ&ステアリング |
音響/追加 | ラジカセ |
その他装備/追加 | ABS(アンチロックブレーキシステム)、サス スプリング(RS R製、詳細不明) |
純正の諸元が知りたい方は、中古車サイトなどでカタログを検索してみてください。
Facebookのプロフィールをトリコロールにする機能も、その機能を使った人も、さらに安否確認機能まで叩かれてますね…。
本人の思いはどうであれ、レバノン(11/12ベイルートのテロ)は無視して、フランスだけ特別扱いしているようにしか見えませんね。
善意から来た行動でも、傷付く人は居るから慎重に行動すべき、ってのは分かってたつもりですが、いざ自分がやると気付かないもんだ…。
メモ: 技術系の話はFacebookから転記しておくことにした。
< | 2015 | > | ||||
<< | < | 11 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | - | - | - | - | - |
合計:
本日: