数週間悩んでいたことが、ふとした瞬間に解決することがあるもんだ。
その1
PICマイコンのUSB(CDCサンプル)をdd-wrtで使いたいと思っていた
ddwrtの再ビルドも覚悟して、開発環境を構築するべく挑戦したが、なかなか思うようにならなかった。
でも、今日、何の気なしにPICマイコンのベンダーIDを試しにFTDIに変えてみたら
案の定動かなかったが、ようやく気付いた。PICマイコンのUSB(CDC)はftdi_sioじゃなくて、
cdc-acmだった。Orz
insmod cdc-acm
で一撃でした。 この2~3週間はなんだったんだ。。。
よく考えてから行動しようね。
その2
久しぶり同郷の親友にあった。現状や悩み事やなど話していたらあっという間に時間が過ぎていく。なんか解放されたような気分になった。良い刺激を受けた。まずは孫子を読んでみよう。
その3
ここ数年間ずっと悩んでいたこと。希望の光が見えてきた。
頑張ってくれ!!
おしまい。
2016年1月24日日曜日
2014年11月15日土曜日
Buffalo WZR-600DHP2のdd-wrt化 その3
WZR-600DHP2を触る機会があったので、dd-wrtを導入してみた(のつづき)
定番プログラムを実行させてみた。1.準備
ncursesの入手
生成
CC=arm-none-linux-gnueabi-gcc ./configure --prefix=/home/[自分の作業場所]/usr --host=arm-none-linux-gnueabi --with-shared
そしてmake, make install
usr内のbinと libをコピー
そして、定番プログラム・・・slの入手!
http://www.tkl.iis.u-tokyo.ac.jp/~toyoda/
https://github.com/mtoyoda/sl
すごいよねこれ。
これでmakeするとslが生成される。
slもbinにコピー
usr内のbinと libをコピー
そして、定番プログラム・・・slの入手!
http://www.tkl.iis.u-tokyo.ac.jp/~toyoda/
https://github.com/mtoyoda/sl
すごいよねこれ。
CC=arm-none-linux-gnueabi-gcc CFLAGS=-O -I/home/[自分の作業場所]/usr/include/ncurses -I/home/[自分の作業場所]/usr/include -L/home/[自分の作業場所]/usr/lib
これでmakeするとslが生成される。
slもbinにコピー
2.いざ実行!
sshからログインすると、環境変数が読み込まれない?ようなので、
手動で・・・(なんか良い方法ないかな)
手動で・・・(なんか良い方法ないかな)
export TERMINFO=/lib/terminfo
するとこんな感じに実行できる!
Buffalo WZR-600DHP2のdd-wrt化 その2
WZR-600DHP2を触る機会があったので、dd-wrtを導入してみた(のつづき)
前回はdd-wrtのインストールまでを行った。今回は、簡単なプログラムを実行させてみた。
クロスコンパイルをやってみる。
1.準備
ツールチェーンを入手
http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/
ツールチェーンはいろいろ種類があるみたいだけど、
有名どころを使った。まずは動くことが大事。
ツールチェーンはいろいろ種類があるみたいだけど、
有名どころを使った。まずは動くことが大事。
2.スタティックリンクで生成してみる
いきなり難しいことはできないので、
スタティックリンクでやってみる
スタティックリンクでやってみる
hello.c
#include <stdio.h>
int main(void)
{
printf("Hello Wold\n");
return 0;
}
いざコンパイル!!
出来上がったhello.exeを600DHP2に転送して試してみる。
できた!
arm-none-linux-gnueabi-gcc hello.c -static -o hello.exe
出来上がったhello.exeを600DHP2に転送して試してみる。
できた!
3.ダイナミックリンクで生成してみる
スタティックだけではつまらないので、ダイナミックリンクでもやってみる。
そのためには、ライブラリを保存できる環境が欲しい。
前回、SDカードが/jffsに自動マウントされるようにしたので、その領域を使う。
共有ライブラリの 保存先libを自由に変更できるようにするために、
SDカードに一式を保存して、それをメイン(/lib)として利用するようにする。
まずは、
/jffs内にclone/libを作成して、現在のlibの中身を全部コピー!!
ついでにclone/bin も作成して、全部コピー!!
そして、ツールチェーンの共有ライブラリもコピーする
CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/arm-none-linux-gnueabi/libc/armv4t/lib
これで、下ごしらえはできた。
dd-wrtの「管理」から 「コマンド実行」を選択し、
起動スクリプトを作成する。
前回、SDカードが/jffsに自動マウントされるようにしたので、その領域を使う。
共有ライブラリの 保存先libを自由に変更できるようにするために、
SDカードに一式を保存して、それをメイン(/lib)として利用するようにする。
まずは、
/jffs内にclone/libを作成して、現在のlibの中身を全部コピー!!
ついでにclone/bin も作成して、全部コピー!!
そして、ツールチェーンの共有ライブラリもコピーする
CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/arm-none-linux-gnueabi/libc/armv4t/lib
これで、下ごしらえはできた。
dd-wrtの「管理」から 「コマンド実行」を選択し、
起動スクリプトを作成する。
内容としては、
があれば大丈夫。
20秒待つのはおまじない。。
マウントしたSDカードが意図しているものかの簡易的なチェックのために、
/jffs/にoptware.enableをという空のファイルを作っておく。
このファイルがある場合にSDカードのlibとbinを使用するしくみ。
一度再起動して、下準備完了。
早速、ダイナミックリンクで生成してみる。
どや!
#!/bin/sh sleep 20 if [ -f /jffs/optware.enable ]; then mount -o bind /jffs/clone/lib /lib mount -o bind /jffs/clone/bin /bin else exit fi
があれば大丈夫。
20秒待つのはおまじない。。
マウントしたSDカードが意図しているものかの簡易的なチェックのために、
/jffs/にoptware.enableをという空のファイルを作っておく。
このファイルがある場合にSDカードのlibとbinを使用するしくみ。
一度再起動して、下準備完了。
早速、ダイナミックリンクで生成してみる。
arm-none-linux-gnueabi-gcc hello.c -o hello_d.exe
どや!
次は定番プログラムの実行に挑戦
Buffalo WZR-600DHP2のdd-wrt化 その1
WZR-600DHP2を触る機会があったので、dd-wrtを導入してみた。
どうやらdd-wrt化は実績があるみたいだ。
USBポートにext3フォーマットのSDをつなげて、そこに各種アプリをインストールしてみる。
※以下自己責任+無線出力はOFFにすること。
1.dd-wrtの入手
動作確認したのは以下のバージョン
Path: Downloads › betas › 2014 › 11-11-2014-r25309 › buffalo_wzr-600dhp2
公式版ではなくbetaなのか。。
公式版ではなくbetaなのか。。
2.インストール
<デバッグ画面からファームアップを行う>
詳細は以下のリンク先が詳しい
インストール後、192.168.1.1にアクセス
ここまではとても簡単にできる!
ここまではとても簡単にできる!
3.SDを外部ストレージ化
SDカードはext3にてフォーマットした。
600dhp2に刺してみると、自動でマウントされる。
されない場合は「ネットワーク」→「USB」にある
「自動ドライブマウント」を確認する。
表示を「日本語」にしていると、レイアウトが崩れるみたいたので、
「英語」と切り替えながら確認すると良さそう。
自動マウントされたSDカードが/dev/sda1として認識された。
このUUIDを「自動ドライブマウント」の下にある
Mount this Partition to /jffsにコピペする。
これでこのSDカードが常に/jffsにマウントされるようになる。
このUUIDを「自動ドライブマウント」の下にある
Mount this Partition to /jffsにコピペする。
これでこのSDカードが常に/jffsにマウントされるようになる。
まずはここまで
登録:
投稿 (Atom)




