マツダ 心を燃やす逆転の経営:メーカーの技術者必読の書

 私は、車には関心がない。トヨタの車を20年近く乗っている。それもこれも、車は動けばいいので、動いてくれているのでずっと乗っている。
 そんな私が、マツダ 心を燃やす逆転の経営という本を読んだ。久しぶりに良い本であった。経営の本なのだが、その大半は技術経営について語っている。しかも、業界で大手ではない企業の技術戦略である。
 その要点は、一括企画、コモンアーキテクチャ戦略である。この考え方は、組み込み機器でも通じる考え方だ。開発者も、開発費も少ない企業には、企画の方向性、技術の方向性が必要である。その方向に戦力を集中することで、やっと競合他社に勝てる。
 この本は、それを実践した中身が書かれている。ここまで、あからさまに書いて大丈夫かと思うほどだ。

ソフトウエアテスト自動化の教科書:基本的な考え方が学べる

 テスト工数を削減したいというのは、ソフトウエア開発で大きなニーズの1つだとおもう。その手段の1つがテスト自動化ということで、ソフトウェアテスト自動化の教科書 〜現場の失敗から学ぶ設計プロセスという本を読んでみた。
 内容は基本的なもので、この本を読んだから、すぐに自動化にとりかかれるかというとそうはいかない。それは、当たり前で、自動化というのは、手動でやっていたソフトウエアテストを単に自動化するだけのものだからだ。そもそものテストのバリエーションが広いのでそれを自動化する方法は、それぞれの現場で工夫するしかない、
 この本を読んで最も参考になったのは、自動化の最大の目的は、デグレの防止である、ということだ。デグレ防止のためのテストを自動化することで、結果的に、新しいリリースごとにデグレが防止され、品質は上がる。でも、新しい機能は、やっぱり最初は、手動でやるしかない。その手動テストの中で、自動化でき、自動化することで工数削減できる部分だけ自動化する、という当たり前のことを、あらためて認識した。
 もう1つは、テストをスクリプトで書けないと、結果的には、自動化できないという指摘である。プログラミングなしで使えるテストツールは結局は使いものにならない。確かに。
 テスト項目を整理して、自動化できるものをピックアップして、PYTHONでテストスクリプトを作るところから始めようとおもった。

マイコンの仕様が重要だった時代:少し前は開発環境

 インテル 世界で最も重要な会社の産業史を読んだ。本の感想は、別のブログに書いた。これを読みながら思ったのは、かつては、マイコンの仕様が最も重要「だった」時代があったということである。
 昔は、何かやろうとすると、外部のインターフェース回路を接続しなけらばならなかった。シリアル通信ですら内蔵していなかった。ソフトウエアはアセンブラであった。そんな時に、使いたいチップとのインターフェース回路の設計が簡単で、アセンブラソフトを素直に書けるマイコンを選択したい、というのが開発の要望だった。
 今は・・・。正直言って、マイコンの仕様は、どんな通信インターエースを搭載しているか、ROM・RAMの容量は、という程度である。それさえ満足していれば、後は最も重要なのは開発環境になっている。
 というのは、実は実態と違っていて、開発環境重視は、もう既に終わっている。AI等の最先端なら今でも重要かもしれないが、私がやっているLANとRS485の通信という程度の機器であれば、どんな開発環境でも、立派なライブラリーが無料でついていて、開発環境もJTAGデバッガの治具以外は無料である。
 なので、今では、一度使ったマイコンの環境に不満がなければ、他の開発環境へ移るのがイヤなので、使い続けるという状況である。
 時代は、どんどん変わっている。開発者は、追従しなければならない。

Interface誌2月号の特集は「作るOS・言語・コンパイラ 低レイヤ入門」:入門と言うには難しい

 Interface 2021年 2 月号の特集は「作るOS・言語・コンパイラ 低レイヤ入門」。イントロダクションのページに1週間マスターとあるが、今回の本誌の内容を1週間でマスターするのは難しいだろう。たとえば、コンパイラの解説でもLR構文解析が紹介されている。本格的といえば、本格的なのだが、入門としては難しすぎるだろう。
 内容としては、本格的である。でも、本書を手にとって、1週間でマスターできなかったからといって、悲観することは全くない。そもそもマスターする必要があるかどうかも難しい。マイコンが動くためには、こうした技術が支えているんだということが垣間見えればそれでいいように思う。

Interface1月号の特集は「Jetson/ラズパイ/PCで自習 Python画像処理100」:画像処理もPythonの時代-下回りはOpenCV活用

 Interface(インターフェース) 2021年 1 月号の特集は「Jetson/ラズパイ/PCで自習 Python画像処理100」。えっ!Pythonで画像処理なんてできるの?と思ったのだが、力業が必要な部分は、C/C++で実装されているOpenCVを使い、AIなどPythonが得意なところをPythonで、ということらしい。コンピュータ言語には、得意・不得意があるので、こういう得意分野を組み合わせるという使い方が増えるのだろう。
 とはいっても、組み込みはC言語である。新連載「マイコンC言語 転ばぬ先のつえ」は、C言語でつまづく部分に着目した連載のようだ。第1回は整数型。int型の定義の曖昧さに関する話題である。C言語には、この手の話題には事欠かないので、参考になるだろう。

トランジスタ技術11月号の特集は「実験・研究で役立つ ハンディ計測アナライザ」:計測というのは組み込みの勉強になることを実感

 トランジスタ技術 2020年 11 月号の特集は、「実験・研究で役立つ ハンディ計測アナライザ」。カラーLCD搭載の安価なM5Stackを使ってディジタル・オシロやカーブ・トレーサを作るという特集である。本当に実験・研究で役立つ計測ツールになるのかは、少し疑問だが、勉強にはなる。
 たとえば、M5StackのA/D変換の性能を評価し、直線性がいい領域でのみ計測に使うようにするとか、M5StackのA/D変換では精度不足なところはI2CのA/D変換器を接続して使うとか、測定原理・測定精度に合わせた設計がなされていて、そこが勉強になる。

Interface11月号の特集は「ESP32で画像処理 プログラム100」:えっ?ESP32で画像処理?

 Interface 2020年 11 月号の特集は「ESP32で画像処理 プログラム100」。特集名を見ただけでちょっとびっくり。ESP32と画像処理が結びつかなかったのである。ESP32といえば、あのWi-FiモジュールのESP-WROOMで使われているマイコンだ。どちらかというと非力な印象しかない。そのESP32で画像処理をというのだ。まあ、考えてみれば、昔のホストコンピュータよりも高い性能だろうから、できても不思議ではない。が、ちょっとびっくりである。
 前にも紹介したが本誌9月号からの短期連載の「特別企画 ラズパイでPLC」はいよいよ応用編である。それぞれにラダーのソースも掲載されている。本誌の読者層にラダーの馴染みのある技術者は少ない(私も何とか読める程度)と思うので、トライしてみるのも面白いかもしれない。9月号を持っていない人向けに、開発環境などを記載した9月号の記事の概要がサイトで公開されているのも親切である。

どうしてチャンスにはいつの設計変更が伴うのだろうか?:明言だなあ。実際には腰痛も伴うよ・・・

 テスト駆動の本を読んでいたら、「どうしてチャンスにはいつの設計変更が伴うのだろうか?」という文があった。思わず笑ってしまった。
 B2Bの機器を開発している開発者なら、一度は経験したことがあるだろう。
 営業から話がある。ちょっとした仕様を追加してくれれば、XXX台売れるという。その仕様追加は、確かにソフトウエアでできそうだ。チャンスには、設計変更が伴うのである。でも、組み込み機器の場合、もっと悲惨な話が追加される。
 「納期は?」「今月中。ソフト変更だから大丈夫だろう」
 はい。ギリギリ大丈夫です。ソフト変更は。でも、ソフトができるのは、たぶん納期ギリギリだ。この製品は、後でファームウエアをアップデートするようにはできていない。基板にあるJTAG端子からファームを焼き込み必要がある。かくして、ソフトができてから、納品日まで、あと1日という時に、せっせとファームを焼き込み、筐体のネジをしめ、箱に梱包するという作業をするはめになる。納期前の1日というのは、大抵、休日なので、工場メンバーではなく、休日出勤に慣れている開発者がこの作業をやることになる。
 やったことがある人なら理解できると思うけど、この手の慣れない仕事をすると、大抵、腰を悪くする。なので、チャンスには設計変更と腰痛が伴うのだ。

Interface 9月号の特集は「最新ラズパイ4のハード&OS大研究」:特別企画 ラズパイでPLCは組み込みへの応用として面白い

 Interface(インターフェース) 2020年 09 月号の特集は「最新ラズパイ4のハード&OS大研究」。またラズパイか、と正直思うが、例によって、温度など、本誌でなければ読めないような切り口もある。
 でも、これはいいなあ、と思ったのは、PLCへの応用である。まともな応用には、きっちりとした絶縁型I/Oが必要だが、その基板も用意されるみたいだ(次号で紹介らしい)。PLCといえばラダーだが、ラズパイで動くオープンソースの開発環境と実行環境があるという。絶縁型I/Oとラダーがそろえば、本格的なPLCへの応用が可能かもしれない(ラズパイ本体の信頼性という課題は残るが)。いかにも組み込みらしい、本誌独自の企画だ。

Interface5月号の特集は「C/C++後継モダン言語の研究」:数少ないRust言語の組み込み応用がわかる

 Interface 2020年 05 月号の特集は「C/C++後継モダン言語の研究」である。主役はRustだ。
 組み込みの世界では、C/C++が現役である。というか、今でもC言語が主流である。さすがに言語仕様が古く、新しい言語を、と思っても、世の中で出てくる新言語はWeb系やAI系たおいう状況が続いている。そんな中、OSも記述できる言語として登場したのがRustだ。でも、新しい言語への期待はあっても、日本語で読める技術書があまりない。
 そんな中、実際にSTマイコンでの実装も含めた特集記事は、組み込み技術者が勉強するのに格好の参考書である。まあ、実務で使えるようになるには、まだ時間がかかるんだろうけど、C言語での開発に不満がある組み込み技術者は、是非とも手にとって欲しいと思う。