28-Nov-2018
[第1回城山湖ヒルクライムアタックめたつご山ステージ2018ごっこ]

第1回城山湖ヒルクライムアタックめたつご山ステージなるイベントが11月25日に行われましたが、仕事があるために参加することができません(それ以前に、このイベントがあることを知ったのはイベントの数日前、当然参加申し込みは締め切られている)。

という訳で、今日、ESCAPE R3(2015)改で走ってみました。GPSロガーの記録を見るに、6分20秒くらいで登れているようです。

自転車で城山湖へ行くこと自体が何十年ぶりという状況なので、コースを舐めてかかってました…あんなに坂が辛いとは。特に、都井沢交差点からスタート地点となるパパステニスクラブまでの区間がかなり厳しい坂なので、レースにおいてはここでの消耗をいかに防ぐかも重要になりそうです(早めに会場入りして休憩しておくとか、自走で会場入りしないとか)。

大会レギュレーションには「一般的なドロップ又はフラットハンドルのみ可」「固定ギヤ、前輪のみのブレーキは不可」と書かれているため、クロスバイクでの参加は不可能でなさそう(ピストバイクは不可)に見えるのですが、クロスバイクで実際に参加された方っていらっしゃるんですかね…?58.10kg(13:30)

23-Nov-2018
[ほんっとに今更なんですが]

28-Jul-2015uT-Kernel-1.01.03-private、IchigoJam専用に編集してuT-Kernel-1.01.03-IchigoJamという形にまとめておきました。動作チェックも行い、動くようにしています(つまり、uT-Kernel-1.01.03-privateは動かない)。uCodeも取ってあります

OpenBSD-6.4/amd64で手っ取り早く動かすための手順を簡単に書いておきます。

  1. arm-none-eabi-binutils, arm-none-eabi-gcc-linaro, arm-none-eabi-newlib(arm-none-eabiなクロスコンパイラ一式), gmake, git, lpc21ispその他必要になりそうなものをpkg_addでインストール
  2. git clone等でμT-Kernelのソースコードをダウンロード
  3. 環境変数を、export BD=/path/to/uT-Kernel-1.01.03-IchigoJam/utkernel_source; export GNU_BD=$BD; export TOOL_ORIGIN=GNUARM_2; export GNUARM_2=/usr/local で設定
  4. cd $BD/kernel/sysmain/build/app_lpc1114(素の状態)もしくはcd $BD/kernel/sysmain/build/app_lpc1114.sample(Lチカのサンプル入り)
  5. gmake(makeはダメです)
  6. lpc21ispでkernel-rom.hexをIchigoJamに書き込む

サンプルが入ったkernel-rom.hexを転がしておきます。シリアルポートは38400bpsで繋いでください。60.65kg(17:55)

21-Nov-2018
[うーぬ…]

久々にLichee Pi nanoの電源を入れて、F1C100sの割り込みコントローラをつついて調べてみるのですが…

確かに仕様書から読み取れる動作は、しています。ただ、INTC_RESP_REG[01]により現在実行中の優先順位以下の割り込みを禁止しなかった場合は何が起こるのか、については未だ分かりません。

IRQ発生後、INTC_VECTOR_ADDRレジスタを読み出して対応する割り込み要因を処理する割り込みハンドラへ処理を飛ばす訳ですから、多重割り込みを認めない(割り込みハンドラ内で割り込みを許可しない)場合はINTC_RESP_REG[01]の操作は省略しても影響は無いのでしょう。

しかし多重割り込みを認める場合は、おそらくこのような操作を必要とするのではないかと考えます(割り込みハンドラが呼び出された時点においては、割り込みは禁止されていることを前提にします)。

  1. INTC_RESP_REG[01]を操作し、現在実行中の割り込み要因をセット
  2. 割り込みを許可
  3. 割り込みハンドラの処理を行う
  4. 割り込みを禁止
  5. INTC_RESP_REG[01]を操作し、現在実行中の割り込み要因をクリア

割り込み優先順位は0〜3の4段階(3が最高)で、どの優先順位に何を割り当てるかを考えるのも苦労しそうです。58.95kg(12:15)

15-Nov-2018
[行き詰まってます]

RT80の調査、Retevisのサポートに問い合わせても無反応だし、TSSDに問い合わせても無反応だし、半導体扱ってそうなrf-china.comに写真送ってみても反応無し。

14-Oct-2018の写真にある、KC 7Y2と書かれたチップのメーカーと型番さえ分かれば次に進めるんですが、どーにもならんとなるとRT80で何かをすることは諦めるしかないのかなあという気がしてきます。感じの良いリグなだけに、放り出すのは残念なのですが。

とはいえ、中国のweb siteはlive chatが付いてることが多いようなのでそこに突撃するという最終手段はあるかもしれません(でも中国語で投げないと反応してくれないんだろうな)。59.10kg(24:05)

05-Nov-2018
[OpenBSDではよくある話。(4)]

05-Oct-2014に書いた、OpenBSD/amd64上でbinutils-2.19.1 + gcc-4.2.4 + newlib-1.19.0で無理矢理作った超漢字開発環境の話の続き。OpenBSD-6.4にしたことでまた開発環境(に使われているgccとbinutils)の作り直しが必要になって、非常に面倒だったのでしばらく放置していたのですが…どうせやるんだったらbinutils-2.28.1 + gcc-5.5.0 + newlib-3.0.0で作ったらどうなるだろうとちょっと実験してみることに。まあ既に誰かがやっているとは思うのですが。

…と、ここまでコピペなオープニングで。基本的にはgcc-3.4.6/gcc-4.2.4の時の手順を踏襲し、バージョン番号を読み替えれば良いのではありますが…gcc-4.2.4の時ほど簡単ではありません。

binutils-2.28.1
../configure --prefix=/usr/local/brightv/tool/gnu --target=i386-unknown-elf --disable-nls --disable-werror --disable-shared
gcc-5.5.0
../configure --prefix=/usr/local/brightv/tool/gnu --target=i386-unknown-elf --enable-languages=c,c++ --with-newlib --disable-nls --disable-libssp --disable-libgomp --disable-lto --with-gmp=/usr/local --disable-shared
$(BD)/tool/gnu/lib/gcc/i386-unknown-elf/5.5.0/{demand.lnk,shared.lnk,crt0.o,crti.o,crtn.o,crt1f.o,crt1s.o,solib.o}
28-Oct-2009のReadMeと同様
$(BD)/tool/gnu/lib/gcc/i386-unknown-elf/specs
05-Oct-2014と同様
$(BD)/tool/gnu/i386-unknown-elf/bin/gcc386
i386-unknown-gnu→i386-unknown-elfへの名称変更とspecsの指定に加え、$(BD)/tool/gnu/i386-unknown-elf/bin/gcc→$(BD)/tool/gnu/bin/i386-unknown-elf-gccの呼び出しに変更(05-Oct-2014からの差分
$(BD)/lib/i386e2/reloc.lnk
25-Jan-2015の修正では不十分で、こちらの方法で修正する必要があります。

gcc-5.5.0のconfigureを行う際は--disable-ltoが必須です。これを忘れたために再ビルドする事態になりました。--enable-languagesでC++も有効になっていますが、これが実際に使えるかどうかは不明です。試しにビルドした/usr/local/brightv/util/sample/pcatの中身(ただしMakefileは除く)はこちら

今更何やってるのと言われそうですが、VMware Workstation 15 Playerでvmxscreenが動くかどうかを調べたかっただけというのが理由です。ビルド済みのバイナリがどこかに転がっている可能性もあるのですが、探すのが面倒だったので。58.75kg(23:20)

04-Nov-2018
[FT-704のランプロックユニット]

Retevis RT80の調査が全然進まなくなってしまったので、別の無線機の話で引っ張ってみます(引っ張らなくてもいいじゃん…)。

YAESUが出していたFT-704という430MHz帯のハンディ機、液晶部分とキーパッドのライトがウリの機種だったのですがランプボタンを押している間しかライトが点灯しないという困った仕様でなんとかならんかなーと入手した当時に思っていたのです。

で、しばらくした後にランプボタンをダブルクリック(?)するとロックがかかる改造を行えるユニットが発売され、組み込んだのですが…どこのメーカーが出していたユニットだったっけ?と気になったので実家を漁って資料を引っ張り出してきました。

tlps2n-1.jpg tlps2n-2.jpg

松本無線パーツ(株)岩国製、LPS2Nというユニットでした。FT-704の他、FT-104/204/728でも使用できるようです。

説明書の裏には、

という過去の自分によるメモ書きがありましたが、サイズ以外の内容はあまり信用できない感じです。

説明書の日付は1993年5月、説明書と一緒に残されていた購入時の伝票の日付は1994年1月11日(価格\2000+送料\800に消費税\84)…国産無線機の年表ではFT-704が1988年と書かれているため、随分時間が経過してから作られたユニットのようです。

とりあえず、FT-704のライトをロックするためのユニットが売られていたことは間違いないということが確認できただけで十分です。59.80kg(17:30)