新千葉 ガーベージ・コレクション

FPGA マガジンやインターフェースで書けなかったこと等をちょぼちょぼ書いてます。@ryos36

新人をバイナリアンに育てる ~ その1~

以前新人教育をしたメールの文章をブログに書き起こす。

登場人物は 高橋(仮名)くん。まずやったこと。

例の自費出版本の GNU Development Tools を読ませた。

6/8 17:59 日報

GNU Development Tools 第4章コンパイルについて読み終わる。
同じくGNU Develpoment Tools 第5章 アセンブルについて実行コードの逆アセンブルまで読み終わる。
4章、5章ともに今現在読み取ることができない点はなし。

コメント

そんなことはないだろう。この時点で、新人くん大きく勘違い。がんばれ。でも、まだスキルが足りなくて4章、5章なんて理解できないぞ。理解できないことを理解できないのが新人たるゆえんか。

6/9 17:52 日報

GNU Development Tools 第5章アセンブルを読み終わる。
同じくGNU Development Tools 第6章静的リンクを_startシンボルによる致命的エラーま
で読み終わる。
アセンブラについては若干解析が不十分だと思われる。
また、静的リンクについてはリンクが異常終了するため少々難航するかと思われる。

コメント

その後何が起こるか正確には思い出せないけど、まぁしかたがない。というか、その技量を上の人が見極めるのはどれだけ大変かが後でわかった。ついつい期待しちゃうんだよね。だって本人の報告から「アセンブラについては若干解析が不十分」ってあるから、裏を返せば、ちょっとがんばって解析すると、アセンブラとかできちゃう?とおもっちゃう。

私の回答

エラー内容を精査してXXXさんと一緒に解決してください。

社長通信

社長技術通信 6/13

みんながリーナス・トラバースさんになろう。
=> そのためには、A面B面を作らない
=> 具体的には、自分探しをしない(夢や憧れを追わない)

GLSL について調査した。
http://http.developer.nvidia.com/Cg/arbvp1.html
vp1 => vertex 用の Low Level Shader 言語(アセンブラ?)
文法通り作ればよさそう。
あとはスタックを作るのと、テンポラリレジスタのセーブ・ロード
Sparc のように in register をtemp register 8をout register 8とすればよさそ
う?
Result 用のレジスタも必要かも。

コメント

当時、社長通信とか言ってみんなに発信していた。いまも技術通信に変わってやり続けている。この何とか通信10年以上、社員に向けて毎週発信しているんだよね。継続は力なり。

6/13 17:55

GNU Development Tools 第6章静的リンクまで読み終わる。
完全に理解したわけではないので今後読み直しが必要。
今後の予定としてはGNU Development Tools を読み進めつつ、Ubuntsuの導入などを行う
予定。

コメント

これだけ読むとすごい進捗。2~3年かかることを3日で達成している。新人すごい。

6/14 17:57

今日行ったこと
実機にUbuntuのインストールを行う。
それに伴い環境設定及び移行作業を始める。
今後行うべきこと
移行作業を終了させ、GNU Development Toolsを読み進める。

コメント

おーついに Ubuntu 導入。がんばれ新人。きっと実践は本とは違うぞ。

おまけ

画像認識の作業、 todo を細かくしました:

  • 画像認識

- OpenCV の調査
ビデオ入力してエッジ検出するテストがどう動くかは、API のレベルで把握した
- 顔認識のサンプルプログラムの、API レベルでやってることを把握
- ( 道路標識などの)パターン認識のテストを書く。API レベルで、やってることを把握。
- 2.2 と 1.0 の違いをより明確に調査(特に、H/W アクセラレーションについ

コメント

当時実作業に充てていた人間が OpenCV の作業をしてくれていた。画像認識を ARM でできるようにしていたんだね。