どうも、色々勉強してると自分が本当に何も知らないことを思い知らされるQです。
なんとなく悩みが専門がないことだったりします。
大学の研究とか専攻とか色々ありますが、現実問題プラネばっかり作っておろそかにしてたので(笑)
で、色々あるわけでやり直しが必要だな、とか思っています。
全く理解していなかったことや、忘れてしまったこと、
新しい分野等。
最近なんかだとネットワーク関係と制御理論ってところでしょうか?
学ばなければならないこと、興味のあることは山ほどあります。
もっと深く、もっと広くがいま僕に出来る最大限のことだよな。
桜色
木枯らし重ね
花吹雪
2009年10月22日木曜日
講演
どうも、またルンバ買っちゃったQです、こんちには。
いや、わけあってまあ親と兄にルンバ送りつけたわけです。まあ兄は小さい子供がいるし、母親がひざを悪くしているので、使いこなせるかどうかはともかくまあ足しにはなるかもね、位の感じです。まああと半分は自分がもう一台欲しかったから、なんですがね。
前のやつは別に壊したわけじゃないんですが、ちょっとハッキングに勇気が(笑)どうもインターフェースは同じらしいのでハッキングするならもっと簡単な構造の奴のほうが良いだろうと思ったわけです。
で、講演ですが、東工大の学園祭で講演することになりました。
といってもプラネは出しません。プラネタリウムを作る過程とその経験を基に後輩に期待すること、見たいな感じです。
日時は25日日曜日、12時位?です。まだ確定しませんが多分この辺なので、興味のある人はよろしくです。
しかし大変だなあ・・・色々気をつけねばなりませぬ。
もういいや
嫁の候補に
ルンバたん
いや、わけあってまあ親と兄にルンバ送りつけたわけです。まあ兄は小さい子供がいるし、母親がひざを悪くしているので、使いこなせるかどうかはともかくまあ足しにはなるかもね、位の感じです。まああと半分は自分がもう一台欲しかったから、なんですがね。
前のやつは別に壊したわけじゃないんですが、ちょっとハッキングに勇気が(笑)どうもインターフェースは同じらしいのでハッキングするならもっと簡単な構造の奴のほうが良いだろうと思ったわけです。
で、講演ですが、東工大の学園祭で講演することになりました。
といってもプラネは出しません。プラネタリウムを作る過程とその経験を基に後輩に期待すること、見たいな感じです。
日時は25日日曜日、12時位?です。まだ確定しませんが多分この辺なので、興味のある人はよろしくです。
しかし大変だなあ・・・色々気をつけねばなりませぬ。
もういいや
嫁の候補に
ルンバたん
2009年10月13日火曜日
2009年9月6日日曜日
UDPing
どうも、最近はPlanet boysならぬSocket BoysなQです、こんちには。
IPでpingが通ったので、今度はUDPでデータの送って返すだけのプログラムを作ってみますた。
やっとUDPでPingが成功したわけですが、まあ実際に目に見える形に持っていく、というのはそれ自体が結構大変でした。まあしょうもないミスを連発してるんですが(笑)
受け取ったデータをヘッダ分しか確保してない配列に代入してみたり、チェックサムの範囲を間違えてたり、shortサイズのチェックサムを奇数byte-stringにやってみたり、ポインタが指すアドレスじゃなくてポインタそのもののアドレスに代入してみたり…
んで、紆余曲折を経て何とかバグを修正して…もなぜかPC側で拾えない。ポートは開いているのに、と思ったらなんとfirewallではじかれているとは…
ICMPは超重要です。
さて、ソケットプログラミング、というのも少しずつ見えてきたし、最低限の相互通信も出来るようになった。次のプラネタリウムはLANで制御…かもしれない(笑)ぶっちゃけ意味があるかというと…。ま、技術が好きな人なら手を出したくなるものではあるよねっていう。
USBとLAN、どっち?って聞いたらそりゃLANでしょう。あと、ネタでちょっとやってみたいことがあるので。
さて、次へ行こう。
プログラム
書いても寝ても
動かない
IPでpingが通ったので、今度はUDPでデータの送って返すだけのプログラムを作ってみますた。
やっとUDPでPingが成功したわけですが、まあ実際に目に見える形に持っていく、というのはそれ自体が結構大変でした。まあしょうもないミスを連発してるんですが(笑)
受け取ったデータをヘッダ分しか確保してない配列に代入してみたり、チェックサムの範囲を間違えてたり、shortサイズのチェックサムを奇数byte-stringにやってみたり、ポインタが指すアドレスじゃなくてポインタそのもののアドレスに代入してみたり…
んで、紆余曲折を経て何とかバグを修正して…もなぜかPC側で拾えない。ポートは開いているのに、と思ったらなんとfirewallではじかれているとは…
ICMPは超重要です。
さて、ソケットプログラミング、というのも少しずつ見えてきたし、最低限の相互通信も出来るようになった。次のプラネタリウムはLANで制御…かもしれない(笑)ぶっちゃけ意味があるかというと…。ま、技術が好きな人なら手を出したくなるものではあるよねっていう。
USBとLAN、どっち?って聞いたらそりゃLANでしょう。あと、ネタでちょっとやってみたいことがあるので。
さて、次へ行こう。
プログラム
書いても寝ても
動かない
2009年8月28日金曜日
起動時間と設定
どうも、とりあえずメモしたいQです、こんちには。
メモ1
各Linuxディストリビューションの起動時間
PCのスペック Celeron 540(1.86Ghz)
RAM 1.5GByte
でたまたま三つの主要ディストリビューションがブートできる。スイッチ押してログイン画面が出てくるまでの時間。
ubuntu9.04 30.3s
CentOS5.3 1m32.6s
PlamoLinux4.6 37.5s
ちなみにシャットダウン時間
ubuntu9.04 10.6s
CentOS5.3 23.9s
PlamoLinux4.6 4.5s
ubuntuの起動時間が素晴らしすぎる。apt-getも使えるし…CentOSはまあ用途が用途だし仕方ないのかも。PlamoLinuxはシャットダウン時間が半端無いがこれ本当に大丈夫なのかとちょっと心配になる。
メモ2
PlamoLinux4.6だとUSBマウスのホイールがデフォルトでなぜか使えない。
/etc/X11/xorg.conf
Option "Protocol" "IMPS/2"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5"
にするとホイールが使えるようになる。
ただemacsでホイールの入力が定義されてないので動作しなかった。設定の必要があるが、まあemacsはほとんどキー操作を覚えてしまったのでもういいかなと…(笑)
まあ暇を見つけて方法を探してみよう。
てかemacsになれるとマジでwindows環境で困る。ついついC-xとか押してしまう(笑)
メモ3
リンクをはる時は、アプリケーションの実際の場所をしめす実行ファイルをPATHが通っているところに置けば良い。アンインストール時に困りそうなので、firefoxとか消さなそうな奴は重要な所において、微妙な奴は新しくフォルダを作り、PATHを通して置くと良いかもしれない。
メモ1
各Linuxディストリビューションの起動時間
PCのスペック Celeron 540(1.86Ghz)
RAM 1.5GByte
でたまたま三つの主要ディストリビューションがブートできる。スイッチ押してログイン画面が出てくるまでの時間。
ubuntu9.04 30.3s
CentOS5.3 1m32.6s
PlamoLinux4.6 37.5s
ちなみにシャットダウン時間
ubuntu9.04 10.6s
CentOS5.3 23.9s
PlamoLinux4.6 4.5s
ubuntuの起動時間が素晴らしすぎる。apt-getも使えるし…CentOSはまあ用途が用途だし仕方ないのかも。PlamoLinuxはシャットダウン時間が半端無いがこれ本当に大丈夫なのかとちょっと心配になる。
メモ2
PlamoLinux4.6だとUSBマウスのホイールがデフォルトでなぜか使えない。
/etc/X11/xorg.conf
Option "Protocol" "IMPS/2"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5"
にするとホイールが使えるようになる。
ただemacsでホイールの入力が定義されてないので動作しなかった。設定の必要があるが、まあemacsはほとんどキー操作を覚えてしまったのでもういいかなと…(笑)
まあ暇を見つけて方法を探してみよう。
てかemacsになれるとマジでwindows環境で困る。ついついC-xとか押してしまう(笑)
メモ3
リンクをはる時は、アプリケーションの実際の場所をしめす実行ファイルをPATHが通っているところに置けば良い。アンインストール時に困りそうなので、firefoxとか消さなそうな奴は重要な所において、微妙な奴は新しくフォルダを作り、PATHを通して置くと良いかもしれない。
ping通ったー!!!
どうも、お盆休みをお盆に取らず、今頃マターリしているQです、こんちには。
マターリとはいいながらぶっちゃけあんまりマターリでもなかったり。この四日間はずーーとマイコンのソースと闘ってました。例の秋月、H8/3069-LAN基盤でつ。
何したかって、要はLANのスタックを組んでいたんです。
gccの環境は作ってあるのですが、正直別のところで悩まされそうだったので今回はHEWでアタックしました。
でめっちゃめちゃ大変でしたがping通りました!!
(pingだからまだ3層までしかできてないとかいうツッコミが来そうですが…)
PC3台からpingのリクエスト出して、ちゃんと応答しているので動いているんだと思います。てか動いた!これはやばい!!

まあ4層がこれからだったりするんですが、非常に勉強になりました。IPアドレスとMACアドレスとEthernet位しか知らなかった自分が情けなくなりますが…まあ良しとしましょう。
まあとにもかくにくも、手を動かさないとやっぱり実感って湧かないもんだとつくづく思います。
ただでもね
IPアドレス
固定なの(笑)
(さすがに可変にすべきだよな(笑))
マターリとはいいながらぶっちゃけあんまりマターリでもなかったり。この四日間はずーーとマイコンのソースと闘ってました。例の秋月、H8/3069-LAN基盤でつ。
何したかって、要はLANのスタックを組んでいたんです。
gccの環境は作ってあるのですが、正直別のところで悩まされそうだったので今回はHEWでアタックしました。
でめっちゃめちゃ大変でしたがping通りました!!
(pingだからまだ3層までしかできてないとかいうツッコミが来そうですが…)
PC3台からpingのリクエスト出して、ちゃんと応答しているので動いているんだと思います。てか動いた!これはやばい!!
まあ4層がこれからだったりするんですが、非常に勉強になりました。IPアドレスとMACアドレスとEthernet位しか知らなかった自分が情けなくなりますが…まあ良しとしましょう。
まあとにもかくにくも、手を動かさないとやっぱり実感って湧かないもんだとつくづく思います。
ただでもね
IPアドレス
固定なの(笑)
(さすがに可変にすべきだよな(笑))
2009年8月25日火曜日
Linuxな環境
どうも、Linuxを久々にインストール、起動して、今それでこの文章を書いているQです、こんちには。
少々思うところがあってLinuxとH8とgccを使ってみようと思ったのですが・・・。結論からいうとあんまり良くありません。
もし何かの関係でこのページにたどり着いた人は参考までに。
相当昔に秋月で購入したH8/3069-LANのキットです。ずっと段ボールの奥にお倉入りしてたのですが久々に引っ張りだして組み立ててみました。組み立てたはいいのですが、残念なことにあまりまともに使えません。また使う必要もないと思います。
みついわゆきお氏のH8/OSはソースが公開されているのでTCP/IPスタックをハッキング、再構築でもするなら別ですが・・・
まず、google等で調べてみても即座に使える文献等は殆ど出てきません。出てくるのは殆どが5年前とかそんなんばっかりです。gccは新しい方のバージョンはH8アーキテクチャのサポートを辞めていますし、みついわ氏のホームページでもH8のサポートは打ち切ったとのことです。
したがって本や他のホームページを基にして最新版等をインストールできません。どこかに良いものがあるかもしれませんが、僕には探せませんでした。
そもそもH8の開発環境はルネサスがほぼ無償でHEWを提供していますし、使いかたも簡単です。わざわざ苦労してまでgccを使う理由はないでしょう。また、一応古いバージョンのH8/OSやMESのH8対応版はダウンロードできるようですが、他のHPに書いてあるようなあっさり書き込めた、みたいにはならないと思います。OS自体は書き込めるんですが・・・
(H8/OS、MESのH8対応のふたつのバージョンがあって情報が錯綜気味。しかも情報が古い)
ボードはともかく、開発環境をgccにこだわるのはあんまり賢明ではないかも知れません。只、その代わりそれ以外のことをよく知ることができます(笑)正直なところよくわかりませんが、とにかく以下の環境でできたことをメモ。
使ったOSはCentOS5.3。
ダウンロードしたのはbinutils-2.16.1、gcc-core-3.4.6、newlib-1.14.0。
tar.gzやtar.gz2を解凍して以下を行う。(configure、make,make installはrootやsuで行う)
$ cd binutils-2.16.1/
$ mkdir build
$ cd build/
$ ../configure --target=h8300-hms --prefix=/usr/local/h8 --disable-nls
$ make
$ make install
PATHを通す。
この例では/usr/local/h8/bin
$ cd gcc-3.4.6/
$ mkdir build
$ cd build
$ ../configure --target=h8300-hms --prefix=/usr/local/h8
--with-gnu-as --with-gnu-ld --with-newlib
--with-headers=/展開したディレクトリ/newlib-1.14.0/newlib/libc/include
$ make
$ make install
$ cd newlib-1.14.0
$ mkdir build
$ cd build/
$ ../configure --target=h8300-hms --prefix=/usr/local/h8
$ make
$ make install
大抵の場合ここまででどっかでエラーが出ると思うがでなければOK。ていうかこの組み合わせに達するまで3日かかった(笑)
ちなみにいずれも更新が2005年程度のものです。むしろ良く通ったなと・・・
h8300-hms-gccでコンパイル。h8300-hms-objcopyでmotファイルに変換。とりあえずLEDチカチカのプログラムを書いたらなんとか動きました。
他のディストリビューション、バージョンではわかりません。とにかく以上の状況で動いています。CentOS5.3で成功したものなので結構最新の導入情報にはなるとは思います。
なおノートPCの場合シリアル端子がないことがよくあります。秋月の例のUSBシリアル変換ですがCentOS5.3、Plamo Linux4.6、ubuntu9.04では挿せば認識されました。只ふるいものなので、新しい奴がチップ変わってたりするとわかりません。
またこの場合みついわ氏のh8writeのプログラムのデバイス情報を/dev/ttyUSB0に変換してコンパイルする必要があります。
なんかの関係でここにたどり着いた人、そしてこれから始めるような初心者は悪いことは言いません。H8でgccは時間の無駄になるので止めた方が良いです。HEWを使った方が良いでしょう。
(LANの関係があるんだけど今はLantronixも有るしTCP/IPスタック内蔵のLANコントローラも安く売っているし・・・)
正直H8/Tinyはともかくそれ以外のH8ってもはやメリットがないんだよね。せっかく今から始めるならARMとかSHの方が・・・・まあ、鬱気分を味わいたい人はどうぞ。ちなみに僕はとりあえずやってみようと思ってこの有様です。せっかくできたのでもう少しなにかやってみますが多分すぐ飽きてHEWに乗り換えると思います。
まあボード自体は動くのでためしに買う分には良いんじゃないでしょうか?幸いふるいものだけあってアプリケーションの例は探せばいろいろ出てきます。
ちなみにHEWとお仲間の書き込みツールFDTでH8/OS書き込んでも動きませんでした。鬱。多分単純な設定を変えれば動くとは思うけど・・・
gcc
インストールに
一時間
少々思うところがあってLinuxとH8とgccを使ってみようと思ったのですが・・・。結論からいうとあんまり良くありません。
もし何かの関係でこのページにたどり着いた人は参考までに。
相当昔に秋月で購入したH8/3069-LANのキットです。ずっと段ボールの奥にお倉入りしてたのですが久々に引っ張りだして組み立ててみました。組み立てたはいいのですが、残念なことにあまりまともに使えません。また使う必要もないと思います。
みついわゆきお氏のH8/OSはソースが公開されているのでTCP/IPスタックをハッキング、再構築でもするなら別ですが・・・
まず、google等で調べてみても即座に使える文献等は殆ど出てきません。出てくるのは殆どが5年前とかそんなんばっかりです。gccは新しい方のバージョンはH8アーキテクチャのサポートを辞めていますし、みついわ氏のホームページでもH8のサポートは打ち切ったとのことです。
したがって本や他のホームページを基にして最新版等をインストールできません。どこかに良いものがあるかもしれませんが、僕には探せませんでした。
そもそもH8の開発環境はルネサスがほぼ無償でHEWを提供していますし、使いかたも簡単です。わざわざ苦労してまでgccを使う理由はないでしょう。また、一応古いバージョンのH8/OSやMESのH8対応版はダウンロードできるようですが、他のHPに書いてあるようなあっさり書き込めた、みたいにはならないと思います。OS自体は書き込めるんですが・・・
(H8/OS、MESのH8対応のふたつのバージョンがあって情報が錯綜気味。しかも情報が古い)
ボードはともかく、開発環境をgccにこだわるのはあんまり賢明ではないかも知れません。只、その代わりそれ以外のことをよく知ることができます(笑)正直なところよくわかりませんが、とにかく以下の環境でできたことをメモ。
使ったOSはCentOS5.3。
ダウンロードしたのはbinutils-2.16.1、gcc-core-3.4.6、newlib-1.14.0。
tar.gzやtar.gz2を解凍して以下を行う。(configure、make,make installはrootやsuで行う)
$ cd binutils-2.16.1/
$ mkdir build
$ cd build/
$ ../configure --target=h8300-hms --prefix=/usr/local/h8 --disable-nls
$ make
$ make install
PATHを通す。
この例では/usr/local/h8/bin
$ cd gcc-3.4.6/
$ mkdir build
$ cd build
$ ../configure --target=h8300-hms --prefix=/usr/local/h8
--with-gnu-as --with-gnu-ld --with-newlib
--with-headers=/展開したディレクトリ/newlib-1.14.0/newlib/libc/include
$ make
$ make install
$ cd newlib-1.14.0
$ mkdir build
$ cd build/
$ ../configure --target=h8300-hms --prefix=/usr/local/h8
$ make
$ make install
大抵の場合ここまででどっかでエラーが出ると思うがでなければOK。ていうかこの組み合わせに達するまで3日かかった(笑)
ちなみにいずれも更新が2005年程度のものです。むしろ良く通ったなと・・・
h8300-hms-gccでコンパイル。h8300-hms-objcopyでmotファイルに変換。とりあえずLEDチカチカのプログラムを書いたらなんとか動きました。
他のディストリビューション、バージョンではわかりません。とにかく以上の状況で動いています。CentOS5.3で成功したものなので結構最新の導入情報にはなるとは思います。
なおノートPCの場合シリアル端子がないことがよくあります。秋月の例のUSBシリアル変換ですがCentOS5.3、Plamo Linux4.6、ubuntu9.04では挿せば認識されました。只ふるいものなので、新しい奴がチップ変わってたりするとわかりません。
またこの場合みついわ氏のh8writeのプログラムのデバイス情報を/dev/ttyUSB0に変換してコンパイルする必要があります。
なんかの関係でここにたどり着いた人、そしてこれから始めるような初心者は悪いことは言いません。H8でgccは時間の無駄になるので止めた方が良いです。HEWを使った方が良いでしょう。
(LANの関係があるんだけど今はLantronixも有るしTCP/IPスタック内蔵のLANコントローラも安く売っているし・・・)
正直H8/Tinyはともかくそれ以外のH8ってもはやメリットがないんだよね。せっかく今から始めるならARMとかSHの方が・・・・まあ、鬱気分を味わいたい人はどうぞ。ちなみに僕はとりあえずやってみようと思ってこの有様です。せっかくできたのでもう少しなにかやってみますが多分すぐ飽きてHEWに乗り換えると思います。
まあボード自体は動くのでためしに買う分には良いんじゃないでしょうか?幸いふるいものだけあってアプリケーションの例は探せばいろいろ出てきます。
ちなみにHEWとお仲間の書き込みツールFDTでH8/OS書き込んでも動きませんでした。鬱。多分単純な設定を変えれば動くとは思うけど・・・
gcc
インストールに
一時間
登録:
投稿 (Atom)