29-Jan-2011
[「鉄塔札は若番側を向く」ルール]

既に貼られていた鉄塔札を剥がし、貼り直している形跡を川尻線8号で見ました。現在は橋本変電所側に貼られていますが、かつては八ツ沢変電所側に貼られていたようです。

timgp1654.jpg timgp1660.jpg

…カメラの縦横、揃えておけば良かったですね。すみません。

川尻線9号についても似たような形跡を見ていますが、住宅地が近いという理由につき写真は省略です。この路線は住宅地が近いために鉄塔の近くでカメラを使いにくいだけでなく、札を探すことすら困難なものが多いので、メモできたものだけ高さと時期を書いておきます。

川尻線 6号昭 63.242M
川尻線 7号昭 63.242M
川尻線 8号昭 63.242M
川尻線 9号昭 63.242M
川尻線 11号平 21.635M

そういえば、川尻線6〜9号の鉄塔札、ボルトではなく金属製のバンドで括り付けられていました。

朝:寝てた。昼:びっくり寿司 江戸前 つくし野店にて。夕:白飯、つみれ汁、スーパーで買った焼売。58.9kg(24:00)

28-Jan-2011
[仮説。]

Twitterで書いたネタの使い回しです。すみません。

なんとなくですが、キャタピラー上溝線、あれはひょっとすると八ツ沢線から内陸工業団地へ送電することが本来の目的だったのではないかと考えています。根拠は…

この辺りでしょうか。勿論、東京電力の人なら真相を知っているはずなので、ここに書いたのはあくまでも想像なり妄想の類に過ぎないのですけど(でもそれが結構楽しいんだからしょーがない)。

酷い写真ですが、川尻線10号を見た際に撮った写真を上げてみます。サムネイルのリンク先はリサイズやトリミングをせず、単純に回転しただけの物なので2Mbyteくらいあります(車が写り込んでいますが、ナンバーを確定できない程度にボケているので特にいじりません)。

この写真は川尻線10号と11号の間から撮っているため、奥に写っているのは川尻線9号です。非常に見辛いのですが、愛川線10号に小さな札が貼られているのが分かるでしょうか…?

timgp9356.jpg

大抵の場合この札は若番(発電所に近い側)の鉄塔を向くように取り付けられているのですが、この写真では老番、川尻線11号を向いています。

送電方向が変わったケースで自分が唯一知っているのは、桂川線(八ツ沢発電所→橋本変電所)が川尻線(橋本変電所→川尻変電所)となった例です。しかし、川尻線を簡単に見た範囲では、どれも鉄塔札が橋本変電所側を向いていました。

もし「鉄塔札は若番側を向く」ルールが厳格なものであれば、なぜ愛川線はこうなっているのでしょうか。

26-Jan-2011: 朝昼:いつもの。夕:橋本某所にて。

27-Jan-2011: 朝昼:いつもの。夕:野菜炒め、焼いた鶏肉、白飯、即席味噌汁。

28-Jan-2011: 朝昼:いつもの。夕:白飯、野菜炒め、冷凍食品のハンバーグ。58.5kg(25:10)

05-Feb-2011補足:K-7にNOKTON 58mmを付けて、同じ感じに写るよう撮ってみましたが…なかなかうまくいきません(写真は*istDsと同じ大きさになるよう、リサイズしています)。

25-Jan-2011
[地に埋まるモノ。]

23-Jan-2011の左側の写真、都市再生街区基本調査 街区多角点とあるのですが…これが一体何なのかは国土交通省の土地・水資源局 国土調査課にある都市再生街区基本調査成果のページを見るのが一番早そうです。えーと、地籍の調査をもっともっと頑張れ、なプロジェクトでいいのかな(かなりいい加減)。

とりあえず、都市再生街区基本調査成果の提供サービス(β版)を利用することでこの手の標識がどこに埋まっているかを知ることができるようです。撮った物はNo.10A60と書かれていたので、標識の属性情報にある街区基準点等名称と照合すればやっぱりあの辺で合っていました良かったねということのようです。

このサービスで各種の街区点を表示させてみると、街毎に結構違いが出ているのが面白いです。八王子市・町田市・愛川町・(旧)城山町は各種バリエーションに富んでいますが、(旧)相模原市は街区点補助点だけしか使っていないという…あれこれやるだけのお金が無いのか、これで十分という判断なのか、どちらなのかは気になるところです。

なお、比較的正確な位置が出てしまうので、自宅周辺にこんなのがありましたー、というのは止めといた方が良さそうです。

朝昼:いつもの。夕:肉野菜うどん。58.0kg(23:25)

24-Jan-2011
[鉄塔札。(3)]

23-Nov-2010ではどれも発電所方面(若番側)を向いていると書いた鉄塔札なのですが、以下の5枚8枚11枚は逆側(老番側)を向いていました。中津線14号は…色々ツッコミどころはあるでしょうが路線の歴史を知りたいので御容赦願います、と言い訳をしておきます。言い訳をすれば全てが許されるとは思っていませんけどね。

timgp1365.jpg timgp1346.jpg timgp1401.jpg timgp1440.jpg timgp1560.jpg

timgp0142.jpg timgp0144.jpg timgp0145.jpg timgp0192.jpg timgp0200.jpg timgp0209.jpg

この辺りのルートは、鉄塔の番号に従うなら北相模変電所(中津線)→中津変電所(愛川線)→愛川変電所となっているようです。愛川変電所内にある愛川線15号と14号の鉄塔札は若番側を向いているので、どこでひっくり返っているか/何故こうなっているかという点が気になります。

折角なので、おまけも一緒に並べておきます。混ぜちゃダメですけど。

timgp0090.jpg timgp0091.jpg timgp1507.jpg timgp1587.jpg

相模川線はあまり追いかける人がいないのでちょっと見てみようかなーと思ったものの、地図を見て萎えました。距離があまりにも長いのと、相模線の上を這っているので追いかけるのが非常に大変です。

…せめて、行き先くらいは知りたいなあとは思うのですが。

愛川線 15号昭 62.732M
愛川線 14号昭 40.850M
愛川線 11号平 5.839M
愛川線 10号平 5.833M
愛川線 9号昭 60.939M
愛川線 8号昭 60.931M
愛川線 7号昭 60.934M
愛川線 5号昭 60.931M
愛川線 4号昭 60.929M
愛川線 3号昭 60.945M
愛川線 2号昭 60.951M
愛川線 1号昭 60.927M?
中津線 14号昭 40.8??M
中津線 13号昭 53.774M
相模川線 12号昭 58.354M

どうでも良い話ですが、なんかメンコとかトレーディングカード集めるのとあんまり変わらないですよね、これって。

朝昼:いつもの。夕:冷凍庫にあったカレーと白飯。57.8kg(23:45)

30-Jan-2011補足:愛川線9〜11号も老番側を向いていることを確認したため、追加しました。

05-Feb-2011補足:愛川線5, 7, 8号も老番側を向いていることを確認したため、追加しました。14-1号も老番側(この先は撤去されているので存在しないのですが)を向いていましたが…手持ちの機材ではこれが限界でした。

愛川線14-1号の写真を撮っている時に、近くにお住まいの方から色々話を伺うことができたのですが…やはりかつては県道54号線の向こう側まで鉄塔が連なっていたとのことでした。さがみ縦貫道路の建設も関連しているのではないか、とも。

カメラを持って住宅地を歩いているのって不審じゃないですか?という質問に対して暖かいお答えを頂けましたが(本当にありがとうございました)、今後もカメラおよび写真の扱いには気をつけるようにします。

17-Jul-2011補足:相模川線の行方を調べてみました。

23-Jan-2011
[生きてますよ]

ちょっと鉄塔札ネタの続きを仕入れてきたのですが、まとめきれないのでそのうち書きます。場所は中津変電所周辺、ターゲットは愛川線1〜4号と中津線14号です。最近は鉄塔札を含めて撮るようにしていますが、鉄塔の立地条件によっては撮れないです…むしろ、撮れないケースの方が多い気がします。

手土産無しというのもアレなので、時間があったらこういうネタもやってみたいよねというのを載せてみます。※トリミングしてます

timgp1561.jpg timgp1567.jpg

空に向かうモノではなく、地に埋まるモノ、です。送電鉄塔と同じく、その筋の人であれば全て分かっているものではあります。

ちなみに、場所は内陸西4丁目の交差点だったと思います(うろ覚え)。鉄塔用に持ち歩く、Phenix 28-105mmに付いてるマクロモードを使ったので屈み込まずに撮っています。

…地面にカメラ向けて何やってるんだろうという周囲の視線は痛かったです。写り重視で適当な単焦点を使いたいのが本音ですが、それをやると周囲からはとってもイタい人に見られるんだろうなあ。

朝:寝てた。昼:パン類を適当に。夕:白飯、肉野菜炒め、即席味噌汁。

これ以前の食事メモは省略です。57.9kg(23:55)

17-Jan-2011
[聞いてねえ]

LPC1114/301がROM 32KB/RAM 8KBだなんて話は、今の今まで聞いてない。

というかLPC2388並みのROM/RAM容量を期待していたので普通に僕は涙目だ(と敢えて一人称を変えてみる)。

…スペックをちゃんと確認しない方が悪いんだけどね。

実は*istDsの修理失敗に備えて、去年の末にK-7買いました。支払いで涙目です。

色々便利な機能は嬉しいのですが、これに慣れてしまって*istDsじゃ撮れない…となってしまわないよう、気を付けないと駄目かもです(手ブレ補正とか)。

試しに、部屋の壁を撮ってRAW現像で遊んでみましたが…カメラやレンズ達に愛想を尽かされないよう、精進しないといけないっすね。

12-Jan-2011: 朝昼:いつもの。夕:白飯、肉野菜炒め。

13-Jan-2011: 朝昼:いつもの。夕:白飯、茹で野菜、焼魚。

14-Jan-2011: 朝昼:いつもの。夕:白飯、ジャガイモと舞茸の炒め物、惣菜屋のチキンステーキ。

15-Jan-2011: 朝:寝てた。昼:パンとソーセージ。夕:白飯、野菜炒め。

16-Jan-2011: 朝:起きられない。昼:冷凍庫にあったパスタ。夕:壱発ラーメン。

17-Jan-2011: 朝昼:いつもの。夕:アジア風かけごはんもどき。

18-Jan-2011: 朝昼:いつもの。夕:茹で野菜、加工肉。58.4kg(23:25)

11-Jan-2011
[銃猟禁止の看板って]

timgp1199.jpg timgp1234.jpg

銃猟禁止の看板はよく見かけるのですが、特定猟具使用禁止区域(銃)というタイプは初めて見ました。

特定猟具使用禁止区域(旧:銃猟禁止区域)/栃木県によれば、

鳥獣の保護及び狩猟の適正化に関する法律(平成14年法律第88号)の改正により、「銃猟禁止区域」は平成19年4月16日より、銃器に係る「特定猟具使用禁止区域」に名称が変更になりました。

ということなので、意味する物は変わらないけど指定された時期が新しいよんと理解しておけば良いのでしょうか。

実は昨日、23-Nov-2010の補足用に例の場所へ行ってきたのですが…どうもこの近辺はイノシシが出るらしく、罠を仕掛けています。畑も電気柵使っていましたし。

おまけ。

timgp1243.jpg

…街の名前が変わっても、昔の名前は覚えています。

09-Jan-2011: 朝:パン。昼:スーパーで買った惣菜パンだったような(うろ覚え)。夕:白飯、スーパーで売られていた生餃子(焼くのに失敗)、野菜炒め。

10-Jan-2011: 朝:即席ラーメンとパン。昼:ドラゴンラビッツにて。夕:カレーとパン。

11-Jan-2011: 朝昼:いつもの。夕:続・味噌煮込みうどんもどき。58.5kg(23:30)

08-Jan-2011
[…]

02-Jan-2011に書いた、修理スキル上げを実践してみました。いわゆる*istDsを分解して、動きの悪くなったロータリーエンコーダ(ALPS EC05E1220401)を交換するってやつです。

自己責任(壊しても泣かない心)を準備して、ひたすらネジを外して然るべき場所にアクセスし、交換すべき物を交換して元に戻すだけという、文章にするなら非常に簡単なお仕事なんですが…実際は決してそうではありません。時間と手間と神経を使う作業です。

あんまり細かいことを書いてもアレなので(真似するのはともかく失敗した場合に八つ当たりされても困る)、自分がつまづいた部分だけメモ書きしておきます。

撮影したアングルがイマイチですが、交換前後の様子を一応載せておきます(分解・改造した事実を示すことにもなってしまいますけどね)。

tdscf1991.jpg tdscf1992.jpg

tdscf1993.jpg tdscf1998.jpg

…分解および修理に挑んだ、*istDs/*istD使い達の情報に感謝。

07-Jan-2011: 朝昼:いつもの。夕:白飯、焼いた鶏肉、スーパーで買ったサラダ、豆腐。

08-Jan-2011: 朝:妻にお任せ(パスタ)。昼:浜焼市場にて。夕:冷食チャーハン。59.7kg(22:35)

06-Jan-2011
[あー、これは確かに]

Cortex-M0 Devices Generic User Guide/Cortex-M0 Technical Reference Manual/ARMv6-M Architecture Reference Manual(これは要登録)およびCMSIS ver1.10のソースコードをざっと眺めて見た感想。

…本当のCマイコンってこういうのを言うのかなあと。

割り込みハンドラを記述する場合は__attribute__((interrupt))とか#pragma interruptだののお世話になるんだろうなと思っていたのですが、全然そういうのが見当たらないのです。ちょっと引用しますが、どうも例外が発生してHandler modeへ移行する際に設定されるLR(R14)レジスタの値と、スタックの積み方にカラクリがあるみたいで。

20110106.png

詳しくは各種ドキュメントおよびProcedure Call Standard for the ARM® Architectureを参照。

あと、割り込み処理機構はARMの想定する使い方に従っている分には幸せなんだと思いますが、ここから逸れるような使い方をすると一気に不幸になれる気がします。それくらい、なんか色々と芸が細かいです(Preemption, Tail-chainingとLate-arrivingの辺り)。

うーん、SVCなり割り込みなりでHandler modeへ移行して、抜けるときにPendSVを起こして、PendSVハンドラでコンテキスト切り替えてThread modeに抜けるとかそんな感じの使い方になるのでしょうかねえ(違うかも)。割り込みの優先順位もテキトーに付けると泣きそうです。

04-Jan-2011: 朝:即席ラーメン。昼:餅。夕:白飯、つみれ汁もどき(スキルが足りないので微妙に残念な結果に)。

05-Jan-2011: 朝昼:いつもの。夕:アジア風かけごはんもどき(スキルが足りないので(ry。

06-Jan-2011: 朝昼:いつもの。夕:味噌煮込みうどんもどき(ry。59.1kg(22:35)

03-Jan-2011
[仮想マシンにUbuntu 10.10(i386)突っ込んだんなら]

ぶっちゃけSourcery G++ Lite Edition for ARM(EABI)落として突っ込んどけば良くね?ということで、そうすることにしました。悩んでいる時間、勿体無いですし。

ありがちなhello.cをでっち上げて、-mcpu=cortex-m0でコンパイルするとこんな感じ。


uaa@ubuntu-vm:~$ arm-none-eabi-gcc hello.c -mcpu=cortex-m0 -mthumb -c -o hello-cm0.o
uaa@ubuntu-vm:~$ ls -l hello-cm0.o
-rw-r--r-- 1 uaa uaa 968 2011-01-03 20:45 hello-cm0.o
uaa@ubuntu-vm:~$ md5sum hello-cm0.o
f146d4142c987a61a758fedf7f5010f5  hello-cm0.o
uaa@ubuntu-vm:~$ arm-none-eabi-objdump -d hello-cm0.o

hello-cm0.o:     file format elf32-littlearm


Disassembly of section .text:

00000000 <main>:
   0:   b580            push    {r7, lr}
   2:   b082            sub     sp, #8
   4:   af00            add     r7, sp, #0
   6:   6078            str     r0, [r7, #4]
   8:   6039            str     r1, [r7, #0]
   a:   4b04            ldr     r3, [pc, #16]   ; (1c <main+0x1c>)
   c:   1c18            adds    r0, r3, #0
   e:   f7ff fffe       bl      0 <puts>
  12:   2300            movs    r3, #0
  14:   1c18            adds    r0, r3, #0
  16:   46bd            mov     sp, r7
  18:   b002            add     sp, #8
  1a:   bd80            pop     {r7, pc}
  1c:   00000000        .word   0x00000000
uaa@ubuntu-vm:~$ arm-none-eabi-readelf -a hello-cm0.o
ELF Header:
  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              REL (Relocatable file)
  Machine:                           ARM
  Version:                           0x1
  Entry point address:               0x0
  Start of program headers:          0 (bytes into file)
  Start of section headers:          276 (bytes into file)
  Flags:                             0x5000000, Version5 EABI
  Size of this header:               52 (bytes)
  Size of program headers:           0 (bytes)
  Number of program headers:         0
  Size of section headers:           40 (bytes)
  Number of section headers:         11
  Section header string table index: 8

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .text             PROGBITS        00000000 000034 000020 00  AX  0   0  4
  [ 2] .rel.text         REL             00000000 0003b8 000010 08      9   1  4
  [ 3] .data             PROGBITS        00000000 000054 000000 00  WA  0   0  1
  [ 4] .bss              NOBITS          00000000 000054 000000 00  WA  0   0  1
  [ 5] .rodata           PROGBITS        00000000 000054 000010 00   A  0   0  4
  [ 6] .comment          PROGBITS        00000000 000064 00002b 01  MS  0   0  1
  [ 7] .ARM.attributes   ARM_ATTRIBUTES  00000000 00008f 000033 00      0   0  1
  [ 8] .shstrtab         STRTAB          00000000 0000c2 000051 00      0   0  1
  [ 9] .symtab           SYMTAB          00000000 0002cc 0000d0 10     10  11  4
  [10] .strtab           STRTAB          00000000 00039c 000019 00      0   0  1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings)
  I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
  O (extra OS processing required) o (OS specific), p (processor specific)

There are no section groups in this file.

There are no program headers in this file.

Relocation section '.rel.text' at offset 0x3b8 contains 2 entries:
 Offset     Info    Type            Sym.Value  Sym. Name
0000000e  00000c0a R_ARM_THM_CALL    00000000   puts
0000001c  00000502 R_ARM_ABS32       00000000   .rodata

There are no unwind sections in this file.

Symbol table '.symtab' contains 13 entries:
   Num:    Value  Size Type    Bind   Vis      Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND
     1: 00000000     0 FILE    LOCAL  DEFAULT  ABS hello.c
     2: 00000000     0 SECTION LOCAL  DEFAULT    1
     3: 00000000     0 SECTION LOCAL  DEFAULT    3
     4: 00000000     0 SECTION LOCAL  DEFAULT    4
     5: 00000000     0 SECTION LOCAL  DEFAULT    5
     6: 00000000     0 NOTYPE  LOCAL  DEFAULT    5 $d
     7: 00000000     0 NOTYPE  LOCAL  DEFAULT    1 $t
     8: 0000001c     0 NOTYPE  LOCAL  DEFAULT    1 $d
     9: 00000000     0 SECTION LOCAL  DEFAULT    6
    10: 00000000     0 SECTION LOCAL  DEFAULT    7
    11: 00000001    32 FUNC    GLOBAL DEFAULT    1 main
    12: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND puts

No version information found in this file.
Attribute Section: aeabi
File Attributes
  Tag_CPU_name: "CORTEX-M0"
  Tag_CPU_arch: v6-M
  Tag_CPU_arch_profile: Microcontroller
  Tag_THUMB_ISA_use: Thumb-1
  Tag_ABI_PCS_wchar_t: 4
  Tag_ABI_FP_denormal: Needed
  Tag_ABI_FP_exceptions: Needed
  Tag_ABI_FP_number_model: IEEE 754
  Tag_ABI_align_needed: 8-byte
  Tag_ABI_align_preserved: 8-byte, except leaf SP
  Tag_ABI_enum_size: small
  Tag_ABI_optimization_goals: Aggressive Debug
  Tag_DIV_use: Not allowed
uaa@ubuntu-vm:~$

そーいや-march=armv6-mなんてのもあったよね、ってことでこちらも。


uaa@ubuntu-vm:~$ arm-none-eabi-gcc -march=armv6-m -mthumb hello.c -c -o hello-armv6m.o
uaa@ubuntu-vm:~$ ls -l hello-armv6m.o
-rw-r--r-- 1 uaa uaa 964 2011-01-03 20:49 hello-armv6m.o
uaa@ubuntu-vm:~$ md5sum hello-armv6m.o
0396d6bd9fe9f2a151d57f8a049c08a5  hello-armv6m.o
uaa@ubuntu-vm:~$ arm-none-eabi-objdump -d hello-armv6m.o

hello-armv6m.o:     file format elf32-littlearm


Disassembly of section .text:

00000000 <main>:
   0:   b580            push    {r7, lr}
   2:   b082            sub     sp, #8
   4:   af00            add     r7, sp, #0
   6:   6078            str     r0, [r7, #4]
   8:   6039            str     r1, [r7, #0]
   a:   4b04            ldr     r3, [pc, #16]   ; (1c <main+0x1c>)
   c:   1c18            adds    r0, r3, #0
   e:   f7ff fffe       bl      0 <puts>
  12:   2300            movs    r3, #0
  14:   1c18            adds    r0, r3, #0
  16:   46bd            mov     sp, r7
  18:   b002            add     sp, #8
  1a:   bd80            pop     {r7, pc}
  1c:   00000000        .word   0x00000000
uaa@ubuntu-vm:~$ arm-none-eabi-readelf -a hello-armv6m.o
ELF Header:
  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              REL (Relocatable file)
  Machine:                           ARM
  Version:                           0x1
  Entry point address:               0x0
  Start of program headers:          0 (bytes into file)
  Start of section headers:          272 (bytes into file)
  Flags:                             0x5000000, Version5 EABI
  Size of this header:               52 (bytes)
  Size of program headers:           0 (bytes)
  Number of program headers:         0
  Size of section headers:           40 (bytes)
  Number of section headers:         11
  Section header string table index: 8

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .text             PROGBITS        00000000 000034 000020 00  AX  0   0  4
  [ 2] .rel.text         REL             00000000 0003b4 000010 08      9   1  4
  [ 3] .data             PROGBITS        00000000 000054 000000 00  WA  0   0  1
  [ 4] .bss              NOBITS          00000000 000054 000000 00  WA  0   0  1
  [ 5] .rodata           PROGBITS        00000000 000054 000010 00   A  0   0  4
  [ 6] .comment          PROGBITS        00000000 000064 00002b 01  MS  0   0  1
  [ 7] .ARM.attributes   ARM_ATTRIBUTES  00000000 00008f 00002d 00      0   0  1
  [ 8] .shstrtab         STRTAB          00000000 0000bc 000051 00      0   0  1
  [ 9] .symtab           SYMTAB          00000000 0002c8 0000d0 10     10  11  4
  [10] .strtab           STRTAB          00000000 000398 000019 00      0   0  1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings)
  I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
  O (extra OS processing required) o (OS specific), p (processor specific)

There are no section groups in this file.

There are no program headers in this file.

Relocation section '.rel.text' at offset 0x3b4 contains 2 entries:
 Offset     Info    Type            Sym.Value  Sym. Name
0000000e  00000c0a R_ARM_THM_CALL    00000000   puts
0000001c  00000502 R_ARM_ABS32       00000000   .rodata

There are no unwind sections in this file.

Symbol table '.symtab' contains 13 entries:
   Num:    Value  Size Type    Bind   Vis      Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND
     1: 00000000     0 FILE    LOCAL  DEFAULT  ABS hello.c
     2: 00000000     0 SECTION LOCAL  DEFAULT    1
     3: 00000000     0 SECTION LOCAL  DEFAULT    3
     4: 00000000     0 SECTION LOCAL  DEFAULT    4
     5: 00000000     0 SECTION LOCAL  DEFAULT    5
     6: 00000000     0 NOTYPE  LOCAL  DEFAULT    5 $d
     7: 00000000     0 NOTYPE  LOCAL  DEFAULT    1 $t
     8: 0000001c     0 NOTYPE  LOCAL  DEFAULT    1 $d
     9: 00000000     0 SECTION LOCAL  DEFAULT    6
    10: 00000000     0 SECTION LOCAL  DEFAULT    7
    11: 00000001    32 FUNC    GLOBAL DEFAULT    1 main
    12: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND puts

No version information found in this file.
Attribute Section: aeabi
File Attributes
  Tag_CPU_name: "6-M"
  Tag_CPU_arch: v6-M
  Tag_CPU_arch_profile: Microcontroller
  Tag_THUMB_ISA_use: Thumb-1
  Tag_ABI_PCS_wchar_t: 4
  Tag_ABI_FP_denormal: Needed
  Tag_ABI_FP_exceptions: Needed
  Tag_ABI_FP_number_model: IEEE 754
  Tag_ABI_align_needed: 8-byte
  Tag_ABI_align_preserved: 8-byte, except leaf SP
  Tag_ABI_enum_size: small
  Tag_ABI_optimization_goals: Aggressive Debug
  Tag_DIV_use: Not allowed
uaa@ubuntu-vm:~$

-mcpu=cortex-m0, -march=armv6-mのどちらも、-mthumbは省略しちゃ駄目みたいです。今のところどちらのオプションを指定しても同じようなコードが生成されていますが、最適化の指定次第で色々変わる可能性はあるかもしれません。

とりあえず、CPU依存かアーキテクチャ依存かで-mcpu=cortex-m0の-march=armv6-mの適切な方を選んでくれってことになるのでしょうか。ELF的には違う物として表れているみたいですし…

朝昼:適当に。夕:白飯、八宝菜(キット使用)。59.8kg(21:25)

02-Jan-2011
[うまくいかないもんですなあ]

本年もよろしくお願いします。

*ist Dsのダイヤルの具合が悪くなってきて、シャッター速度の指示を適当にスルーしてくれるようになりました。これ、かなり嫌ですね。

修理に出すよりも中古をもう一台買う方が確実に安いのですが、時間が経てば同様の問題に悩まされるのは確実です。二台分置く場所もありません。

ここは修理スキルを得るチャンスということで、H20.01.27 PENTAX istDsが壊れた〜(>_<)の記事を参考にしながらロータリーエンコーダの交換を試してみるのが筋でしょうか。とは言え、実際に実行に移すかどうかは全く分かりませんが。

とりあえず、*ist Dの場合と異なり、フレキシブル基板に部品がくっついているという点が厄介そうに見えます。

今日の日記はログで水増ししております。

Cortex-M0向けのgcc-4.5.2の構築、zlib絡みで何か妙な事が起こっているなあというところまでは分かるんですが…折角仮想マシンにUbuntu 10.10(i386)突っ込んでもこれじゃあ一体どうすれば良いんですかね、とこちらも頭を抱えています。


uaa@ubuntu-vm:~/gcc-4.5.2/arm-none-eabi$ ../configure --target=arm-none-eabi --
enable-languages=c --with-newlib --prefix=/usr/local --enable-interwork --enabl
e-multilib --disable-nls --disable-libssp --disable-libgomp --disable-libmudfla
p

(この辺はばっさり省略)

make[2]: Leaving directory `/home/uaa/gcc-4.5.2/arm-none-eabi/build-i686-pc-lin
ux-gnu/fixincludes'
mkdir -p -- ./zlib
Configuring in ./zlib
configure: creating cache ./config.cache
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... arm-none-eabi
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... mawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for i686-pc-linux-gnu-gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... ld
checking if the linker (ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 805306365
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for ld option to reload object files... -r
checking for i686-pc-linux-gnu-objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for i686-pc-linux-gnu-ar... ar
checking for i686-pc-linux-gnu-strip... no
checking for strip... strip
checking for i686-pc-linux-gnu-ranlib... ranlib
checking command to parse nm output from gcc object... ok
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C preprocessor... gcc -E
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for getpagesize... yes
checking for working mmap... yes
checking for memcpy... yes
checking for strerror... yes
checking for unistd.h... (cached) yes
configure: updating cache ./config.cache
configure: creating ./config.status
config.status: creating Makefile
config.status: executing default-1 commands
Adding multilib support to Makefile in ../../zlib
multidirs=64
with_multisubdir=
Running configure in multilib subdirs 64
pwd: /home/uaa/gcc-4.5.2/arm-none-eabi/zlib
Running configure in multilib subdir 64
pwd: /home/uaa/gcc-4.5.2/arm-none-eabi
mkdir 64
configure: creating cache ./config.cache
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... arm-none-eabi
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for i686-pc-linux-gnu-strip... no
checking for strip... strip
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... mawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for i686-pc-linux-gnu-gcc... gcc  -m64
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc  -m64 accepts -g... yes
checking for gcc  -m64 option to accept ISO C89... unsupported
checking for style of include used by make... GNU
checking dependency style of gcc  -m64... gcc3
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc  -m64... ld
checking if the linker (ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... nm
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 805306365
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for ld option to reload object files... -r
checking for i686-pc-linux-gnu-objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for i686-pc-linux-gnu-ar... ar
checking for i686-pc-linux-gnu-strip... strip
checking for i686-pc-linux-gnu-ranlib... ranlib
checking command to parse nm output from gcc  -m64 object... failed
checking how to run the C preprocessor... /lib/cpp
checking for ANSI C header files... no
checking for sys/types.h... no
checking for sys/stat.h... no
checking for stdlib.h... no
checking for string.h... no
checking for memory.h... no
checking for strings.h... no
checking for inttypes.h... no
checking for stdint.h... no
checking for unistd.h... no
checking for dlfcn.h... no
checking for objdir... .libs
checking if gcc  -m64 supports -fno-rtti -fno-exceptions... no
checking for gcc  -m64 option to produce PIC... -fPIC -DPIC
checking if gcc  -m64 PIC flag -fPIC -DPIC works... yes
checking if gcc  -m64 static flag -static works... no
checking if gcc  -m64 supports -c -o file.o... yes
checking if gcc  -m64 supports -c -o file.o... (cached) yes
checking whether the gcc  -m64 linker (ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... yes
checking dynamic linker characteristics... configure: error: Link tests are not
 allowed after GCC_NO_EXECUTABLES.
make[1]: *** [configure-zlib] Error 1
make[1]: Leaving directory `/home/uaa/gcc-4.5.2/arm-none-eabi'
make: *** [all] Error 2
uaa@ubuntu-vm:~/gcc-4.5.2/arm-none-eabi$

zlib使わないでビルドすると、今度はlto絡みでどーのこーのと言われます。


uaa@ubuntu-vm:~/gcc-4.5.2/arm-none-eabi$ ../configure --target=arm-none-eabi --
enable-languages=c --with-newlib --prefix=/usr/local --enable-interwork --enabl
e-multilib --disable-nls --disable-libssp --disable-libgomp --disable-libmudfla
p --disable-zlib

(省略)

gcc -c  -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wwrite-strings -
Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute 
-pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-sty
le-definition -Wc++-compat   -DHAVE_CONFIG_H -I. -I. -I../../gcc -I../../gcc/. 
-I../../gcc/../include -I../../gcc/../libcpp/include  -I../../gcc/../libdecnumb
er -I../../gcc/../libdecnumber/dpd -I../libdecnumber      ../../gcc/lto-compres
s.c -o lto-compress.o
../../gcc/lto-compress.c:28: fatal error: zlib.h: No such file or directory
compilation terminated.
make[2]: *** [lto-compress.o] Error 1
make[2]: Leaving directory `/home/uaa/gcc-4.5.2/arm-none-eabi/gcc'
make[1]: *** [all-gcc] Error 2
make[1]: Leaving directory `/home/uaa/gcc-4.5.2/arm-none-eabi'
make: *** [all] Error 2
uaa@ubuntu-vm:~/gcc-4.5.2/arm-none-eabi$

gcc-mlにあった物を丸ごとコピペしたt-arm-elfを突っ込んでいますが、ライブラリ構築する以前の問題だろって感じです。

01-Jan-2011: 朝:寝てた。昼:鶏肉を焼いた物、煮物類、スーパーで買った押し寿司。夕:即席ラーメン。

02-Jan-2011: 朝:食べない。昼:親戚回りで色々と。夕:即席ラーメン。59.8kg(24:45)