「12ステップで作る!組込みOS自作入門」の作業がよーやくすべて完了した。
校正して索引を作成して、校正後原稿のチェックしてといろいろやることあったがすべて完了。長かった。。。
このブログを見て販売を待っている人は、もうちょっと待ってください。5月中には出版されると思います。
まあ気合入れて校正しただけに、かなり完成度の高い本になったと思う。書きたいこともほぼすべて盛り込んだし。
しかしそれでも書きたいことはまだたくさんあって、作りたいものもいっぱいあるし困ったもんだなあ。
「12ステップで作る!組込みOS自作入門」の作業がよーやくすべて完了した。
校正して索引を作成して、校正後原稿のチェックしてといろいろやることあったがすべて完了。長かった。。。
このブログを見て販売を待っている人は、もうちょっと待ってください。5月中には出版されると思います。
まあ気合入れて校正しただけに、かなり完成度の高い本になったと思う。書きたいこともほぼすべて盛り込んだし。
しかしそれでも書きたいことはまだたくさんあって、作りたいものもいっぱいあるし困ったもんだなあ。
Arduinoをやるって言ってたのだけど、なんか気が向いたのでKOZOS/H8にTCP/IPプロトコルスタックを実装しようとしています。いつもどおり、フルスクラッチです。とりあえずSYNを受けてACKを返してコネクションが確立するとこまでは実装できました。
組み込み向けのTCP/IPスタックだとTINET が有名ですが、こちらはフルスクラッチで自作するという利点を活かして、実用性はあまり考えずに「TCP/IPの内部動作を理解するための教材用」という方向性で行こうかなと思っています。なのでKOZOSと同様に、極力シンプルなソースコード構成で、必要機能のみの実装にしようかなと。
TINETに関してはTOPPERSプロジェクト の中級実装セミナー教材 で利用されているので、組み込みのTCP/IPについて勉強したければこちらを利用するという方法も、もちろんあります。ただしこちらはあくまで「TOPPERS/JSPカーネルとTINETというすでに存在するものを利用して、TCP/IPを動かす」という内容のものです。つまり、TCP/IPを「作る」のでなく、「使う」ための教材です。
だからといってもちろんTOPPERSやTINETを否定するわけではなく、これらはとても有用な教材です。ていうか素晴らしいです。ただ、目の前のものがいったいどのようにして動いているのか、低レイヤーまで突き詰めて知らないと気がすまないという奇特な人はいつの時代もいるもので、そーいう人たち向けに「TCP/IPをゼロからフルスクラッチで実装してみる」というものがあっても面白いのではないかと思う。
たとえば上で紹介したTINETのページを見ると最新リリースの機能概要が書いてあって、すごくいっぱい機能があって実用向けにはすごくいいなーと思うのだけど、逆にこれを見て「ああ、自分で趣味のレベルでTCP/IPを実装するなんて、夢のまた夢かしら...」って思っちゃう人もいると思うんだよね。でも機能をしぼればそんなことは無くて、個人レベル、趣味レベルでも実装できる(んではないか)と思うし、それが示せれば、じゃあその内部構造を読んで勉強してみようかなとか、自分も作ってみようかなって人が出てくるんじゃないかと思うんだよね。
最終的にはOS含めて3000行以内くらいで実装できて、組込みOS本の続編みたいな感じで、また本が書ければいいなあ。「6ステップで作る! 組込みTCP/IP自作入門」とかいう本があったら面白いと思いませんか!?(そんなの私だけ?)
個人的には、TOPPERSプロジェクトの教材はとてもいいのだけど、軽く読んだ感じだと、やはり教えてくれる人がいないと厳しいというか、独学で頑張るにはちょっと難しいかな、と思う。なので本屋に行けば初心者向けの本が売ってて、さらにマイコンボードに触ったことの無い人や、組み込みやOSの予備知識がまったく無い人でもパッと試せて動くものが見れるような教材というか環境があるといいと思うんだよね。本屋で本買ってきて、そのとおりにちょっと動かしてみたらWebサーバとかが動いて、で、ソースコードもOS込みで3000行程度なのでなんか読んだり改造したりする気になって、教えてくれる人がいなくても気軽な感じでいろいろいじったりできるようなものがあるといいなと思うのだ。
Arduinoとかってそーいう路線だよね。そーいうところを目指したい。
カーネル/VM探検隊 というおもしろそうな勉強会があるようです。
ということで、2010/05/08の第四回 カーネル/VM探検隊 に参加して何かしゃべってこようかと思います。組み込みOS自作について、何かおもしろいことしゃべれたらいいなあと思っています。
見たところ汎用OSメインの勉強会のようなので、組み込み系の話は新鮮なのではないかと。。。
KOZOS/H8でLANポートを利用して、ネットワーク接続できた。
詳しくは(H8移植編その2第4回)ネットワークに接続しよう を参照。
これでwebサーバを動かすためのベースは整った。あとはTCP/IPを実装して、サーバ機能を実装して、で、サーバを作成するだけ。OSC仙台までには十分間に合いそう。
LANに繋がると、なかなか可能性が広がるね。