先々週になってしまいますが、組込みこぞう勉強会の第1回 が無事に終了いたしました。

反省点などについてはgoogleグループ のほうで書いているので、そちらを参照ということにして、ここでは感想を。


とりあえず思ったのは、まあやってみてよかったかな、ということ。もともとは組込み系ってなかなか勉強する場とか情報交換の場とかがあまり無いよなーというか閉鎖的なイメージが僕的にはあって、学生とか初心者が入りづらいというか、そーいう雰囲気をなんとかしたくてこういうコミュニティベースの活動があったらいいなーって思いでやってみたのだけど、まあ和気あいあいとできて、当初の目的はそれなりに果たせたのではないかと思う。あまり難しいこと考えず、とりあえずやってみてしまってよかったかな。


初心者向けのセッションをはじめに設けたのも、(退屈たっだひとはいるかも知れないが、僕的には)よかった。自分が組み込みを始めたころに、あーいう初心者向けの説明をしてくれる人がいればよかったなあ、という思いがあったので。


発表者、参加者のかたがたはおつかれさまでした。


あと会場を貸していただいたアイティメディア さんは、たいへんありがとうございました。とってもキレイな会場を無料で提供していただき、休日というのにもかかわらず部外者の我々にも親切に対応していただき感謝です。会場どうしようか迷っていたところだったので、たいへんありがたかったです。いやーなんて気前のいい会社なんだ。あとアイティメディアさんとのパイプ役になっていただいたつかださんにも感謝です。


勉強会の第2回 は11月27日に予定しています。こちらもよろしく!


KOZOSのシミュレータ対応を進めていますが、シリアル通信、シリアルでのOSのダウンロード、ネットワーク通信が動作するようになりました。これでPC上でTCP/IPの開発が進められます。


明日からのOSC東京では、シミュレータ環境も持っていきます。興味のある方はどうぞ。


シミュレータ対応については、近日中にホームページのほうにまとめます。


シミュレータで動作するとGDBがあっさり使えるためすっごく便利。いざとなったらシミュレータの内部にprintf()入れて情報を出させることもできるので、実機でデバッグするよりはるかに効率がよさそうです。


これでinsightとか使って動作させたら、なかなか見栄えがしますね~


出先で実機が無い状態でもKOZOSの開発ができるように,シミュレータ対応を考えている.

で,いろいろ試しているのだが,とりあえずブートローダーが起動して文字の入出力ができるまでをまとめた.

(シミュレータ編第1回)とりあえず動かしてみた

まだまだ動き始めたばかりですが,徐々に進めていくので興味のある人は待っててください.
とりあえず手元では,cuでシリアル接続してXMODEMでOSのファームをダウンロードして起動をかけるところまでは成功しています.

9月10,11日に東京・日野の明星大学で開催されるオープンソースカンファレンス2010Tokyo/Fall に出展します。


今回も展示はいつもどおりKOZOSの展示ですが、セミナーは番外編として「リンカ・マニアックス 」というタイトルで、リンカについて説明します。


もともとセミナーは1年間は組込みOS自作についてしゃべることで1周しようと思っていたのだけど、東京は前回の2月のOSCですでにしゃべっているということで、今回は番外編として別のことをやることにしました。


内容は、前回のカーネル/VM探検隊 でしゃべったものとだいたい同じですが、もうちょっと詳しく説明したいなあと思っています(カーネルVMのときはちょっと中途半端だった反省があるので)。なのでカーネルVMで聞いて、もう一度ちゃんと聞きたい!というひとは参加してみてください。


内容は以下のような感じです。拙著「リンカ・ローダ実践開発テクニック 」をベースにして、いろいろマニアックな実験をしてみるというものです。書籍は当日回覧する予定ですが、持っている人は手元において見ながら受講するとわかりやすいかもしれません。


※説明は簡略にして、実験を多めにします。また時間が足りなくなった場合、実験を多少省略するかもしれません。


・リンカ・ローダについて簡単に説明


・テキスト、データ、BSS領域についての説明と実験

  const変数の書き換え、文字列リテラルの書き換え


・ELFフォーマットについての説明と実験

  ELF形式の解析

  セクションの作成

  バイナリデータの埋め込み

  簡易ローダの作成


・リンカスクリプトについての説明と実験

  バイナリデータの埋め込みその2

  静的変数の再初期化


・コア・ファイルについての説明と実験

  core・ファイルの解析

  coreファイルからのプログラムの動作再開


・シンボルと再配置についての説明と実験

  動的リンカの作成

  静的リンカの作成


・checksym紹介

  プログラム中で利用されていない変数・関数の一覧を出力するツール


「リンカ・ローダ実践開発テクニック」(CQ出版社、2010/08)の書籍中で紹介しているソースコードを以下でダウンロードできるようにしました。


ソースコードはこちら


また〆切のスケジュールの問題で書籍中に収録できなかった追加コラムを、上記で公開しています。


書籍の内容を実際に試してみたいかた、追加のコラムを読みたいかたはぜひどうぞ!