無意味のような生き方

組込みエンジニアが怒りと無念をさえずるブログ。

【組込みOS開拓史 PART1】組込みOSはじめます。

『組込みOS自作入門』*1という本を2017年の8月から読んでいる。組込みエンジニアとしてのスタートをきった直後、何か作ってみたいとやる気に溢れて購入した。全12章のうち1章~4章くらいまで意気揚々と読んでいたものの、割込みを扱う7章くらいから理解に急ブレーキがかかり、何もかも分からなくなって、大いに挫折した。

その後、何章が読んでは別な本やゲームに気を取られて中断し、内容を忘れて読み進められなくなることが続いていた。今年の夏休みに一念発起して1章から腰を据えて取り組んだが、やっぱり割込みの章で難しくなって辞めてしまった。その時、1年前と比べて何も成長していなんじゃないかと不安になった。組込みの門をいつまでもくぐれない。

本を1ページずつ読み進めているから駄目なんじゃないか。本の説明は分かりやすいけど、覚えておくことが多いので、何日か経つと半分以上は忘れてしまい、いつも思い出すことから始めなければいけなくなる。いっそのこと、自分で作る(という体をとる)ことにしよう。

 

■要件定義

【要求1】組込みOSを自作する

要件1. 割込みによる文字列の受信処理を行う。

要件2. 優先度つきマルチタスクで動かす。

要件3. タイマ割込みを使ってストップウォッチのようなものを作る

【要求2】OSが起動するまでの処理を自作する。

要件1. ブートローダーを使用してRAM上でプログラムを動かす。

要件2. メモリ領域を設計する。

要件3. ライブラリ関数を自作する。

 

基本的には『組み込みOS入門』の内容を全部やりたいと思っている。ただ、ソースコードを(可能な限り)MISRA-Cの規約通りに書く、という所にこだわりたい。それと、本の内容だけだとつまらないので、「タイマ割込み」を使った処理を追加することにした。本当はLEDとかデバイスの操作を行いたかったが、H8マイコンの基盤にデバイスをつける方法を調べて絶望したため、放棄する。

 

■成果物

機能設計書

詳細設計書

ソースコード

試験項目書・ログ

 

大人のキッザニアなので、ちゃんと残すものを作りたい。機能設計は、タスク、メモリ、通信、など機能ごとに1ファイルを作る。オンボロPCで作業しているため、空き容量の事情でエクセルが使えないので、テキストのべた書きで妥協する。詳細設計書は関数の内容まで書くと膨大な量になりそうなので、関数Aが関数Bを呼ぶ、、みたいにコールグラフを書く程度にしようと思っている。試験については、どうやってやろうか考え中。cygwinでいきなり実行されてしまうので、細かいテストはしようがない。

 

■スケジュール

11/25-:機能設計(起動・メモリ)

12/2-:機能設計(ブートローダ・通信)

12/9-:機能設計(割込み)

12/16-:機能設計(タスク)

12/23-:詳細設計

12/30-:コーディング①

1/6-:コーディング②

1/13-:試験項目作成

1/20-1/27:テスト実施・リファクタリング作業

 

機能設計は各機能が依存し合っているのでこの通りは進まないと思う。(起動させるために割込みを使ったり、タスクのためにメモリの設計が必要となったりすると思う。)なので、機能設計は、その時点で想定している設計ができていればOKとする。例えば、11/25-のメモリ設計は、起動処理の時点でのメモリの設計書を作ること目指す。

コーディング期間が短いような気がするが、冬休みに入るのと、機能設計しながらソースも作っていく予定なので、大した量は残っていない想定。1/27日に終わらせることを目標としている。何かをやりきった経験がないので、とにかく「終わらせる」ことを目標としたい。

  

 

12ステップで作る組込みOS自作入門

12ステップで作る組込みOS自作入門

 

 

*1:すごく面白い

まあ、カズレーザーとかもいるし

 今週末、一人で映画を観に行った。

豊洲の映画館で『プーと大人になった僕』を一番遅い時間帯に鑑賞する。内容の感想はあまりない。やってほしいことを全部やってくれたので満足感が得られた。「なにもしないをするのが最高な場合もある」(売る覚え)というのがテーマだったが、「場合もある」の部分のせいで教訓めいて微妙だった。仕事と家庭を天秤にかけて仕事を選んできた男のラストが、家庭が一番大事、だけど仕事もちゃっかり上手くいく、では誰も納得せんでしょう。かといって、家庭を大事にして失職する話だったら難易度が高すぎるかもしれないが。『最高の人生の見つけ方』がそうだったが、映画の中では家族が一番大事とうたいつつ、最後に社会的にめちゃくちゃ成功するというラストがもやもやする。最終的には成功と金で納得させてるやん。

 

最近、仕事で少しやらかした。「やらかした」と文字にして書くべきだと思う。大人数かつ複数のチームで仕事をしているから、誰か一人に全責任があるということはない。けど、一番責任が大きいチームの、一番責任が大きい人間は、間違いなく僕だった。発覚したときはグエーッとなったが、後に爽やか。まだまだ自分はしょぼいという事がわかった。その仕事は片付いていないけれど、週末で燃え尽き症候群になった。何もしないで2日間丸くなり、やっと日曜の夜に映画を観に行けた。

 

映画館を出たら、観覧車が光ってた。カップルが並んで夜景を見ている間を通って、前を向いて帰る。駅までの帰り道、すれ違う人が全員普通に見える。僕が来ている服と靴と鞄はすごく変な気がする。前を横切る人たち(だいたい複数)をずっと目で追っていたけれど、僕みたいな人はいなかった。参加する資格の他に、楽しむための資格がいることが多すぎる。歩いている人全員がきちんと服を着ている時点で本当は偉いはずなのに。ファッションがまともじゃないと好かれない?まあ、カズレーザーとかもいるし、そんなこともないと思いたい。

 

終末感がある

何かと平成最後が強調されるけど、その刷り込みのせいか、世界の終わり感が強まってきているように感じる。仕事をしていても、身が入らないというか、物足りなさのような感覚をもってしまう。物足りなく感じるほど余裕があるわけではないと言いつつ、そこまで重要ではないのかなと思ってしまう。いつまでこんな日常が続くのかよくわかっていないし。天気も最近やたら雨ばかり降る。

 

敦煌

敦煌』という小説を読んだ。読んだきっかけは、シルクロードに興味があったから。大学時代、敦煌の講義を(なぜか)受けて、えらく感動した。その講義は落ちたような気もする。身の保証など全くないのに、ただ商売をするために国を超えて何万kmも歩く人達。言葉が不適切かもしれないが、すごく一途に思える。一人一人の人生もあったのだろうが、今の視点では、より世界史とか文化史を生きているように感じる。RPGに登場するキャラのように、全員が明確な役割をもっていて羨ましい。

 

 

敦煌に行きたくなったらいいなーという気持ちで読み始めたが、今敦煌に行きたいかと言われると、そうでもない。安全で金があるなら行きたいけど、行って何かをしたいわけではない。旅行に行く人の動機って何だろう。何かを見ることであれば、写真や動画で十分見ることができる。自分の経験上、観光地に行ってパンフレット以上の景色が見れたことは一度ない。写真より肉眼にこだわる理由も特にない。何かをすることであれば現地に行かなきゃならないが、日本で体験できないことってあまりない気がする。個人的にどうしてもやりたいことがない。いや、そもそも、「したことがない=今までしなくても生きてこれた」わけだから、必然的にどうしてもやらきゃならないものではないはずなのだ。そう考えると、むしろ行きたくなってくる。このくらいの気持ちでも行っていいんだと思う。

 

 

小説『敦煌』の感想。完全に自分のせいだけど、途中で登場人物を見失ったせいで、内容を完全には把握できなかった。超重要な登場人物が4人いて、そのうちの2人を同一人物だと思っていたせいで後半わけが分からなくなった。武闘派でバイリンガルで名家出身の僧侶が実は2人だったというのが一番驚きだった。それと、敦煌という地名が本文で全く使われていないのが切ない。本の中では「沙州(敦煌)」とたまに書かれているくらいで、会話では一切出てこない。歴史物あるあるだけど、現代で有名な名前が当時は使われていないことが多い。真田丸でも誰も幸村って呼ばない現象。

 

普段、歴史小説をほとんど読まないので、主人公の心情がすごく分かりづらいのが新鮮に感じた。主人公は知識人だが、生への執着が乏しく、生きる意味とかをいちいち考えない。途中で危険な出来事が色々と巻き起こるが、主人公の態度は最後まで変わらなかった。どうなってもいい(興味がない)という態度で、めちゃくちゃ弱いのに前線の兵士に自ら志願したりする。命の価値が薄いというか、自分のことを重く考えていない雰囲気が読んでいて爽やかで心地いい。

 

仏像の中に巻物を埋めるスケール感と、後に発見されるときのカタルシスのやばさ。映像にするといいのはわかる。

 

敦煌 (新潮文庫)

敦煌 (新潮文庫)

 

 

 

謙遜に飽きる

謙遜を求められることが多い。
仕事をはじめて1年半が経つが、仕事で驚いたことの一つは、謙遜を求める場面の多さだ。これまでの人生で謙遜する状況が全くなかったせいもあり、謙遜を必要とする場面で上手く対応できないでいる。例えば、今、会社で最もよく聞く冗談は以下のようなものだ。

 

 

「〇〇なら絶対大丈夫だよ」
「〇〇はXXXマスターだから」
「XXXのことなら〇〇に聞けばなんでも知っているから

「〇〇に期待してるよ」 

 

 

全部、これに対する正解は「謙遜」だ。「いやいや」と否定しつつ、「全然知らないですよー笑」と自虐で返すことを(たぶん)求められていると思う。これらの発言は、一見、単に相手を褒めているだけようにみえて、実は色んな部分が牽制されている。

 

まず、回答のパターンが牽制される。「いやいや~」からはじまる言葉しか許されない。そしてこれが結構苦しい。「私ってブスだから」に対する「そんなことないですよ」は、相手をフォローしている訳だから自分は苦しくない。だけど、「すごい」って言われて「いや全然しょぼいよ」って返すのは、自分を傷つけているから体に悪い。

 

次に、責任逃れが牽制される。上記の発言はだいたい何かのお願いとセットで発せられる。「YYYをお願い」→「あなたならできるでしょ」のパターンが多い。最近気づいたが、後の文「褒め」をつけることでこっちの責任が一気に重くなる。「期待してる」と言われてうまく出来なければ、<期待に応えられなかった>ことになってしまう。(実際に期待されていなくても。)そして、わからん!となった時に「頼る」という選択肢が、上の発言をされることで封じられてしまう。

 

 

思い返すと、やはり会社の上のが「褒め」をよく使っている。褒めることにメリットしかないことを重々承知しているからだろう。僕の上司もよく使っているのだが、僕に「〇〇マスター」と言っておいて、上司の方がだいたい詳しい。

 

f:id:ikenohotorino:20180925002508j:plain

 

 

僕は最近、謙遜に猛烈に飽きてきたので、褒められると「まあーー、そうですねー」と曖昧に返している。(本当は俺がNo1俺がオンリーワン俺が無敵俺が...

なんて答えればよいのか。
謙遜はいや、保険はかけたくないという思いが強い。

 


zeebra Street Dreams

 

 HIPHOP

残業話に先はない

仕事のチームに新しい人が入ってくることがある。

 

新しい人が入るタイミングがいつも急なのは、普段から人月商売をしているくせに、一番のメリットであるはずの人の数が合っていないからだ。「3人でやる仕事です」と宣言してお客様から了承を得たにもかかわらず、最初から1人しかいないみたいな事が多くてうんざりする。神話にすらならない。

 

新しい人と話すことといえば、鉄板は住んでいる地区の話。みんなが持っている情報だし、少しは興味がある。それに、たとえ住んでいる地区が本当にどうでもよいところであったとしても、駅まで何分とか、なんの電車に乗ってるかという話題で話をつなぐことができるので、会話下手にはありがたい。趣味とかだと、自由度が高すぎて対応できない可能性があるので、こちらから質問したことは一度もない。カウンターで質問を返されたくないからというのもあるけど。

 

話題が仕事の話になることもある。お仕事系の話は、自分の知らない有益なことを知れるかつ興味もあるので楽しい。ただ注意しなきゃならないのは、相手が知らないことに対して、馬鹿にした素振りを一瞬でも見せたならば、末代まで恨まれることだ。エンジニアに限らず、専門分野を話すときは繊細になることを心がけたい。あと、お仕事の話で気をつけたいのが、残業の話をすることだ。それまで技術の話で盛り上がっていても、話しやすいから・共感を得やすいから・なにか話さなきゃという理由でつい残業の話をすることがある。

 

このプロジェクトは残業が多いですよー
これから残業ばかりになると思いますー
月何時間残業したことありますかー?

 

決して話は盛り上がらない訳ではない。でも、残業したい人はいないのだし、絶対に割れない話し合いは、雑談レベルであってもあまり面白くない。残業話からなにか新しい情報が出てきたり、面白い意見が得られることはほとんどない。あったとしても、それを求められていない気がする。そして何より問題なのは、一度会話の偏差値が下がると、なかなか上がりにくいことだ。社畜の話から専門的な話に戻しただけで「真面目か」という雰囲気になってしまう。逆はすぐできるのに。