介護の隙間から(42) 杖にみる心持ちのすれ違い

3つ前、第39回で「歩行を助けるデバイス」という投稿を書いたときに、その最初の項目として杖を上げさせてもらいました。もっともプリミティブ、あるいはファースト・チョイスということで、3点ほど「選択のポイント」を列挙しました。が、しかし、このほど、その選択のポイントなど、所詮、杖を必要としないものの勝手な意見だということがあからさまになってしまいました。その「最重要な」選択のポイント、デバイス屋にはまったく想像もつかない部分にありました。 “介護の隙間から(42) 杖にみる心持ちのすれ違い” の続きを読む

トホホな疑問(9) ラズパイのBogoMipsのなぜ?

以前から気になっていたのです。ラズパイのBogoMips。model 1 B+は、

697.95

などという値を報告してくるのに、model 3 B+ は、

38.40

などという値です。実際に同じソフトウエアを走らせたら model 3 B+の方が、ずっと早いのに(ま、Pi 3 B+は4コアですがね)。クロックアップとかそんな問題以前の圧倒的な差、なぜでしょう。まあ、BogoMipsなどは「非科学的な値」だから信用するな、と言われても、この結果、何か理由がある筈。気になって夜も眠れない。。。 “トホホな疑問(9) ラズパイのBogoMipsのなぜ?” の続きを読む

ぐだぐだ低レベルプログラミング(6) インラインアセンブラ、gccで書き換えてみれば

前回は、MbedのWeb開発環境を使ってでしたが、Arm純正のツールチェーンで、「極小」のアセンブラ記述を行ってみました。そのとき、gccのインラインアセンブラで書くならばチト面倒いかもみたいなことを書いてしまいました。そのままというのも気持ちが悪いので、今回は実際に対応するコードをRaspberry Pi 3上のgcc用に書いてコンパイルしてGo。 “ぐだぐだ低レベルプログラミング(6) インラインアセンブラ、gccで書き換えてみれば” の続きを読む

介護の隙間から(41) 郵便局の見守りサービス、自爆

いえね、今日は敢えて「がっかりだ」と言わせてもらいます。大分前になるのですが「介護の隙間から(23)」で見守りサービスを調べさせていただいたときに、真っ先に上げさせていただいた

郵便局のみまもりサービス

自爆営業横行とのニュースであります。まあ、当方「デバイス」を標榜しておりますんで、どちらかと言えばハード、ソフトの装置で見守りをアシストするような方法に軸足を置いておるのでございますが、

人手によるサービス

嫌いじゃありませんよ。むしろ、心が通う、気持ちが籠るのであれば。それが自爆ではね。。。 “介護の隙間から(41) 郵便局の見守りサービス、自爆” の続きを読む

ぐだぐだ低レベルプログラミング(5)Arm組み込みアセンブラとインラインアセンブラ

前回までは、Armコアとは言え、Linuxが立派に走るCortex-A系のプロセッサ上で、GNUのツールチェーンを使い、「わずかに」アセンブラ世界の入口に到達しました。しかし、目の前に置いてある Arm Cortex-M系のプロセッサを搭載したマイコンボード共が、最近使ってないやんけ!とお怒りな気がします。今回は、ArmのWeb開発環境、Mbed Compiler を使ってマイコン上でアセンブラ書くための第1歩を踏み出してみます。ツールチェーンもArm純正、GCCとは一味違います。 “ぐだぐだ低レベルプログラミング(5)Arm組み込みアセンブラとインラインアセンブラ” の続きを読む

土木でエレキ(19) 停電復旧を邪魔した雷の記録

10日火曜日の午後だったですが、普段この辺では目にすることの無い車が走ってました。北陸電力の高所作業車です。素人目には、フル装備でやる気満々に見えました。交差点を千葉方向へ曲がっていったので、多分、復旧の応援のためはるばる関東に出張ってきているものと見ました。しかし、10日の晩、そして11日水曜日の晩と雷雨襲来。雷雲下では電線の高所作業などできないので、じりじり待つことになったんじゃないかと想像します。その陰でこちらのフランクリン・ライトニング・センサ、雷襲来の様子を捉えていました。 “土木でエレキ(19) 停電復旧を邪魔した雷の記録” の続きを読む

トホホな疑問(8) Raspbianで ltrace 動きませぬ

しばらく前にRaspbian上でAudioインタフェース用のコマンド群がトラブったときに活躍したのが、システムコールをトレースしてくれる

strace

コマンドでした。お陰で何故止まってしまったように見えるのか理由が分かり、解決につながりました。ありがたい限り。この strace に似たコマンドで、ライブラリ呼び出しをトレースしてくれる

ltrace

というコマンドもあります。これをRaspbianの上で不用意にインストールして動かそうとしたところ、ハングしました。なぜ? “トホホな疑問(8) Raspbianで ltrace 動きませぬ” の続きを読む

ぐだぐだ低レベルプログラミング(4) ARM, THUMB切り替え

前回はArmの32ビットと64ビットのモードと命令セット(機械語命令の幅は、どちらも32ビット)の件でした。Arm(腕)には、Thumb(親指)あり、今回は、32ビットモードのArmプロセッサの多くが備えるThumbという名の16ビット幅の機械語命令セットにどうやって切り替えるのか、というところを実際に動かして確認してみたいと思います。

“ぐだぐだ低レベルプログラミング(4) ARM, THUMB切り替え” の続きを読む

ぐだぐだ低レベルプログラミング(3) Arm、32ビット?64ビット?

x86は増築に増築を重ねた複雑なモードと命令セットを持っています。その昔、比較的シンプルな命令セットから出発したArmもまた、重ねた歴史の中で命令セットは複雑化してきています。それどころか、用途が幅広く、かつカスタマイズ可能なArmの方がターゲットによって使用可能な命令セットの選択範囲はx86よりバリエーションが多様にも思えます。アセンブラ書きをするにあたって、ターゲットにするボードやらOS上でどんな範囲の命令が使えるのかまず知らなければなりますまい。今回は、32ビットか、64ビットかという基本中の基本のところから調べて行きます。

“ぐだぐだ低レベルプログラミング(3) Arm、32ビット?64ビット?” の続きを読む

ぐだぐだ低レベルプログラミング(2) ラズパイでアセンブラ、最初の一歩かな?

遥かな昔、結構アセンブラ書いていた時期があるのですが、この頃(といっても多分二十年くらい前から)はあまり書かなくなりました。仕事のせいもあるけれど、多分、昔に比べたら書かなくても済むことが多いから。そのせいもあってArmには時折お世話になっておりながら、ほとんどArmでアセンブラ書いたことがありませぬ。最近、Raspberry Pi 3 model B+ を触ることが結構多く、この際、ちょっとArmのアセンブラを勉強しておこうと思い立った次第。 “ぐだぐだ低レベルプログラミング(2) ラズパイでアセンブラ、最初の一歩かな?” の続きを読む

介護の隙間から(40) 高齢者(シニア)向けスマホ?

最近は、鉄道関係もバリアフリー化が進み、昔に比べると足腰の悪い高齢者が利用するのも幾分か楽になったように思えます。駅などの構造物では進展がある一方、急激に縮小しているんじゃないかと思えるのが、対面で人が切符を売る窓口です。特急券でも定期券でも自販機で買えるし、ネット予約でスマホでOK!便利です。今日、駅の窓口の必要性は大分さがって来ているのは事実でしょう。けれど、この夏、窓口が少なくなって(かつ、開いている時間帯もいつの間にか短くなっている)困っていたりする高齢者の方が結構いるのを何度か目撃しました。朝早く駅に来たものの対面窓口が閉まっていて困っているおばあさん、後で駅員さんがやってきて自販機の使い方を教えてくれていて助かったみたい。「どう切符を注文」して良いのか分からない様子で窓口で時間が掛かっているお年寄り、窓口の人は親切に対応しているようですが、窓口の数は少ないなので後にならんだ人々はイライラしています。ようやく切符を買えた後も窓口の前でゆっくりカバンにしまい、身支度をして、足を引きづりながらようやく窓口を後にしました。高齢者相手に、産業的な「生産性」とか「効率」とかを押し付けてはイケないと分かっているつもりですが、ついつい、私もイライラ。鉄道会社にしたらば、ビジネス的合理性から人のいる窓口を減らして機械に転換しているのでしょう。でも、そこに落ちこぼれかける人がいて、ま、現場の駅員さんが走りまわってなんとかカバーしている感じ。

今日の新聞読んでいて思ったんでありますが、多分それは、ケータイ、スマホ、でも確実にある。
“介護の隙間から(40) 高齢者(シニア)向けスマホ?” の続きを読む

ぐだぐだ低レベルプログラミング(1) Raspberry Pi 3, PMC利用カーネルモジュール改版

前回、Raspberry Pi 3のカーネルモジュールがビルドできるようになったので、つい嬉しくなって、ユーザモードで ArmコアのPMCCNTRレジスタを読み取れるようにするモジュールを書いてみました。しかし、マルチコアのことを棚にあげて書いたせいで、使い勝手が悪すぎました。今回は、マルチコア問題を回避しつつ、多少使いでを改良してみました。 “ぐだぐだ低レベルプログラミング(1) Raspberry Pi 3, PMC利用カーネルモジュール改版” の続きを読む

トホホな疑問(7) Arm, PMCCNTRへのUSERモードアクセス

ちょっと思い立って、Raspberry Pi 3 model B+で、x86のRdtscみたいなサイクル数カウントをとろうとしたのです。Armにもサイクルカウンタはあるのですが、通常は特権アクセス。しかし、USERモードでもアクセス可にできるビットがあったので、これをONにしてUSERプログラムで測定すべし、と思ったところがまたまたハマリました。Pi 1 model B+であったならば顕在化しなかった問題であります。 “トホホな疑問(7) Arm, PMCCNTRへのUSERモードアクセス” の続きを読む

AIの片隅で(16) block, thread, warp, lane

AIをタイトルにしながら、低レベルな話ばかり書いていますが、それもこれも

Jetson Nano

は、AIネタと決めたからなんであります。先は長いですが、やっていく先にはAIにもつながりましょう。さて、月曜日に cuda-gdb でハマった話を投稿いたしましたが、デバッガが立ち上がったところでおしまいになってました。CUDA用のデバッガらしい話題皆無。というわけで今回は、実際にcuda-gdbを動かして、CUDAのサンプルプログラムの中身をのぞいてみます。 “AIの片隅で(16) block, thread, warp, lane” の続きを読む