#include <stdio.h>
#include <unistd.h>
#include <termios.h>
#include <ctype.h>
#define QUIT_CHAR 0x04 // Ctrl+D --> quit
struct termios CookedTermIos; // for cooked mode
struct termios RawTermIos; // for raw mode
int main(void)
{
char c;
// save present terminal setting
tcgetattr(STDIN_FILENO, &CookedTermIos);
// Create raw mode terminal setting
RawTermIos = CookedTermIos;
cfmakeraw(&RawTermIos);
// Set
tcsetattr(STDIN_FILENO, 0, &RawTermIos);
while((c = getchar()) != QUIT_CHAR )
{
if(isprint(c)){
printf("you push key: ");
putchar(c);
putchar('\n');
}else{
printf("control key <%02X> \n" , c);
if(c == '\n') fputs("\r\n", stdout);
}
}
tcsetattr(STDIN_FILENO, 0, &CookedTermIos);
putchar('\n');
return 0;
}
Tuesday, March 31, 2009
Rawmode Serial port programming
Monday, March 30, 2009
集積回路
Friday, March 27, 2009
Linux Serial port programming
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <termios.h>
#include <stdio.h>
#include <strings.h>
#include <stdlib.h>
#include <unistd.h>
#define BAUDRATE B9600
#define MODEMDEVICE "/dev/ttyS0"
#define _POXSIX_SOURCE 1
#define FALSE 0
#define TRUE 1
volatile int STOP=FALSE;
int main()
{
int fd, c, res;
struct termios oldtio, newtio;
char buf[255];
//fd = open(MODEMDEVICE, O_RDWR | O_NOCTTY | O_NDELAY);
//fd = open(MODEMDEVICE, O_RDWR | O_NDELAY);
fd = open(MODEMDEVICE, O_RDWR );
if(fd < 0){
perror("Cannot open device");
exit(-1);
}
tcgetattr(fd, &oldtio);
bzero(&newtio, sizeof(newtio));
newtio.c_cflag = BAUDRATE | CRTSCTS | CS8 | CLOCAL | CREAD;
newtio.c_iflag = IGNPAR;
newtio.c_oflag = 0;
newtio.c_lflag = 0;
newtio.c_cc[VTIME] = 0;
newtio.c_cc[VMIN] = 5;
tcflush(fd, TCIFLUSH);
tcsetattr(fd, TCSANOW, &newtio);
while(STOP == FALSE){
res = read(fd, buf, 255);
buf[res] = '\0';
printf("%s -> %d\n", buf, res);
if(buf[0] == 'z') STOP=TRUE;
}
tcsetattr(fd, TCSANOW, &oldtio);
return 0;
}
Thursday, March 26, 2009
とりあえずメモ
Armadillo300にてCFにdebianをインストールし、エラーもなく起動することがで
きましたが、VGAからログインする事ができずに困っています。
きましたが、VGAからログインする事ができずに困っています。
【症状】
・CFのdebian起動でVGAからログインプロンプトが出ない
起動メッセージは出力されているがログインプロンプトは出力されない
シリアル接続の方では接続可能。
設定状況は
hermitでは
hermit> setenv noinitrd root=/dev/hda2 console=tty1
video=ns9750fb:CRT-VGA,16bpp,enable
にてテキスト通りtty1に設定済み、VGAもenable状態です。
よくわかっていないのでシリアル接続のコンソールが ttyAM0の様でしたので
hermitでttyAM1を試してみたのですがNGでした。。。
どなたかアドバイス頂ければ幸いです
よろしくお願いします
=================
--と申します。
/etc/inittabをviで編集
1:2345:respawn:/sbin/getty 38400 tty1 ←この行のコメントをはずす
これでいけると思います。
================
1: console=tty
2: video=ns9750fb:enable,CRT-SVGA
Thursday, March 19, 2009
W=ZERO3 FONERA DD-WRT
W-Zero3を使って,FONの無線LAN(DD-WRT化済み)のアクセスポイントに接続してインターネットに入ろうとしてときに,つながってはいるんですが,IEやOperaから観覧できない.しかし,vxUtilでPingやtraceでやったら普通に行けた.理由はよくわからん.なんで?
予想ではFONの方で無線規格802.11gを使っているからか?調べたら dd-wrtの設定WebのWireless> Wireless Network ModeがMixedになっていた.選択肢の中に
ま,感で“BG-Mixed”に直したらW-Zero3のIEとかOperaからウェブページを観覧できるようになったlololololやっぱり意味わからん
予想ではFONの方で無線規格802.11gを使っているからか?調べたら dd-wrtの設定WebのWireless> Wireless Network ModeがMixedになっていた.選択肢の中に
- Disable
- Mixed
- B-Only
- G-Only
- BG-Mixed
ま,感で“BG-Mixed”に直したらW-Zero3のIEとかOperaからウェブページを観覧できるようになったlololololやっぱり意味わからん
Wednesday, March 18, 2009
Tuesday, March 17, 2009
Fonera で compile own program
Foneraで自作のプログラムを動かしたい.クロス開発環境の構築を考えている.とても参考になっているのはこのサイトです.Armadilloの開発と同じようなやり方ですね~.でもやっぱりわからないことがたくさん残っています.DD-WRTをクロスコンパイルしようとして,検索したらDD-WRT Communityでは"toolchains"をダウンロードするやり方があったが,今ダウンロードできない(このページ).Open-WrtとDD-Wrtと互換性がありそうなのでsdkt4aさんのサイトのやり方で試しているところ.コンパイル時間がめちゃめちゃかかります.
話は変わりますが,検索途中でなんかDD-WRTはあまりよくないという意見をいっている人もいるみたいです.よんでみたらなるほど,こんなことがあるか~と思いました.
自分も純粋なopen sourceの方が好きで,使う抵抗もないし,Communityにrecontributeするときも楽しい,だがなんか↑の話があるとちょっとDD-WRTを疑ってしまいます.
root@DD-WRT:~# wget http://www.***.**/***/test.o
Connecting to www.***.** (*.*.*.*:80)
test.o 100% |*******************************| 5665 --:--:-- ETA
root@DD-WRT:~# ls
test.o
root@DD-WRT:~# chmod 755 test.o
root@DD-WRT:~# ./test.o
hello world!!
話は変わりますが,検索途中でなんかDD-WRTはあまりよくないという意見をいっている人もいるみたいです.よんでみたらなるほど,こんなことがあるか~と思いました.
DD-WRT sucks. Why? See http://www.bitsum.com/about-ddwrt.htm
自分も純粋なopen sourceの方が好きで,使う抵抗もないし,Communityにrecontributeするときも楽しい,だがなんか↑の話があるとちょっとDD-WRTを疑ってしまいます.
Thursday, March 12, 2009
Fonera DD-WRT化メモ
■ Fonera DD-WRT化メモ
まずSSHを有効にする方法はめんどくさい.だけどシリアルで書き換える方法もめんどくさい.シリアルケーブルがないし!
だけどArduinoが横においてあった^^.これはラッキー.そしてやっぱり,先行者がいました.
というわけでArduinoをシリアルインタフェースとして働いてもらい,DD-WRTをFONに流し込んだ.
手順はシリアルでアクセスできたら,次にこのサイトの手順で行う.
問題なのはシリアルのボートレートの設定RedBootとDD-WRTのシリアル設定は異なるためDD-WRTをきどうしたらシリアルコンソールが文字化けする.この辺,焦りました.
■ SSHでログインできるためにはこのサイトの説明でできる.Authorized KeysはPuttyで生成し,貼り付ける.Puttyの設定もセクションの認証ファイルも指定する必要がある.
■ DD-WRTのシリアル速度のデフォルトは「115200」とほとんどの先行者のサイトに書いてあった.しかし!実際はどうなるか?自分がインストールした時点は2009-03-12でDD-WRTのバージョンはv24-sp1でネットの情報からsttyコマンドを実行していみると(なぜかこのコマンドはFonera+とか新しいDD-WRTはBusyboxに入っていないという情報もたくさんネット上にあったが,自分がインストールしたDD-WRTはあった?なんで?)
■ DD-WRT化手順:(incomplete)
www.dd-wrt.com > Downloads > stable > dd-wrtv24-SP1 > Consummer > Fon > Fonera > fonera-firmware.bin & linux.bin をダウンロード.RedBootにアクセスして,linux.binをFonに流す.
-----------
■ 気になるトッピクス
まずSSHを有効にする方法はめんどくさい.だけどシリアルで書き換える方法もめんどくさい.シリアルケーブルがないし!
だけどArduinoが横においてあった^^.これはラッキー.そしてやっぱり,先行者がいました.
というわけでArduinoをシリアルインタフェースとして働いてもらい,DD-WRTをFONに流し込んだ.
手順はシリアルでアクセスできたら,次にこのサイトの手順で行う.
問題なのはシリアルのボートレートの設定RedBootとDD-WRTのシリアル設定は異なるためDD-WRTをきどうしたらシリアルコンソールが文字化けする.この辺,焦りました.
■ SSHでログインできるためにはこのサイトの説明でできる.Authorized KeysはPuttyで生成し,貼り付ける.Puttyの設定もセクションの認証ファイルも指定する必要がある.
■ DD-WRTのシリアル速度のデフォルトは「115200」とほとんどの先行者のサイトに書いてあった.しかし!実際はどうなるか?自分がインストールした時点は2009-03-12でDD-WRTのバージョンはv24-sp1でネットの情報からsttyコマンドを実行していみると(なぜかこのコマンドはFonera+とか新しいDD-WRTはBusyboxに入っていないという情報もたくさんネット上にあったが,自分がインストールしたDD-WRTはあった?なんで?)
■ DD-WRT化手順:(incomplete)
www.dd-wrt.com > Downloads > stable > dd-wrtv24-SP1 > Consummer > Fon > Fonera > fonera-firmware.bin & linux.bin をダウンロード.RedBootにアクセスして,linux.binをFonに流す.
-----------
■ 気になるトッピクス
- compile own programs
- hello world on FON
- building DD-WRT from source guide
- 無線LAN基礎知識
- "toolchains"とは?
"toolchain"とは、一般的に特定のアーキテクチャ用のビルドと開発に使用されるソフトウェアパッケージの集合体のことです。 gentoo-hardenedのIRCチャンネルで聞いたであろうtoolchainとは、GNU Compiler Collection (GCC)、binutils、GNU C library (glibc)から成っています。
Monday, March 09, 2009
とりあえず買う...か?
■ Arduinoイーサネットアダプタ @ ストロベリ
(¥3480) ほしいなぁ~
これネットと接続できるが,それだけでなく,基盤の上にSDカードスロットも付いているのではないか!これはいろいろ使えそう...ってやっぱり先行者1がいました.やっぱりねlol案の定.先行者2
■ Arduino Diecimila x2 @ ストロベリ
(¥2835)
■ AVR ATEMEGA 評価ボード @ ストロベリ
(¥1980) 液晶については秋月の方が安い(バックライト付)
■ LCD @ 秋月 (¥700)
■ ATMEL AVR ISP @ 秋月
(¥4000) 今は自作するべきでない
■ クリスタル発振子 @ 秋月
(¥500.1パック10個入り)
■ AVRマイコン @ 千石
(¥470 Atmel ATmega168-20PU )
■ AVRマイコン @ スイッチサイエンス
(¥500 Atmel ATmega328P) ATmega168の2倍の容量を持つ
■ 買いすぎか?lol また今月お金がない...
(¥3480) ほしいなぁ~
これネットと接続できるが,それだけでなく,基盤の上にSDカードスロットも付いているのではないか!これはいろいろ使えそう...ってやっぱり先行者1がいました.やっぱりねlol案の定.先行者2
■ Arduino Diecimila x2 @ ストロベリ
(¥2835)
■ AVR ATEMEGA 評価ボード @ ストロベリ
(¥1980) 液晶については秋月の方が安い(バックライト付)
■ LCD @ 秋月 (¥700)
■ ATMEL AVR ISP @ 秋月
(¥4000) 今は自作するべきでない
■ クリスタル発振子 @ 秋月
(¥500.1パック10個入り)
■ AVRマイコン @ 千石
(¥470 Atmel ATmega168-20PU )
■ AVRマイコン @ スイッチサイエンス
(¥500 Atmel ATmega328P) ATmega168の2倍の容量を持つ
■ 買いすぎか?lol また今月お金がない...
Subscribe to:
Posts (Atom)