2008-10-01から1ヶ月間の記事一覧

ART-linuのPD制御システム

次な感じ スレッドは二つでどちらもARTで実時間処理で行っている スレッドの一つはADを取るサンプリングループで1msec もう一つはPD制御用の制御ループで10msec ログ取りは基本的にPD制御ないで静的に確保したメモリ領域にデータを書いておいて、処理終了後.…

デバドラテスト

超簡単なデバドラを作ってみた。 // Linux kernel 2.6 module test // #include <linux/module.h> #include <linux/init.h> MODULE_LICENSE("GPL_v2"); //install static int hello_init(void){ printk(KERN_ALERT "Hello module world\n"); return 0; } //uninstall static void hello_exi</linux/init.h></linux/module.h>…

ART-linux動作原理

どうなってんの? RT-linuxと同じマイクロカーネル? わからん資料なさ過ぎ。

PD制御はできてるけど暴走

PD制御はできてるのは確認できたけど片輪暴走する。 うーんなにが原因だ? 分かった。どうやらというかやっぱ極性の問題だった。 -10V〜+10Vで正転も逆転も指示するから中間値が2048でそこら辺が間違ってた。 とりあえず上みたいな感じでログがとれた。 まぁ…

なんかへんだと思ったら

24V→12VのDCDCが音がすると思ったらどうやら外付けコンデンサがついて無かった。

Makefile for ART-linux

とりあえず機能の修正。 make - odawaraの「はてな de メモ」 上を参考にして作ってみた。 # # Makefile for ART linux program # TARGET = ART_cart_test C_FLAGS += -Wall -O2 COMPILE.c = gcc $(C_FLAGS) -c LINK.c = gcc $(LD_FLAGS) DBGTARGET = debug/…

リアルタイムスレッドとログ取り

とりあえず今回はメモリを最初に静的に動かす時間分取ることにしてみた。 とりあえず今は結構確保してるけどもんだいはないみたい。

プリント基板

プリント基板 wkipediaのプリント基板の項目が詳しい。

実時間意外のスレッドのスレッドが全然動かん

実時間スレッドは動いているけどそれ以外のスレッドが動いてない。 なんで? 動いた。 原因はスレッド動かしたときに速攻で死んでた。 動いたと思ったが、printfを入れると動くんだけど抜くと最後に止まる。なぜ! 最適化の問題? 結局AD取得も実時間スレッド化…

implicit declaration of function

って警告出たけど大丈夫か?

ART-linuxのMakefile

とりあえず完成。むちゃくちゃな作り方だけど今後修正するよ。 # # Makefile for ART linux program # TARGET = ART_test C_FLAGS = -Wall -O2 COMPILE.c = gcc $(C_FLAGS) -c LINK.c = gcc $(LD_FLAGS) INCLUDE = -I/root/prog/art_headers ART_SYSCALL = /…

これはちょっとほしいかも

トリプレットゲート、イー・モバイル端末対応の無線LANルータ

コンソールの画面クリア

printf("\x1b[2J"); でできるらしい。

実時間スレッドで動作している制御のログを取る

バッファを多バンク用意して、リングバッファっぽく切り替えて片方のバンクが実時間linuxをやってる間にほかのバンクデータをファイルに保存するというのが思いついたけど、どうかな。メモリを結構消費するけどどうかな?うーん動作時間が短ければ楽だけど、…

PID制御

いつも思うのだが位置制御だとI制御のリセットタイミングってどうすんだろう? そいつがうまく決まらないとI制御入れても邪魔なだけ。

起動時にデーモン起動するプログラムの削除

デビアンの場合だとランレベルはGUIとかネットワークとかは考えないらしい。 一番手っ取り早いと思ったのは該当するランレベルフォルダ内シンボリックを削除すれば良いんじゃねと思ったけど、調べたらdebianには、それようのコマンドが存在するらしい。 #upd…

インライン展開

inline void foo (const char) __attribute__( (always_inline) );int main() { foo('x'); }inline foo(const char c) { // foo definition } とりあえずこんな感じ。でできるはず。

NFSマウントができないと思ったら

LANケーブルが抜けていた。チクショウ10分くらい気づかなくてPINGして気づいた。とりあえずとある組み込みボードのデバッグ開始。 シリアルラインのリードがかえってきてないなやっぱ。 やりたくなかったがこうなったらE8でマイコンのデバッグも同時にやるし…

pthreadでのグローバル変数

二つのスレッド間で同じグローバル変数を使う場合はMUTEXを使うべきなのか?

実数変換

なぜみんなするんだよ!! ART-linuxのサンプルプログラムまでしていて絶望した。 なんで実時間処理をしたいのにわざわざ時間のかかる処理をする必要がある。 というか研究のプログラムってだいたいそうだよな。いつも思うけど。

AD取得

art-linuxを使った実時間制御のPCIのADボードのAD値の取得はどこで行うべきか、ちなみにドライバはめんどくさいので使わない。とりあえず今考えてるのはAD取得用スレッドを用意してそこでずっと回しておく、ただしそのAD取得スレッドはもちろんart-linuxでは…

wordに貼り付けた画像を一括して圧縮する方法

まずword内で貼り付けている画像を右クリックして図の書式設定 図のタブを選び右下の圧縮を選ぶ。 圧縮をえらんだら次のような設定 これでOKを押せば画像が圧縮されてwordファイルがかなり軽くなる。 全然しらんかった。ちなみにこの方法は2003以上じゃない…

debian 「etch-and-a-half」リリース

Debian -- Debian “etchnhalf” Installation Information これだとたぶんXPSM1530もインストールがすんなりできると思う。 カーネルが2.6.24なんで問題だった有線LANデバイスも対応してたはず

はてなのコメント

なんかメールとURLが同時に書ける用になっている。

再解析

回路しっかり追って解析完了。 前回の解析は間違いに気づく。

MAX485

あれっこれって~REとDEって両方ともONにしてたら受信できないのか? よく分からんけど送信はできるけど受信はできないとなるとそういうことか? いやいやそもそもRTS、CTSつかってないからできないのもおかしくないか? そもそもモデム制御線無視だしCRTSCTSは…

M16Cファーム吸い取りメモ

ファーム吸い取りの方法とりあえずできてるっぽいのでメモ 1.FDTとE8を用意する。(とりあえずver4.02の無償評価版) 2.FDTを起動してプロジェクト作成 3.E8とマイコンをつないで接続(このときにE8のファームウェアアップデータがあるかも) 4.IDチェックがある…

M16Cファーム吸い取り

たぶんできたと思うけどだれかやり方知りませんか? IDさえ当てればいいとおもうんだけどな。