制御系なら俺に聞いてもいいぜ(8)

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
まったり逝きましょう。
ハード寄りの話も大歓迎です。
道具話も楽しくやれるならやってくらさい。
この世界は処理系依存はあたりまえだから、処理系明記するのを忘れないでね!

過去ログ
制御系なら俺に聞いてもいいぜ(7)
http://pc8.2ch.net/test/read.cgi/tech/1109102528/
制御系なら俺に聞いてもいいぜ(6)
http://fun.kz/test/read.cgi/tech/1099574832/ (新タイプミラー)
制御系なら俺に聞いてもいいぜ(5)
http://fun.kz/test/read.cgi/tech/1079102543/ (新タイプミラー)
制御系なら俺に聞いてもいいぞ(4)
http://pc5.2ch.net/test/read.cgi/tech/1068869894/ (行方不明)
制御系なら俺に聞いてもいいぞ(3)
http://pc2.2ch.net/tech/kako/1059/10594/1059488975.html
制御系なら俺に聞いてもいいぞ(2)
http://pc2.2ch.net/tech/kako/1038/10380/1038094914.html
制御系なら、俺に聞け!
http://pc3.2ch.net/tech/kako/1002/10021/1002176627.html
関連過去ログ
●●●くみこの組み込み相談室●●●
http://pc3.2ch.net/tech/kako/988/988084737.html
2デフォルトの名無しさん:2005/09/06(火) 17:39:17
没スレ乙
3デフォルトの名無しさん:2005/09/06(火) 17:42:03
制御系とはなんですか?
4デフォルトの名無しさん:2005/09/07(水) 06:41:07
のっけから凄い質問が(^o^)・・・ 一応釣られてあげると、機器の制御専用に使われるマイコン
をプログラムする仕事です。 Winなんかと違って、昔のプログラム習慣が生き残っていたり、
いまだにASMオンリーだったり。パソコンより低脳の石が主流。ある程度ハードの知識も要ります。
5デフォルトの名無しさん:2005/09/07(水) 07:42:55
と、組み込み系しか制御系じゃないと思い込んでる>4が回答しております。
6デフォルトの名無しさん:2005/09/07(水) 08:35:43
俺は産業用パソコンで組んだことがあるな。
石なんだったかな〜?
Pentiumの何か。

でも、普通、組み込み系を想像するよね。
7デフォルトの名無しさん:2005/09/07(水) 09:14:27
まーこのスレは何でもアリでしょう
みんなの所の仕事も色々やらされてない?
84:2005/09/07(水) 16:51:37
あ〜、すいません、俺はたしかにクミコ系ばっかり。パソコンで産業用機器の制御指令を
出すような分野も含むのね。でも過去の話題もクミコ系が多かったですね。
9デフォルトの名無しさん:2005/09/07(水) 20:30:10
>>5
ならてめーが回答するときは、
すべてのケースを想定してんのかよ
うぜーんだよぼけ
くそ
10デフォルトの名無しさん:2005/09/07(水) 20:43:13
携帯関係は制御系ですか?
11デフォルトの名無しさん:2005/09/07(水) 21:04:56
冷蔵庫関係は制御系ですか?
12デフォルトの名無しさん:2005/09/07(水) 22:12:05
本屋で組み込み入門みたいな雑誌が置いてたよ。
Cマガジンあたりの隣に
13デフォルトの名無しさん:2005/09/07(水) 22:59:05
組込みプレス Startup Issue
http://www.gihyo.co.jp/magazines/kumikomi

創刊準備号
14デフォルトの名無しさん:2005/09/08(木) 00:10:43
眠たいときは制御系が朝鮮系に見える
15デフォルトの名無しさん:2005/09/08(木) 20:57:39
>>13
あーこれこれ。
16デフォルトの名無しさん:2005/09/09(金) 04:04:31
凄いな、プレス機も組み込みなのか
17デフォルトの名無しさん:2005/09/09(金) 04:54:05
18デフォルトの名無しさん:2005/09/13(火) 23:31:08
T-Engineのやりかたおしえて
19デフォルトの名無しさん:2005/09/13(火) 23:40:18
>>18
まず、完成形を決める
20デフォルトの名無しさん:2005/09/14(水) 00:22:51
>>18
名大大学院 情報科学研究科に進学する
21デフォルトの名無しさん:2005/09/15(木) 02:29:31
T-Kernelの仕様書とかいうのを買ったんだけど
これをコーディングすればあっというまに
T-Kernelのできあがりなの?
22デフォルトの名無しさん:2005/09/15(木) 02:32:21
そうだ
23デフォルトの名無しさん:2005/09/15(木) 06:12:35
あっというまに は言い過ぎだな。さんざんアホな馬具を出しまくった後に。
24デフォルトの名無しさん:2005/09/15(木) 09:00:04
>>21
ソースはここで申し込めばダウンロードできる。
http://www.t-engine.org/japanese.html
25デフォルトの名無しさん:2005/09/15(木) 19:45:03
>>24
個人情報の入力がうざいので1から作ることにしました。
26デフォルトの名無しさん:2005/09/16(金) 16:06:09
質問なのですが
仕事でunixでCでソケットを使うプログラムをつくってるひとっておられますか?
unixプログラミングのスレのひとは学生しかいないみたいなんですけど、、。
27デフォルトの名無しさん:2005/09/16(金) 16:07:01
作ってましたが何か。
28デフォルトの名無しさん:2005/09/16(金) 16:30:13
>>27
さすが
レス有難うございます。
やはり、デバイスドライバとかも書けないと私は使い物にならないのでしょうか?
29デフォルトの名無しさん:2005/09/16(金) 17:09:27
頭が痛くなってきた
3027:2005/09/16(金) 18:35:48
私はデバイスドライバなど書いたことはない!
書けるかと聞かれたら、当然「書けるように努力する」と答えるのみ(ぉぃ
31デフォルトの名無しさん:2005/09/17(土) 22:14:43
デバドラって名前が何か格好いい
32デフォルトの名無しさん:2005/09/17(土) 22:45:43
連ドラと似たようなもんだと思うが。
33デフォルトの名無しさん:2005/09/18(日) 16:07:27
OSは使わない
ほとんど静的に周辺機器や変数のサイズが決まってしまう

こんな環境でオブジェクト指向風に組む価値はあるのでしょうか?
34デフォルトの名無しさん:2005/09/18(日) 16:12:38
>>33
それだけではなんともいえない。つーか、オブジェクト指向は周辺機器やOSによって左右されるわけではない。
35デフォルトの名無しさん:2005/09/18(日) 19:11:00
>>33 あんまり徹底的にやらず、妥協したほうがいい。 でも、その考え方を知っていると
「情報隔離」の考え方をできるので、モジュール分けのときに「デバイス対応」の分け方をできる。
俺はその原則+多少の妥協をこんなふうにやった。格納=ライトルーチン(そのルーチンはドライバを使い
実際のデバイスに書き込む) 参照=ライトルーチン内のキャッシュに残ってる情報を返す、実際のデバイス
ドライバにはアクセスしない。 非対称ではあるけれど、アクセス速度・デバイスの書き込み制限、
などからこうするのがベターだった。
36デフォルトの名無しさん:2005/09/18(日) 21:53:34
>>35
意味わかんないよ。悪いけど。
37デフォルトの名無しさん:2005/09/18(日) 22:08:53
デバイス − ドライバ − ルーチン − 格納
                   キャッシュ − 参照



データ構造
 キャッシュ

手続き
なんとかルーチン::格納() {
  ドライバがうんたらかんたら
  キャッシュになんかする?


なんとかルーチン::参照() {
  キャッシュの情報?


俺もよくわからん         
38デフォルトの名無しさん:2005/09/18(日) 22:57:51
こういう人がプロジェクトにいると困るよね
一人プロジェクトを任せるときには便利だけと
チームものは無理だな
3935:2005/09/19(月) 05:05:57
うん、俺は小物専門だから常に一人。内部摩擦係数ゼロでお気楽。
4033:2005/09/20(火) 07:05:14
ちょっと抽象的すぎてわかりにくかったと思います。
もう少し書くと、動的にオブジェクトを生成したりすることなく
すべて静的に決まってしまう用途という意味です。
41デフォルトの名無しさん:2005/09/20(火) 07:52:11
>>40
>>34
まして、動的かどうかとも直接関係がない。
42デフォルトの名無しさん:2005/09/20(火) 08:00:22
まあCでOOやるなら FILE 方式。
つまり、
1、openで何かの初期化した構造体へのポインタを返すと同時にハードを初期化して
  その構造体の中身を教えないという手もある。
  つまり、void * で渡してしまう。

2、アクセス関数の最初の引数は その構造体へのポインタ
  実際の関数は、その構造体中に関数ポインタが埋められていて、そっちが処理する。
  ⇒利用者はそういう構造を知らない
  ⇒同じアクセス関数が、openの仕方によ変化する が操作方法は当然同じ

だろうな
43デフォルトの名無しさん:2005/09/20(火) 09:51:47
>>40
意味はある。 ハードは性的にキマってるとしても
ソフト、とくに何らかの通信プロトコルのようなものや
単純な状態遷移を実装するときはC++便利だよ。
何も考えなくてもいいからな。newは当然使用禁止な。
44デフォルトの名無しさん:2005/09/20(火) 22:03:55
>>40
静的に決まるなら配列でやればよい
何もmallocだfreeだとかnewだとかdeleteだとかにこだわらなくてもよい
45デフォルトの名無しさん:2005/09/20(火) 23:54:02
つまり、>40は動的オブジェクトこそがOOだと思っているということか?
まぁ、>42も似たようなもんか。
46デフォルトの名無しさん:2005/09/21(水) 00:02:36
そんな一方的にイワンでも・・
4742:2005/09/21(水) 06:43:52
>>45
おいおい、ポインタを返すから動的って決め付けはどうかな
48デフォルトの名無しさん:2005/09/21(水) 07:40:34
いや、「ポインタを返す」からじゃなくて「実装方法に拘泥している」から。
4942:2005/09/21(水) 07:47:48
ああそういう事か。 そこらへんはセンスだから、お好きなように。

といっても、作り手と利用者をしっかり分けられるこういうスタイルになると思うけどね
50デフォルトの名無しさん:2005/09/21(水) 10:19:25
実装方法に拘泥したコーディング

なんちゃってゲハハ
51デフォルトの名無しさん:2005/09/21(水) 19:12:22
どこで笑えばいいの?
52デフォルトの名無しさん:2005/09/25(日) 13:42:48
多分「拘泥」と「「コーディ」ング」をかけたところが本人的に
すばらしく知的でハイセンスなギャグだと感じて
この感動を2chの皆様にも披露したくなったんではないでしょうか
53デフォルトの名無しさん:2005/09/25(日) 15:13:28
最近見かける、会社の入り口に置いてある電話番号案内も制御系か?
ああ言うの作る仕事に転職したいんだが
54デフォルトの名無しさん:2005/09/25(日) 16:56:37
いや、あれは単に交換機の仕様からメモし直して貼ってあるだけかと。電話番号案内を
作るみたいな仕事は制御系とは違うぞ。 交換機のほうを作るのは制御系だが。
55デフォルトの名無しさん:2005/10/05(水) 20:10:14
uartのringバッファの管理について、こんなことを考えました。
ライトポインタ・リードポインタ・バッファ内滞留数をuintで考えます。
バッファ内滞留数はタスク側・割り込み側両方で++/--するので、タスク側でdi/eiが必用。
ライトポインタは書き込み側のみが、リードポインタは読み込み側のみがそれぞれ変更します。
「バッファ内に有効バイトがあるかどうか」だけなら「滞留バイト数」の情報は不要で、
(書き込みポインタ != 読み込みポインタ) の判定でできます。今は滞留バイト数を参照して
例えばバッファのサイズを超えて書き込むなどを避けているのですが、
「ライトポインタとリードポインタ(どちらも2のn乗のバッファサイズのモジュロで循環している)だけから
 滞留バイト数を計算する」 ことは可能でしょうか?
それが可能なら「滞留バイト数」の情報を削ることができて(゚Д゚)ウマーなのですが。
56デフォルトの名無しさん:2005/10/05(水) 20:30:58
□1、理屈の上ではこの手のFIFO処理で割り込み禁止する必要はない。

 たとえば、シリアル受信の場合
 割り込みでwp
 メインでrp を更新するが
 メインでrpを更新してから、実際に書き込む実装、つまり
1、 wrp :=rp;
2、 rp := ( rp+1) mod BufSize;
3、 with wrp^ do begin メンバの設定 ;end
 とすれば、どこで割り込まれても困りはしない


□2、
 で、バッファにあるデータのサイズは
 Size = ( (wp-BufTop) - (rp-BufTop) +BufSize) % BufSize;
 Size = ( wp - rp +BufSize) % BufSize;

5755:2005/10/06(木) 06:35:52
□1は知ってます。di/eiは滞留数の更新時だけやってます。

□2:ありがとうございます。幾つか数値を入れてやってみたらうまくいきますね。
  ラップアラウンド中どうなるかが判らなかったので質問したのですが、ヤッホー(^o^)
58デフォルトの名無しさん:2005/10/06(木) 07:15:37
2のべき乗のサイズならmodの部分は and か bclr で 書ける
5955:2005/10/06(木) 09:02:26
□2について、「滞留数」情報の有るときと1点だけ違いが見つかりました。
滞留数情報があれば、wp==rp で、滞留数==BufSizeという、極端な滞留が許されるのですが、
滞留数情報が無いと、滞留数は (BufSize-1) までになりますね。
でも、ふつうはそこまで溜めないうちにガードがかかるようにシステム/アプリを作るはずだから
問題にはならないとおもいます。

>>58 そうですね。遅い石なのでその辺も使ってます。sizeof 配列 が2**nなら
%演算を書いても cが and を出してくれるかどうか試してみようとおもってます。
60デフォルトの名無しさん:2005/10/06(木) 09:28:01
wp=rpを使うとなると、メイン側で、バッファの値を読むところまで 割り込み禁止しないといけない
そうすると、禁止されてる間に処理しなければいけないデータが来たときに厄介だよ

6155:2005/10/06(木) 10:05:12
なので、受信側は滞留数情報を残しました。送信側についてだけ、wp、rpのみでやります。
すると、wpとrpが同じか判断するところは割り込み側にだけあるようにできます。

LSIC-80の8085機能でやってみたら、%演算書いても cが and にしてくれました。
演算量は8085なのであまり減りませんでしたね。wordの比較を8bitACCでやるから。
H8あたりだとウマーなのですが。 でもcコードは簡潔になったから(・∀・)イイ!。

受信側は、「受信滞留あり?」をメインループで判定する構造にしてるので、滞留数情報を
残しました。wpとrpを比較するコードより滞留数intがゼロかどうか見るコードのほうが軽いから。
ちなみにwp^rpと書くと16bitのXORをインライン展開して、wp!=rpと書くと call word比較が出ました。
62デフォルトの名無しさん:2005/10/07(金) 23:13:25
ていうか受信にリングバッファなんて必要?
どうせマイコンでやるようなシリアル通信なら相手から来るコマンドなり何なりは
デリミタ付きなりパケットにデータ長が含まれてるなりするわけでしょ?

つまり、ある1バイトを受信したとき、その時点でそこが一区切りの情報かどうか
はっきりするわけだ。

だったらその時点で受信バッファの内容を「コマンドバッファ」にコピーしたらいいじゃん。
そうすりゃ受信をリングバッファにする必要なんてないよ。

もちろんこの方式でも、コマンドバッファの内容が未処理のうちに
次のコマンドの受信が完了してしまったらどうするのかって問題はあるが。
63デフォルトの名無しさん:2005/10/08(土) 01:12:17
>>62
寝言は寝てからにしてくださいね
64デフォルトの名無しさん:2005/10/08(土) 01:40:45
>>63
幼稚な奴。
どうせ反論するなら、なぜ受信バッファはベタな配列ではなく
キューにする必要があるのか根拠を言えばいいのに。
まあそんな能力はないのに口だけ出したいんだろうけど。

今日日こういうレスする奴が40面下げたオッサンだったりするんだよなあw
65デフォルトの名無しさん:2005/10/08(土) 01:48:59
>>62
(><)ノ お答えしまっす!

確かに電文が短いうちはそれでいいと思うけど
なが〜い電文を逐次処理する羽目になったときに
リングバッファがいるかな〜 という感じです!
66デフォルトの名無しさん:2005/10/08(土) 02:18:43
データの長さは関係ないと思うけど。

っていうか、普通は(逐次処理できるのなら)逐次処理できるからこそ
リングバッファなんてイラネってなるはずだと思うけど。

例えばWinのメッセジーキューはPOSTされたメッセージを逐次処理できないんで
キューになってるわけね。

マイコンでやるようなシリアル通信なんてたいていはデリミタか指定バイト数分受信したら
受信バッファの内容を全部パーサーに投げればいいような処理でしょ。
こんなのリングバッファでやる必要なんて全くないじゃん。
67デフォルトの名無しさん:2005/10/08(土) 02:44:13
>>66
(><)ノ 補足しまっす!

リングバッファのもうひとつの利点は
シリアル受信を割り込み屋さんにお任せすることにより
キューを処理中にもガスガスとデータ受信できることで、
これがただのベタ配列だと あー キューを2本用意すれば
いけると思ったあなた! 鋭いですが そのキューの処理は
>>62でご自身も書いてますように いろいろある感じです!
68名無し募集中。。。:2005/10/08(土) 02:45:44
リングバッファが複雑すぎて作れないって人は無理に作らなくて良いよ
69デフォルトの名無しさん:2005/10/08(土) 02:49:08
複雑すぎるという言葉自体に驚いた
70デフォルトの名無しさん:2005/10/08(土) 02:59:09
(><)ノ データ受信とメイン処理を一緒にするのはお勧めしません!

>>66のようにコードを書くと、データの受信のあとに
処理が終わるまで次のデータは受信できない? ということに
なりかねないコードになります。 相手は問答無用でデータを
押し付けてくる機械マンのケースが多いので、つらいDEATH。

じゃあデータの処理を別スレッドに飛ばそうか? とかいうと
つまんない受信処理が本スレ、メインの処理は別スレ、と
なんだかコードの視認性が悪くなってしまいますのです。
71デフォルトの名無しさん:2005/10/08(土) 03:07:35
(><)ノ ですが、限定された条件下でなら確かにリングバッファは不要です!

短かめのデータ受信→なんか処理→ACK/NAK返送
という流れが確定し、今後30年はその仕様に変化がないと
クライアント様にハンコを突かせたなら、もうそれは>>66さんの
コードで必要十分なわけです。これはこれで見やすくなります。
72デフォルトの名無しさん:2005/10/08(土) 03:12:03
>>67>>70
わかってないな。

>>62に書いた「問題」ってのはリングバッファでリングが一週回ってしまった
場合の問題とほとんど等価だよ。
つまりどちらにしろ問題は起こりうるわけで、それはリングバッファを採用する
理由にはなりにくい。

>>66のようにコードを書くと、データの受信のあとに
>処理が終わるまで次のデータは受信できない? ということに
なりません。今日的な常識でいって普通はね。
前のコマンドの受信完了から次のコマンドの受信完了までの時間はまあ
短くてもmSecのオーダーといっていいだろう。

パーサーがコールされるまでにmSecオーダーレイテンシがありうるシステムなんて
今時ありえんでしょ。
仮にあるとすれば、リングバッファにしようがどんなデータ構造を採用しようが
同じこと。いずれ地獄は来ることになる。
7355:2005/10/08(土) 03:18:44
私の製品の実装例では、4.8Kで受信、数十バイト可変長のASCIIフレームが揃ったらその中から
数値情報を抽出するなんてことをやります。1文字の受信間隔は2mS、CPUは3MHzの8bitで
乗除算命令が無いので、sscanfの整数変換相当の機能を実行するのに数十mSオーダーで
時間かかります。ですからあるフレームの処理中に普通に次のフレームの頭何バイトかは受信が
あるわけで、>>62>>66みたいなわけには行かないのです。
7455:2005/10/08(土) 03:24:48
すげ〜な、こんな時間に起きてる人が少なくとも2人・・・ 私は早起きのほうですが。
リングバッファのサイズは、受信では重い処理が何十ミリかかるか、送信では一度にどの位
の情報を書くかを見つくろって決めます。全部で8KBしかないメモリを、制御用変数とスタックと
リングでやりくりします。
75デフォルトの名無しさん:2005/10/08(土) 03:32:10
>>74
(><)ノ バトンタッチします!
逃げるついでに今から仮眠取ってきます!
76デフォルトの名無しさん:2005/10/08(土) 06:54:06
せっかくFIFO式(リングバッファ)にしているのに、最後に
コマンドバッファド式にコピーして使ってるせいで台無しになってるコードをメインテナンスした所だ。

コマンドバッファ式だと、受信して処理して結果を返すというサイクルで回ってる間は問題ない。
でも、通信路の速度を最大にしようとすると、
コマンドを処理している間に次の受信をさせる事になる。

受けと取って処理して返信だと、処理時間がゼロでも2倍以上かかる。
USBーシリアルなんて使うと、さらにディレイが入る事になる。
PCやマイコンは高性能になっても、通信路(ボーレート)は物理的な制限で上げられないし
USB-シリアルの遅延なんてのはボーレートを上げても改善しない。

だから、コマンドを結果を待たずに、FIFOがある限りどんどん送りつけて(フロー制御して)
という方向になってるわけよ
77デフォルトの名無しさん:2005/10/08(土) 07:15:39
>もちろんこの方式でも、コマンドバッファの内容が未処理のうちに
>次のコマンドの受信が完了してしまったらどうするのかって問題はあるが。

 この対策がフロー制御です。 FIFO(リングバッファ)を持っていると
メイン: 返信用FIFOが一杯(に近づいていれば) コマンド処理をしない
受信: 受信FIFOが一杯に近づいて来たら、(ちょっと待ってね)状態にする。
 という決まったスタイルで安全に対応出来ます。
 (ちょっと待ってね)状態にしても何バイトか送りつけられる事が殆どなので、それを考慮するとか、
  コマンド処理が分散して処理されて時間がかかる場合は、それを考慮するとか
 そういう事も、決まったスタイルには含まれています。

コマンドバッファ方式だと、コマンドを受け取って即座に(ちょっと待ってね)状態にしないといけないでしょ?
そうすると、一般的に通信速度が上がらないわけで、そっから、「対策しる!」と言われたら、
あちこち対策入れて、だんだん訳が判らない状態になるわけです。

そんなわけで、PICのようによほど小さい規模のマイコンで無い限りは、シリアル通信ではFIFOを
入れるというのが一般的です
78デフォルトの名無しさん:2005/10/09(日) 15:22:21
ハードにFIFOを持っているが、ハードのFIFO自身にフロー制御機構を持たない場合、停止要求してから
何バイトもダダ漏れになるから(一昔前のPCの大部分に載ってたNS16550Aとか)、フロー制御を下手に
過信するのは危険だし、それなりの対策は打っておくのが普通。
79デフォルトの名無しさん:2005/10/15(土) 11:43:23
保守あげ
80デフォルトの名無しさん:2005/10/15(土) 13:52:09
>>78
そのハード、アラート信号線とか無いの?
81デフォルトの名無しさん:2005/10/15(土) 13:55:23
>>80
>ハードのFIFO自身にフロー制御機構を持たない場合
82デフォルトの名無しさん:2005/10/15(土) 13:59:32
>>81
あ、そうかw
3本線で工場内を繋いでるのかw
83デフォルトの名無しさん:2005/10/15(土) 14:02:05
>>82
飛躍しすぎ
84デフォルトの名無しさん:2005/10/15(土) 14:08:16
まあ、FIFO内のコードを全部解読してから実際のコマンドを発行する仕組みにすれば良いのではないか?
そうそう途切れる事無くコードが送られて来る事も無いだろうに。
85デフォルトの名無しさん:2005/10/15(土) 14:20:23
おまいらのにプロセッサボードにはシリアルポートしか付いてないのか?
86デフォルトの名無しさん:2005/10/15(土) 14:22:45
>>85
つうより、ハード屋さんがそれしか繋げてくれなかったって場合の話らしいよ。
87デフォルトの名無しさん:2005/10/15(土) 14:22:51
>>85
エーテルネットやらUSBやら無線やらうらやましいです
88デフォルトの名無しさん:2005/10/15(土) 20:50:50
>>85
たまに3ポート内蔵とかだとウキウキしちゃうよね。
LEDでモールスはもう面倒になってきました。
89デフォルトの名無しさん:2005/10/27(木) 00:37:34
スレ違いかもしれないですが、
WindowsでUSB接続のデバイスを扱うプロクラムを
作りました。
そのデバイスドライバをインストール
させるのに、Windowsのコマンドか何か(API)からインストール
させる方法をご教示ください。

プログラムのインストーラまでは作ったのですが、
そのデバイスドライバも一緒にそのインストーラで
インストールさせたいです。
infファイルとsysファイル、関連dllはあります。

今は、USBを接続させ、ウィンドウズの自動認識による
ドライバインストールのウィザードからインストール
させるようにしています。
90デフォルトの名無しさん:2005/10/27(木) 03:50:52
>>89
昔のWin DDKにinfファイルからドライバインストールするサンプルコードが付いてたな
俺はそれをDLLにして、InstallShieldから呼び出して使ったよ。
最近はその辺触ってないし、DDKもDLできなくなっちゃったからわからんけど、
Win関係のスレで聞いたほうがいいかもね
91デフォルトの名無しさん:2005/10/27(木) 09:54:07
>>90
そうです、まさしくそれをしたいです。
「デバイス ドライバ インストール」等で 
ぐぐったりしましたが、なかなか見つかりませんでした。

Win関連板、スレの場合、多分OSの基本的な
話題ばかりかと思い、実践している方が多そうな
このスレで聞いてみました。
92デフォルトの名無しさん:2005/10/27(木) 11:42:26
>>91
寧ろこのスレはインストーラーなんて興味ないって香具師が多い希ガス。
現にうちのプロジェクトなら、「ドライバをインストールしてください」の一言で終わる。
93デフォルトの名無しさん:2005/10/27(木) 11:47:06
過疎ってるけど、WDMスレのが近いかな
94デフォルトの名無しさん:2005/10/29(土) 07:15:04
教えてください。
http://mbm.livewiredev.com/
[INFORMATION]で[SHARED MEMORY]の項目を選び、[C CODE]の中の
C++Class Wrapper can be downloaded here, thanks to Raoul
を選んでダウンロードし解凍(するとcmbm.cpp とccmbm.h)してVB6.0でDLLを作成した。その際、
,(即興的っつーかテスト用に)、関数を追加した。そしてvb6.0から関数をコールしたら、
ReadValues()は、connect()から(内部で)参照されたときはエラーになってないようなのですが、
getSensorType()から(内部で)参照されたときには↓のところでエラーになるのです。何故でしょうか。

bool CMBM::ReadValues(); // connect()とgetSensorType();から参照されている
{
data = (TSharedData *)MapViewOfFile(hMapFile, FILE_MAP_READ, 0, 0, 0); <―でエラー
if (data == NULL)
{
Connected = false;
return Connected;
}
return true;
}
95デフォルトの名無しさん:2005/10/29(土) 07:17:03
テスト用に便宜的に追加した関数とは↓です。
int CMBM::getNbSensorvbType(int n_sensor)
{
int is;
is= n_sensor;
TsensorType tt;
tt = getSensorType(is);

is = getNbSensor(tt);
return is;
}

追加した理由は、getSensorTypeでは戻値、getNbSensor()では引数として使われている
TsensorTypeに対応するパラメータの型を、vb6.0では俺にはできなかったから。
96デフォルトの名無しさん:2005/10/29(土) 12:20:12
回答者はそれをダウンロードして試した上で俺様に答えるべき、とでも思ってるのかな。
まあ問題の性質上しょうがないのかも知れないが、
それでもせめてエラーの内容ぐらい書けばいいのに。

っていうか、スレ違いのような気がする。
まあマルチがはわわ〜、なんだろうけどさ。
97デフォルトの名無しさん:2005/10/29(土) 16:42:02
vb6のデバッグモードでの実行時のエラーメッセージ
以下の[ ]や( )の文は説明のためであって、表示されたものではない。

(ダイアログメッセージボックス)
VB6.EXE-アプリケーションエラー
“0×038644bd”の命令が”0×03861036”のメモリを参照しましたが、メモリが”written”になることは
できませんでした。プログラムを終了するには・・・・・・
プログラムをデバッグするには キャンセル をクリックしてください。

↓[キャンセルボタン]

(ダイアログメッセージボックス)
Microsoft VisuaI C++
ハンドルされてない例外は、VB6.EXE(CMBPRJ.DLL)にあります。:0×C0000005: Access Violation

↓[OK ボタン]

(cmbm.cpp)
bool CMBM::ReadValues()
{
⇒ data = (TSharedData *)MapViewOfFile(hMapFile, FILE_MAP_READ, 0, 0, 0);

・・・・・・・・
98デフォルトの名無しさん:2005/10/29(土) 17:05:16
Public Declare Function Connect Lib "cmbmprj" () As Double
Public Declare Function isConnected Lib "cmbmprj" () As Boolean
Public Declare Sub DisConnect Lib "cmbmprj" ()
Public Declare Function getNbSensorvbType Lib "cmbmprj" (ByVal n_sensor As Integer) As Integer
以下はTsensortypeの型定義の仕方が不明だから、標準モジュールで止めたファンクション定義
'Public Declare Function getNbSensor Lib "cmbmprj" (Tsensortype As SensorType) As Integer
'Public Declare Function getSensorType Lib "cmbmprj" (n_sensor As integer) As Tsensortype

以下のboolean Bcnctは ローカルウィンドウで、"True"に表示される。
cmbmprj.dllの,bool CMBM::isConnected()のリターンコードがTrueで戻ってくるというのは
既に、dllが参照された時点で、CMBM::CMBM()とdouble CMBM::Connect()が参照され、それによって
bool CMBM::ReadValues()も参照されていると判断される。

Dim iret As Integer
Dim wcnct As Double
Dim Bcnct As Boolean
 Bcnct = isConnected() '戻り値は Trueが確認されている
If Bcnct = False Then
  wcnct = Connect()
  If wcnct = -1 Then
   ・・・・・
  ElseIf wcnct = -2 Then
   ・・・・
  Else
   ・・・・
  End If
Else
  iret = getNbSensorvbType(1) 'vb 側としてはここでエラー発生
  Form1.List1.AddItem "温度センサーの登録数:" & Str(iret) & " " & TTIME
End If

99デフォルトの名無しさん:2005/10/29(土) 17:11:19
CMBM::CMBM()
{
   data = NULL;
   Connected = false;
   Connect();
}
//---------------------------------------------------------------------------
CMBM::~CMBM()
{
   DisConnect();
}
//---------------------------------------------------------------------------
bool CMBM::ReadValues()
{
   data = (TSharedData *)MapViewOfFile(hMapFile, FILE_MAP_READ, 0, 0, 0);

   if (data == NULL)
   {
   Connected = false;
   return Connected;
   }
return true;
}
100デフォルトの名無しさん:2005/10/29(土) 17:11:43
スマナイけど、俺たちは仕事をする為にこのスレに来てるわけじゃないし、ましてやタダ働きする為に来てるんでもない。

なにか面白い書き込みを楽しみに来てるわけで。
細かい具体的内容書かれれば書かれる程、ゲンナリしちゃうわけ。

質問は結構だけど、もう少し整理してくれ。
理解出来ないから丸投げじゃ、面白くもなんともないよ
101デフォルトの名無しさん:2005/10/29(土) 17:12:45
double CMBM::Connect()
{
   if (isConnected()) return -2;
   // try to open shared memory
   hMapFile = OpenFileMapping(FILE_MAP_READ, FALSE, "$M$B$M$5$S$D$");
   if (hMapFile == 0)
   return -1;
   // try to make a first read to memory
   if (!ReadValues())
   return -1;
   Connected = true;
   //return MBM version
   return data->sdVersion;
}
//---------------------------------------------------------------------------
bool CMBM::isConnected()
{
   return Connected;
}
102デフォルトの名無しさん:2005/10/29(土) 17:17:06
>回答者はそれをダウンロードして試した上で俺様に答えるべき、とでも思ってるのかな。
>っていうか、スレ違いのような気がする。
>まあマルチがはわわ〜、なんだろうけどさ。
↑(だから、コードを貼ったのだ)
矛盾

>理解出来ないから丸投げじゃ、面白くもなんともないよ

結局、答える能力はないから、自己投影で最後に難癖つけてきただけだろ。
103デフォルトの名無しさん:2005/10/29(土) 17:18:11
>制御系なら・・・

「羊頭狗肉」ってこういうことを言うんだ。
104デフォルトの名無しさん:2005/10/29(土) 17:22:53
だからさ、 回答したくなるような+アルファをクレって、
そういう芸風はもう飽きてるんだよ。
105デフォルトの名無しさん:2005/10/29(土) 17:25:35
お前のためのスレじゃない
飽きたなら消えろ
106デフォルトの名無しさん:2005/10/29(土) 17:29:25
おいおい・・・このスレの最初のスレから3割以上レスしてたこの俺に消えろっていうんだな?
107デフォルトの名無しさん:2005/10/29(土) 17:30:17
その通り
邪魔だ消えろ
108デフォルトの名無しさん:2005/10/29(土) 17:43:28
判ったよ。 じゃあ、後は頼んだ。
109デフォルトの名無しさん:2005/10/29(土) 17:47:07
AD変換のシステム(計測マン・マシーンインターフェースソフトも含む)
は計測制御の基本だよ。計測が出来なければ制御(DAシステム)なんて
出来るわけがないからだ。しかもCPUの温度に関してときてるのだ。それなのに、
「制御」のスレで、その質問に高飛車に「スレ違い」って言うような連中が、
なんら批判されず、のさばってられるスレっていうのは奇妙なものだ。
110デフォルトの名無しさん:2005/10/29(土) 17:47:58
住人さんたち、スレタイに「系」がついてることを忘れるなよ。
111デフォルトの名無しさん:2005/10/29(土) 17:50:53
>>109 誰も高飛車に言ってないだろ。 そんだけ講釈出来るんだらお前が答えて終わらせてやれよ。
112デフォルトの名無しさん:2005/10/29(土) 18:00:48
結局 (俺も含めて) 誰も回答できないわけか…。
113デフォルトの名無しさん:2005/10/29(土) 18:02:45
>スマナイけど、俺たちは仕事をする為にこのスレに来てるわけじゃないし、ましてやタダ働きする為に来てるんでもない。
こういうの、高飛車だけではないな。陰湿な排他的性格も含むから。
あ、そうか。ここの「制御」って「人間排他制御」のことか。(藁

今や水冷とかファンコントロールがオーバークロッカーだけでなく静音マニアでも
でもあたりまえ。それを「仕事」とか「タダ働き」だとさ。呆れるね。
114デフォルトの名無しさん:2005/10/29(土) 18:03:25
金にならねえやっつけ仕事ほど、無駄な時間の浪費はない。
115108:2005/10/29(土) 18:08:02
やれやれ

質問者へ
 1、まず、どういう立場なのかとか多少は自分の事も書いてみて
 2、つぎに、何をしようとしているのか買いてみて
 3、そして、問題は何なのか簡潔に書いてみて


 で、メモリマップファイルで、通信しようとしているようだけど、
 書かれているコードではバイト数をゼロでREADオンリーにしてる。 後から変更しているの?
116デフォルトの名無しさん:2005/10/29(土) 19:06:55
MBMの本体が動いてないからじゃないの?
117デフォルトの名無しさん:2005/10/29(土) 20:06:59
本家にBBSあるんだからそこで聞けよヴォケ
http://www.livewiredev.com/bbs/forumdisplay.php?s=&forumid=68
118デフォルトの名無しさん:2005/10/29(土) 20:16:48
制御系とか関係ないじゃん。
MBM DLLをVBから使いたいってことじゃん。

ス レ 違 い
11996:2005/10/29(土) 20:16:51
>>100の書き込みは俺じゃないよ。
っていうか、>>96の書き込みを見て、それでそれに応えるつもりで
コードをコピペしてるんだったら、質問者は基本的な日本語の読解力が怪しいんじゃないの?

まあ>>102が質問者かどうかわからないけど、それにしてもね。

とりあえずWin32のCのintに対応するVBの型はIntegerじゃなくてLongだよ。
それが障害の原因かどうかはわからないけどね。
120デフォルトの名無しさん:2005/10/29(土) 20:20:46
大体質問に答えてもらおうって態度じゃないな。
俺のところじゃそのモニタを使えてるが
絶 対 に 教 え な い
121108:2005/10/29(土) 20:39:04
あ勘違いだ。 サイズゼロだと、最大を指定したのと同じなんだね。

それから
 data = (TSharedData *)MapViewOfFile(hMapFile, FILE_MAP_READ, 0, 0, 0); <―でエラー
と書いてあるから、 data  への書き込みに失敗したのだろう。

となると、CMBMが作成されていないのに、メソッドが呼び出されたという所かな
122108:2005/10/29(土) 20:46:58
ところでVBからDLLを呼び出すからエラーの追跡が面倒になるのだと思うのだが
VBだけではポインタが無いから難しいと思ったのだろうけど・・・・・

なんか昔、VBだけでやれた気もするんだけどなあ

最近、こういうのはDelphi使ってるから忘れちゃったよ。Delphiならポインタ使えるし
123デフォルトの名無しさん:2005/10/29(土) 21:20:34
VB厨(笑)
124108:2005/10/29(土) 21:35:58
ちょっとぼんやり思い出した。
long 変数でポインタを受けて、MoveMemoryとかのAPIで VarPtr(構造体) で移動ってな所だったかな?

125デフォルトの名無しさん:2005/10/29(土) 22:04:26
まあ制御系でもVB使わない事もないが、さすがにメインじゃ使わない。
PC用のGUIが必要なら DelphiかBCBだろ。
ただ、実験とか社内ツールだとExcelVBAなら結構多いかもな。

一昔前は測定器にPC使ってVBなんてのも多かったけど、
なんか大変動じゃないけどいつの間にかVBやってた所はZ80と一緒に地盤沈下。
12696:2005/10/29(土) 22:12:59
>>125
本当にこの世界の人?
この世界に限らず、特定用途向けのGUIアプリなんて今でもほとんどVB製ですけど。
じゃなきゃ、ここ二年ぐらいはドトネト。

Delphi使ってるなんてところは日本じゃほとんど見たことない。
127デフォルトの名無しさん:2005/10/29(土) 22:19:01
>>196
そうか?
なんかVBアプリからの置換の仕事が多いから一昔前は多かったというのは実感してるが、
昔はバブルだったのか、これが今の請負額より1桁上の金額取ってたのかよというのばかりだけどな
128デフォルトの名無しさん:2005/10/30(日) 00:10:28
組み込み専門の俺には割り込む余地も無い(w
129デフォルトの名無しさん:2005/10/30(日) 00:12:57
>>128
組込み専門なら、割り込みもこなせなくてどうする!
130デフォルトの名無しさん:2005/10/30(日) 02:38:39
最近は、そういうのは OS がやってくれたりするからなぁ。
131デフォルトの名無しさん:2005/10/30(日) 11:07:10
組み込みと制御系って何が違うの?
132デフォルトの名無しさん:2005/10/30(日) 12:55:35
制御系は組込み系の部分集合。
133デフォルトの名無しさん:2005/10/30(日) 12:57:08
まあ、諸説あるだろうけど…

組み込み系というのは、機器に組み込まれて動作するソ
フトウェアを言う。つまり、どちらかと言うと実装上か
ら見た区別。

制御系は、機器を制御するソフトウェアを言う。つまり、
用途から見た区別。

だと思う。
134デフォルトの名無しさん:2005/10/30(日) 16:55:54
組み込み系⊆制御系
じゃないの?
135デフォルトの名無しさん:2005/10/30(日) 17:01:48
>>134
は?
136デフォルトの名無しさん:2005/10/30(日) 17:55:26
>>132, >>134
例えば、物流の制御システムなんかだと PC 使ってやってることもあるから、
制御系だけど組み込み系じゃないって感じがする。

逆に、電卓のプログラムは組み込み系だけど制御系というのはちょっと違う感
じがする。
137デフォルトの名無しさん:2005/10/30(日) 20:04:49
>>136
LCDの制御やボタンの入力などを読んだりするのは?
138デフォルトの名無しさん:2005/10/30(日) 22:33:03
>>137
気分的には制御と言いたくない。
139デフォルトの名無しさん:2005/10/30(日) 22:56:11
マジレスすると、電卓にソフトウェア部分は無い。
140デフォルトの名無しさん:2005/10/30(日) 22:58:02
そんな餌で、釣れるんか?
141デフォルトの名無しさん:2005/10/30(日) 23:13:35
>>140
連れてるじゃん
142俺も含めて大漁だな、オイ。(w:2005/10/30(日) 23:27:11
オマエモナー。
143デフォルトの名無しさん:2005/10/31(月) 00:28:02
制御系っていうと、最近は会社によっては、
MPUの仕様やプログラムは一切知らずに、
ステートフローや伝達関数書いてシミュレーションしたり、
実験してパラメータ決定するだけで、
その組み込みは、他部署にお任せってのも多々あるみたいだけど、
このスレでは、そういうやからもおkなん?
144デフォルトの名無しさん:2005/10/31(月) 00:34:27
>>143
ああ、あの「試作品作るなんてお金の無駄です。」ってやつな。
いいんじゃね?
145デフォルトの名無しさん:2005/11/02(水) 21:47:03

こんにちは、今回、会社にあるん古いバーコード・プリンタを
復活させる必要が出てきました。マニュアルを読むとRS232c経由で
制御できるようなんですが、XPのDOS窓から、RS232Cにエスケープコマンドって
送れますか?

昔、DOSの頃パラレルのプリンタをエスケープシーケンスで制御して遊んだ事が
あるんですが。出来ることは覚えていますが、TYPE CONとかなんだったか
忘れてしまいました。

詳しいサイトとかありましたら教えてください。
146デフォルトの名無しさん:2005/11/02(水) 22:00:30
>>145
送れるるよ。modeコマンドで各種パラメータを設定するのを忘れずに。
あーあと、EscコードはEscキーでは発生しないからね。
147145:2005/11/02(水) 22:12:20
>mode
 ありがとうございます。だんだん思い出してきました。
148145:2005/11/02(水) 22:18:06
>147
みつけました。あした一日遊んで見ます。
http://forum.nifty.com/fpcu/dosvcmd/mode.htm#TOC4
149デフォルトの名無しさん:2005/11/03(木) 11:18:35
>>145
ターミナルソフト使ったほうが便利では?
150デフォルトの名無しさん:2005/11/06(日) 00:33:09
半角かなの使用率高いな
151デフォルトの名無しさん:2005/11/06(日) 19:01:32
制御系で働くものとしては、どの程度まで制御理論を理解するのが一般的なんだろ。
現実的には古典から最新理論まで全部理解してるって無理だと思うんだよなぁ
152デフォルトの名無しさん:2005/11/06(日) 19:34:27
俺は古典制御ならわかるが、現代制御はさっぱりだな
でも、仕事では殆どが、通信の制御だったり、ロジックの制御だったり、
デバイスの制御だったりするから、
知らなくても全く問題なしだw
153デフォルトの名無しさん:2005/11/06(日) 20:01:41
>91
亀だが、MSがDriver Install Frameworks Tools 2.0
とか称してそのあたりを纏めたツール・APIを公開している。
1.0のときには、ドライバ認証が要るとかいうふざけた話だったが。
154デフォルトの名無しさん:2005/11/07(月) 17:37:06
>>153
情報ありがとうございます。
そのツールを使用して何とか
作成しようと思います。
155デフォルトの名無しさん:2005/11/08(火) 16:38:40
TRON準拠のマイコンソフトなのですが、
デバッグのため、イベントが発生する毎にリングバッファにイベントをどんどん記録する、
という仕組みを追加する事にしました。
リングバッファに書き込む処理自体は共通のサブルーチンを用意して、イベントを引数で渡す、という
単純なもので特に問題ないのですが、
このサブルーチンを通常のタスク処理と、割込み両方から使いたいので、排他制御を考える必要が発生しました。

実装に当たって参考になる、なにか、良い資料やサンプル等ないでしょうか。または定番の方法など
156名無し募集中。。。:2005/11/08(火) 18:39:08
NORTi/86 ?
排他ならセマフォが定番
157デフォルトの名無しさん:2005/11/09(水) 00:06:45
>>155
正直そういう処理をするなら、排他以前に
イベントの検出直後〜リングバッファへの書き込みの間は
割り込みを禁止(Maskでは無い)しないと、イベントの発生順が
訳分からん状態になると思われ
158サービスコールの不可分性:2005/11/09(水) 02:34:47
>155
以下、uITRONVer4仕様での話
固定長メモリプールからイベントを書き込むバッファをゲットする。
(固定長メモリプールの長さはイベントのデータの最大長とする。)
書きたいデータをそのバッファに書く。
ゲットしたデータをメールボックスで送り出す。
受けるタスクでメールボックスを受け、固定長メモリを解放する。

実装によりますが、非タスクコンテキストからもpget_mpf(),snd_mbx()が利用できるものが
多いと思います。少なくともNortiは、仕様書をみたところそうなっています。
この場合、特に排他処理を用いなくても問題ありません。というよりサービスコール
はリエントラントです。(正確には、サービスコールの不可分性の保証のことです)

方法は上記と違いますが、参考としては、私の知る限り、toppersJSPのログ機能です。
ログタスク経由か、直接出すかを選択できたと思います。ログタスク経由の場合はいったんキューイング
して出していたように記憶しています。肝心な排他制御しているかどうかは未確認
です。 していなければ、セマフォよりも、loc_cpuが、いいかと思います。
lockするのは、キューの管理ポインタの更新時のみに限定できると思います。
ver4からの仕様ですが、loc_cpu中といえどカーネル管理外の割込は可ですので、
lock中 != 割込ディセーブルです。お間違えなく。


159デフォルトの名無しさん:2005/11/09(水) 15:29:49
レスありがとうございました。
説明が最初に不足しておりましたが、元々の処理のタイミング等に出来るだけ影響を与えないようシンプルにしたい、
という事情がありまして、
本当は割込み禁止はしたくなかったのですが、
検討の結果、157さんもおっしゃるような書き込み中割込み禁止にする、という方向になりました
結局、これが一番シンプルでした あとは、割込み禁止期間が少しでも短くなるようなロジックにしました
(セマフォはやや大掛かりになってしまうため不可)
ありがとうございました。
160デフォルトの名無しさん:2005/11/11(金) 01:12:18
>>152
そんなもんだよね。
古典も完璧とはいえないけども
161デフォルトの名無しさん:2005/12/01(木) 16:02:03
Forth使ってる人居る?
162デフォルトの名無しさん:2005/12/01(木) 19:38:10
組み込みスクリプトに?
自作の中間言語インタプリタなら作って使った事はあるけど
163デフォルトの名無しさん:2005/12/02(金) 00:45:42
業務系プログラマでつ。
制御系にジョブチェンジしたいんですが
(Java,C/C++、簡単なUSBのドライバならつくれます)
参考書籍を3冊くらい教えてください。
164デフォルトの名無しさん:2005/12/02(金) 00:56:48
>>163
制御系たっていろいろあるからね。
目指すものによっていろいろ

 ドライバ書けるなら、いろんなOSマスターして
ドライバ屋という手も無いではない
 その場合はマニュアル見ながらひたすらソース読んだ方が
理解できたり。。。。。
165デフォルトの名無しさん:2005/12/02(金) 11:19:25
>>163
弊社でよければ面接の用意をしますw
いや、業務系も制御系も人が足らんのよ。
166デフォルトの名無しさん:2005/12/02(金) 13:10:43
昼間から2ch覗いてる管理職のいる会社には行きたくないです
167デフォルトの名無しさん:2005/12/02(金) 13:18:20
大丈夫、夜間仕事しているから(ぉぃ
168デフォルトの名無しさん:2005/12/02(金) 14:18:18
プログラミングではなく制御設計はこのスレではあまり関係ない?
PIDとかz変換とか。
169デフォルトの名無しさん:2005/12/09(金) 00:35:52
正直、業務系に転職したい
業務系ならあと20年は働ける気がする
170デフォルトの名無しさん:2005/12/09(金) 00:49:42
妄想だけじゃメシは食っていけないよ?
171デフォルトの名無しさん:2005/12/09(金) 01:01:24
>>168
それをネタに話してもスレ違いと暴れる奴はいないと思うが
電気・電子板でやった方が人がいると思うぞ

俺は無理、ついていけない
172デフォルトの名無しさん:2005/12/10(土) 08:48:03
マ板のクミコスレで聞いたら呆れられたのでこっちで聞かせて。 8051互換チップでDAC端子
が「作動状態」=Lo-Z状態=制御電圧が出ている状態、「停止状態」=Hi-Z状態で、テスタ
で見てみると0Vが出てるように見えます。 これと0Vが出てる状態とがどう違うか?なんです。

インピーダンスって、理科の時間には「交流、とくに高周波に対するコイルの抵抗」って習った
のに、直流の端子でインピーダンスがどういう意味を持つんですか?
173デフォルトの名無しさん:2005/12/10(土) 09:44:22
>>172
またも板違い
電気・電子板が適切かと

制御電圧に対してHiZだって事でしょ

インピーダンスは交流もあるんだよ
174デフォルトの名無しさん:2005/12/10(土) 12:50:43
>>172
 そのテスターで、+電源とその端子の間の電圧を測って、それぞれ結果を報告してみて。それからだ
175デフォルトの名無しさん:2005/12/10(土) 17:01:26
マ板って、、、、、あそこはネタスレだろう
しっかり釣られて、まともな話をし始めてるのが業だな

>>172
お前さんのやったことは
+端子と−端子を持っただけの時の電圧を測ったのと変わらん
176デフォルトの名無しさん:2005/12/10(土) 17:35:19
>>172
ぶっちゃけ、その線が断線しているのと同じ状態<HiZ
177名無し募集中。。。:2005/12/11(日) 21:13:24
ハイ・インピーダンスって抵抗値が大きすぎて繋がっていない事と同義だと思うの
TTL出力は出力と出力をつないではいけないけど、3ステート出力なら
出力していないときはハイインピーダンスにしておけば大丈夫(バスの基本原理)
178デフォルトの名無しさん:2005/12/15(木) 17:30:36
ありがとう。理系的な解り方じゃないけど、感覚的にはわかったような気が・・・(^o^)

話は変わりますけど、安いROMライタありませんか?簡単なシリアル入出力をよく頼まれる
のですが、PCしかないのでHEXを送って向こうで焼いてもらうと、つまらないタイプミスが
1,2度はあります。弁当箱は貸してもらえそうなので、ROMライタを自前で持ってれば便利そう
なのですが・・・スマートライタというのは見たことあってコンパクトでいいなと思ったのですが、
\59,800ぐらいします。
179デフォルトの名無しさん:2005/12/15(木) 17:55:28
仕事じゃないなら秋葉でジャンクを探すとか自作するとか。
仕事なら、レンタルで借りるとか。
#処で弁当箱とは何のこと?
#それがUVEPROMの消去用の紫外線灯の入った箱のことなら蛍光灯スタンド+殺菌等でも大丈夫w
180デフォルトの名無しさん:2005/12/15(木) 18:58:47
http://www11.plala.or.jp/silicon/DATA/develop_romwriter.html
日本製で安価なのは パレット11ハンディ
windowsソフトは別売だけど ttp://www.tensyo.com/PT11/WPT11.htm にある

先頭の安価なのは秋月ならもっと安価
http://akizukidenshi.com/catalog/items2.php?p=1&q=M-00513
これの使い勝手は判らない。
もし買ったらレポートよろしく
181デフォルトの名無しさん:2005/12/15(木) 19:01:58
殺菌灯は強力なので、カバーをつけないといけないよ。
俺は、隣の机でカバー無しで使ってたら顔の半分の皮がボロボロと・・・
182179:2005/12/15(木) 19:10:32
机の下に入れて水虫対策とか。

私自身は机の中に入れてた。
183デフォルトの名無しさん:2005/12/15(木) 19:21:06
8255と16550を合わせたようなLSIないですか?
184178:2005/12/15(木) 19:33:39
皆様早速ありがとうございます。半田ごては髭剃りのニカド交換ぐらいしかできないので
自作はムリです。 弁当箱=「ターゲットのボード+電源」の箱です。ちょうどドカ弁ぐらいの
大きさなので。 27C256か27C512ぐらいしか焼かないのですが、客先のはなんかドデカイ奴
で、とても持ち出しとか考えられません。 >>180さんのは安いですね。イレーザーが意外と
安かったのも参考になります。 レポートご期待よろ。
185名無し募集中。。。:2005/12/15(木) 21:38:20
ROMライタっていう名前じゃないけどROMも焼ける
http://aitendo.ocnk.net/product/90
186デフォルトの名無しさん:2005/12/16(金) 08:58:43
その弁当箱とやらを改造して
フラッシュメモリとダウンローダを乗せとく
187デフォルトの名無しさん:2005/12/17(土) 00:17:45
>>183
昨今、そういったマルチIOのLSIはなくなっちまってるだろ
別にLSI載せるよりIOてんこ盛りのCPUを選択したほうが安いし
188178:2005/12/17(土) 04:53:02
>>186 改造、というか作り直すときはROM周りだけじゃなくCPUから全部になると思います。
8251を4CH-->uartが4CH載ってるH8(下位シリーズ)はないので、3CHは内臓、あと1CHは
タイマで作るというのを客に提案してあります。わざわざ基盤起こすほどのシロモノでもないので
8085が秋葉で買える間は今の基盤でいくみたいです。
189デフォルトの名無しさん:2005/12/29(木) 19:21:28
このスレマジなだけに年末居なくなるのも早いなあ。雑談の一つも出ずにパタッと無人になる
190デフォルトの名無しさん:2005/12/30(金) 17:23:00
何が言いたいのかわからん。
191デフォルトの名無しさん:2006/01/04(水) 18:03:34
>>189
>>190
言わんとしていることだけはなんとか読み取れる

みんなネタが豊富なマ板の組み込みスレに行っちまったんじゃないか?
ネタスレがすっかりマトモなスレになっちまってる(w
192デフォルトの名無しさん:2006/01/05(木) 06:49:47
でもこっちの方が質問にマジレスしてくれるから頼りになります。
193デフォルトの名無しさん:2006/01/15(日) 01:10:20
はじめまして。質問させてください。
この度、タスクを担当することになったのですが、例えばタスクAが割込み信号を受けて
処理を開始しますが、プログラムの処理中に別の割込みを受けた場合はどうなるのでしょう?
その処理が中断されて新たな割込みの処理に走ってしまうのでしょうか?
それともプライオリティにより、処理が終わるまで割込みが待たされたりするのでしょうか?
194デフォルトの名無しさん:2006/01/15(日) 01:16:10
さーて、OSはなんだね
195193:2006/01/15(日) 01:17:44
失礼しました。OSはiTRONっす
196デフォルトの名無しさん:2006/01/15(日) 01:28:12
>タスクAが割込み信号を受けて処理を開始
うーん、まぁいいや。

以下、割り込みを禁止していない状態での話ね。
あと細かい話も省略。

>プログラムの処理中に別の割込みを受けた場合はどうなるのでしょう? 
>その処理が中断されて新たな割込みの処理に走ってしまうのでしょうか? 

うん。プログラムというか、タスクの実行中なら割込み処理するよ。


>それともプライオリティにより、処理が終わるまで割込みが待たされたりするのでしょうか? 
タスク実行中なら割込まれちゃうね。
197193:2006/01/15(日) 01:42:13
>>196
レスありがとうございます

> >プログラムの処理中に別の割込みを受けた場合はどうなるのでしょう?
> >その処理が中断されて新たな割込みの処理に走ってしまうのでしょうか?
> うん。プログラムというか、タスクの実行中なら割込み処理するよ。
やはりそれまでの処理は途中で中断されてしまうのですね。

> >それともプライオリティにより、処理が終わるまで割込みが待たされたりするのでしょうか?
> タスク実行中なら割込まれちゃうね。
つまり、処理に割込まれないようにするために割込み禁止にするって事ですか?

ちなみに、やろうとしていることは、USB接続された他のPCのソフトから文字列が送られ、
その文字列毎に処理を行うものなんです。
"ABC"と叩かれたらAの処理"DEF"と叩かれたらまた別の処理をするみたいな。
ここで"ABC"の処理中に"DEF"の文字列を受け取ってしまった場合を考えていました。

行うものです。
198193:2006/01/15(日) 01:44:23
>>197
> 行うものです。 ←ミスです^-^;

単純に割込みを禁止にしてしまうと他の割込み処理に影響しないかなぁ、など
馬鹿な頭で思ってしまったのです。

199デフォルトの名無しさん:2006/01/15(日) 01:56:05
>>197
割込みはタスクより優先されて動くよ。

1.タスクはOSの同期オブジェクト待ちになって受信データを待つ。
2.割込み側はOSの同期オブジェクトをシグナル状態にしてタスクの待ち状態を解除して割込み処理を終了する。
3.タスクはOSによって待ちを解除されて受信したデータを取得して処理する
4.タスクは再び受信データ待ちになる。

って感じで同期するんではないかと。
同期オブジェクトについては先輩に聞いて下され。
たぶんそこが分かれば一歩前進できたといえるかと。

貴方の言うとおり、割込み禁止は他の割込みにも影響するよ。
タスク部を書く人はなるべく割込み禁止を使わないか、その期間が短くなるようなコードを
書くことを求められるだろうね。
200デフォルトの名無しさん:2006/01/15(日) 01:57:28
普通は、
割り込み処理では、送られて来た文字列をバッファに溜め込んで、
通常処理では、バッファに溜まった文字列を解析&実行させる。

ってえのが常識ってもんだ。
割り込みを禁止にするなんて、論外。
割り込み処理を使う意味が無い。
201193:2006/01/15(日) 02:06:18
>>199
レスありがとうございます。
同期オブジェクトですか。初めて聞いた言葉なので後で調べてみるっす!
割込み禁止の処理を使う事があったら、ご指摘の点について注意してコーディングします。

>>200
レスありがとうございます。
仰る通りですね。イメージとしては文字列をバッファに溜めて・・だと思うのですが
(まだソースコードをみていないので)、文字列をバッファに詰め込む前に、更に割込みが
あがって来てしまった場合とかを考えてしまうのです。
202デフォルトの名無しさん:2006/01/15(日) 02:15:03
>>201
文字が送られて来る時間の間隔を計算してみれば? よっぽどマヌケなコードでも書かない限り、バッファメモリに書き出す処理が終了する方が早いでしょ?
203デフォルトの名無しさん:2006/01/15(日) 02:21:31
>>202
すげーw
204デフォルトの名無しさん:2006/01/15(日) 03:37:58
>>201
> 文字列をバッファに詰め込む前に、更に割込みが
> あがって来てしまった場合

そういう場合のために割り込み禁止という機能があるのよ。
割り込みハンドラ(){
 割り込み禁止
 受信データを蓄積用のバッファにコピー
 割り込み許可
 必要があれば受信フラグを立てたり、タスクを起こしたり
}
当然、割り込み禁止区間は極力短くしないとシステム全体に影響が及ぶ。

>>202のような、受信間隔なんていう不確定なものをあてにするのは、
不可解なバグの要因になるので、普通はしない。
205デフォルトの名無しさん:2006/01/15(日) 03:44:58
>>204
おいおい、ハーウェアの通信性能以上に短い間隔にはならないんだよ?
確実に数値で計算出来る値だろうがw
206デフォルトの名無しさん:2006/01/15(日) 03:45:40
ハードウェアだな・・・タイプミスしちまったw
207デフォルトの名無しさん:2006/01/15(日) 03:47:33
つうか、ハードウェア割り込みに関係する所を作るのに、ハードウェアの性能とか動作タイミング計算しないでどうするの?
208デフォルトの名無しさん:2006/01/15(日) 03:49:06
なんかよく分らないから割り込み禁止にしちゃおう って方が問題だな。
209デフォルトの名無しさん:2006/01/15(日) 04:06:22
まあ、脳あるOS(CPU)ならハードウェア割り込みには、要求される動作速度や重要度に沿ったプライオリティーが付いてるからな。
210デフォルトの名無しさん:2006/01/15(日) 04:10:29
>>202
そのネタ面白いね
211デフォルトの名無しさん:2006/01/15(日) 04:11:44
>>209
ネタ?
212デフォルトの名無しさん:2006/01/15(日) 04:12:49
>>205
ノイズの可能性は無視?
213デフォルトの名無しさん:2006/01/15(日) 04:13:36
>>205
通信以外の割り込みは無視?
214デフォルトの名無しさん:2006/01/15(日) 04:14:01
>>205

多重割り込みなんか関係無いよなw

もっと続けてー
215デフォルトの名無しさん:2006/01/15(日) 04:16:05
>>208
割込みマスクの必要性をよく分かってないのは誰ですか?
216デフォルトの名無しさん:2006/01/15(日) 04:20:44
他の割り込みが処理に要する時間と、通信割り込み内で要する処理時間を合計しても、次の通信割り込みには間に合うんだよ。
つうか、そう作る。
217デフォルトの名無しさん:2006/01/15(日) 04:23:16
イタタタ
218デフォルトの名無しさん:2006/01/15(日) 04:24:45
要は、割り込み処理内でダラダラと処理させないって事だな。
219デフォルトの名無しさん:2006/01/15(日) 04:25:39
>>207>>216
そういう作り方自体は制御系としては別に間違ってないよ。
OSもないような小規模で、かつ、ハードが確実に特定できるターゲットならね。

>>193のターゲットはiTRONと言ってるんだが、
それでもそんな作り方を薦めるつもりなの?
220デフォルトの名無しさん:2006/01/15(日) 04:28:03
>>219
OSが何であれ、そうしないと通信データ取りこぼすよ?
221デフォルトの名無しさん:2006/01/15(日) 04:28:33
まーOSの無い小規模なシステムならそれでもいいんじゃね?

だがOS載せてる環境でタイミング依存するコードなど書くのは愚かだね
222デフォルトの名無しさん:2006/01/15(日) 04:30:42
>>220
何のために受信バッファだのフロー制御だのがあるの?
223デフォルトの名無しさん:2006/01/15(日) 04:32:14
ちょっとまて、
信号って言うのはハードウェア割り込みの事じゃないのか?
だから、ハードウェア限定されてる話じゃないのか??
つうか、普通ならドライバーがやってる仕事を書いてるだけなんだが???
224デフォルトの名無しさん:2006/01/15(日) 04:32:48
ハードの動作タイミングなんかに依存してるほうがよっぽどヤバいだろ
225デフォルトの名無しさん:2006/01/15(日) 04:33:30
>>222
だから、受信バッファに貯める処理自体の話をしてるし、フロー制御もありだよ?
226デフォルトの名無しさん:2006/01/15(日) 04:33:51
>>223
……。
>>197を読み直したら?
227デフォルトの名無しさん:2006/01/15(日) 04:34:40
OS載っているのにタイミング「だけ」で何とかしようという輩がいるとは…
228デフォルトの名無しさん:2006/01/15(日) 04:36:46
割り込み処理内ではバッファに貯めるだけとか極力少ない最低限の処理をして、もうひとつの処理でゆっくり実装するって話の。
特に、クリティカルな方の話なのになぁ・・・。
229デフォルトの名無しさん:2006/01/15(日) 04:39:11
なあ、普通は、通信割り込み内ではバッファに書き込むとか、ハードウェア制御だけとかするんだろ?
この部分はどんなOS乗ってようが、ハードウェア依存だし、タイミングの話からは逃れられないだろ。
230デフォルトの名無しさん:2006/01/15(日) 04:44:34
そんなもんは必要条件

なぜか割込み不要と言い切っているところがワロス
231デフォルトの名無しさん:2006/01/15(日) 04:45:36
おまえら、割り込み処理内で"ABC"や"DEF"の解析まで全部やる気だった? バカだろ?
232デフォルトの名無しさん:2006/01/15(日) 04:46:22
バカが湧きました
233デフォルトの名無しさん:2006/01/15(日) 04:47:58
>>230
割り込み不要?
そんな読解力無い奴相手だったのか??
234デフォルトの名無しさん:2006/01/15(日) 04:49:33
>なんかよく分らないから割り込み禁止にしちゃおう って方が問題だな。 

おーい名無しばかりでよくわからんが、これ言った奴なんか言えよw
235デフォルトの名無しさん:2006/01/15(日) 04:50:13
>>233
喪前さん以外(多分漏れ以外に2人くらいいそうだが)はそう読んでるぞ。
書き方の問題じゃないか?
236デフォルトの名無しさん:2006/01/15(日) 04:52:05
読解力ではなく書き手のry
237デフォルトの名無しさん:2006/01/15(日) 04:54:42
>>234
俺のf読解力ではその一言を書いた奴が
一番分かってないように見えるね。
238デフォルトの名無しさん:2006/01/15(日) 04:55:40
>>234
俺だ。
処理自体を吟味もせず、割り込み禁止すれば解決! みたいな考えは、危険だろ。
何故禁止にするのか、禁止期間は他の割り込みに影響が出ないか吟味した上で、最小限度の禁止区域を設ける。
そういうプロセスで考えないと、割り込み内で解析までやって頭から最後まで禁止にされちゃあ、かなわん。
239デフォルトの名無しさん:2006/01/15(日) 04:56:50
うh
240デフォルトの名無しさん:2006/01/15(日) 05:00:05
おーい、>>200 に書いた奴も出て来いよ
241デフォルトの名無しさん:2006/01/15(日) 05:00:52
割り込みハンドラではデータコピー処理だけして、解析はタスク側だけでやる、
という前提の上で、割り込みハンドラと割り込み禁止の問題を話してる
・・・んじゃないのか?
242デフォルトの名無しさん:2006/01/15(日) 05:02:09
>>240
200も割り込み禁止にすればどんな長い処理でも出来るって思ってる節がある事への反論じゃね?
243デフォルトの名無しさん:2006/01/15(日) 05:09:30
>>242
そう読める?

反論ということならば、>>199に対してだろうが
>>199が「割り込み禁止にすればどんな長い処理でも出来るって思ってる」節がある
ようには見えないんだが。
244デフォルトの名無しさん:2006/01/15(日) 05:11:02
>>242
>>200は「タスクで割り込み禁止するなんて論外」と言ってるだけで、
冒頭で「解析は通常処理(タスク)で」とも言ってるから、
そういう風には思ってなさそうだが。
245デフォルトの名無しさん:2006/01/15(日) 05:12:46
>>243
>>199じゃなくて、元発言に対してだろ?
246デフォルトの名無しさん:2006/01/15(日) 05:13:26
>>200書いた奴でてこないのか〜
247デフォルトの名無しさん:2006/01/15(日) 05:17:20
>>245
あー、そっちが自然だね
レス先書かない奴がいるとワケワカラン
248デフォルトの名無しさん:2006/01/15(日) 05:22:10
まあ、>>200が言葉足らずだった事は認める。
誰に対して言ってるのかは、勘違いしないでくれよ。
>>199>>200は1分23秒差だ。
少し考える時間を含めれば、到底無理だ。
249デフォルトの名無しさん:2006/01/15(日) 05:22:24
普通とか常識とか使って断言口調で書く奴と話がしたかったなぁw

寝る!
250デフォルトの名無しさん:2006/01/15(日) 05:28:19
>>249
多分、2人だけだったんじゃねえの? ここにいたの。
251デフォルトの名無しさん:2006/01/15(日) 05:30:58
俺も寝ますよ?
252デフォルトの名無しさん:2006/01/15(日) 05:31:42
いや、見てはいたが余りにアホ臭いので放置しておいた。
253デフォルトの名無しさん:2006/01/15(日) 05:33:23
おまいら、分身の術上手いですね?
254デフォルトの名無しさん:2006/01/15(日) 05:37:35
ネタはさておいて久しぶりに盛り上がったな
255デフォルトの名無しさん:2006/01/15(日) 05:40:40
ですなぁ

ム板でもこのスレはやや年齢高いのか、荒れそうで荒れないような
256デフォルトの名無しさん:2006/01/15(日) 08:39:52
まあ、みんな新人の同じようなミスと教育に疲れきっていますから。
新人のレベルによって、
 「判らんのなら割り込み禁止しろ!」といってみたり
 「判らんからといって割り込み禁止するな!」と言ってみたり
257名無し募集中。。。:2006/01/15(日) 10:07:20
あれ?祭りだった?
258デフォルトの名無しさん:2006/01/15(日) 13:02:26
これで「荒れてない」って感覚は相当ヤバいというか麻痺してると思うけどね。
海外の掲示板よく覗くが、こういう技術系の内容の板で
こんな幼稚なやり取りをやってるところは見たことがない。

正直、いい歳した大人がこんな幼稚なことやってる国の将来が明るいはずがないと思う。
将来っていうか今でも十分ダメだけどね。
259デフォルトの名無しさん:2006/01/15(日) 13:50:07
あれてないよ
260デフォルトの名無しさん:2006/01/15(日) 13:52:14
ここは2ちゃんだということを忘れてるなw
261デフォルトの名無しさん:2006/01/15(日) 14:04:19
幼稚だね本当。
赤信号みんなで渡れば怖くない、と。

なるほど、日本人を海に飛び込ませるには「もうみんな飛び込みましたよ」と
言ってやればいいわけだw

ここがどこか、ではなく、どこであろうと自分自身が何をするがが問題だろうが。
こういう劣等民族は滅ればいいと思うね。
262デフォルトの名無しさん:2006/01/15(日) 14:12:57
そういうおまいは、ここが2ちゃんであろうとなかろうと、
そういう煽り文章を書くんだなwwww
263デフォルトの名無しさん:2006/01/15(日) 14:29:08
制御系やってる人って頭いいよね
264デフォルトの名無しさん:2006/01/15(日) 15:24:04
結論見えてから吠えてる方がいますね
265デフォルトの名無しさん:2006/01/15(日) 18:57:41
組込み系の参考書でよいものがあったら教えてください。
イケメン技術者の方々
266俺も含めて大漁だな、オイ。(w:2006/01/15(日) 22:05:51
>>265
一言で制御系といっても範囲が広いから、どういう方面か
ぐらい書いてね。
方面が良くわからんと言うレベルなら、とりあえず「イン
ターフェース」とかの雑誌を買って読んでみそ。
267デフォルトの名無しさん:2006/01/15(日) 22:39:48
>>266
アリガト!(´▽`)イケメン技術者!!
268デフォルトの名無しさん:2006/01/19(木) 00:01:04
タスクの処理で

while(1)

 なんか信号を受け取る関数

 受け取った信号毎にswitchで処理
 case A:
  mallocする
  なんか処理
  freeする
  break;
 case そのた信号毎の処理:
  break;


みたいな処理をみかけたのですが、この場合ってmallocしてfreeするまでに割込みが
入ってきた場合、ヒープをfreeできない恐れがありますよね?
269デフォルトの名無しさん:2006/01/19(木) 00:07:34
なんでですか?
270デフォルトの名無しさん:2006/01/19(木) 00:21:54
恐ろしい処理してるなおい。

メイン処理がまさにmallocの最中に、割り込み内でmalloc呼び出しするのかよ!!!!!!!!!
271デフォルトの名無しさん:2006/01/19(木) 00:51:32
>>268
OSは?

一般的な定義の上でなら、
タスクの処理フローに割り込みは影響を与えないから
free()できないなんてことにはならない。

割り込まれたらいきなり「なんか信号を受け取る関数」に
処理が飛んでいくようなOSであれば、そういうこともあるかもね。
272デフォルトの名無しさん:2006/01/19(木) 00:58:54
>>271
OSはよくわかんねス。一昨日から客先なもので。
携帯なんですけど。

割込みとかシグナル?とかよく分からんのですけど、なんか良い書籍ありますかね?
制御系ってムズイっす。
273デフォルトの名無しさん:2006/01/19(木) 01:20:33
再入可能か不可かって話か?
274デフォルトの名無しさん:2006/01/19(木) 01:38:20
>>272
携帯だとiTRONか、malloc()とかもろにあるならRTLinuxとかかな。
とりあえず、もすこし知識付けないと、そもそも仕事にならんべ。

制御系の本はふつーのパソコン向けのコーナーよりも、
電子・電気系の棚にある可能性高いからそのへんをチェック。
275デフォルトの名無しさん:2006/01/19(木) 01:38:40
>>268
>入ってきた場合、ヒープをfreeできない恐れがありますよね?
なんでそう思うの?

"なんか信号を受け取る関数”の箇所で割り込みをチェックしてるみたいだから
リエントラントにならないから大丈夫じゃねーの?




と、詳細も知らないくせに答えてみるテスト。
276デフォルトの名無しさん:2006/01/19(木) 01:54:42
>>273
初めて聞いた言葉でよく分からないス。。

>>274
ありがとございやす。もうちと知識つけたいです。
本屋にあるかどうか。。かなり田舎なので(´Д⊂

>>275
割込みが入るとそちらが優先され処理が中断されると聞いて、
mallocしてからfreeするまでに割込みが上がったらそこで処理が中断される??
と思ったッス。。。
277デフォルトの名無しさん:2006/01/19(木) 02:03:01
今思ったッス。。割込みで処理が中断っていうのはもしかしてCPU割り当てが割込み処理
へと移ったって事なんすか、、?

ワカンネ!!ムッキーヽ(`Д´)ノ

制御系の人達はマジ尊敬します(´Д⊂
278デフォルトの名無しさん:2006/01/19(木) 02:52:38
>>277
タスクの処理    OSの処理        割り込み処理
-------------+------------------+------------------
タスク動作中
   ↓
割り込み発生 →タスクの状態を保存→割り込み処理開始
                             ↓
タスク動作再開←タスクの状態に戻す←割り込み処理終了
   ↓
タスク終了

制御系に限らず、マルチタスクOSの一般的な動作。
割り込みを契機に、タスクの状態を保存・復帰するのがミソ。
複数のタスク動作の切り替えも基本的には同じこと。
279デフォルトの名無しさん:2006/01/19(木) 06:44:03
割り込みによって中断(と言っていいかどうか微妙)された方のタスクは
通常は割り込まれたことに気付かないという認識であってますか?
280デフォルトの名無しさん:2006/01/19(木) 07:09:48
時計見て時間が経ってたら気づくでしょうよ。

気づく気づかないじゃなくて、
割り込まれる前の場所にちゃんと帰ってくるってこと。
281デフォルトの名無しさん:2006/01/19(木) 12:38:36
割り込みが難しいと思ったことはないなあ。
まあアセンブラでコード書けるようなすごい単純な機械しか扱ってないからだろうけど。

.NETとかのマルチスレッドのコードの方がよほど難しく感じる。
なんていうか、最終的な実際の動作の具体的なイメージがつかみにくいっていう
抽象化の暗黒面が効いてくる感じがする。
282デフォルトの名無しさん:2006/01/19(木) 23:06:51
>>281
非リアルタイム環境だとスケジューリングが決定的じゃないから
目的の現象が必ずしも発生するとは限らないしね。
283デフォルトの名無しさん:2006/01/20(金) 00:07:02
>>278-282
ありがとうございます。なんとなく分かってきたっス。
例えば、タスク内でいじっているバッファなんかを、割込み処理内で
いじったりするのは良くないっすね?
284デフォルトの名無しさん:2006/01/20(金) 00:21:03
>>283
ヒント: 排他制御
285デフォルトの名無しさん:2006/01/20(金) 05:02:14
>>283 タスクと割り込みとでは共通の変数は極力持たないようにするのが一般的。
どうしても必要な場合は、タスク側が最小限の時間に限って割り込み禁止を使う。

典型的な例ね:受信文字カウンタnを、受信割込み処理で++、タスクが受信文字を取り出したら
--する、なんて状況で、タスクがn--するときに割込みが起きたとする。
n--ってのはreg<--n, reg--, reg-->nという機械語になるが、この2つのカンマのところで
割り込むと、レジスタ保存、割込み処理でreg<--n, reg++, reg-->nして、割り込んだ所へ戻る。
その後3番目のreg-->nが実行されると、割り込みで++した結果が失われる。これを避ける為に
タスク側は、割り込み禁止;n--;割込み許可;のように書く。この位なら待たせても割り込み
処理の遅れは許容できる。あまり長い処理を割り込み禁止で実行したりするのは顰蹙もの。
=割込み処理というのは、例えば9.6Kbpsの受信なら1mS以上遅れてはならないとかの
物理的制約があるのがふつうだから。
286デフォルトの名無しさん:2006/01/20(金) 08:31:04
32bitCPUで64bitの共有変数をタスク側で読み込み中に割り込み、
割り込み側が++してたまたま下位32bitが0で上位32bitに繰り上がり。
タスク側の読み取り値が出鱈目になると。

BIGendianかLITTLEendianかで変わってくるが。
287デフォルトの名無しさん:2006/01/23(月) 01:14:30
>>285-286
レスありがとうございます!

ちょっと難しいっすね。ソース上1つの処理に見えても
アセンブラでは複数の処理なんすね。
reg<--n, reg--, reg-->nとか32bitCPUで64bitの共有変数
の話はまだ勉強不足で分からないですが(´Д⊂
288デフォルトの名無しさん:2006/01/23(月) 01:28:29
アセンブラわからないで割り込み制御のコード書くなよw
289デフォルトの名無しさん:2006/01/23(月) 01:40:26
>>288
それが、まだ書いたことないんすよ・・・
今回初めてやることになったんですがプレッシャーです。。
290デフォルトの名無しさん:2006/01/23(月) 01:48:05
>>289
新人さんでつか?
291デフォルトの名無しさん:2006/01/23(月) 08:58:49
>>289 cで書いてもオブジェクトコードリストは必ず取ってね。それを見るとずいぶん勉強になるよ。
292デフォルトの名無しさん:2006/01/23(月) 22:40:12
最近の最適化コンパイラは、(初心者には) あっと驚
くような最適化する時があるから、オブジェクトコー
ドリスト (*.cod のことだよね。) みる時は、最適
化を抑止しておいた方がいいかも。
293デフォルトの名無しさん:2006/01/24(火) 01:51:05
リリース版のオブジェクトコードリスト見ないでどうするよ?
最後にゃあそこが勝負の分かれ目になる事もあるからなぁ。
294デフォルトの名無しさん:2006/01/24(火) 05:22:23
ARMプロセッサだと、
演算やロードと同時にビットシフトとか、
命令ごとに条件実行やフラグアップデートの有無を指定できるから、
コンパイラやコンパイルの条件によって、だいぶ出力されるコードちがうよね
条件実行命令多用して、実行時間が常に一定で最適化するか、
普通に分岐を使うかわりに、条件によっては実行速度が最速になる方をとるか、
コードサイズをとるか・・・
295デフォルトの名無しさん:2006/01/24(火) 06:50:49
割り込みの話じゃなかったの?
>>293
俺はさぁ、最適化したオブジェクトコードでも見れるんだせぃ。

って言う自慢か?
297デフォルトの名無しさん:2006/01/24(火) 23:04:56
そんなの自慢にもなってないから違うだろ。
298デフォルトの名無しさん:2006/01/24(火) 23:41:26
そうか、なんとなく二行目が得意げに見えたから
そう思ったけど、違うのか。

じゃ、まったく意味不明だな。
299デフォルトの名無しさん:2006/01/25(水) 01:07:15
>>298
リリース版で出るバグがあった場合、コンパイルスイッチ変えて追っかけてもデバッグの意味が合いって事だろ?
300デフォルトの名無しさん:2006/01/25(水) 03:23:34
>>299
あとまあ再現性がなく、お客さんのとこで一ヶ月に一回あるかないかのクラッシュで手がかりは
レジスタダンプとスタックトレースだけとか。
301デフォルトの名無しさん:2006/01/25(水) 08:12:02
まあそういうケースでは別の場所に原因があって参考にならないのな。
メモリダンプのが有効だがセキュリティ上問題ある死ね。
302デフォルトの名無しさん:2006/01/25(水) 09:27:44
うちの会社では、
最適化かけると問題が起こるからと言って、
最適化せずに外に出しちゃってるyp!・・・orz
303デフォルトの名無しさん:2006/01/25(水) 09:32:17
普通最適化かけないけど?
304デフォルトの名無しさん:2006/01/25(水) 16:14:07
チャレンジャーな俺は最適化レベル最高にして、外に出した。
305デフォルトの名無しさん:2006/01/25(水) 19:51:05
>>290さん
まったくの新人ではないっす。

>>291-292さん
ありがとうございます。色々勉強になります。
今までレス下さった方々にも感謝m(_ _)m
306デフォルトの名無しさん:2006/01/26(木) 18:23:37
最適化レベル最高にしないとROMに入りきらない漏れは激ヤバです。
仕様追加きたらもうだめポ。
307デフォルトの名無しさん:2006/01/27(金) 00:46:49
>>306
それは何か間違ってる。
308デフォルトの名無しさん:2006/01/27(金) 06:48:43
ASMで書けば半分になるぞ。
309デフォルトの名無しさん:2006/01/27(金) 06:50:50
>>306
圧縮して起動時にRAMに展開する。 
310デフォルトの名無しさん:2006/01/27(金) 08:13:51
RISC アセンブラ手書きは割り込みハンドラでやって器が狂いそうだったのでもうイヤっす。
ROM256KiB/RAM12KiB のワンチップdeどうやって...
311デフォルトの名無しさん:2006/01/27(金) 08:30:02
>>310
データシートですら、ほとんどが KB = 1024 で書かれてるのに、
律儀に KiB 使ってるやつ初めて見た
312デフォルトの名無しさん:2006/01/27(金) 18:03:32
その辺にもジェネレーションギャップ感じるなあ。
俺なんかASMでコンパイラぶちのめすのが快感なんだが。 KiBって10のn乗表現なの?
313デフォルトの名無しさん:2006/01/27(金) 20:00:39
riscって書いてるのが老眼で読めないのかな
いや老眼じゃなくて痴呆症かもしれないが
314デフォルトの名無しさん:2006/01/27(金) 20:45:47
シグナルってナニ?タスクにどばっとシグナルがくるとどうなる?
315デフォルトの名無しさん:2006/01/28(土) 00:32:54
単独のk,m,gは他の単位系にならって10^n。
Ki,Mi,Giを新設して2^nに割り振ることにしよう、という話がどこかで出ていた。
316デフォルトの名無しさん:2006/01/28(土) 01:03:34
どっかに、ってそんなのPCのHDDのスペック表示の問題以外で聞いたことないけど
317デフォルトの名無しさん:2006/01/28(土) 01:06:01
メガバイトの時代ならそうそう表記の違いによる混乱は少ないが、ギガ超の時代、ちょっとのけぞるほどの差があるからなぁ・・・
318デフォルトの名無しさん:2006/01/28(土) 02:48:49
1Ki=1024=1K+24
1Mi=1048576=1M+48K+576
1Gi=1073741824=1G+73M+741K+824
1Ti=1099511627776=1T+99G+511M+627K+776

うーむ、確かに1Tiとなると1割近くも違うのか。
つーか、99G……
319デフォルトの名無しさん:2006/01/28(土) 09:17:33
MLで書いた制御系のプログラムを教えて
320デフォルトの名無しさん:2006/01/28(土) 11:36:24
>>319
何が知りたいのかはっきり言えよ。
具体的な何かの制御のアルゴリズムが知りたいのか、実装を見たいのか。
具体的でなければスルーされるぞ。
321デフォルトの名無しさん:2006/01/28(土) 12:01:51
技術系メーリングリストでプログラムを書いたことがありますか?
322デフォルトの名無しさん:2006/01/28(土) 12:39:05
MLってひょっとしてMachine Language?
323デフォルトの名無しさん:2006/01/28(土) 12:42:01
MLで書かれた制御系のプログラムで
1:実際に使われているもの
2:プロトタイプでも公開されているもの
3:こんなの作ってみましたみたいなもの
どれでもいいのでみせてください、
MLだとやっぱり作りにくいんですか?
もしそうだとしたら、どういう部分で作りにくくなるのですか?
そういうことが知りたいです。
Cとか使えないので。
324デフォルトの名無しさん:2006/01/28(土) 12:52:00
>>323
I/Oや割り込みなど諸々のハードウェア用の機能が用意されているMLがあったとしたら、
アルゴリズム的にはCでもMLでも同じなので、MLでも十分に作れる。
325デフォルトの名無しさん:2006/01/28(土) 13:04:26
>諸々のハードウェア用の機能
ってたとえばどんな機能なのでしょうか、
組み込みとかあまり詳しくないので。

あと、制御系のアルゴリズムってどんなものが多いのでしょうか。
関数ですきっとかけないのもが多いとか.あるんですか?
326デフォルトの名無しさん:2006/01/28(土) 13:05:17
マシン語っていわないとオジサンわかんないよ
327ごめん:2006/01/28(土) 13:05:22
あ、I/Oや割り込みなどがハードウエア用の機能ってことか。
328デフォルトの名無しさん:2006/01/28(土) 13:05:45
まず「ML」が何かを定義する必要があるとは思うが、
いずれにしても>>319とは仕事したくないな。
329デフォルトの名無しさん:2006/01/28(土) 13:07:15
MLはI/Oの機能はあるけど、
ハードウエア割り込みの機能ってなんですか?
システムコールを発動させるプリミティブみたいなものですか?
330デフォルトの名無しさん:2006/01/28(土) 13:08:19
MLは Meta LanguageのMLです。
331デフォルトの名無しさん:2006/01/28(土) 13:09:17
>>328
確かにね。MLはMeta Languageの略だと思う。
SMLの仕様に乗っ取るのが正しいと思うけど、そこまで正確にする必要もないと思う。
何しろ、制御系なんだから。
332デフォルトの名無しさん:2006/01/28(土) 13:11:36
>>319
>MLで書いた制御系のプログラムを教えて

(マイナーなプロセッサの)エミュレータとかなら、
腐るほどありそうだがな。
333デフォルトの名無しさん:2006/01/28(土) 19:57:29
エミュレータというだけなら制御系じゃないだろ?
334デフォルトの名無しさん:2006/01/28(土) 22:03:02
制御系の人にお願い!!
重力制御ユニットを作ってください!!!!!!!!!!!!!!
あと姿勢制御ユニットも
335デフォルトの名無しさん:2006/01/28(土) 22:18:06
なんかエンジンの制御器とエンジン本体の区別がついてない奴がいるなw
っていうか、ここはウンモ星じゃないんだがw
336デフォルトの名無しさん:2006/01/30(月) 01:19:21
割込みとシグナルってナニが違うんでっしょう?
337デフォルトの名無しさん:2006/01/30(月) 01:31:22
>>336
シグナルはスケジューラが処理する
割り込みはマジで割り込む

ってのが建前だったと思う
338デフォルトの名無しさん:2006/01/30(月) 04:28:15
割り込みだって何レベルもあって、優先度によるスケジューリングはされるから、
スケジューラに相当するものがハードかソフトか、って考えればいいんじゃない?
339デフォルトの名無しさん:2006/01/30(月) 04:47:58
シグナルってUNIXのアレの話?
340デフォルトの名無しさん:2006/01/30(月) 06:15:16
割り込みの優先度なんて
 割り込み中に別の割り込みを許可するかどうか程度
 CPUによっては単に割り込み禁止中に同時に割り込みがあった時にどっちを先に実行するか程度の事もあるし

 スケジュールというほどじゃないかもな
341デフォルトの名無しさん:2006/01/30(月) 12:21:24
>>315
新設、っていつの話だと(ry
ttp://physics.nist.gov/cuu/Units/binary.html
まあ、誰も使っちゃいないけどな。
342デフォルトの名無しさん:2006/01/31(火) 15:48:50
>>315-318

1,000換算と1,024換算が混在するコンピュータの世界
http://pc.watch.impress.co.jp/docs/2003/0922/it010.htm

昔話ですが...
343デフォルトの名無しさん:2006/01/31(火) 17:50:20
>>342
その記事書いた奴、昔はHDDもベンダによって
バラバラだったという事も知らないのか…
通信速度 [bps] も 10進数ベースだし
16進ベースなのはメモリと OS 上の表記だけだと言うのに。
344デフォルトの名無しさん:2006/02/01(水) 04:46:06
ちょっと質問させてください

ノートパソコンでデータロガーのようなものを作って納めました。
RS232Cで機器を接続して監視を行います。
数秒間隔でポーリングして24時間監視しているのですが
この通信ログをHDDに落としています。
このHDDが、1年持たずにクラッシュします。
こういった、用途では市販のPCでは荷が重たいのでしょうかね?
345デフォルトの名無しさん:2006/02/01(水) 06:21:48
設置環境が悪いんだろ。
夏場に灼熱地獄になったり、絶えず振動があったり、埃っぽかったり。
346デフォルトの名無しさん:2006/02/01(水) 07:13:59
HDDの動作保障時間って、2.5インチで5000時間程度じゃなかったっけ?
PCやカーナビなんかだと、5000時間使い切る前に、買い替えるから、それでおkらしい。
で、もちろん、周囲の温度が高いと、どんどん耐久時間は減る。

普通のPC用の3.5インチHDDだと、1万時間以上は持つらしいけど、
(詳しい時間は忘れたので、HDDのメーカーのデータシート探してチェックしたほうがいいが)
それでも、連続動作で保障できるのは、1年とちょっとくらいじゃない?
347デフォルトの名無しさん:2006/02/01(水) 08:26:17
え〜(*o*)俺XPパソコン5年ぐらいつけっぱだったけど・・・こわ〜
そういう使い方するなら、省電力モードになるときにHDDも止めるようにしたほうがいいですか?
348デフォルトの名無しさん:2006/02/01(水) 08:38:49
電波の強さを言うのに、ワットとデシベルとを使うんですけど、どういう違いなんでしょう?
349デフォルトの名無しさん:2006/02/01(水) 09:06:58
>>348
ワット(W)は電力の単位、デシベル(dB)は対数を表す無名単位。
従って、10デシベルの電力と言うのは意味がない表現。
恐らくdBmのことだと思うが、それならば1mW=0dBmだ。
350デフォルトの名無しさん:2006/02/01(水) 09:10:35
現場はアセンブリばっか?
351デフォルトの名無しさん:2006/02/01(水) 09:52:20
>>347
長年つけっぱなしで、ある日一度電源を落とすと、
次に電源を入れてもHDDは二度と目を覚ましませんでした、
という事もある。
352デフォルトの名無しさん:2006/02/01(水) 09:54:02
>>344
すでに検討したのかもしれないが、
フラッシュメモリも考えてみたほうがよいのでは。
353デフォルトの名無しさん:2006/02/01(水) 10:14:18
絶えず書き換えをするならフラッシュの寿命の方が注意が必要だね
354デフォルトの名無しさん:2006/02/01(水) 10:55:37
>>344
HDDに落とす頻度を下げればいいんだよ
普段はHDD止めといて 数秒に1回だったのを
「美しき野獣」でグーグルして最初のページを
メモリにためて10分に1回にまとめれば
寿命は100倍アップだろ
355デフォルトの名無しさん:2006/02/01(水) 11:00:04
>>350
最近はそうとも限らない。C言語がメジャーでしょう。

>>344
基本的にノートパソコンって24時間使いっぱなしは想定してない。
サーバとして設計した据え置き型を検討すべきと思う。
356348:2006/02/01(水) 12:26:59
>>349 そうです、dBmでした。ということは、1mW〜数百Wの電力を表現するのに、対数を
使えば3.0dBm=1ワット、4.0dBm=10ワット、みたいに表現するわけですね。
あ、基底は10でいいですか?
357デフォルトの名無しさん:2006/02/01(水) 18:00:07
>>353
んだな。
通常のNAND型フラッシュの書き換え寿命が50万回
1分1回の書き込みだと、1年で525,600回
上書きは無理だし、追加書き込みでも、
FATやサイズなんかは更新されるだろうから、
1時間に1回まとめて書き出すとかにしないと辛いね
358デフォルトの名無しさん:2006/02/01(水) 18:56:40
>>356
ググればわかると思うんだけど。。
この世界(に限らないけど)、問題解決能力のない人間そのものが「問題」だよ。

っていうか、>>349の説明が悪いと思うんだけど
電気の世界でデシベルっていったらエネルギーの次元の値の比の常用対数を10倍した
値のことだよ。
359デフォルトの名無しさん:2006/02/01(水) 23:40:55
>>344
重たいです

>>348
つまり、こういうこと
 P[dBm]=10*log(E[mW]/1[mW])
電力を1mWに対する比で表現した値
底はTextでは書き辛いのでこの場合のlogは常用対数と思ってくれ

なので、1W=30dBm, 10W=40dBm
 でもdBmはmW単位の世界じゃないと便利でもないので
あまり使わんと思う

360デフォルトの名無しさん:2006/02/01(水) 23:57:55
誤解を招かないように記述することが要求される一方で
誤解の無いように注意して理解することも要求される。

『両方』やらなくっちゃあならないってのが
361348:2006/02/02(木) 06:13:02
>>359 ありがとうございます。パラボラのアッティネータに7bitでdBm単位で出すってのを
よくやるんですよね。短波のほうだとワットが多いんですけど。
球面状にまきちらすのと違って、指向性の装置だと小さな電力でいいんですね。
362デフォルトの名無しさん:2006/02/02(木) 08:02:38
>>344
ノートパソコンで蓋をしめたまま運用していませんか?
自分の経験では、蓋をしめたままだと、
熱が篭ってHDDの寿命が短くなるようです。
蓋をあけてた状態だと、一年以上確実に持つようになりました。
363デフォルトの名無しさん:2006/02/02(木) 23:22:14
フタを開けると負担が軽くなるんだな
364デフォルトの名無しさん:2006/02/03(金) 08:19:33
放熱の問題だよ。
365デフォルトの名無しさん:2006/02/03(金) 08:21:19
蓋を閉めた状態で、スクリーンセイバーが動いてたって落ちなら大笑い。
366デフォルトの名無しさん:2006/02/03(金) 10:51:35
>>362
>ノートパソコンで蓋をしめたまま
それはいくらなんでも非常識というか、想像力が足りないというか…
367デフォルトの名無しさん:2006/02/03(金) 11:57:15
>>366
常識的で想像力がある意見を聞かせて。
ぜひ!!
368デフォルトの名無しさん:2006/02/03(金) 17:45:03
>>367
たこ焼き屋で10個入りパックを買ったんだ
家に帰って開けてみると9個しかない
よく見ると、1つ蓋にくっ付いていたんだ

次の日、家電屋でノートパソコンを買ったんだ
家に帰って開けてみると
369367:2006/02/03(金) 18:02:53
>>368
まさか、キーボードのキーがいくつか無くなっていて、
よく見るとキーが蓋にくっ付いていたのか?
370344:2006/02/04(土) 10:20:44
遅くなりました、ご回答ありがとうございます
>>345
クリーンルームです
>>346
50万時間とかそんなだったように思います
>>362
蓋が関係するのははじめて聞きました、ちょっと検討してみます。
371デフォルトの名無しさん:2006/02/04(土) 15:15:27
ノーパソチョコ販売しました。
372デフォルトの名無しさん:2006/02/04(土) 17:25:03
>>370
50万時間も持つわけ無いだろ
1年=8760時間だから、50年以上だぞw
フラッシュROMの書き換え回数50万回と勘違いしてないか?
373デフォルトの名無しさん:2006/02/04(土) 22:25:11
MTBFはそれくらいあるHDDが多いよ。
統計的なものなので、理想的な環境なら、50台あったら1年に1つづつ
壊れていく、って意味の方が近いけど。
374デフォルトの名無しさん:2006/02/04(土) 23:06:17
MTBFの意味しってるのかなw
375デフォルトの名無しさん:2006/02/06(月) 00:39:50
マウンテン(MT)バイク(B)フォォォォォォォー!!(F)
376デフォルトの名無しさん:2006/02/06(月) 01:51:37
よかった書かなくて

マジでまったく同じこと考えてたけど
こうして他人が書いたのを見ると
アホ丸出しだ
377デフォルトの名無しさん:2006/02/06(月) 13:07:20
Mean Time to Brother Fucker
378デフォルトの名無しさん:2006/02/06(月) 14:39:16
MTBF: Mean Time Between Fools

平均バカ間隔

このスレにバカが現れる平均間隔。
最後に現れたのは、2006/2/4 22:25:11 (>>373)
379344:2006/02/06(月) 17:42:06
少なくとも24時間稼動は考えられていないということみたいですね
では、どう考えたらよいのでしょうね?

MTBFが120万時間のものもあるようですが、その動作条件みたいなものって
なにか、規格があるんでしょうかね?
そして、それを24時間稼動にした場合の計算方法など、
なにか参考になるものがありましたら教えてください
380デフォルトの名無しさん:2006/02/06(月) 19:36:17
>>376
同じ事考えてた時点でアウトだろ(笑
381デフォルトの名無しさん:2006/02/06(月) 19:38:41
いや、そこで踏みとどまれるか、書いてしまうかが、時に人生を大きく左右する事になるのさ。
382デフォルトの名無しさん:2006/02/06(月) 20:33:28
>>379
よく知らないのに偉そうにレスしてみる。
それって統計の問題じゃないの?
ということは、平均値だけじゃ何もいえないと思う。
分散だかなんかの値がわからないとダメでしょう。

それらがわかれば、x時間以内に故障する確率はy%、ってのが計算できるんだったような。。

ゴメンやっぱり若いうちにちゃんと基礎的な学問習得しとかないとダメだなw
383デフォルトの名無しさん:2006/02/06(月) 21:31:39
384デフォルトの名無しさん:2006/02/06(月) 21:34:03
>>379
あと、これもだ。
http://ema.fsr.jp/hdd/hdd.html
385デフォルトの名無しさん:2006/02/07(火) 05:27:30
>>379
それって単発もの?
だとしたら、故障確率で無難なところを見積もっておけばいいのか。
昔、俺がやってたのは量産物で、動作期間を保障しなきゃいけなかったから、
HDDメーカーが保障している5000時間てのを元にしていたんだが・・・。
消耗品として、通常の使用頻度で3年に1度は交換してくれってことにしていた。
386デフォルトの名無しさん:2006/02/08(水) 09:04:53
心配ならRAIDにしとけ
387デフォルトの名無しさん:2006/02/08(水) 11:52:28
今なら USB接続RAIDもあるねノートパソコン買える値段だけど

というか書込時に定期的に外付けUSBにコピーするようにしたら、まあ問題ないんじゃないの?
388デフォルトの名無しさん:2006/02/08(水) 23:28:49
流れぶった切って悪いが、久しぶりに書店で資料漁ってたら
↓なのみつけた。 何号保つと思う?

ttp://www.gihyo.co.jp/magazines/kumikomi
389344:2006/02/09(木) 04:29:55
>>383, >>384
どうもありがとうございます
推定故障率3%とでました。

が、12台中3台が1年以内に壊れました
室温は25℃です。

この「故障率推定」には、稼働率のパラメータがないようですね。

>>386
RAIDなら壊れませんか?
逆に、HDDのユニットの故障率は上がるように思いますが。
390デフォルトの名無しさん:2006/02/09(木) 04:40:38
>>389
室温≠使用温度
使用温度はHDDの周囲温度だから、もっと高いはず
ノートPCを5℃〜40℃に置いたときのHDD周囲の温度を
熱電対でも突っ込んで測ってみるがよろし
長く使ってるとほこりなんかで、放熱効率が悪くなったりするかもよ
391デフォルトの名無しさん:2006/02/09(木) 11:50:17
>>388
LEGO MindStorms買ってからそれ買った
H8で レゴが動くってのが楽しい
仕事してるようには見えないだろうな
MindStormsは秋に新型が出るらしい
392デフォルトの名無しさん:2006/02/09(木) 11:56:02
>>389
RAID-1 複数のHDDでミラーリングして
HDDが故障してもシステムとしては機能するって仕組みです
ノート型PCでは難しいかもしれないけど

現場はHDDなしのシステムにしてネットワーク経由でデータベースに
投げてもいいじゃ?
393344:2006/02/09(木) 13:08:07
>>390
クリーンルームで、室温は一定で、空気は常に循環されていますし
1年でたまるような埃はありません
それでも、HDD自体の温度は上がっているんでしょうね

>>392
もちろんわかります>RAID
確かにデータは壊れないでしょうが、HDDの故障率はあがりますよね
結局、メンテに手間がかかってしまうし、お客から「また壊れたのか」と言われること必至
ログ機能なので、ネットワーク経由にした場合、ネットワークに障害が発生したら、ログが残らないです

すくなくとも、何らかの方法で、HDDのアクセス頻度をさげるしかないようですね
394デフォルトの名無しさん:2006/02/09(木) 13:36:53
>>393
HDDの故障率は変化ないだろうけど、故障件数は増えるね
でも、システムが停止しなければ客は満足だと思うけどなぁ

HDDなしにする場合、フラッシュメモリ等のストレージに
一週間分くらい保存しとけばいいと思う
395344:2006/02/09(木) 15:22:24
>>394
そうですね、HDDの故障率ではなく、システムの故障率が上がる
メンテ頻度は増えるでしょうね
その度に、飛行機でサービスを行かせるのでは、まったく満足しないですねー
なにか、方法を考えてみます
396デフォルトの名無しさん:2006/02/09(木) 16:40:27
>>395
納品先企業の地元で、メンテ要員雇うとか。
地元の高卒の兄ちゃんでも雇えば地元からも感謝されるよ。

つーか、CR内で安定なLANが使えないってどんな糞CRだよ。
397デフォルトの名無しさん:2006/02/09(木) 23:56:11
>>393
結局は「また壊れたのか!、また余計な金がかかる!」
ってのが不満の原因なんだろ?

もう面倒くせーから、小型のデスクトップにして↓でも使っとけ
ttp://www.gigabyte.co.jp/nippon/peripherals-list.html

2台も使えば、OSと定期的なバックアップまでの
データ保持ぐらい出来るだろ
398デフォルトの名無しさん:2006/02/10(金) 00:35:32
>>392
> ノート型PCでは難しいかもしれないけど

市販されてる(されてた?)
http://pr.fujitsu.com/jp/news/2003/12/9.html

>>395
リザーブディクス 10個位つけとけばいいんじゃないか?

つーか、そこまで重要な機器なら定期点検は必須だろ。

「金はかけたくない、でも信頼性は必要だ。」なんて言うわが
ままに付き合ってたらきりないぞ。
399デフォルトの名無しさん:2006/02/14(火) 18:54:58
8ビットマイコン使った簡単なシステムなんかだと、
一定時間ごとにステートマシンの処理ルーチンを呼び出すってことよくやりますよね?
(たとえばシリパラ変換の石にデータをシリアル転送するときなど。)

この場合、呼び出す側の呼称はタイムスライスとかディスパッチャーでいいと思うんですが、
ディスパッチされる側のルーチンってのは一般的な呼び方ってあるんでしょうか?

質問の背景としては、このディスパッチされる側のルーチンに
「それ」とわかるような命名をしたい、ということなんですが。

いまはWin32のWndProcからの連想で「〜Proc」みたいな命名をしてるんですが
どうもやっぱりしっくりこない。
400デフォルトの名無しさん:2006/02/14(火) 22:20:29
Handler?
401デフォルトの名無しさん:2006/02/14(火) 23:27:53
>>399
おまいは関数の名前をいちいち掲示板で聞くのか?
402デフォルトの名無しさん:2006/02/14(火) 23:43:06
クラス名・変数名に迷ったら書き込むスレ。Part6
http://pc8.2ch.net/test/read.cgi/tech/1128266018/
403デフォルトの名無しさん:2006/02/14(火) 23:44:24
>>399
クラス名・変数名に迷ったら書き込むスレ。Part6
http://pc8.2ch.net/test/read.cgi/tech/1128266018/l50

ここで関数名も聞いてみたら?
404デフォルトの名無しさん:2006/02/14(火) 23:49:51
>>403
そこは知っているし何度か回答もさせてもらってもいますが、
こういうジャンルのコーディングをしている人がそんなにいるとも思えない。
405デフォルトの名無しさん:2006/02/14(火) 23:54:49
そんなことでいちいちつっかかることもないでしょ。
ビタミンCが足りてないんじゃない?




カルシウムだっけ?
406デフォルトの名無しさん:2006/02/15(水) 00:09:24
なんのこっちゃ。
まあ俺は君と違って脳は足りてるよ。
まあ言っても無駄だろうけどガキが覗いて楽しいスレじゃないと思うよここは。
407デフォルトの名無しさん:2006/02/15(水) 00:13:40
>>405
ビタミンCは、肌荒れとかにいいんじゃないかな。

カルシウムと言えば、なんとなく白い粉ってイメージだった
けど、所さんの目がテンで純粋なカルシウムをみたら、まん
ま金属だったので、マジで目がテンになっちまった。
408デフォルトの名無しさん:2006/02/15(水) 01:24:55
>>407
当たり前じゃん。もしかして、ナトリウムも粉体を想像してる?
409デフォルトの名無しさん:2006/02/15(水) 07:59:32
普通は炭酸カルシウムとか、塩化カルシウムだ
それはそうと、「白い粉」ってなんかヤバイ雰囲気がするw
410デフォルトの名無しさん:2006/02/15(水) 17:32:21
ハッピーターンの白い粉ことか
411デフォルトの名無しさん:2006/02/15(水) 18:21:24
パウダーポケットにつても言及すべし
412デフォルトの名無しさん:2006/02/15(水) 18:50:27
>>407
中学・高校で何を勉強してきたんだ・・
413デフォルトの名無しさん:2006/02/15(水) 20:53:27
>>412
中高じゃあハッピーターンは授業に出ねえぞ?
そりゃ授業中にも食ってたけど
414デフォルトの名無しさん:2006/02/16(木) 01:23:50
ソジウムクロライドの取りすぎはよくない。
ポタシウムを多めに取るようにしよう。
415デフォルトの名無しさん:2006/02/21(火) 09:31:54
簡単な自作mallocのサンプルコードってない?
416デフォルトの名無しさん:2006/02/21(火) 10:36:16
薬じゃないけど、これを忘れているね。
つ炭素菌
417デフォルトの名無しさん:2006/02/25(土) 04:58:55
長文失礼します。
最近新しいメーカーさんのとこに飛ばされて
RTOSでC言語なデジタル家電することになりますた。

そこで既存のコードを見たんですが(いわゆるアプリ〜ミドル層)
まったくと言っていいほどallocが無いんですよ。
ユーザーがある操作をしなきゃ使うこともない領域とかも数k、数10k単位でぼこぼこ存在してる。

過去、いくつかのメーカーで携帯やらテレビやらナビやらHDDデッキやら作ったことあるんですが
100byte超える領域を使うときはallocateしないと殺す!とか
お前のタスク、なんでそんなにRAM使うんだよ、殺すぞ!みたいなノリだったんで
カルチャーショック受けてます。

聞いてみると、メモリの断続化や処理速度を考えるとallocなんてしてらんないよ、
って返ってきたんですが、私は過去にそんなことで問題になった経験がありません。。。
極力allocする or 極力しない
一般的にはどちらが正解なんでしょうか?
418デフォルトの名無しさん:2006/02/25(土) 06:04:27
>>417
んなもん、状況による。メモリ優先か、処理速度優先か。移植・汎用性優先か。

ちょっと使いたくない立場から書いてみる。

シビアなリアルタイム系
(制御周期が1ms以下だったり、μs単位のディレイ・ジッタが気になるとか) なんかだと、
極力簡略化したブロック領域のヒープなら、タスク間通信のために仕方なく使うけど、
malloc, free は使いたくなって感じのところが多い。
さらに、通常 malloc, free は割り込み禁止区間を使うから、
割り込み周期がぶれたりする可能性もある。
デバッグ環境が充実してないシステム上だとバグ発生の元にもなる。
フットプリントの小さいRTOSでは、そもそも、mallocをサポートしてないものもある。

それに、メモリが余ってるなら、メモリを動的に確保する意味なんか全くない。
malloc, free で複数タスクが時分割でメモリを取り合うってのは、
メモリが足りないときの非常手段って感じだ。

携帯、テレビ、ナビなんかは、メモリ厳しいとはいえ、
リアルタイム設計という観点では、制御系というより、
アプリ系に近い考え方じゃないか?
419デフォルトの名無しさん:2006/02/25(土) 06:54:11
>>417
テレビやナビは時々電源を切るから初期化されて、メモリの断片化が大きな問題にならないが
携帯だとマズイように思うなあ・・・・、だから時々電源切らないといかんのか・・・・・

電源入れっぱなしになる装置の場合、
 ・メモリサイズグループ毎に別のヒープ領域を割り当てる
 ・メモリをファイルシステムのように固定サイズのブロックとして割り当てて使ってもらう

のどっちかやらないと、長期的にはマズイよ
420デフォルトの名無しさん:2006/02/25(土) 08:06:45
>>417
他のレスにもあるようにケースバイケースじゃないか?
RTOS自体が糞なメモリ管理しかしてない・
MMUが載っていなくてメモリ断続化の影響がでかい
なんかでいっそallocしないってのは考えられるし、
その手の物だと、同時動作するタスクの数や
所要メモリ量が確定できる代わりに、
メモリが必要になっていざallocしてみたら
メモリが足りずに処理できなかったってことが
許されない場合もある。

だから、こんな作りになってしまうことがままある
> ・メモリサイズグループ毎に別のヒープ領域を割り当てる
> ・メモリをファイルシステムのように固定サイズのブロックとして割り当てて使ってもらう

そもそも”携帯やらテレビやらナビやらHDDデッキ”も
ドライバあたりでは、特定の機能しか使わないメモリでも、
いざ動作する時に「allocに失敗したら待てない/致命傷になる」ってものは、
確保しっぱなしになってるだろ。
421デフォルトの名無しさん:2006/02/25(土) 12:52:47
たぶん質問者はその程度のこと分かってると思う。。。
422デフォルトの名無しさん:2006/02/25(土) 13:36:47
メモリーリーク対策用にID付きでヒープ管理出来るようにユーザー関数として別名で存在してるに一票
423デフォルトの名無しさん:2006/02/25(土) 17:38:54
>>417
技術論は他の人が言ってるからいいとして、社会論としては、
古くから組み込みやってる人が多くて、
固定メモリの思想にどっぷり浸かってて変化していない人達、
という可能性もあるんじゃないかな。

# 「新しいメーカーさん」って、新しく行く職場って意味で、
# 新興メーカーじゃないよね?

古いシステムをそのままバージョン上げながら育ててるような場所だと、
実際の必要性以上に過去の要件をひきずってるところとかもあるから、
正しい正しくないはさておきて、「そういうところもあるんだ」
と思っておくくらいでいいと思う。
424デフォルトの名無しさん:2006/02/25(土) 19:45:58
>417
RTOSの規模にもよりますが、もっとも小さいほうで言えば、
allocはしない方法で考えますね。
たとえば、ITRON TCP/IP仕様は、「動的なメモリ使用の回避」を
ひとつの目的としていますね。
425417:2006/02/26(日) 03:16:10
色々ご意見ありがとうございます。

動的に確保するのが難しいケースや
デメリットが大きすぎる場合はallocateしてなくても納得できるんですが
システム全体の基本思想が「allocしない」なんですよね。
#ちなみに新興メーカーではないです

OSのメモリ管理なんて最初からアテにしてなく、
自前でメモリ管理はどこでも作ってるもんだと思ってました。
実際今回のとこでも>>419さんの言われるような対応はされてるんです。

過去にテレビやデッキなんかでは、連続運転試験を1ヶ月以上自動操作でテストなんてことも
普通にやってて断続化なんて見たことないです。
(メモリ管理のバグで断続化しちゃった、なんてことはありますが)

この業界、いかにハード原価を安く抑えるかというのが至上命題に近いものがありますし、
メモリも例外じゃないと思います。
個人的には>>423さんの意見が当てはまるのかなぁと思ったりしてます。
426デフォルトの名無しさん:2006/02/26(日) 10:34:00
>>425
その話からすると>>423の推測が正解だろうね
でも理屈としては、ショボイCPUでガベージコレクションできない
状態でメモリの確保と解放を繰り返したらいずれ断片化するだろ?

allocしたら2度と解放しないんじゃ静的に確保しても同じだし
あとは作ってるシステム次第だね

 コスト見合いでSDRAMあたりを採用すると、
小さな組み込みシステムからすると馬鹿馬鹿しいほど
メモリがでかくなるし
427デフォルトの名無しさん:2006/02/26(日) 11:45:56
>>426 >>419の対応をしてるなら、断片化はしないだろう
 同じサイズをブロックとして確保解放するなら理屈の上では断片化しない

ただ、そうするなら、最初から固定で取って、
メモリが不足するなら同じタイミングで絶対に使わない同士をペアにしてゆくという
もっと簡単な対応の方がより安全で確実という事になるだろう
428デフォルトの名無しさん:2006/02/26(日) 11:48:41
家電よりちょっと高級な専用システムやってます。SH3ですが「可変allocはご法度」です。
何ヶ月も電源入れっぱあたりまえという製品で、しかも操作の最新状態は電源切っても残る、
という・・・これを20年使えるのかいな?というシステムです。NMIを作ってもらえなかったので
「操作のたびに記憶」しかないのですが、100回/日書込みなら3年でEEP/FROMアウトです。
ど〜すりゃいいの?という感じです。
429デフォルトの名無しさん:2006/02/26(日) 12:15:01
>>428
SHの内臓FLASHってそんなに書けたっけ?

 保存しなきゃいけないデータが小さいなら
追記してって、溢れるまで使うとかすれば
多少寿命も稼げるけど、システムの要件次第じゃあるまいか?
 それとも、要件からして既に破綻してるってこと?

だったら、こんなとこじゃなくて一刻も早く会社で騒げ。
430デフォルトの名無しさん:2006/02/26(日) 12:19:31
別に君に相談してるんじゃねえのに何命令口調になってるのw
こういうオカシイ奴の割合がこの業界って多いよねえ
431デフォルトの名無しさん:2006/02/26(日) 12:26:55
>>429
EE-PROMと書いてるからシリアルEE-PROMだと思うよ

で、EE−PROMなら、自分なら16くらいのブロックを順に使うようにして
寿命を16倍くらいに延ばせば丁度いい感じになるなと、そう使うけどね
432デフォルトの名無しさん:2006/02/26(日) 14:01:12
TOPPERS上でファイルシステムってどんなのがある?
FATでもNFSでもftpでもファイル名を指定して読み書きだけ
できればいいし階層構造もいらない
後でWindowsでファイルを取り出したいだけなんだけど良い手が無い
433428:2006/02/26(日) 14:56:29
>>431 キャッシュとEEPROMの使用領域とはほぼ1:1のサイズなの。内蔵じゃないです。
434デフォルトの名無しさん:2006/02/26(日) 18:10:30
>>433
キャッシュ?

よーわからんけど、「ど〜すりゃいいの?」っと言う感じ
なら>>429 の言う通り「上司に相談」して「その構成を
決めた奴の責任」にすべきだよ。

まあ、俺らにはどうでもいいことだが。
435デフォルトの名無しさん:2006/02/26(日) 18:38:28
そうだな。
寿命について問題がある
対策としては EE-PROMの容量を増やしてもらいたいというのが普通だわな
436デフォルトの名無しさん:2006/02/26(日) 18:44:47
10年保証する半導体はありません。
437デフォルトの名無しさん:2006/02/26(日) 18:59:33
破綻だなw
438デフォルトの名無しさん:2006/02/26(日) 19:11:16
ゆとり教育の弊害かどうかしらないけど(まあ俺はゆとり教育の理念が間違っているとは思わないけど)
読解力ない奴がここ数年増えたよね本当にw

文脈読めってw
寿命ってそう意味で言ってないだろうに。

キャッシュだってそう。
いちいちストレージ上の設定値読んでたらオーバヘッドやコードの冗長性が大きくなるので
初期化時にメモリにロードしといてそいつを設定値とみなして扱う、
そのメモリ上の設定値のことをキャッシュって言ってるに決まってるでしょ。
439デフォルトの名無しさん:2006/02/26(日) 19:59:20
>>438
>>428が [ど〜すりゃいいの?] と問題解決法が判らないと書いてるから、
上に相談してEE-PROMの容量増やして貰えよと解決方法を書いてるんじゃないか

こういう問題を放置するってのは、単に自分だけの問題でもないし、その会社だけの問題じゃないんだよ。
俺たち技術者全体の信頼に関する問題なんだからさ、 >>428はチャント対処しろよな

440デフォルトの名無しさん:2006/02/26(日) 20:05:18
>>436
いや、ホント。 最近痛感するよ。
最近買う家電製品はホント、壊れやすい。
まあ、単にどんなものか見てみたいという興味だけで買うから
安いのを徹底的に探して買うからまあ当然の面もあるけどね。
441デフォルトの名無しさん:2006/02/26(日) 22:15:15
>>438
> そのメモリ上の設定値のことをキャッシュって言って
> るに決まってるでしょ。

ヒント: 井の中の蛙
442デフォルトの名無しさん:2006/02/26(日) 22:34:37
何がヒントだ。
正面から自分の考えを言うだけの自信がないことを誤魔化しているに過ぎんなw
他人はもちろん、おそらく自分自身も合わせてな。
自己分析ができない奴ってのは事程左様に恥ずかしいなw
443デフォルトの名無しさん:2006/02/26(日) 23:33:22
イタタタ
444デフォルトの名無しさん:2006/02/27(月) 00:00:16
>>442
失礼、>>438 を過大評価していたようだ。

ヒント: 水たまりのボウフラ。
445デフォルトの名無しさん:2006/02/27(月) 04:21:35
キャッシュって意味が違うだろ
自分の表現力のなさと用語の誤用を棚上げして
文脈読めってエスパーじゃなきゃ無理
446428:2006/02/27(月) 05:45:52
キャッシュはEEPと同じ情報を持つRAMの意味で使ってます。私が言うまでもなく受けたとき
チーフにあたる人が「NMIが無いと変更のたびに書込みとなって書込み過多になり寿命に
影響する」と申し出たらしいんですよ。でもなぜかハード屋さんはそれでいいと言ったらしい。
(今ざっと計算したら、確定1page/5mSのEEPなので256page=1.28秒、NMI入ってから
 それだけ電圧持たせるのはきつそうですね。だからかも)

10年保証云々は通電しっ放しで、ってことですよね?さすがにそこまで電源入れっぱはない
とおもいます。数ヶ月、最悪1年ぐらい連続ならありえる、ぐらいだったら20年持ちませんかね。
この製品は「装備品」なので、本体は20年持たせても、装備品は10年未満で交換、という
思想なのかもしれません。その辺今度聞いてみます。
447デフォルトの名無しさん:2006/02/27(月) 07:29:02
>>446
それ、1ページ32バイト 24XX64のような8KのEE-PROMだと思うのだが
書込中に電源落ちたらどうするの? というかどうなるの?
8kByteを全部使うなら、最低 16KByteのEE-PROMが必要だよね

だったら、さらに32Kにすればさらに2倍に寿命を延ばせるよ
448デフォルトの名無しさん:2006/02/27(月) 07:47:20
保証はメーカが無料で交換に応じることなので、10年前の製品があるわけない。
449428:2006/02/27(月) 09:49:05
書き込み中に電源落ちたら、「最後の操作の記憶が」残らないだけで、それほどダメージは
ありません。いつもたくさんのpageを書くわけじゃなくて操作に対応したいろんな情報片を
書くものですから。操作の瞬間電源切って覚えているような使い方もしません。
でも、ケータイなんかその辺・・・あ、あれは操作そのものの記憶は残さないのかな?
発信しかけて電源切って、電源オンすぐリダイヤル、とかが似た状況ですね。
450デフォルトの名無しさん:2006/02/27(月) 12:40:04
まあ未採用になったそうだけど、そういうのってNMI(Non Maskable Interruptのことだよね?)
でやるのって正攻法じゃない気がするなあ。

CPUに自分自身の電源制御を握らせるのが普通じゃないのかな。
451デフォルトの名無しさん:2006/02/27(月) 20:38:27
つまり、項目毎に書き換えてるという事だよね?
なら頻繁に書き換える項目だけ分散書き換えにすれば、それで対応出来そうだね
452デフォルトの名無しさん:2006/02/27(月) 22:03:21
>>446
ハード屋さんが責任持つって事だったらいいんじゃないか。

穿って考えれば、ROM 交換で儲けると言う政策もあるかも
知れないしな。(w

>>450
自分では電源制御件を持てない状況も少なくないよ。

流石に EEPROM に退避と言うのはやったことないけど、
NMI で RTC の C-MOS (もちバッテリバックアップつき)
に退避は 8bit 時代に何回か経験がある。
453428:2006/03/01(水) 15:37:49
FROMですからもうROM交換はないです。道具というよりは設備の一部として使うような想定
なので、不用意に電源叩ききられる可能性は優先度低いのでしょうね。どの位の寿命を
期待しているのか今度ハード屋さんに聞いてみます。
454デフォルトの名無しさん:2006/03/01(水) 22:44:50
> FROMですからもうROM交換はないです。

ん?
「書き込み過多になり寿命に影響」した場合の話じゃないのか?

自社設備なら、「保守用の基盤もってるから寿命がきたら即交
換でいいや」と考えてるのかもな。
455デフォルトの名無しさん:2006/03/02(木) 00:49:33
通常メモリマップのデータを保存しているのはRAMですか?
456デフォルトの名無しさん:2006/03/02(木) 04:04:15
メモリマップのデータとは?
457デフォルトの名無しさん:2006/03/02(木) 05:02:23
>メモリマップのデータ
IA32 CPU とかのセグメント・ディスクリプタのことか?
458428:2006/03/02(木) 05:38:58
FROMはコードを格納しますから、書込み過多になるほど入れ替えはしないと思います。
操作の記憶はEEPのほうでやるようです。

FROM上のテーブルのインデクスだけをRAMに保持するソフトなら書いたことあります。
459デフォルトの名無しさん:2006/03/02(木) 06:47:40
>>432
当然それぞれ作ってるんだろうけど、タダでは公開してないのかもね
http://www.toppers.jp/community.html
で聞いた方がいいんじゃないの?
460デフォルトの名無しさん:2006/03/02(木) 14:16:24
RTX と Intime どったがいいのか迷ってます。
教えて。

RTXはwindowsよりな感じ。DLLなんかを呼び出したり出来るらしい。
RTXはバグで簡単にwindowsを葬るらしい。
RTXはデバッグはリモートで行う必要があるらしい。

Intimeはeindowsとは別のOSが動いているらしい。
Intimeはデバッグの環境が整っているらしい。
IntimeはwindowsのDLLを呼び出すのがめんどくさそう。

保守契約を含めた値段は大体同じくらい。
使ったとき在る人頼む。無い人でもいいけど。
461デフォルトの名無しさん:2006/03/03(金) 18:43:27
460です。
おせーて。
462デフォルトの名無しさん:2006/03/03(金) 22:35:47
INtimeメモリ保護機構がある。不正なメモリアクセスをやらかしても、
落ちるのはそのプロセスだけ。

開発にはVC++を使う。デバッグはINtime3.0移行ならVC++上で、
それ以前なら専用のデバッガで行う。1台のPC上で開発から
デバッグまで出来るが、場合によってはリモートデバッグ
した方が楽なときもある。

同一PC上で動作していると言っても、INtimeのメモリ空間と、
Windowsのメモリ空間は独立している。INtime用に作ったソフトと、
Windows用のソフトの間でのやり取りは専用のAPIを使う必要がある。

INtimeには体験版の無償ダウンロードがある。
とりあえず使ってみてから考えるのも吉。
ttp://www.tenasys.com/resources/trials.php
463デフォルトの名無しさん:2006/03/04(土) 08:10:31
460です。
RTXの方はあまり良くないっぽいですかね。
両社の営業と技術の話を聞いているとどうもIntimeの方が良く聞こえまして・・。
営業の腕の違いかそれとも製品自体Intimeのほうが良いのか・・・。
両方とも貸し出しがあるようなので試してみたいと思っていますが。
464デフォルトの名無しさん:2006/03/04(土) 08:21:30
みなさん、NIの計測制御用のアレをつかったことはありますか?
465デフォルトの名無しさん:2006/03/04(土) 14:14:38
話をぶった切って申し訳ないが

1チップマイコンの入出力ポートって
方向レジストと ポートの2つに別れているが、コレ使い難くないか?
入力専用、出力専用と方向レジスタの3つになっているべきじゃないかと思う。

出力専用レジスタを読み返すと、現在入力ポートに設定してるビットでも
出力ラッチがいつでも読めるべきだと思う
466デフォルトの名無しさん:2006/03/04(土) 14:20:55
>1チップマイコン
たまたま自分の使ってるモノが世界の標準に違いない、
と思い込むのは頭の悪い証拠じゃないだろうか?
井の中の蛙大海を(

一口にマイコンつったっていろいろあるのよベイビー。
467デフォルトの名無しさん:2006/03/04(土) 16:06:25
>>466 まあ確かに 4,8,16とDSPの15種類くらいしか触った事ないけど
その範囲じゃそうじゃないのを見た事ないもんで
468デフォルトの名無しさん:2006/03/04(土) 16:27:06
Z80-PIOは出力モードの時には入力でラッチされた値を読めたと思う。
と言うことは、Z80ファミリを1チップ化した川鉄の1チップマイコンもその構成だったかと。
それ以外でも、モード設定で動作が変わるタイプは普通にラッチ読み込みできるんで内科医?
469デフォルトの名無しさん:2006/03/04(土) 16:55:51
いや
 出力モードで出力ラッチが読めるタイプ
 出力モードでも入力ポートとなるタイプ
の2つがあるけど

そうじゃなくて、入力モードでも出力ラッチが読み書きしたいというか、そういうのが欲しいって事

たとえば入力に設定してる間に次の出力状態を設定しておきたいと
ビット操作系を使うと他の状態も変更されてしまうのが嫌だから
470デフォルトの名無しさん:2006/03/04(土) 20:29:28
意味わからんなw
そんなに「ラッチ」がほしいなら自分でコードで実装すれば済むことじゃないか。

だいいち入力に設定してるポートの出力ラッチに意味があるとすれば
データバスみたいにR/Wを切り替えて使う場合だろうけど、そういう場合でも
自分が直前に出力した値が知りたいケースがそんなにあると思えない。

というより、そんなケースが思い浮かばん。
すくなくとも全く一般的なケースじゃないだろう。
なんでそんな一般的とも思えない要求を満たすようなCPUがなぜないか、
などとくだらないことを悩むんだろう。
471デフォルトの名無しさん:2006/03/04(土) 20:57:04
たとえばさ
bit0で割り込みを使ってビープ音を出して
bit1には C-Rが接続された一種のDACだとするよ。制御は普段は入力にして 変化させる時に H/L出力で制御するのね、
bit2,bit3でI2CのEE-PROMを読み書きしたり とするよ

で、ビープ音を出す割り込みで、オンオフをビット操作すると他のポートのラッチ状態が変化してしまうから
ラッチ状態を覚えなくちゃいけない。
となるとアキュムレータ経由命令になって、スタックに保存が必要になって
割り込み処理が長くなっちゃって、他PWMーDAC処理の乱れが酷くなるとかさ、

そのポートのラッチ状態を他の処理では割り込み禁止状態で変化しなくちゃいけないから
割り込み禁止期間がアチコチ出来て、ビープ音が濁ってしまうとかさ

あるいは EE-PROMを読み書きする時に、このわずらわしい処理のせいで遅くなってしまうとかさ

で、面倒になって、原因は何かなと考えたら
ポートの出力ラッチが読めないせいかなと
472デフォルトの名無しさん:2006/03/04(土) 21:05:12
なんかよく理解できないけどそんなら8051みたいにBit-Addressableな石を使えばいいのでは。
473デフォルトの名無しさん:2006/03/04(土) 21:45:46
いや、だからビットアクセス命令があっても、たとえばM16とかのように
実際はバスを読んでから書くから困るって話をしてるわけで

・・・・しかし、そういや8051の頃はコレで悩まなかったな・・・なんでだろ?
単に入出力の切り替えを今程使わなかったからかな
474デフォルトの名無しさん:2006/03/04(土) 21:51:55
ああ思い出した。 
8051は4ビット系と同じく、確か入出力といっても H/L/Zではなくて L/Z
つまりH=OPENだった筈。
475デフォルトの名無しさん:2006/03/04(土) 22:32:38
うーんと8051はRead-Modify-Writeの場合、465のう出力バッファをReadするから
問題ないよ。
ビット単位のアクセスでもバイト単位でも。

オリジナルの8051もそうか知らないけど最近の派生チップはだいたいそうだったはず。

そもそも出力ってpush-pullなのかオープンドレインなのかどっちだろ。
つーか具体的に何の石よ?
476デフォルトの名無しさん:2006/03/04(土) 22:41:49
熱いコテを握らされ 睡眠時間は削られて
制御系だというけれど なにを制御するのだろう
477デフォルトの名無しさん:2006/03/05(日) 00:59:38
俺ハードやだけど、ソフト屋にとってポート制御レジスタはどういう構成が
理想なの?
>>465
のように3つ(入力・出力・入出力制御)になってるほうがいいの?
それとも2つ(入出力値・入出力制御)の方が使い勝手がいいのかな?

俺はとりあえず3つのレジスタ構成で設計してる。(2つだと情報量減るので。)
どちらでも手間は同じなので今後の参考に聞きたいな。
478デフォルトの名無しさん:2006/03/05(日) 01:31:43
出力専用と、入力専用でポート分ければいいだけ。
で、ラッチなんかはメモリーのリードライトと同じ要領でやってくれれば何も考えなくて済む。

ただ、キャパシタの問題で、一定時間以上状態を維持しないとハッキリ入出力信号が安定しないとかなら、その旨を仕様に書けば良いよ。
479デフォルトの名無しさん:2006/03/05(日) 02:06:35
>>477
開発後期に仕様を変えたりしなければ、或いは仕様に明記されてないノウハウが必要だったりしなければ、
どういう構成になっていてもあんまり困らんな。
480デフォルトの名無しさん:2006/03/05(日) 05:35:28
>>476は、「新人哀歌」かな/「探し物は何ですか」かな、どっちだろ

たしかに、>>471みたいなのはハード屋さんがポートを分けてくれるよね。
ある程度はソフトの作りやすさも見通しつくから。
481デフォルトの名無しさん:2006/03/05(日) 07:43:29
まあ、入出力を動的に切り替えるというのは普通はやらない
やるとすれば openドレイン的な使い方か

で open に設定してる間は ポートを読み返すと 1が読めるから
Read-Modify-Writeの時に出力ラッチではなく入力が読まれるタイプだと困るという事だろう

PICは入出力関係なく、常にポートを読む
 M16/H8/SH等は出力に設定してるポートはラッチを、入力に設定してる場合はポートを読む

ただ、最近の1チップはRISCが多いから、Read-Modify-Write命令が無いんじゃないかな
482デフォルトの名無しさん:2006/03/05(日) 08:03:11
>>478
それは制御系なら可能だろうけど組込系だと 片面基板で なんて事もあるから
アートワーク優先のことも多いよ。 ソフト側の都合で好きな順には使えない。
483デフォルトの名無しさん:2006/03/05(日) 08:20:17
>>431
たとえば
  I2Cの SCL/SDAの為に、出力ラッチはL にして 方向レジスタでオープンコレクタを実現するとするよ
 つまり BSET /BCLR で方向レジスタだけを トグルするわけ。

 これをメインループ側で処理してるとする
 この処理の最中に SCL=H つまり入力ポートにしてる最中に割り込みがかかる

で、割り込み処理で、同じポートの別の出力ポートをトグルさせようと BSET/BCLRのような Read-Modify-Writeでポートを操作すると
この SCLの出力ラッチがHになってしまう。

 で、メイン側で次に SCL=Lににしようと出力ポートにしたら、  
 出力ラッチがHなのでHが出力されてしまう

-------------
この2つだけなら、割り込み側でRead-Modify-Write命令ではなく
読んで ビット操作して、常にSCL/SDAは0にして書き出すという対策でいいけど
もう一つ条件が加わると、やっかいなわけよ
484デフォルトの名無しさん:2006/03/05(日) 12:52:27
>>480
467は「ちっちゃな頃からちっちゃ」かった彼が歌ってた奴でしょう
485デフォルトの名無しさん:2006/03/05(日) 15:42:20
盗んだコードが走り出す
行く先も分からぬまま
486デフォルトの名無しさん:2006/03/06(月) 03:56:36
GPLの夜
487デフォルトの名無しさん:2006/03/06(月) 14:48:28
>>465
ATMELのARMコアMPUで AT91SAM7S というのがあるが
そのポート制御レジスタはそんな感じ、というかもっと複雑。

なんでこんなややこしいレジスタ構成にしてるの? と思ったが
465さんの書込でそういう要求があることを知りました。
488デフォルトの名無しさん:2006/03/08(水) 19:25:23
質問です。
モータの応答周波数は速くても数百ヘルツなのに
なんでインバータ制御などには高速なマイコンが使われるのでしょうか?
相当負荷のかかる計算をしているのですか?
489デフォルトの名無しさん:2006/03/08(水) 19:49:45
あたりまえだ。
490デフォルトの名無しさん:2006/03/08(水) 19:51:02
のクラッカー
491デフォルトの名無しさん:2006/03/08(水) 19:54:06
モータの応答周波数って何ズラ?w
つーか「なんで?」って理由はさまざまでしょそりゃ。
492デフォルトの名無しさん:2006/03/08(水) 20:09:36
役に立たない奴らだな。
暇潰しにゴミレスばら撒かれても迷惑なんで
答えられないなら黙っとけよ。
493デフォルトの名無しさん:2006/03/08(水) 20:24:46
答えでてるじゃん。
494デフォルトの名無しさん:2006/03/09(木) 14:05:35
>>490
キャプチュー度
495デフォルトの名無しさん:2006/03/09(木) 19:20:03
ベクトル制御だろ
496デフォルトの名無しさん:2006/03/09(木) 20:20:59
普通のマイコンがどれだけ遅いか知らないんだろう。
パソコンの処理速度が1000としたら、普通のマイコンは1もないんだよ
497デフォルトの名無しさん:2006/03/09(木) 20:36:35
それは言いすぎだ
498デフォルトの名無しさん:2006/03/09(木) 21:07:15
動作周波数だけで比べても750倍だな。別に言いすぎでもないんとちゃう。
3GHz<->4MHz
499デフォルトの名無しさん:2006/03/09(木) 21:13:40
動作周波数だけで比べるな
500デフォルトの名無しさん:2006/03/09(木) 21:19:35
各命令の所要クロックも一々挙げて比べなあかんの?
殺す気か。
501デフォルトの名無しさん:2006/03/09(木) 22:08:30
4MHzって時代錯誤も甚だしいな。
オッサンの頭の中は25年前で止まってるのかねw
502デフォルトの名無しさん:2006/03/09(木) 22:11:22
普通モータ制御に使うCPUは
V850とかSH-4とかの32bitRISCで
動作クロックは20〜40Mくらい
503デフォルトの名無しさん:2006/03/09(木) 22:23:08
>>502
モータ回すのにSH4が出てくるとわ…
えらい豪華な機械だな。
504デフォルトの名無しさん:2006/03/09(木) 22:23:52
普通って何がやねんw
だからモーター制御つったっていろいろあるっての。
つーか今時CPUが直接制御するのがそんなに「普通」とも思えんが。
505デフォルトの名無しさん:2006/03/10(金) 01:54:51
なるほど・・・時計の中にはV850やSH-4が入っているのか・・・
506デフォルトの名無しさん:2006/03/10(金) 01:58:15
ハァ?なにいってんだこいつ
507デフォルトの名無しさん:2006/03/10(金) 03:37:44
時計にモーターなんざ入ってないっつーのな
508デフォルトの名無しさん:2006/03/10(金) 04:59:05
ACサーボモータのサーボアンプなんかの中じゃ、
SH4クラスのCPUつかってるよ。

それくらいの速度じゃないと間に合わんだろ。
転流の制御とか、電流ループの制御周期は100マイクロ秒くらいじゃなかったっけ?

最近は、エンコーダ解像度もかなり高くなってきてるし、
そのほか通信タスクやデータ取得用タスクなんかも走らせなきゃならんだろうし。

数年前見た安川のサーボアンプの中がたしかSH4だたような・・・
509デフォルトの名無しさん:2006/03/10(金) 05:45:05
3MHzの8085まだ使ってます。 615KHzの8bitの製品も今作ってます。
>性能比:命令ごとのクロック数まで見なくても、基本クロックとバス幅と
パイプラインとの積ぐらいの比率じゃないでしょうか?
510デフォルトの名無しさん:2006/03/10(金) 07:44:37
パソコンのCPUは1クロックで数命令実行する能力がる
またバスは64ビットあり、1ワードは32ビットもある。32bitの加算が1命令で出来る 掛算も1命令で出来る

普通のマイコンがそこらの家電装置の中のマイコンだとすると
バスは8とか4bit ワードサイズもそれに同じ、加算するだけで4とか8サイクルかかる。 掛け算はソフトで実現だから100サイクル近くかかる

クロックが同じとしたって50倍近い処理能力差がある
511デフォルトの名無しさん:2006/03/10(金) 07:52:21
価格差1000倍なら納得。
512デフォルトの名無しさん:2006/03/10(金) 07:54:39
で SH-4 とか DSP は1命令1サイクルに近づけている

SHは命令サイズをバス幅より小さくする事
DSPは命令とデータX,Yでバスを別ける事で 
それを実現しようとしている。 もちろん命令キャッシュも採用される事が多い

さらに掛算を少ない命令サイクルで実現する機能も付いている。
ただし、パソコンのように、掛算が使い易いわけじゃない。
少なくともレイテンシがかかる場合が多い
その間に他の命令を実行させる等の工夫が必要になる

それでも普通のパソコンのCPUと比べると1〜2桁は処理速度が落ちるのが現状だね
513デフォルトの名無しさん:2006/03/10(金) 08:00:14
>>511
今の手に入る8bitマイコンの代表のPICなんかは 200円程度で手にはいる
200*1000=20万円・・・・パソコン一式買っておつりがくる値段だね

PICと性能比べたら1万倍以上の性能差があるわけで

例:
PIC RAM 512 パソコン512M
PIC 4MHz    パソコン 2G Hz

514デフォルトの名無しさん:2006/03/10(金) 10:45:10
>>508
電流ループの制御もマイコン制御でやっているのかい?
シングルプロセッサで通信タスクとかも走らせていたらけっこう難しそう
515デフォルトの名無しさん:2006/03/10(金) 10:50:25
もうマイコンなんて使わないですべてペンティアム4いっぱい貼り付けてやればいいじゃないか
適材適所だの値段だの考えるな
516デフォルトの名無しさん:2006/03/10(金) 10:53:02
>>508
> 数年前見た安川のサーボアンプの中がたしかSH4だたような・・・

手元にある安川のサーボアンプの中身を今見てみたら
V853 uPD70F3025A-33
だった
安川と言えばSHだと思っていたのでちょっと意外
517デフォルトの名無しさん:2006/03/10(金) 11:00:06
>>507
針が回転してるだろ
モーターが入って無くてどうやって回るんだよ しねよ
518デフォルトの名無しさん:2006/03/10(金) 11:21:54
まあモータと言えばモータか、ステッピングモータの一種だな

でもどっちかいうと単なるソレノイドだが
519デフォルトの名無しさん:2006/03/10(金) 12:37:57
「モーター+ラック&ピニオンでリニアモーターだ」
くらい強引な飢餓す。
520デフォルトの名無しさん:2006/03/10(金) 12:38:53
おいおい、ステッピングモータはモーターそのものだろ。
〜といえば、どころじゃないよ。
馬鹿じゃねえのw
521デフォルトの名無しさん:2006/03/10(金) 12:39:44
ベクトル制御みたいな高速演算が要求されるものは
ハードでやればいいのに
マイコンで演算させるメリットって何?
522デフォルトの名無しさん:2006/03/10(金) 12:40:46
モーターのスペルはmotorであってrotatorじゃないよw
523デフォルトの名無しさん:2006/03/10(金) 14:02:03
>>521
柔軟性、コスト
524名無し募集中。。。:2006/03/10(金) 14:48:59
メレックのmcc05にコマンド送るだけでモーターが回るけど?
525デフォルトの名無しさん:2006/03/10(金) 14:56:39
メレックのmcc05ってなに?
526デフォルトの名無しさん:2006/03/10(金) 16:03:06
>>515
Pentiumは演算は早いだろうが、
割り込みのディレイやジッタが大きかったり、
キャッシュが効いたときと効かなかったときの実行サイクルの差がでかかったり、
チップセット使わないと、外部バスにデバイスつなげるのが困難だたり、
致命的なのは発熱だな。

とマジレスしてみる。
527デフォルトの名無しさん:2006/03/10(金) 16:45:36
でも 32bitで内部クロック1GHz 内蔵RAM64K 内蔵フラッシュ 640kbyte で
16pin-DIPソケットなマイコンが100円ショップで売ってたらいいな
528デフォルトの名無しさん:2006/03/10(金) 19:45:51
>>526
相対評価と絶対評価の区別がついてないなw
それともWindowsだけがx86のネイティブな姿だと激しく勘違いしているか。

>>527
なにが「でも」なのか意味わからんなw
529デフォルトの名無しさん:2006/03/10(金) 20:14:11
パッケージの背中が32x128dotの液晶表示器になってて、
32798水晶振動子内蔵で
USB2インターフェイス内蔵で簡単にパソコンに繋げて
530デフォルトの名無しさん:2006/03/10(金) 20:28:09
うーん。15万ぐらいかな
531デフォルトの名無しさん:2006/03/10(金) 20:32:55
>>529
>32798水晶振動子内蔵で
そんなもの要らない。
532デフォルトの名無しさん:2006/03/10(金) 20:40:19
スマン32768だったよ。
533デフォルトの名無しさん:2006/03/10(金) 20:50:37
32768個のクリスタル?
534デフォルトの名無しさん:2006/03/10(金) 20:57:33
いや、Hz タイムベースに使うのと背中の液晶表示機の駆動クロックに使う
消費電流は 32K水晶だけなら単3電池駆動で5年くらいのが欲しい。
そしてPLLで任意倍率のクロックが作れるといいなあ
535デフォルトの名無しさん:2006/03/10(金) 22:14:50
1チップMSX2+でおk
536デフォルトの名無しさん:2006/03/10(金) 22:25:36
じゃ背中に 320x240dotのパネルを積んだ PLCC パッケージの MSX2+ で USB マスタでPCから書き込み出来るというのをお願い
537デフォルトの名無しさん:2006/03/10(金) 22:56:40
ピッ
538デフォルトの名無しさん:2006/03/10(金) 23:44:35
Interface 6月号を買おうよ
なんかついてくるらしいよ
539デフォルトの名無しさん:2006/03/11(土) 01:24:49
>>524
> メレックのmcc05にコマンド送るだけでモーターが回るけど?

何かと思ったけどこれか
http://www.melec-inc.com/a1202/a1202f01r2.pdf

1軸のパルスジェネレータか
しょぼいな
540名無し募集中。。。:2006/03/11(土) 01:45:25
パルスジェネレーターにしては高性能だと思うけど?
541デフォルトの名無しさん:2006/03/11(土) 02:40:18
>>540
1軸だから当たり前と言えば当たり前だけど直線補間もないし
このクラスのパルスジェネレータはどれも似たり寄ったり
差があるとしたら原点復帰モードが充実してることと絶対値指定ができることだけど
これはどちらもソフトで簡単に対処できること
FPGAで自分で作ってもどうにかなってしまう
差のつけようのない枯れた分野だね
542デフォルトの名無しさん:2006/03/11(土) 04:40:26
>>527みたいなマイコンを\100ショップで売っててもハード屋さんは怖くて誰も使わないと思う。

秋葉で8085買い漁るのに疲れたらしく、MB91F36なる32bit使えるかい?とお客に聞かれた。
その辺に転がってるボードパクってuart端子だけつなげたいらしい。そりゃ使えますともさ。
あまりにもオーバースペックで笑ってしまうけど。トロンOS積まなくちゃ使えないんだよ。
高々4.8KのシリアルI/Oやるのに10倍の規模のソフトになっちゃうし。
543デフォルトの名無しさん:2006/03/11(土) 04:50:48
>トロンOS積まなくちゃ使えないんだよ

んなこたぁない。

あと、トロンOSって、具体的に言ってくれよ、B-TRONか?w
544デフォルトの名無しさん:2006/03/11(土) 05:01:30
ITRONですがな、もちろん。私以外にも早起きの方がいらっしゃいますね。
いや、もちろん裸でも使えるのは知ってますけど、たいていコンパイラと一緒に押し付けられる。
545デフォルトの名無しさん:2006/03/11(土) 06:59:37
この前 ダイソーの100円ショップで ヤニ入りハンダ コテと ハンダ吸取器を見た。 100円じゃなかったけどね
546名無し募集中。。。:2006/03/11(土) 15:46:25
>>541
よく知らないんだなってことは判った
547デフォルトの名無しさん:2006/03/11(土) 16:29:26
>>546
で、何を知ってるの?
チミは
548デフォルトの名無しさん:2006/03/11(土) 19:22:02
ハンダ吸い取り器が\100はすごいな。・・あ、\100じゃなかったみたいね。でも安そう。
549デフォルトの名無しさん:2006/03/11(土) 19:22:46
100円なら超欲しいな! ・・・でも100円じゃないならちょっとなぁ・・・
550デフォルトの名無しさん:2006/03/11(土) 19:26:53
551デフォルトの名無しさん:2006/03/16(木) 07:21:57
210円ハンダ吸取器は結構使える ポンプ式のも持ってるがすぐ詰まるし吸取り力が今一つ、
さらにヒータが暖まるまでの時間がロスだったので、最近コレばっかり使ってる
552デフォルトの名無しさん:2006/03/17(金) 01:39:43
突然すみません。質問なのですが、
よくメモリデバイスの仕様に書かれている、16ビットデバイスとか32ビットデバイス
というのはどういう意味なのでしょうか?
16ビットデバイス=16ビット単位でしかアクセスできないデバイス
のことだと思っていたのですが、実はバイトでもアクセスできたりして
いまいち意味がわかりません。

もしかしてバス幅のこと?
553デフォルトの名無しさん:2006/03/17(金) 03:27:20
バス幅でいいとおもう。たいていの奴は16/32ならバイトアクセスも可能だけど、
たまに16/32オンリーというのもあるね。そのかわり速いとか。
554552:2006/03/17(金) 18:11:03
>>553
レスありがとうございます。
容量4MビットのSRAMのデータシートを読んでみたところ、
2Mワードx16bitと書いてあるものの、データバス幅が16bitになっていることと、
256kx8bitのSRAMではデータバス幅が8bitであることを確認しました。
バス幅で間違いないようですね。

ところで普通、
2Mワードx16bit(容量4Mビット)のデバイスが使用するアドレスの幅(制御ソフトから見えるアドレス空間)は
a) 4M(1番地につき1バイト)
b) 2M(1番地につき)
のどちらなのでしょう?

なぜこんなことが疑問なのかというと、
16ビットデバイスに対して奇数番地をアドレスバスで指定したら、
メモリはどう振舞うのかを考えたところ、もしかしたら16ビットデバイスというのは
アドレス1番地につき2バイトのデータを保持できるのではないか、と思ったからです。

考え方めちゃくちゃですかね?
555デフォルトの名無しさん:2006/03/17(金) 18:29:58
>>554
どっちになるかはプロセッサによる。
DSPのようにワード単位にアドレスが割られるものと
汎用CPUのように、アドレスは1byte単位でバイトアクセスフラグが付くタイプがある
556デフォルトの名無しさん:2006/03/18(土) 21:14:15 BE:164012235-
すみません。三菱のシーケンサーでフレーミングエラーって出ます。

フレーミングエラーって何のことですか?
どうすれば先に進めますか?教えてください。
TextSS のWindowsXP(Professional)64bit化おながいします

もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?

そういや64bitにネイティブ対応している2chブラウザてありましたっけ?

558デフォルトの名無しさん:2006/03/18(土) 21:41:57
>>556
そんなの業者に聞いてくれよ。 RS232CならボーレートかSTOPが合ってないんじゃないの?
559デフォルトの名無しさん:2006/03/18(土) 22:10:25
>>558
それが休みなんでつ。
このままでは帰れません。
どうしたらいいですか?
560デフォルトの名無しさん:2006/03/18(土) 22:17:12
>フレーミングエラーとは調歩同期(ASYNC)において、ストップビットのあるべき位置に
>ストップビットがなかった(論理0だった)場合に表示されます。フレーミングエラーが
>頻繁に表示される場合は、データ長、パリティビットの有無などの設定が間違っている可能性があります。

ボーレート、データ長、パリティ、ストップビット長の設定を確認すること
561デフォルトの名無しさん:2006/03/19(日) 13:25:14
>>558
シーケンサの型名も書いてない時点で「ネタ / どあほ」のいずれかだろ。
無視しろ。
562デフォルトの名無しさん:2006/03/19(日) 13:50:32
俺的には>>561のように何も生産的な発言をしない(まあむしろできないと思われるが)
くせに口調だけ尊大な奴こそ無視したいけどなw

だいいち、(まあググればわかるようなことではあるが)>>556の質問内容からすれば
具体的な機種名が必要とはちょっと思えないんだが。
563オレモナ〜:2006/03/19(日) 14:08:28
> 無視したいけどなw

無視しとけばいいじゃん。
できないのは、厨房だからですか?
564552:2006/03/19(日) 18:50:19
>>555
私の意図したのは汎用プロセッサのことなので、
a) 4M(1番地につき1バイト)
という認識であっていたのですね。

具体的には(プロセッサがビッグエンディアンの場合)
*(unsigned long*)0x8000 = 0xaabbccdd;
としたあと、
unsigned char tmp;
tmp = *(unsigned char*)0x8001;
とするとtmpの中身は0xbbということなんですね。

今まで、メモリが2Mワードx16ビットの場合は、もしかしたら
tmpの中身は0xccになるのではないか、と疑っていました。
(1アドレスにつき2バイト保持できるRAMだと思っていた)

自分の理解が正しかったと安心できました(^^)
ありがとうございます。
565デフォルトの名無しさん:2006/03/19(日) 19:04:13
>>564
なんかこう、実メモリアドレス空間とバス幅とメモリ配置について思いっきり勘違いしている悪寒。
1ビット幅のメモリを使う場合、通常バス幅のメモリを並べる。
8ビット幅のメモリを使う場合、通常バス幅の1/8のメモリを並べる。
以下同様に。
16ビット幅のメモリを使う場合と32ビット幅のメモリを使う場合も同様なので、
仮に0番地のメモリにアクセスしたときにはメモリの最初のワードにアクセスする。
しかし、2番地のメモリにアクセスしたときには前者は2番目のワード、後者は最初のワードにアクセスする点が異なる。
ちなみに、1ビット幅のメモリを使い、0番地にアクセスすると8個のメモリの最初のワードにアクセスすることになるわけだ。
#だからこそDRAMカードはメモリチップがずらっと並ぶわけで。
566オレモナ〜:2006/03/19(日) 23:01:33
>>565
> しかし、2番地のメモリにアクセスしたときには前者は
> 2番目のワード、後者は最初のワードにアクセスする点
> が異なる。

はぁ?

32bitメモリとか書いてるから、プロセサも最低 32bit
幅だと思うが、2番地のアクセスだと前者 (=16bit メモ
リ) でも、(0番地アクセスとは違うメモリチップだけど)
最初のワードがアクセスされると思うけど。

32bit ⇒ 16bit のバスサイジングでもやってるのか?
567デフォルトの名無しさん:2006/03/19(日) 23:18:36
>>566
その通り。別のチップの最初のワードだね。
568556と559:2006/03/19(日) 23:31:38 BE:699782988-
>>556
>>559 です。
すみませんでした。昨日は急いでいて説明が不足してましたが、
実は私の弟が制御の仕事していて現場にネットがないので
フレーミングエラーって何か調べて、と珍しく電話がありました.

自分なりにあれこれ検索を続け、ヒットした内容をそれぞれ伝えましたが、
それが役立つ情報かどうか、読んでいる私にはさっぱりわかりませんでした。

検索中、ヒットしたここに辿り着き、皆様に頼らせていただきました.
時々、2ちゃんねらーでしたが、こんなスレがあることもはじめて知りました。
こんな難しいことを話し合っている皆様すごいです。

今、弟に昨日の確認をしたところ、
一応エラーの表示はでるものの、動作しているそうです。

いつも深夜まで残業漬けの弟を、一人暮らしの部屋だけど
早く帰宅させたかった、制御素人の姉でした。
お騒がせし、そして大変お世話になりまして、皆様ありがとうございました。^o^
569デフォルトの名無しさん:2006/03/19(日) 23:35:54
まったく解決になってないわけだが。
570デフォルトの名無しさん:2006/03/19(日) 23:54:41
>>562
> 何も生産的な発言をしない

まさに、>>562 の発言がそうなわけだが w
571デフォルトの名無しさん:2006/03/20(月) 00:17:52
ハードはつくらないの?
572552:2006/03/20(月) 01:10:48
>>565
>>566
>>567
私、まだわかってないみたいですね・・・
皆さんのアドバイスを元に私なりに整理してみました。
添削していただけると幸いです。

前提条件(簡単化のため)
 プロセッサがサポートするバイトオーダー: ビッグエンディアン
 プロセッサが使用可能なデータバス幅 : 16bit
 プロセッサに接続しているメモリのデータバス幅 : 16bit
 メモリのスペック:2Mワードx16bit (容量4Mbit)
 このシステムで使用したいメモリの総容量: 4Mbit
この前提条件の場合、プロセッサには1個のメモリが接続される構成となる。(メモリとプロセッサのデータバス幅が同じなので)

また、
このメモリの0番地からプロセッサが16bitリードすると、メモリの最初のワードが読み込まれる。
2番地からプロセッサが16bitリードすると、2番目のワードが読み込まれる。
1番地からプロセッサが16bitリードすると、最初の下位ハーフワードと2番目の上位ハーフワードが読み込まれる。
(プロセッサが奇数番地からのワード読み込みをサポートしていたならばの話)

さらに
unsigned char tmp;
*(unsigned long*)0x0000 = 0xaabbccdd;
tmp = *(unsigned char*)0x0001;
をするとtmpの中身は0xbbということになる。(メモリの最初のワードから読み出される)

そして、
この場合、プロセッサが使用可能な物理メモリ空間の大きさは512k(4M / 8)


どんなもんでしょうか?
573デフォルトの名無しさん:2006/03/20(月) 01:15:28
どうみてもめちゃくちゃです。
本当に(ry
574552:2006/03/20(月) 01:26:07
そうですか・・・まだぜんぜんだめですか・・・
どの辺がとくにだめでしょう・・・?
(`・ω・´)
575デフォルトの名無しさん:2006/03/20(月) 01:46:19
いや、こういっちゃ何だが偉そうに回答している人間の方もよく分かってないと思われるw
もっとシンプルに考えればいいんだよ。
プログラマは普通ハードウェアがどんな実装をされているか、まで考える必要はない。
そのための抽象化でしょ。

1つのメモリアドレスにには1バイトのデータが割り当てられる。
データバスが何ビットだろうと、バイト単位のアクセスがRead-Write-Modifyで
実現されていようが、バスの8本だけを使う方法で実現されていようが、そんなことは無関係に。
ただそれだけのことでしょ。
576デフォルトの名無しさん:2006/03/20(月) 02:01:35
>>575
よくわかってないだろお前
577デフォルトの名無しさん:2006/03/20(月) 07:34:41
>>572

SRAMにはバイト単位のアクセス許可(16ビットの上位8bitだけ下位8bitだけを有効にする)
が付いてる事が多いから、そうだとすると
>1番地からプロセッサが16bitリードすると、最初の下位ハーフワードと2番目の上位ハーフワードが読み込まれる。
>(プロセッサが奇数番地からのワード読み込みをサポートしていたならばの話)
は可能だけど、 そうじゃない場合には無理だね。


> メモリのスペック:2Mワードx16bit (容量4Mbit)
 は 容量が32Mbitか 4Mbyteかの間違いか
  256Kワードx16bit (容量4Mbit)

>この場合、プロセッサが使用可能な物理メモリ空間の大きさは512k(4M / 8)
 を成立させるには
  256Kワードx16bit (容量4Mbit)
が正解なのだろう
578デフォルトの名無しさん:2006/03/20(月) 08:21:08
マンドクセから、チップとコントローラの仕様によって変わってくる、ってことにしようぜ
579552:2006/03/20(月) 20:37:59
>>575
そうですよね。
ソフトから見た場合、1アドレスには1バイト割り当てられるという理解で良いんですね。
(ハード屋さんがアドレスバスの接続を間違えたりしなければ)


>>577
>SRAMにはバイト単位のアクセス許可(16ビットの上位8bitだけ下位8bitだけを有効にする)
>が付いてる事が多いから、そうだとすると
私がデータシートを読んだSRAMも、確かにLowerByteとUpperByteを区別してデータを取り出せる仕様になってました。

>>1番地からプロセッサが16bitリードすると、最初の下位ハーフワードと2番目の上位ハーフワードが読み込まれる。
>>(プロセッサが奇数番地からのワード読み込みをサポートしていたならばの話)
>は可能だけど、 そうじゃない場合には無理だね。
自分で書いておいてナンなんですけど、これって2回のバストランザクションが発生しますね。
(アドレスバスには0番地しか出ていないから、1番地の上位ハーフワードを同時には取り出せない)
こういうのはコンパイラ&アセンブラがうまいこと2回のバイトリードに振り分けるんでしょうね。

>256Kワードx16bit (容量4Mbit) が正解なのだろう
そうです。間違えてました。すみません。(めちゃくちゃってこのことか・・・)


いやー、おかげさまですっきりしました。
何度もありがとうございました(^^)
580デフォルトの名無しさん:2006/03/20(月) 21:19:28
アラインされてないメモリアクセスを、2回に分割するのはCPUだろ。
アクセスするアドレスがアラインされているかいないかをコンパイラ・
アセンブラ・リンカが知ることの出来ないケースがあるから。
 CPUがサポートしてなかったら、バスエラー。
581デフォルトの名無しさん:2006/03/20(月) 21:30:36
>>580
> アラインされてないメモリアクセスを、2回に分割するのはCPUだろ。
そうなの?

> アクセスするアドレスがアラインされているかいないかをコンパイラ・
> アセンブラ・リンカが知ることの出来ないケースがあるから。
具体的にはどんなケースでしょ?
582デフォルトの名無しさん:2006/03/20(月) 21:43:52
a.c: int *foo(){ return (int*)0x12345; }
b.c: int bar(){ return *foo(); }
583デフォルトの名無しさん:2006/03/20(月) 21:44:29
x86系のCPUは奇数番地からのワードread/writeを2つのバイトアクセスにCPUが別けてくれる
他の多くのCPUは奇数番地からのワードアクセスでは例外を出すだけ
どうしてもそれでアクセスしたいなら自分で例外内でバイト2つに別けるとかするのだろうが
そんな仕掛けをわざわざ入れてる奴はみた事がない。

コンパイラが自動的に奇数番地からのワードアクセスを
バイトアクセスにしてくれるのも見た事がない。
584デフォルトの名無しさん:2006/03/20(月) 22:09:45
このスレのレベルだと、>>582>>581 の答えとわ
かってない奴が多そうな予感。
585デフォルトの名無しさん:2006/03/20(月) 22:10:37
>>583
OSレベルでなんとかしてくれることもある。
ttp://www.linux.or.jp/JF/JFdocs/LinuxAlpha-FAQ-1.html
>不整列アクセス(Unaligned access):
>    他の RISC CPU と同様に、Alpha でもメモリのアクセスに際しては 自然境界に整列している必要があります。
>例えば、メモリから 4 バイトの整数を読み込む場合には、先頭のアドレスが 4 の倍数となっている必要があります。
>同様に、8 バイトの整数を読み込む場合には、8 の倍数のアドレスから読み込む必要があります。
>もし、CPU が正常に整列していないワードをアクセスする場合には、 CPU はカーネルにトラップをかけて警告を出力します。
>そしてカーネルは、不整列アクセスをエミュレートし、何事もなかったかのようにユーザプロセスを実行します
>(ただし実行速度は大幅に落ちます)。
586デフォルトの名無しさん:2006/03/25(土) 16:14:39
>>584
もっと人間を信じろ。そこまでアホばかりではない。
587デフォルトの名無しさん:2006/03/25(土) 17:04:45
>>586
だが、信じすぎてはいけない。そんなに賢い人間はそうはいない。
588デフォルトの名無しさん:2006/03/30(木) 01:32:26
GCCで、特定のメモリ範囲だけを使わないメモリマップを作りたいのだがどうしたらいい?
その領域に、ダミーの変数なり関数を配置しておけばOKだと思うのだけど・・・。
589デフォルトの名無しさん:2006/03/30(木) 01:45:59
>>588
つLDスクリプト
590デフォルトの名無しさん:2006/03/30(木) 04:11:11
変数ならアクセスしなきゃいいだけだが、関数だとその番地にロードされるコードができるね。
「ロードすらしてはいけない」なら関数はだめだな。
俺もCPUのバグレポートで「この番地は使ってはいけない」所には使わない変数を配置した。
591デフォルトの名無しさん:2006/03/30(木) 22:09:01
なんで入出力って非同期転送にならないんでしょうか?ウエイト入れるくらいならキューにしちゃえばいいのに。
なんでウエイト入れなきゃなんないんですか?
592デフォルトの名無しさん:2006/03/31(金) 00:49:53
>>591
ヒント:キャパシタ
593デフォルトの名無しさん:2006/03/31(金) 06:04:12
>>591 巨視的な世界での電圧の変化って、ピュー太の内部CLKと比べると充分に遅いから、
っていう理解じゃだめ?
594デフォルトの名無しさん:2006/03/31(金) 13:31:53
>>591
相手が遅いから

制御系レベルの入出力とデバイスドライバレベルの入出力がごっちゃになってるんじゃないかという前提で、
相手が早いのか遅いのか、同期で読まなくちゃならないのかバッファリングして読んでもいいのかが決まってない世界が制御系。
595デフォルトの名無しさん:2006/03/31(金) 20:07:49
なんか凄いな。いつから皆さんエスパーになったのよ?w

俺には>>591は説明不足の舌足らずな質問にしか見えんが。
端的にいって意味不明ですけど。
596デフォルトの名無しさん:2006/03/31(金) 20:30:48
それは君の経験不足に起因していると思うよ
しなくていい経験というのもあるから、不足というと語弊があるかもしれんが
597デフォルトの名無しさん:2006/03/31(金) 20:44:34
いや凄いってのは当然皮肉なんですがw
仮に591読んで「意味が分かる」とすればそれこそ経験不足でしょ。

自分の妄想や思い込みを抑えて、謙抑的に書いてあることを書いてあるままに
読み取る訓練ができてないんだよそりゃ、悪いけどw
598デフォルトの名無しさん:2006/03/31(金) 20:58:22
ゆとり教育の想像力低下を危惧すべきだな。
599デフォルトの名無しさん:2006/03/31(金) 21:23:18
想像と妄想とは違うよw

確かに、591の文章の意味を想像することはできる。
しかし、入出力、非同期、キュー、ウェイト、などという一般的過ぎることばだけでは、
何についてのどのレイヤーの話をしているのか全く分からない。
可能性は無限に「想像」可能、といっていい。

それを勝手に「ああそのことね…」なんて早とちりして回答するのは
妄想以外のなんでもないよ。
600デフォルトの名無しさん:2006/03/31(金) 21:36:52
確かに君は経験豊富なようだ。
ただし煽られる側のな。
601デフォルトの名無しさん:2006/03/32(土) 00:05:18
もっと書いてくれれば答えガイがある質問かもしれん。
ぱっと見では勘違い電波質問にしか見えんが。

俺の受けた電波は、タイミングチャートを見たことも無い
間違って組み込みやらされてるPGから発信されたものだといっている
602デフォルトの名無しさん:2006/03/32(土) 00:05:29
まとめると、入出力は非同期転送にできるし、キューを使いたければ使えば
いいってことだな。
603デフォルトの名無しさん:2006/03/32(土) 01:09:12
つーか3/32に見えるな、エイプリールフールってことかいね。
604デフォルトの名無しさん:2006/03/32(土) 01:17:49
でスレ呼んでみたが・・・
確かにひどいなこれは。聞いたことある名詞を適当に並べて、
とりあえず接続詞を入れてみましたってな文章だな。
605デフォルトの名無しさん:2006/03/32(土) 01:32:23
>>597
何も分かってないか只の釣りだということが読み取れるから
基礎を講釈してるんだろ
606デフォルトの名無しさん:2006/03/32(土) 01:37:34
I/Oは、CPUの動作している高速なサイクルじゃ、バスにぶら下がってる外部入出力装置が認識できる電位まで立ち上がる事が出来ないんだよ。
だから十分にWAITを入れて電位がHigh(Low)に達するまで待たなきゃならんの。

たとえキューを使おうが、非同期にしようが、I/Oで保持する信号の変化を待つ為にWAIT入れなきゃ行けない。
607デフォルトの名無しさん:2006/03/32(土) 01:39:55
超高速な世界から見たら、配線コードそのものがコンデンサーみたいな物だからなぁ・・・。
608デフォルトの名無しさん:2006/03/32(土) 01:46:49
>>606
答えになってないなw
仮に591の質問の意図が君の思っているとおりであるとしても。

I/Oで保持する信号の変化を待つ為にWAIT入れなきゃ行けない。
それはその通り。
「だから」CPUとI/Oの間にキューが入れば、非同期でできるのになんで、と聞いているのに。
609デフォルトの名無しさん:2006/03/32(土) 01:52:57
PCIeの立ち上がりは100psだっけ?
とてもじゃないが、そんな信号の遣り取りなんか面倒見たくないね。
610デフォルトの名無しさん:2006/03/32(土) 02:05:27
>>608
キューに送る信号の安定待つのにWAIT入れないといけないんだけど?

つか、外部メモリーのアクセスにだってハード的にWAIT入れてるってえのに・・・
611デフォルトの名無しさん:2006/03/32(土) 02:16:14
>>608
つーか、お前が本ネタか?
だったら、お前が考える同期/非同期転送の違い、ウェイト、キュー
FIFO、メモリ、レジスタを定義してくれ

意図が読み取れなくて非常に気持ちが悪い

>>608
ソフトで面倒見られるのはH/Wより”遅い”場合だけだよ
H/Wが逆さに振ってもおっつかないもんは、どうしようもない
612デフォルトの名無しさん:2006/03/32(土) 09:06:26
608ではないが(595=597=599=608か? 言っていることは分かるつもり)

同期転送の例
1) データの変化がクロックに対して決まっていること
2) 転送元クロックと受信側クロックがあっていて、乗り換えの必要がないこと
2') 転送元からクロックが送られてきて、データがそれに同期していること
3) トランザクション終了がデータ転送終了となるもの
非同期転送の例
1) データの有効期間をストローブなどで知らせるバス
2) バスクロックと受信側クロックが合ってなくて、乗り換える回路がある
3) データ転送がoutstandingに実行される

599がレイヤーが違うといっているのは3)とそれ以外かな?

電圧だのキャパシタだの言っている奴はどういう意味のつもりなんだ?同期・
非同期とどう関係するのか全然わからん。メタステーブルにならないところで
読むのは当り前で、1-3で言うところの同期か非同期かは関係ない。
613デフォルトの名無しさん:2006/03/32(土) 09:35:50
>>612
いや、俺は605=611
あんな時間は当然のように仕事してた

正確に言えばキャパシタンスと言いたかったんだろうな
(厳密にはインダクタンスも絡むけど)

その影響で
>>3) トランザクション終了がデータ転送終了となるもの
こうならないと言いたかったんだろう

理由がなんだろうが、ぶっちゃけて言っちまえば
高速な信号の保持機構を端折ったH/Wの尻拭い、ってだけだけどな
614デフォルトの名無しさん:2006/04/24(月) 06:28:01
保守
615デフォルトの名無しさん:2006/04/24(月) 11:03:46
H8/300HシリーズでμITRONを考えています。
・・・が,対応製品が
・ThreadX-μITRON(4.0仕様。グレープシステム)
・NORTi/H83(2.0仕様。ミスポ)
ぐらいしか見当たりません。(TOPPERSは取りあえず除く)

昔は,HI8-3H(2.0仕様)というものが日立純正であったようなのですが,現在利用できるのかが分かりません。

どなたか,HI8-3Hがどうなったのかと,H8/300Hシリーズで使用できるμITRON製品を教えてください。
616デフォルトの名無しさん:2006/04/24(月) 14:00:16
μITRONをH8/300hで使いたいってのは、既に動いてる資産を利用したいからって事かい?
617デフォルトの名無しさん:2006/04/24(月) 17:20:42
SuperHファミリ用リアルタイムOS [HI7750/4]
ttp://japan.renesas.com/fmwk.jsp?cnt=hi7750_4_tools_product_landing.jsp&fp=/products/tools/os/itron/hi7750_4/&site=i
>HI7750/4は、μITRON4.0 仕様に準拠したSuperHファミリマイコン用の
>リアルタイム・マルチタスク OS です。

H8用はないっぽい
618デフォルトの名無しさん:2006/04/26(水) 06:22:25
トロンのカーネルはいちおう8bitまで考慮して書いてはあるけど、300Hじゃ動いても重い
でしょうね。ふだんOSレスで書いてる私から見れば、オーバーヘッドすぎるからやめとき、
が最初に出ますね。タイマひとつ張るのに識別子付けて記述言語情報付けて関数アドレス
付けてなんて、「標準化」ってのはそういうことなんだけど、チビの石には負担でしょ。
大事なのは割り込みとタスクレベルと両方から触る変数はタスク側でdi()/ei()かますこと。
セマフォだって根底はこれだけだよ。
619デフォルトの名無しさん:2006/04/26(水) 06:54:59
タスクの切り替えは、単にスタック領域をタスク毎に用意して、スタックポインタを切り替えるだけ
もっともH8はレジスタが多いから重くなるね
620デフォルトの名無しさん:2006/04/26(水) 07:21:46
タスク切り替えごとに割り込みマスクされると....
621デフォルトの名無しさん:2006/04/26(水) 07:30:54
具体的には、 taskA,taskB というポインタを用意しておいて

A->Bタスク切り替え:
 1、全レジスタをスタックに保存
 2、taskA := SP
 3、SP := taskB
 4、全レジスタをスタックから復帰
 5、return

つまり、Cで書く割り込み処理に SP切り替えを追加しただけのコストでタスク切り替えは実装出来る
622デフォルトの名無しさん:2006/04/26(水) 07:32:30
ただ、スタック領域がタスクの数だけ必要になるので、H8/300の1チップで
このスタック領域を確保するのは厳しいだろうな
623デフォルトの名無しさん:2006/04/26(水) 07:43:15
なるほど
でも、SPを切り替える時のコードが思いつかない。
624デフォルトの名無しさん:2006/04/26(水) 07:57:06
SP=ER7だから、普通に mov でメモリに書いて読めばいいだけだよ
625デフォルトの名無しさん:2006/04/26(水) 08:02:44
え、Cじゃ無理なの?
626デフォルトの名無しさん:2006/04/26(水) 08:17:47
h8用のCならインラインアセンブラを埋め込むのは可能だろう

汎用的にやるなら #include <setjmp.h>
setjmpしてlongjmp
627デフォルトの名無しさん:2006/04/26(水) 15:16:50
H8/300HくらいならμITRONサブセットのSmalightOSくらいでいいんじゃね?
トラ技のバックナンバーに載ってる。
628デフォルトの名無しさん:2006/04/30(日) 17:37:55
普通のLinux入れたいです。
629デフォルトの名無しさん:2006/05/02(火) 12:14:22
>>626
625じゃないけど・・・
setjmpとlongjmpでSP切り替えできるんだ・・・

というか、使ったことないのでした・・・setjmp
630デフォルトの名無しさん:2006/05/02(火) 12:32:50
でもアセンブラ使わないとなると、スタートアップ時にmainで巨大な配列をローカル変数に取るとかいう格好になるんで
ちょっと格好悪い
631デフォルトの名無しさん:2006/05/02(火) 13:34:19
setjmpとlongjmpはSPを記憶、戻すというイメージでは?
やっぱり、アセンブラか。個人的には意味ない感じ....
632デフォルトの名無しさん:2006/05/02(火) 14:36:23
630の内容は taskA から taskBを起動する時に
1、taskAのsetjmp
2、大量にローカル変数を取ったtaskBのスタートアップルーチンを呼ぶ
3、taskBで setjmp⇒taskAにlongjmp

2で取ったローカル変数のサイズだけtaskAのスタック領域が確保されるという仕掛け
633デフォルトの名無しさん:2006/05/02(火) 16:02:59
なんか、勘違いしてない?
634デフォルトの名無しさん:2006/05/03(水) 19:33:49
俺もそう思う

uITRON載せるのは16ビット以上ないとつらそうだ。8ビットなら昔は自作のOSもどきのタスクチェンジャ作ってのせてたな
635デフォルトの名無しさん:2006/05/03(水) 20:00:03
uClinuxは?
636デフォルトの名無しさん:2006/05/03(水) 20:22:24
OSのせるとある程度CPUパワーがいるからね。タイミングが厳しいのは....
637デフォルトの名無しさん:2006/05/03(水) 22:19:45
8ビットものはタスクスイッチとセマフォとタイマあればいいや
638デフォルトの名無しさん:2006/05/04(木) 00:14:59
>>635 あれは仮想メモリないCPUでも動くがだいぶ違うと聞いた
639デフォルトの名無しさん:2006/05/04(木) 10:17:59
ぬるい仕事しかしたことないんで、どうも「タスク」とやらの必要性がわからない。
8bitや16bitのCPUでやるような組み込みなんか、
割り込み + 回るコマドリ でいいじゃん。

「コンテキストの保存」というオーバーヘッドは
いったいなんのためのコストなんだろう。
640デフォルトの名無しさん:2006/05/04(木) 10:28:22
「コンテキストの保存・切替」というオーバーヘッドは  割り込みで全レジスタを保存するのと同じですよ。

つまりc言語で割り込み記述するのと同じコストですよ
641デフォルトの名無しさん:2006/05/04(木) 12:22:17
切り替えに時間がかからないのはわかったんですが、
スケジューリング?にかかる時間の計算はどうすればいいの?
642デフォルトの名無しさん:2006/05/04(木) 12:40:49
回るコマドリ というのが、例えば

void progRobin1(void){
 static RobinNo=0;
 switch(RobinNo){
  ・・・・・
 }
}

みたいにしてmainで割り込み待ちした後、各コマドリを呼び出すという方法だとしたら

それをコンテキスト切り替えにしてRoundRobin方式で回したり
入力タスクを出力タスクにつないだりするのと、時間的なコストは変らないのでは?

ただ、スタック=メモリ消費が大きいのが問題だと思うけどなあ
643デフォルトの名無しさん:2006/05/04(木) 12:50:42
その方法はよくわかるんですが、
リアルタイムOSでは、時間計算とかどうしてるのか気になるんですよ。
644デフォルトの名無しさん:2006/05/04(木) 16:07:15
誰が駒鳥さんを殺したの
誰が殺したクックロビン
645639:2006/05/04(木) 16:49:24
>>640
えーっと、だから数代前のMacOSみたいな設計(ノンプリエンプティブ、だったっけ?)
なら、つまり一定時間で強制的にタスクを切り替える、なんてことをしないで
全部ラウンドロビン方式でやれば、コンテキストの保存なんて作業の必要性は
発生しないわけですよねえ。

それじゃまずいタイムクリティカルな部分だけ割り込み使えば、
マイコンでやるような小規模なシステムなら必要十分だと思うんですが。
646デフォルトの名無しさん:2006/05/04(木) 18:31:35
例えば、可変長ブロックの通信処理。 
圧縮が入っていてけっこう厄介なものだとする。
会社Aに通信仕様だわ渡して頼んだら、GetByteみたいな関数呼び出して実装して持ってきちゃった。

でも全体のシステムを設計してた会社Bは
通信部は割り込みで受信する事を考えていたという事があるとするよ。

どっちも自分がマスターで、相手をスレーブと考えていたという場合だ。

このGetByteでコンテキスト保存して会社Bのメインタスクに戻り、
受信割り込みでコンテキスト切り替えしてGetByte に戻してやる。

そうすると、会社Aのコードも会社Bのコードも両方が動くと。
647デフォルトの名無しさん:2006/05/04(木) 18:46:40
まあ上の例だと、FIFOに書いては、ある程度溜まる都度 会社Aのコードを呼び出せるように
変更するという対策もまだ選択可能かもな。


でもさらに、

会社Aが アチコチにあるGetByteで読んで
圧縮されたデータを復元した結果を アチコチでPutByteしてたとするよ。

会社Bも 圧縮された結果をあちこちでGetUnpacByteして動くように作ってデバッグまで終わらせてしまってた。
で、納期は迫ってちゅうような状況だとしたらどう?

こういう状況だと、Aのコード、Bのコードをタスク化してつないでしまわんとしょうがないでしょ?
648デフォルトの名無しさん:2006/05/04(木) 21:07:23
つうか、会社Aも会社Bも、お互いにきっちりコミュニケーションとって下さい。
649デフォルトの名無しさん:2006/05/05(金) 00:08:54
コミュニケーションとった場合でも、マルチタスクを導入しなければ
片方がスレーブ的なコードを書かなければならなくなるわけで
この手のコードはマスター側で書くのは楽だが、スレーブとして書くのは大変でしょ?
650デフォルトの名無しさん:2006/05/05(金) 00:46:28
大変っていうか、とりまとめてる会社がみんな悪いなw
651デフォルトの名無しさん:2006/05/05(金) 16:23:28
どの会社が何を作るなんて決めの問題だろ。
で、決めたらそれを作るだけじゃん。

何が不満なんだ?
652デフォルトの名無しさん:2006/05/07(日) 07:59:59
>643
スケジューラの時間が書いているよ。
http://documentation.renesas.com/jpn/products/tool/rjj10j0134_mr30_r.pdf
このITRONの実装では、こうなるということで、実装によって
算出方法は変わりますが
653デフォルトの名無しさん:2006/05/07(日) 08:18:54
ありがと
でも、割り込み禁止時間が...............
654デフォルトの名無しさん:2006/05/07(日) 23:00:44
関係ないけど、可変長と委員長って 似てるよね
655デフォルトの名無しさん:2006/05/07(日) 23:40:05
むしろ月亭可朝
656デフォルトの名無しさん:2006/05/07(日) 23:57:52
委員長かわいいよ委員長
657デフォルトの名無しさん:2006/05/11(木) 15:23:18
かっぱ寿司(回転寿司)にいって、
カウンター席ーー>可変長メモリプール、
テーブル席 ー>固定長メモリプール
と思ったりしませんか? 優先度待ちにできんものかと、
勝手なことを考えたりします。
658デフォルトの名無しさん:2006/05/11(木) 15:59:11
>>657
kwsk
659デフォルトの名無しさん:2006/05/11(木) 21:38:52
うちの子供はテーブル席でも走って行って欲しいもん注文して帰ってくるぞ。
660デフォルトの名無しさん:2006/05/11(木) 22:32:44
よくわからんのだが、かっぱ寿司はカウンター席とテーブル席に格差があるのか?
661657:2006/05/12(金) 09:54:55
>660
優先度待ちで、優先度が高ければ、最後にノートに書いても、
次に呼ばれるということです。なんのひねりもなくてすまん。

ところで、テーブル席(可変長メモリプール)の場合に、
ITRONの仕様より、かっぱ寿司のアルゴリズムのほうが優秀です。
いわゆるフラグメンテーションについてです。というより、ITRONの
仕様が実装をやさしくしたのだと思います。
スレ違いですまんです。
662デフォルトの名無しさん:2006/05/12(金) 10:57:26
中四国で制御系の仕事やらしてくれる会社をおしえてください。
663デフォルトの名無しさん:2006/05/12(金) 11:39:49
教えてあげたいが会社ばれするので断る
664660:2006/05/12(金) 12:43:29
>>661
つまりあれだ、回転寿司かどうかに全く関係なく、ファミレスなんかの着席待ち行列の話だな?
空き席の状況と喫煙席の可否に応じて割り当て順序を変えるのが一般的じゃないのか?
漏れの行くような辺りだと「カウンター席のお客様を先にご案内します」とか、
「禁煙席の空きがありませんのでもう少しお待ちいただけますか」なんてのはよく見る光景だが。

それとあれだ、回転寿司に引き摺られて>659は注文待ち行列とミスリードしたわけだな。
そこで>659に質問だが。
かっぱ寿司ではカウンター席とテーブル席では注文の通し方に格差があるのか?
665デフォルトの名無しさん:2006/05/12(金) 13:06:30
中四国ってそんなに少ないんかい
666デフォルトの名無しさん:2006/05/12(金) 16:55:38
2重振子の振り上げのプログラム書かないとダメだけど全然わかんない…
どうすりゃいいの??
667デフォルトの名無しさん:2006/05/12(金) 17:10:31
>>666
http://pc8.2ch.net/test/read.cgi/tech/1143639945/131
タイミングからして、初めからマルチする気満満だな。
668デフォルトの名無しさん:2006/05/12(金) 22:08:27
669デフォルトの名無しさん:2006/05/14(日) 01:27:30
>>662
うちの取引先に岡山のがあるなあ。
前の職場の検査装置が広島だった。

探せば意外にあちこちあるはずだけど
一度中に入らないとそういう情報見えてこないんだよねえ。
670デフォルトの名無しさん:2006/05/14(日) 18:44:30
8人様ご案内のとき、4人席を2つ並んで確保するときもあれば
バラバラにされるときもある
だいたいは予約ノートに書くときに客が指定するけど
ファミレスの運営形態にもよるが、大抵はその8人が
すぐ近くにいたいのか離れてもいいのかで
確保の仕方が異なるんだよ
671デフォルトの名無しさん:2006/05/14(日) 20:36:31
回転寿司でテーブル席だと回転寿司の醍醐味が味わえない。
672デフォルトの名無しさん:2006/05/14(日) 22:13:10
>>671
テーブル席沿いにレールがあっても?
673デフォルトの名無しさん:2006/05/15(月) 00:31:11
>>672
4人がけだと、レールから離れてる方がつらい
取ろうとして手がぶつかってしょうゆこぼすし
674デフォルトの名無しさん:2006/05/15(月) 12:47:31
あー、バスインターフェースがボード上に散らばっている状態か。
675デフォルトの名無しさん:2006/05/15(月) 23:16:55
>672
テーブル席沿いにレールがあるとこってあるの?
ないと思うけど、あったら流行るかな?
これって特許になりませんか?
676デフォルトの名無しさん:2006/05/15(月) 23:24:31
>>675
あるよ。チェーン店でも全商品100円のなんたら寿司はそうだった記憶がある。
つーか、テーブルを縫うようにレールが走っているともいえるね。最早回転じゃない。
このタイプの店は、目の前に職人がいて直接オーダーするタイプの店とは明らかに違う。
店によっても違うのだろうが、機械握りだったりするわけだ。
魚屋チェーンの某魚○が経営していた回転寿司屋もレールが九十九折になっていたが、
休日夜でさえ一部レーンをショートカットするような状態が続いた挙句に終に潰れたよ。
677デフォルトの名無しさん:2006/05/15(月) 23:40:52
神奈川にいた時は元禄すしがおいしかったな。
こっちだとくらがおいしいかな。
678デフォルトの名無しさん:2006/05/16(火) 08:06:17
お前らはアセンブラプログラムだ。皿に乗ったデータが目の前に来ると変なことするだろう。
679デフォルトの名無しさん:2006/05/16(火) 15:34:46
>677
昔、千日前の元禄寿司でバイトしてたことがあるよ。
元禄は、一応職人がにぎってたよ。ちょっとおいしいの
かもね。バイトの大半はエビの作業でした。

680デフォルトの名無しさん:2006/05/16(火) 16:15:43
>>679
元禄寿司ってこっちにもあるんだ。
こっちだと、くらとかかっぱばかり見るからないんだと思ってた。
681デフォルトの名無しさん:2006/05/16(火) 16:21:11
>>680
こっちってどっちだよw

鮪で有名な御崎港には職人が握る回転寿司屋があるが、
レーンは殆ど機能していない。
なんせ客は殆ど職人に注文してしまうので、レーンを流れるのは山葵とかデザートだとか……
682デフォルトの名無しさん:2006/05/16(火) 23:35:38
回転寿司スレはここですか?
回転寿司の寿司をデータと考えたアルゴリズムが思い浮かんで
実装した記憶があるが、どんなのだったか忘れた
この時間でも空いてる店ってこっちだとどこかな
683デフォルトの名無しさん:2006/05/16(火) 23:46:53
大学の時、ゼミの後輩に、プログラミングの勉強のためってことで、
回転寿司シミュレータってのを作らせた覚えがある。
684デフォルトの名無しさん:2006/05/17(水) 17:25:44
HALは一般的にはどのレベルの抽象化ですか?
レジスタアクセスの抽象化か、
ドライバ層全体を指すのか、
俺的には前者のイメージなんですが。
685デフォルトの名無しさん:2006/05/18(木) 11:07:23
>684
一般用語というより、マイクロソフトで使われている言葉じゃないかな。
http://it.e-otsuka.com/elearning/course/il00005s21/trial/course/cont/page/00005S21-01-02-03-L.html
問いの答えは、後者っぽいけど、アークテキチャに依存しないドライバー部分が
あるようですので、どちらでもないように思います。

このスレっぽい話をすると
TOPPERS/JSPの中の、jsp/config以下に相当するんじゃないかな。
686デフォルトの名無しさん:2006/05/18(木) 22:04:53
>>684
WindowsのHALの話なら、基本的なアーキテクチャの差異
(電源管理、割り込み、マルチプロセッサ対応など)を吸収するレイヤ。
レジスタとかオペコードよりは上、ドライバよりは下の階層。

たとえばx86版の場合だと、割り込みの違い(PICとAPIC)、
電源管理の違い(APMとACPI)、マルチプロセッサ対応の違い
なんかで違うHALが提供されてる(インストール時に自動選択)。

ただまあ、一般化するほど一般的な用語じゃあないかな。
687684:2006/05/24(水) 00:54:38
>>685, 686
こんばんわ

ecosのHAL層とか見てみたんですが、toppersのconfigと同等っぽいですね。
特定のデバイスの抽象化というよりはosを
実装する上でのターゲット依存部(cpu, intc, timerなど)を切り分けたのを
HALと呼んでるっぽいですね。board support packageと同義かな?
688684:2006/05/24(水) 00:59:43
ところで全然話は変わるんですが、
ITRONは要するにマルチスレッドの実行環境である、という認識であってるんでしょうか?
組み込みlinuxやwindows、symbianとかでITRONのタスクのような並行処理の単位となるのは
スレッドになるんでしょうか?
689デフォルトの名無しさん:2006/05/24(水) 01:06:58
>>688
並行処理なんて、やってないからw
690684:2006/05/24(水) 01:25:08
並行は擬似並列という意味で書きました。
691デフォルトの名無しさん:2006/05/24(水) 01:28:16
現役のCPUで、本当の意味での並列処理を実装していたら、プログラマの何パーセントが生き残れるんだろうな・・・
692デフォルトの名無しさん:2006/05/24(水) 21:31:42
>>688どっちかと言うとuItronのタスクはプロセスよりスレッドに似ている。
693デフォルトの名無しさん:2006/05/24(水) 22:41:49
uITRON等で言うタスクは、WindowsとかLinuxのプロセスとほぼ同義。
タスク(プロセス)同士は異なった資源空間に属する。
(もちろん共有できる資源もある)

スレッドはプロセスとかタスクの中で資源空間を共有しつつ
並列に走る処理単位を指す。

マルチスレッドといった場合、プロセス(タスク)の中で
1〜複数のスレッドが走ってるモデルを指す。
その場合でも、「プログラム」と言ったら普通は
プロセス(タスク)単位の空間を指す。

スレッドが単体で存在することは普通はない。
あっても特殊な用途向け(割り込みスレッドとか)。
694デフォルトの名無しさん:2006/05/24(水) 23:28:33
>>689, >>691
デュアルコア CPU
695デフォルトの名無しさん:2006/05/24(水) 23:44:23
>>694
使い切れてないだろw
696デフォルトの名無しさん:2006/05/25(木) 08:40:12
タスクの切り替えってメモリ空間の切り替えで、
スレッドってスタックの切り替え(スタックレジスタの書き換え?)なの?
697デフォルトの名無しさん:2006/05/25(木) 09:48:15
>>693
いや、uITRONのタスクは基本的にメモリ保護なかったと思ったが? どちらかというとスレッドでしょう?
もともとMMUの無い環境を想定していると理解している。 最近になって拡張機能としてメモリ保護を
加えたらしい。

μITRON4.0仕様 保護機能拡張(μITRON4.0/PX仕様)
http://www.ertl.jp/ITRON/SPEC/px-j.html
698デフォルトの名無しさん:2006/05/25(木) 10:40:43
本当の意味での並列処理を実装されてたら
並列処理されていることにすら気付かない
699デフォルトの名無しさん:2006/05/25(木) 22:18:25
何を言いたいのか意味わからん。
700デフォルトの名無しさん:2006/05/25(木) 23:04:59
メッセージ交換なんて端折ってダイレクトにアドレス渡しでやり取りしてるから、無理。
つうか、プロセス間通信のメッセージ内容がポインタって何じゃそれ。の、世界だから、永久に無理。
701デフォルトの名無しさん:2006/05/26(金) 00:20:40
ますますわからん。
まずおまえの言う「並行処理」とやらを定義してくれ。
702デフォルトの名無しさん:2006/05/26(金) 00:28:43
不特定多数の人間に対して「おまえ」とか二人称で言ってる奴の方がワケわからんよw
703デフォルトの名無しさん:2006/05/26(金) 00:31:13
>>701
誰に言ってんの?
704デフォルトの名無しさん:2006/05/26(金) 01:26:38
こういうイチャモンつけるやつには、ホント閉口するわ

なんちゃってゲハハ
705デフォルトの名無しさん:2006/05/26(金) 11:39:23
>>701
人に考えを伝える能力に欠けているやつに
何度訊いたって無駄じゃないかな。
706デフォルトの名無しさん:2006/05/26(金) 11:53:30
推理が楽しいんじゃないか
707デフォルトの名無しさん:2006/05/26(金) 17:34:44 BE:108696487-#
エスパー能力を訓練するスレはここですか?
708デフォルトの名無しさん:2006/05/26(金) 17:42:45
ええ、常に2チャンネルで訓練していますよ。
これはフリーでやってゆくのに、最も必要な能力ですからね。
709デフォルトの名無しさん:2006/05/27(土) 03:28:10
悩んでいるやつの後ろを通りかかったときに
ちらっと後ろから覗いて 間違いを見つけた。
そいつがオレに質問しようと口を開いた瞬間に

ポートが読めない原因を探しているのなら
あんたの担当のサブボードにゃあ ないぜ!
メインボードに(入れちゃいけない)ジャンパがはいっている!

とか言ったらピシガシグッグッをやられた
710デフォルトの名無しさん:2006/05/27(土) 07:56:17
結局間違いは何だったの?
711デフォルトの名無しさん:2006/05/27(土) 08:18:07
1、1つのCPUでスタック領域を時分割で切り替えたりコルーチン構造にする
2、 1つのCPUが複数のレジスタセットを持ち、これを時分割で切り替える
3、 2を命令サイクル毎に自動的に行うもの
4、CPUを時分割で使い、仮想記憶の仕掛でまるで複数のCPUがあるかのように見る
5、CPUが複数存在する
712デフォルトの名無しさん:2006/05/27(土) 12:33:12
FPGAをCで書くために拡張された部分には(真の)並列処理の記法があったな
713デフォルトの名無しさん:2006/05/27(土) 13:15:08
あのさあ、「OSI参照モデル」じゃないけど、どのレイヤーの話をしているのか明確にしないと
ただの揚げ足の取り合いになると思うよ。

プログラマの相手にする対象の範囲内では、
並列処理が物理学的に真に並列かどうかなんて全くどうでもいいことでしょ。

揮発的に見える共有資源があるかどうか、
それだけが問題なのであって。
714デフォルトの名無しさん:2006/05/27(土) 14:04:08
制御系の場合はそうでもないよ。
昔、松下電子の4ビットマイコンで 命令サイクル毎の時分割が出来るのがあったが
こういうのは、命令数数えてシリアル転送するとか、そういうのにはとても便利
715デフォルトの名無しさん:2006/05/27(土) 16:41:52
>>712
System Cとかかな。
まあチップ内処理はほんとに並列実行されるしね。
716デフォルトの名無しさん:2006/05/27(土) 17:09:21
組込み系でUMLとかオブジェクト指向設計とかやってる所ある?
特に開発言語がCな所で。
717デフォルトの名無しさん:2006/05/27(土) 18:26:08
各制御単位において、それぞれの部分全体をオブジェクトと見なす。
718デフォルトの名無しさん:2006/05/27(土) 18:52:59
>>715
真の並列実行などあるはずがない。
719デフォルトの名無しさん:2006/05/27(土) 18:58:48
>>718素人は黙ってろ
世の中にはお前の知らないことも多い
720デフォルトの名無しさん:2006/05/27(土) 19:04:36
>>717各デバイス、U/I、コントロールをクラスにすればOK?
UML使ってみたいがクラスの分類がわからん。
721デフォルトの名無しさん:2006/05/27(土) 22:42:14
>>717みたいのは単なる「仮想化」であって、それなら何十年も前から
そのようにやってるじゃん。

確かにオブジェクト指向の肝でもあるけど。
722デフォルトの名無しさん:2006/05/29(月) 00:59:28
とはいっても、実際、そういう手法を取ってるところ多いからね。
723デフォルトの名無しさん:2006/05/31(水) 01:26:44
オブジェクト指向「風」 なら、その言葉が誕生する前から
やってる人は多いよね

言語レベルで出来るってのは確かに魅力だけど
それだって結局使う人しだいだしね

まーどうだろうね実際
724デフォルトの名無しさん:2006/05/31(水) 01:29:30
オブジェクト指向技法なら、ゲームの世界では20も年前からやってた事だな。
725デフォルトの名無しさん:2006/06/06(火) 23:29:12
組込み開発においてCUnitなどのユニットテストツールを
ばりばり使っている人っています?

ぜひ話を聞いてみたい
726デフォルトの名無しさん:2006/06/07(水) 15:30:54
げ! コード組んでデバッグ初めて気付いた。
H8-Tinyの方向レジスタは読み返しが出来ないのか・・・・
727デフォルトの名無しさん:2006/06/08(木) 16:57:49
>>724
オブジェクト指向は、処理系がそうでなければ、
ただのオブジェクト指向風構造化プログラムなだけだと思うが
728デフォルトの名無しさん:2006/06/08(木) 17:21:13
そんなふうに考えている時期が俺にもありました
729デフォルトの名無しさん:2006/06/08(木) 23:16:30
俺もそうだった

オブジェクト指向言語を使ってるだけで、
オブジェクト指向使ってると思ってるのと一緒
730デフォルトの名無しさん:2006/06/08(木) 23:30:35
バグで人間をぶち殺した人いますか?
731デフォルトの名無しさん:2006/06/08(木) 23:41:05
>>730
人的被害こそなかったが、使用されるモータのパワーと当たり所によっては指くらい切断しかねないバグを出した香具師なら知っている。
732デフォルトの名無しさん:2006/06/08(木) 23:55:32
>>727
オブジェクト指向っていうのは考え方。
言語は何だっていいんだよー。
733724:2006/06/09(金) 03:41:49
>>727
勘違い乙
俺はハナからオブジェクト指向技法と言っている。
アセンブラでポリモフィズムとか出来ないのは言語仕様だからしょうがないw
734デフォルトの名無しさん:2006/06/10(土) 08:08:23
できるよ
735デフォルトの名無しさん:2006/06/10(土) 23:02:34
質問です、近々Web系から制御系に転職するんですが
転職前に前知識として知っておいた方が良い事とか
読んどいた方が良いものってありますか?
736デフォルトの名無しさん:2006/06/10(土) 23:15:24
ごく一部をのぞいてそんなとんがった技術が要求される業界じゃないから
必要な知識はOJT式にやりながら覚えていけるでしょ。
737デフォルトの名無しさん:2006/06/10(土) 23:33:56
>>735
知っておいたほうがいいこと
 ・部品マニュアルの和訳は無い
 ・部品マニュアルは必ずしも正しくない
738デフォルトの名無しさん:2006/06/10(土) 23:43:24
>>736 >>737
おぉ!ありがとうございます
周りに経験者がいないので結構びびってました
英語力は必要だとは聞いていたのでマニュアル見れるようにがんばります
739デフォルトの名無しさん:2006/06/10(土) 23:52:22
割り込みハンドラでやってはいけない処理って
どういうのがあるのでしょうか?
740デフォルトの名無しさん:2006/06/11(日) 00:00:28
>>739 時間を取る処理をすること。割り込み中は他の処理を止めているため割り込み中で時間をとると他の処理がタイムアウトや失敗することがある
割り込み以外とリソースを共有すること
変数などを共に書き換えているときは割り込み以外は割り込み禁止にしてかき変えないと競合する
741724:2006/06/11(日) 00:45:54
>>740
変数書き換えごときで割り込み禁止にするなよ。
つか、割り込みの外と中で同じ変数に書くな。
中で書く変数は外では読み専用。
外で書く変数は中では読み専用。
742デフォルトの名無しさん:2006/06/11(日) 01:22:13
>>741
おいおいなんだか痛い人だなあ。

例えばさあ、その「中で書く変数」とやらを「書く」操作が
アトミックじゃなかったとしたらどうなるんだよ。

っていうか>>739はマ板でも同じ質問してるんだよね。
そっちでも書いたけど、そもそもそれが分かってない奴が
割り込みつかっちゃいけないよ
743デフォルトの名無しさん:2006/06/11(日) 01:22:52
>>740

セマフォなどのリソースの獲得も問題なのでしょうか?
744デフォルトの名無しさん:2006/06/11(日) 01:43:33
割り込み禁止なんて事は、どうしようもなかった時の方便で使うにトドメレッてことだろ。
つか、そもそも割り込み内でリソース扱うなw システムコールもするなw
745デフォルトの名無しさん:2006/06/11(日) 03:22:53
セマフォの「獲得」は初期化時にやっとくのがふつうだね。
セマフォを使った排他制御自体は(長く止めないことが判ってれば)割り込み中でも可。

>>741 uart使うときの、リングバッファ中の滞留バイト数みたいな情報は割り込みの中と外
両方から更新する必要があるでしょ。これを割り込みの外から更新するときには割込み禁止
にする必要がある。LD、add、ST、の3命令だけの短時間だけ。
746ビル・ジョブス:2006/06/11(日) 03:45:43
割り込み処理で使えるリソースは自分自身が管理しているデバイスとメモリ、
システムコールは許可されている物のみ。
割り込み禁止にする・しないは、割り込みレベルを抜きに語れないでしょ?
通常はより優先度の高い割り込みは入れるものかと。

リングバッファについては割り込み側はputのみアプリ側はgetのみにすれば
割り込み禁止にする必要もないかと、getが遅くてputできない状態は取りこぼすが、
そればリングバッファを増やすなど設計・運用で対応するのがベター。
putPtrとgetPtrを用意してポインタで管理すればアプリは何バイト読めるか計算で
求められるのでバイト数をカウントする必要は無いよ。もしもその瞬間割り込まれたとしても、
putPtrが1マシンサイクルで更新される、つまり1インストラクションで更新されるCPUならば、
割り込み処理側が優先されるので不具合にはならないはず。
SHはOKでH8-300シリーズもOK、H8-500シリーズは割り込まれると怪しい処理になるかもね。
よって厳密にはケースバイケースが正しいのでは。
747デフォルトの名無しさん:2006/06/11(日) 04:15:31
送信側のringバッファは以前このスレで聞いてポインタだけに直せました。

受信側は、「受信したバイトがあるかどうか?」を見るのに滞留数を使ってるので、滞留数を
廃止できなかったのですよね。滞留数をputptrとgetptrから計算する手法はここで聞いて理解
したのですが、取り出し側で滞留数を判定するときに毎回その計算するよりは、
受信時滞留数++、取り出し時滞留数--、滞留数がゼロでなければ「受信バイト有り」のほうが
オーバーヘッドが少なそうだったので。3MHzの8085での話です。

10MHzオーバーのH8ならそんなオーバーヘッドは気にしないでよさそうですね。
H8/500シリーズは、メモリ++が1命令でできるのでだいじょうぶです。
748デフォルトの名無しさん:2006/06/11(日) 05:14:11
少なくとも >>735>>739 には

エレベータ制御はやらせてはいけない
749デフォルトの名無しさん:2006/06/11(日) 07:23:20
@itで組み込みベンダーの半分は海外に外注って書いてあったけど本当?
750デフォルトの名無しさん:2006/06/11(日) 11:30:49
質問者は「割り込みハンドラのなかで〜」と抽象的なことしか言ってないのに
特定の環境に引き寄せて回答してる奴ってのは頭おかしいのかね
自分のやってることが世界の全てだとでも思ってるのだろうかw

抽象的な質問には抽象的に答えるしかないだろうに。
具体的を出すなら「例えば」と前置きしろよ。
ま、具体的すぎる「些細な話」が一般的に万人にとって役立つとはとても思えないが。
751デフォルトの名無しさん:2006/06/11(日) 11:33:26
OS使えよ。バカなんだから。
752デフォルトの名無しさん:2006/06/11(日) 11:53:22
>>749
多分、本当。
でもって、仕様通りじゃないとか、糞過ぎて使えねえとか、その辺の経験を一通りクリアしたくらいの時期。
753デフォルトの名無しさん:2006/06/11(日) 11:56:07
>>450必死だなw
素人は黙ってろ
組み込み系は専門知識が重要だから無知なやつが書いたらすぐ判るぞ
754デフォルトの名無しさん:2006/06/11(日) 11:59:15
いつの話を蒸し返してるんだよお前わ
755デフォルトの名無しさん:2006/06/11(日) 12:00:39
そのくらい粘着じゃないと、BUG取りはできないよな。
756デフォルトの名無しさん:2006/06/11(日) 12:05:16
>>752 thx うちの会社は遅れてるのかな。
国内の外注は良くやるが海外の外注はないな。
実装がアウトソーシングされるとSEとQAしか会社に残らんのとちゃう?
757デフォルトの名無しさん:2006/06/11(日) 12:08:59
>>756
固有デバイスに特化した知識なんていらないだろ?
758デフォルトの名無しさん:2006/06/11(日) 13:13:18
>>575 特定デバイスに特化した知識がないとオープン系と変わらんぞ
組み込みlinuxなどのオープン系のOSが普通になると組み込み系の技術者はハードとソフトの両方の知識が入るドライバー周りだけしか残らないかもな
実際ソフト規模が増えて組み込み技術者不足らしいがオープン系から流入して来るんだろうな
759デフォルトの名無しさん:2006/06/11(日) 13:20:32
>>758
おまい、わかってないな。
特定デバイスは特定デバイス専門でやてくれる所に投げればいいんだよ。
その方が、安いし速いし安全。

システム全体の寿命と、そのデバイスを採用し続ける寿命、どっちが長いと思ってんだ?
760デフォルトの名無しさん:2006/06/11(日) 13:26:41
>>759話が噛み合わないな
ドメインが違う?
普段何開発してんだ?
761デフォルトの名無しさん:2006/06/11(日) 19:58:37
今FPGA開発している。
ソフトと違うんで色々苦労するけど、興味深いものはあるな。

海外に外注というか、系列ソフト会社に外注して、その孫外注が在日の中国人で
日本語でコメント入れてくれてたんだけど、てにをはが壊れている以上だった。
今はインドとか開発依頼している。
日本に来てもらったりした時は、ベジタリアンとかだと食事の世話に困るんだよなあ。
762デフォルトの名無しさん:2006/06/12(月) 18:41:56
普通に英語でコメントを書いてくれればいいんだけど、
現地語でかかれてなんじゃこりゃ?って経験はある。
763デフォルトの名無しさん:2006/06/13(火) 07:34:08
香具師らも日本語のコメント見て
現地語でかかれてなんじゃこりゃ?って思ってるだろうな
764727:2006/06/13(火) 12:48:47
>>732,>>733
ま、議論し尽くされたネタだし、版違いなんだろうが
オレ的には、どこまでいっても、オブジェクト指向と構造化プログラムは似て非なるものという認識なのだが
とくにCの場合は、旧処理を許しているから混同しがちだが
旧処理系でどんなにオブジェクト指向"風"にやってもそれはあくまで高度な構造化
それを広義に"オブジェクト指向技法"といってよいものかどうかは、現在の理論でどう解釈されているかはわからん
実際どーなのよ
765デフォルトの名無しさん:2006/06/13(火) 19:08:05
NeXTSTEPとかみたいに、それ前提のシステムがあるが、
オブジェクト指向前提の言語でやらなきゃ真なるオブジェクト指向にはなり得ないという考えなのかな。
766デフォルトの名無しさん:2006/06/13(火) 22:07:41
Cだろうとアセンブリ言語だろうとオブジェクト指向でコードは書ける。
単にオブジェクト指向言語は、非オブジェクト指向言語で、
オブジェクト指向を書くときに、明示的に書く処理を書かずに済むだけ。
767デフォルトの名無しさん:2006/06/13(火) 22:55:57
>>766
でもそもそも「オブジェクト指向」の定義があいまいだからね。

構造体とメンバを操作する関数を一塊にして仮想的な「装置」と看做すこと
こそオブジェクト指向の本質だ、っていう見解の人もいれば(俺はこっちの立場)、
継承だの多態だのといった瑣末(だと俺は思うんだけど)な技術こそ本質だって人もいるから。
768デフォルトの名無しさん:2006/06/13(火) 22:58:36
本当のオブジェクト指向なら、ポインタなんて使わねえだろうなぁ
769デフォルトの名無しさん:2006/06/13(火) 23:54:26
そうだよ。「対象を目的地に移動させます」と書いておけば移動媒体のファームウェアが出来あがる。
こんな楽な事はない。
770デフォルトの名無しさん:2006/06/14(水) 00:12:43
大体だな、オブジェクトというのは貧乏人が使うクロージャなんだってばよ。
771デフォルトの名無しさん:2006/06/14(水) 00:18:49
>>769
識別子(ID)くらいは必要だろ。
772デフォルトの名無しさん:2006/06/14(水) 00:48:46

いらないよ。
対象は人でも、荷物でも、電子でもなんでもいいんだ。 目的地は南極だろうが宇宙だろうが異次元だろうがどこでも良い。
移動手段はオブジェクトが決めてくれる。

オブジェクト指向。すばらしい。
773デフォルトの名無しさん:2006/06/14(水) 00:50:47
そうだよなあ。
車.移動(自宅)
で移動してくれるわけだから、、、って話がずれてないか?
774デフォルトの名無しさん:2006/06/14(水) 00:53:51
上流階級はオブジェクト指向なんかでプログラミングしない。
上流階級は関数型言語だ。
775デフォルトの名無しさん:2006/06/14(水) 05:11:01
>>773
ハイヤーならそれでいいが
実際には免許を取得して
車を購入して
ちゃんとメンテナンスして。。。

あ、でも免許も車も再利用できるわけで。。。
776デフォルトの名無しさん:2006/06/14(水) 10:43:48
エレベータ.潰す(人)

だれだこんなコード書いた香具師は
777デフォルトの名無しさん:2006/06/14(水) 12:37:22
>>776
マ板へいけ

バグ被害スレとか、エレベータスレとか建ってるぞw
778デフォルトの名無しさん:2006/06/14(水) 22:40:29
>>774
一方ロシア人は天才を育てた
779727:2006/06/15(木) 14:46:22
その昔あるとき、Cでオブジェクト指向風に、非常に構造化して書いて悦に入っていたのよ>オレ
その後それをC++でリメイクする機会があった
そうしたら、えらくシームレスに書き直しができたのね
で、だけじゃなくコード量が減ったですよ、なるほどと思いながら、気が付いたのが、
オブジェクト指向言語の求めるものを処理系が用意するところを、グラマーが負担していただけのこと
また、オブジェクト指向が求めるものは、格好じゃなく
安全性や可視性の面で有利な点があるよね
それらをグラマーが負担していたら、格好はオブジェクト指向的かもしれんが
大きく違うんじゃないだろうか

まるで、船と飛行船みたいなもの
同じように海の上を走るから同じジャンといったら、それは違う
「継承だの多態だのといった瑣末」という意見があったけど
結構、「瑣末」の部分が、その本質的な要求を満たすのに必要なものじゃないだろうかと
780デフォルトの名無しさん:2006/06/15(木) 15:27:46
>>778
ロシアはエスパーを極秘で育ててるんだろ?エスパーいれば天才いらないじゃん。
781デフォルトの名無しさん:2006/06/15(木) 17:20:23
>>779
成る程そういうことならハゲ同。

>>780
なぜ “極秘” で育てている事を知っているんだ。
782デフォルトの名無しさん:2006/06/15(木) 17:27:49
>>781
>>780もエスパーなのさ!
質問スレで大活躍!!!
783デフォルトの名無しさん:2006/06/15(木) 17:45:41
>>781
極秘っていうのは、極めて秘密にしたいことというだけで、情報が外に漏れないことを保障するわけではないからね。
784デフォルトの名無しさん:2006/06/16(金) 03:08:10
必ず殺す技

と書いて必殺技だが、大抵はガード可能
785625:2006/06/21(水) 18:04:39
gccだとこんな感じでかけるみたい。
void
stack_change(char **old_ptr,char **new_ptr)
{
register char *stack_ptr asm("sp");
  *old_ptr = stack_ptr;
  stack_ptr = *new_ptr;
  asm ("":"=r"(stack_ptr):"r"(new_ptr));//おまじない
}
786デフォルトの名無しさん:2006/06/21(水) 18:37:49
>>785
だからそれ、アセンブラだよな。
787デフォルトの名無しさん:2006/06/21(水) 18:42:58
だからそれ?
788デフォルトの名無しさん:2006/06/21(水) 18:47:08
だがそれがいい。
789625:2006/06/24(土) 13:07:57
H8だと
  asm ("":"=r"(stack_ptr):"r"(new_ptr):"r4","r5","r6");//おまじない
にすると、関数の入り口と出口でレジスタの退避、復帰のコードを追加してくれます。
790デフォルトの名無しさん:2006/06/24(土) 15:41:55
だからそれ、インラインアセンブラであってCじゃないよな。
791デフォルトの名無しさん:2006/06/24(土) 16:26:40
インラインアセンブラってなに?定義を教えて
792デフォルトの名無しさん:2006/06/24(土) 17:55:52
ググレカス
793デフォルトの名無しさん:2006/06/24(土) 18:04:19
おまえの定義を知りたいんだよ。
794≠792:2006/06/24(土) 18:06:51
Cプログラム内に埋め込んだアセンブラじゃないの?
795デフォルトの名無しさん:2006/06/25(日) 04:53:43
#pragma function=interrupt の後に書くか、interrupt void func(void) { で書くのとどう違うの?
796デフォルトの名無しさん:2006/06/25(日) 05:06:21
__attribute__ ((interrupt("FIQ"))) void func(void) {}
もよろしくネ
797デフォルトの名無しさん:2006/06/25(日) 11:47:28
コンパイラは何?マイコンは何?796はgcc?
798795:2006/06/26(月) 04:50:09
私のはライフボートのコンパイラ。>>795のように書けば「その関数内で壊すレジスタだけ」
退避・復元してくれます。
799デフォルトの名無しさん:2006/06/26(月) 12:10:31
なんだ、マニュアル持ってるんだ。
800デフォルトの名無しさん:2006/06/26(月) 22:27:03
>798
ライフボートのコンパイラって、懐かしいね。
今のライフボートとは違う会社らしいけどね。
801795:2006/06/27(火) 04:49:11
買った当時はソフトボートだったかな。途中で「あれ?会社無くなった!」とか思ってあせったり。
95-->98まではドングル認識したけど、2000以降はドングル認識しなくなった。
しょうがなくて今でも98のパソコンを保存してます。
コードはルネサスのよりちょっとかしこいのを吐くみたいです。
802名無し募集中。。。:2006/06/27(火) 08:30:28
WATCOMだっけ?
803デフォルトの名無しさん:2006/06/27(火) 12:15:08
俺はIARのICC/H8を使ってた。
804795:2006/06/28(水) 04:57:53
インストしたフォルダは私のもIARですね。8bit系にはインラインアセンブラ機能が無かった。
その後買った16bit系はどうだったかな・・・ベクタもcでかけるしsfr定義が使えてbit操作も
sfrxx.BITx=1;とかの書式をサポートしてくれてたから、インラインASMの必要感じなかった。
805デフォルトの名無しさん:2006/06/28(水) 06:29:20
IARのbit変数はH8だと使い勝手がとてもよかった。
806178:2006/06/30(金) 05:31:39
激亀ですが、>>185でご紹介いただいた、http://aitendo.ocnk.net/product/90 を買いました。
(お客さんに買っていただいたのですが) 以下インプレです。

・USBの電源だけで使える=電源アダプタ不要なのは使い勝手良いです。
・DEVICE認識のAUTO機能が無い。-->メーカーかSIZEから選ばないといけない。
・ダウンロードのフォーマットにINTELHEXはあったが、MOTOROLAがサポートされてない。
 27C256程度しか焼かないので不便は無いが、安いのはこうなのだな、と思いました。
・箱に入っていた紙に書かれていた、「マニュアルはここからダウロ」のURLが間違っていた。

こんなところです。まあ、必要最低限の機能で、場所をとらないし、値段からいって満足です。
807_:2006/07/04(火) 18:25:41
RS232CっていうのはTCP/IPの世界で言う「キャプチャ」みたいなことは出来るの?
UNIXから特定の命令を任意に送り込みたいんだが。
一方的に命令を送るUDPみたいな概念はあるの?
808デフォルトの名無しさん:2006/07/04(火) 18:32:07
NIFTY-SERVEのパスワードを忘れてしまったときに
232Cから信号を横取りして別のPCで表示したことがある
激しくチラ裏だけどね
809デフォルトの名無しさん:2006/07/04(火) 18:55:16
>>807
レベルが違う。RS232Cと比べるんだったらイーサネットじゃなきゃ
RS232CでもTCP/IP出来るんだから。
RS232Cで外付けモデムでPPP接続ってのがRS232CでTCP/IPやってるってこと。
でもってRS232Cってのは1バイト単位の送受信だから後は上位でやってねってこと。
810デフォルトの名無しさん:2006/07/04(火) 21:54:20
>>809
多分その人レイヤーの違いは認識していると思う
>>808みたいな芸当が出来るのかどうかってことを質問しているんだと思う。
ってわけで出来る。
つーか、RS232Cにもフロー制御の概念はあるしな。
811デフォルトの名無しさん:2006/07/04(火) 23:44:21
制御カウンタの用途について知りたいです
812デフォルトの名無しさん:2006/07/05(水) 12:01:48
「制御カウンタ」ってなに?
813デフォルトの名無しさん:2006/07/05(水) 12:42:17
>>807
何がしたいのか良くわからんぞ。
tcpdumpみたいなことをしたければ、外にプロトコルアナライザーをつければ、どんなデータをやり取りしているかわかるぞ。

PPPとか使っている場合は見ただけではわからないがEtherReal動かせばPPPを表示してくれるぞ。
814デフォルトの名無しさん:2006/07/05(水) 13:00:38
Win98まではWintipってフリーソフトをPCで起動しておけばRS-232Cをモニタしてくれて便利だったけど。
XPでもソフトオンリーで起動するだけでCOMをモニタしてくれるフリーソフトってある?
815デフォルトの名無しさん:2006/07/05(水) 13:58:34
htermじゃだめ? あ、受信しかモニタできないか。自分がI/Oしないでcomをモニタしたいのね。
そういうのがあれば私も知りたい。

入力から変換するのにscanf系は良くないって話を以前ここで見たのですが、なぜですか?
私は頭〜尻尾までメモリに溜めて、sscanfで変換、てのはよくやります。
816デフォルトの名無しさん:2006/07/05(水) 14:13:54
817デフォルトの名無しさん:2006/07/05(水) 19:38:26
>>815
想定外のデータが入力されている可能性があるから。
818デフォルトの名無しさん:2006/07/05(水) 21:17:53
こういうのを使えば付属のWINDOWSアプリから任意の文字列を表示できるんだろうけど、
UNIXからやるにはどうすりゃいいんだろ。
http://akizukidenshi.com/catalog/items2.php?q=K-01041&p=1

専用アプリのやりとりをモニタできれば可能だろうか。
819デフォルトの名無しさん:2006/07/05(水) 21:24:28
ここにまんま書いてありますが。
ttp://www.humblesoft.com/j405board/firmware1.html
820デフォルトの名無しさん:2006/07/05(水) 22:33:27
すいません。くだらない質問ですが具具ってもよくわからなかったので教えてください。

制御系とかシステム系とか汎用系とかの言葉の意味がわかりません。
お願いします。
821デフォルトの名無しさん:2006/07/06(木) 03:54:23
822デフォルトの名無しさん:2006/07/06(木) 04:34:51
制御系≒組み込み系・・・いわゆるマイコン=マイクロプロセッサーに専用の制御をやらせる。
専用とは、通信機(PHS、ケータイ)、洗濯機、炊飯器、エレベーターなど、さまざまな機器の制御。

システム系・汎用系・・・いわゆるメインフレームと呼ばれる「汎用機」で実行するアプリケーション。
JRやヒコーキの予約システム、給与計算など事務系の業務、スパコンでやるほどでもない小型の
科学技術計算など。   ・・・だいたいこんな認識でいいかとおもう
823デフォルトの名無しさん:2006/07/06(木) 06:21:32
制御系はcontrol systemの意味もあるだろ
本当に制御系というか制御システムというか制御理論というか
制御対象と制御器があって、数学モデル化した要素を繋いでブロック図などで扱うヤシ

システム系と汎用系も違う意味があるかも知らんけど漏れは知らね

詳しくは制御工学の本で
システム工学とは違うこともあるから気をつけれ
824820:2006/07/06(木) 12:07:46
>>822,823
ありがとうございました。参考になります。
825815:2006/07/06(木) 15:55:52
>>817 ありがと。そしたら、特定のアプリで使う通信文で「このフィールドはこの形式」とか
決まってる場合には使っても問題なさそうですね。変換できたかどうかの結果も返るし。
826デフォルトの名無しさん:2006/07/07(金) 01:40:11
>>825
絶対にエラーしないなら
827815:2006/07/07(金) 05:08:18
scanfのエラーって、例えば数値のはずのフィールドを変換して、変換できれば変換済み個数が
1増えて返されるし、変換できなければ0のままですよね。あと、CR,LFは空白文字の仲間だから
「行を越えて探しにゆく」可能性かな。こっちは行末の後にnullキャラ付加してから変換かけてる。
このぐらいのとこ押さえとけばいいと思うのですが、関数仕様にないような動作するとかが
あるのですか?
828デフォルトの名無しさん:2006/07/07(金) 05:44:58
大丈夫、sscanf()を使いこなせない香具師が暴れているだけだから。
戻り値をちゃんと見ることと、フォーマットの空白の意味と、%[...]と%nが使えれば問題ないだろ。
829デフォルトの名無しさん:2006/07/07(金) 08:38:36
>>815
printf,scanf系はリエントラントで無い場合があるから
リアルタイムO/Sを使う場合や割り込みハンドラの中で使う場合は要注意

830デフォルトの名無しさん:2006/07/08(土) 02:00:10
>>827-828
違う、通信文なんだろ?
エラーデータが入ってこないことを低位層で保障されてるなら
831815:2006/07/08(土) 05:42:44
>printf,scanf系はリエントラントで無い場合があるから
あ、それは理解してます。非タスクコンテキストでは使いません。実数変換もしません。

K&Rなんかだとあんまり親切に書かれてなくてよく分からない点です:
n=sscanf(buf,"ABC%d,%d,%x",&dec1,&dec2,&hex1); とか、複数の変換を書いたとき、
頭のABCや間のコンマは、「その文字を探して次の位置から」変換してくれるのですか?
(つまり%何とかじゃないstringはstrstr()でそれを探してその次の位置から%変換になるか?)
それが確認できなくて、1項目ずつ探して変換してたりします。
832デフォルトの名無しさん:2006/07/08(土) 09:59:55
>>831
たまたま入力でその文字が存在していたら読み飛ばす。
%d,%d というフォーマットに対して 3,5 はそれぞれ3と5が変換されるが、
3a,5 では3の変換だけで終了してしまう。
833デフォルトの名無しさん:2006/07/08(土) 10:07:15
よくわからんがフォーマット文字列を左から普通にスキャンじゃだめなん?
va_listつかった事ない?
834デフォルトの名無しさん:2006/07/08(土) 10:10:02
あーそうそう、読み飛ばしには%*[A-Z]などを使うと便利かも知れず。
835デフォルトの名無しさん:2006/07/08(土) 11:37:47
>>831
K&Rはリファレンスじゃないので細かい点を期待してもだめでしょ。
リファレンス本とか、コンパイラ付属のマニュアルとか、manとか、
規格票とかを読んでね。

ところでscanfでなくてsscanfを嫌う理由ってあったっけ?
836デフォルトの名無しさん:2006/07/08(土) 11:49:21
837831:2006/07/08(土) 12:39:18
>>835 標準入力じゃないuartから読み込んだ行に対して変換かけるからです。
838デフォルトの名無しさん:2006/07/08(土) 15:20:18
データ形式が決まってるなら普通にパースすればいいのに
839デフォルトの名無しさん:2006/07/09(日) 09:16:03
LQ法、ILQ法について、100字以上200字以内で簡潔に述べよ。
いや、述べて下さい。
お願いします。
840デフォルトの名無しさん:2006/07/09(日) 09:56:14
お前の態度が心底気に入らない
841デフォルトの名無しさん:2006/07/10(月) 14:46:48
そんなお前はいらない。
842デフォルトの名無しさん:2006/07/10(月) 15:23:44
そういうお前もいらない。
843デフォルトの名無しさん:2006/07/10(月) 15:44:57
そして誰もいなくなったとさ
844デフォルトの名無しさん:2006/07/10(月) 15:56:35
強者が弱者を助けるのは義務なのか。
老人と新人エンジニアについて論ぜよ。(20点)
845デフォルトの名無しさん:2006/07/10(月) 16:16:11
団塊の
世代の定年
近い今
チャンス到来
だぜニートどもよ?

短歌にしてみました。20点はいただきだな。
846デフォルトの名無しさん:2006/07/10(月) 18:22:18
団塊のジジイどもよりも、腐れニートの方がまだ能力的に上だと思うんだけど。
847デフォルトの名無しさん:2006/07/10(月) 18:32:37
ニートは潜在的脅威者の排除から生じたと思う
848デフォルトの名無しさん:2006/07/10(月) 22:36:50
ニートはただのフリーターではなく働く意思の無い者だろ。
「働く意思がある」というのは社会人にとって最も重要な能力だ。
その能力の欠如している者が、「まだ能力的に上」とは思えない。
849デフォルトの名無しさん:2006/07/10(月) 22:40:23
働く必要がないから働かないだけでは?
850デフォルトの名無しさん:2006/07/10(月) 22:58:36
能力云々より基本的なコミュニケーションスキルがない人間は
雇ってもらえませんが何か
851デフォルトの名無しさん:2006/07/10(月) 23:31:13
>>849
必ずしも働く必要は無いかもね。
能力を辞書で引くと
 のうりょく 【能力】
 (1)物事を成し遂げることのできる力。
 「―の限界を超える」「月産一〇〇〇台の―をもつ工場」
 (2)法律上、ある事柄に関して当事者として要求される資格。
であって、>>846の文意からするとこの場合の能力とは(1)だろうから、
何かを成し遂げれば少なくともそのための能力はあったということ。
何も成し遂げないで「俺は能力がある」なんて言ってる奴は、そんな
もの能力でもなんでもない。
ニートでも難しいテレビゲームをクリアしたなら、「そのゲームをクリア
する能力があった」ってことだろう。このスレで話題にすべき能力があ
るかどうかは分からんが。
852デフォルトの名無しさん:2006/07/11(火) 00:46:22
ここは一体なんのスレなんだよwww
853デフォルトの名無しさん:2006/07/12(水) 00:03:11
ニート議論スレ。
854radio star:2006/07/12(水) 18:08:57
状態フィードバック制御と
オブザーバの併合システムを考える場合、
両方に極あるんだがこれはどう考えればいいわけ?
855独立配置:2006/07/12(水) 22:20:09
オブザーバの分離定理
856あばよ:2006/07/13(木) 07:35:31
状態フィードバック制御則から
そのtおきの状態方程式なんてどうやってだすの?

googleもyahooも全然ひっかからねえ
857独立配置:2006/07/14(金) 18:39:36
残酷な天使のニート。
少年よニートになれ。
858デフォルトの名無しさん:2006/07/15(土) 03:38:29
テクニカルエンジニア(エンデベ)ってどうなん?
ETECとか出てるけど
859デフォルトの名無しさん:2006/07/15(土) 21:51:39
一般でよく売ってるRS232Cで繋ぐ電光掲示板って漢字フォントとか入っているんだね。
TERATERMでキーボードからそのまんまASAHIって打ったら、まんまASAHIと表示された。
俺てっきりドットレベルの指定からやらなきゃいけないと思ってた。
860デフォルトの名無しさん:2006/07/15(土) 22:30:59
ああん それ漢字ちゃう
861デフォルトの名無しさん:2006/07/15(土) 22:40:48
>>858
たったそれだけで、一体どんなレスを期待してるんだ?
862デフォルトの名無しさん:2006/07/16(日) 05:00:34
>>861
漢字フォントじゃないけど、最低限アスキーくらいは入ってますよということじゃない?
文字コードはなんだろうね。Windowsで使う人のほうが多いからSJISかね?
863デフォルトの名無しさん:2006/07/16(日) 12:29:34
SJISの方がシフトIN、シフトOUTしなくていいから、楽。

ならUNICODE使えって? まあ、それはねえw
864デフォルトの名無しさん:2006/07/16(日) 12:50:26
TERATERMでCOM1に繋いでASAHIってタイプするだけで画面にASAHIって表示するなら、
漢字コードさえわかっていればどうやったら出力できるんだろう。
バイナリエディタで漢字コードを書き並べてそのファイルを「送信」すればいいのかな。
865デフォルトの名無しさん:2006/07/16(日) 13:15:57
teraterm なら SJIS/JIS/EUCで文字コードは切り替えられるから試すのに苦労はないでしょ
866デフォルトの名無しさん:2006/07/17(月) 21:39:14
初心者向けにラダープログラミングを解析してるサイトご存じないですか?
867デフォルトの名無しさん:2006/07/19(水) 09:46:35
>>858
所詮資格です
取ったからって突然何でもできるようになる訳ではありません
868デフォルトの名無しさん:2006/07/19(水) 13:32:37
>>867
いえ、検定です。資格ですらありません。
869age:2006/07/25(火) 23:52:38
interface 8gatsu go
870デフォルトの名無しさん:2006/07/29(土) 20:24:05
ここはPLCの話もOKですかね?
871デフォルトの名無しさん:2006/07/29(土) 21:58:46
言語とか環境の縛りはないから別にいいんじゃない?
漏れは相手できないけどさ
872名無し募集中。。。:2006/07/30(日) 19:05:20
PLCは中規模以上はOMRON全盛な雰囲気の会社にいる
次に多いのは三菱PLCとか小規模だとキーエンスかな
他はどうなのかな?横河とか触ったこと無いんだけど
873デフォルトの名無しさん:2006/07/30(日) 19:28:07
うちは三菱全盛みたいだが直接扱ってないのでよくわからん
874デフォルトの名無しさん:2006/07/30(日) 20:27:39
うちは三菱か横河、サーボメインのシステムなら安川
昔は三菱一色だったらしいがQシリーズの初期版が腐ってたので横河も使うようになったらしい。
俺は三菱と横河なら分かるがどっちかっつーと横河の方がいいかね
ま、構造化ラダーなる似非構造化言語はどうかと思うんだが
875sage:2006/08/01(火) 03:40:18
H2制御とはどのようなものなのですか?

論文発表まで2週間しかし知識ゼロ。
皆さん助けて下さい。
876デフォルトの名無しさん:2006/08/02(水) 23:30:12
とりあえず発表会で教授に怒られてから出直して来い
877デフォルトの名無しさん:2006/08/03(木) 02:20:40
論文を発表するんだろ?
論文が出来なきゃ発表できないんだから
発表会に出る資格無いから 発表会で怒られる ということは
ありえないんじゃないか?
878デフォルトの名無しさん:2006/08/03(木) 05:35:55
論文発表するには論文を投稿しなければならないわけだが、1ヶ月前には投稿してないと発表もできない。
しかし、>>875は2週間前なのに投稿もできてない(何も分かってない)。
つまり>>875の論文発表といういわゆる論文発表ではなく内輪の発表会なんだよ。
879デフォルトの名無しさん:2006/08/04(金) 05:01:30
875です。
就職が決まらず院で留年し来春
就職活動しようと考えてましたが、留年が決定
したところに内定をもらいました。

後取得してない単位は修士論文の分だけだったので
半留でいいとのことでした。

例外的な発表のため発表直前に論文を提出すれば
いいみたいで・・

論文の原稿は他の大学との共同研究という名目
のため院に入った時点で渡されてたんですが・・

通信系なんですがなぜかH2制御に関する論文
で理解するのに苦労してます。

助けてください。
880デフォルトの名無しさん:2006/08/04(金) 13:25:07
半留といわずに全留しようぜ
881デフォルトの名無しさん:2006/08/04(金) 18:58:09
っていうか、どうせネタだと思うけどこのスレで聞いたって無理だよ。
ここは制御系のスレであって制御理論のスレじゃないんでw

いわゆる制御系の人の大半は、俺もそうだけど制御理論なんてぜ〜んぜん知りません。
882デフォルトの名無しさん:2006/08/04(金) 20:11:28
大半が知らないというのは関係無いですよ
わかる人が答えればいいだけなのに
なぜ黙ってられないんですか。
883デフォルトの名無しさん:2006/08/04(金) 20:16:14
安定性を知らないと突然あばれて怪我するぞ。
884デフォルトの名無しさん:2006/08/05(土) 10:28:42
875です。
ネタであってくれたらどれだけ楽か・・

どなたかH2制御わかる方いませんか?
885デフォルトの名無しさん:2006/08/05(土) 12:33:04
ム板じゃそんなネタに構う奴いないからマ板に行け
マ板でも駄目だったらVIPのクオリティに期待するしかない
886デフォルトの名無しさん:2006/08/05(土) 13:56:41
スマン。 本は何冊か買ったが理解出来んかった。--> H∞以後

まあ俺様方式でも、ちゃんと安定して動いてるから、まあいいや。
887デフォルトの名無しさん:2006/08/05(土) 21:09:32
>>884 機械工学とかの板にいったほうがいいよとマジレスしてみる。
888デフォルトの名無しさん:2006/08/06(日) 22:23:39
一応最適制御関連ということで。

微分ゲームの解き方をどなたか知ってませんかね?
http://www.kyowa-u.ac.jp/oishi/DGame1.1.pdf
とかあるのは知っていますが、簡単な問題例の解き方が
あると嬉しいです。ソースがあればなお良し。
889デフォルトの名無しさん:2006/08/06(日) 23:40:16
宿題はよそでやれ
890デフォルトの名無しさん:2006/08/07(月) 00:44:14
わかる人が答えればいいだけなのに
なぜ黙ってられないんですか。
891デフォルトの名無しさん:2006/08/07(月) 02:22:19
黙っていれば馬鹿が書き込む。
馬鹿が書き込めばスレが荒れる。
スレが荒れると自分が迷惑する。

単純な理屈だろ。
892デフォルトの名無しさん:2006/08/08(火) 00:38:55
いずれにしても>>889-みたいな流れになるから
何をしようがしまいがどうということはない
それが2ちゃんねるクオリティ
893デフォルトの名無しさん:2006/08/12(土) 15:23:47
草枕の書き出しのとこみたいだ
894デフォルトの名無しさん:2006/08/12(土) 22:13:11
諸行無常の響きあり だっけ?
895デフォルトの名無しさん:2006/08/12(土) 23:05:27
漱石が琵琶の弾き語りでもするのか?

智に働けば角が立つ。

ってやつだろ
896デフォルトの名無しさん:2006/08/13(日) 08:39:26
智ちゃんはアルバイトに向いてない って意味だっけか。
元気はあっていいんだけどね。
897デフォルトの名無しさん:2006/08/17(木) 06:22:13
参考用に見せてもらったコードのコメントに、/* 10mS待てやゴラァ */
・・・orz お前、2ch語でコメントを書くなよ
898デフォルトの名無しさん:2006/08/17(木) 12:17:43
>>897
げきわら
899デフォルトの名無しさん:2006/08/17(木) 18:49:21
ゴラァなんて2ch語でもなんでもねぇよ
900デフォルトの名無しさん:2006/08/17(木) 21:30:44
ゴラァじゃないとね。
901デフォルトの名無しさん:2006/08/18(金) 06:26:38
いやこのごろ生活板なんかゴラァでスレタイがついてたりするんですよ。昔ならゴルァだったのに
902デフォルトの名無しさん:2006/08/18(金) 15:44:50
男性が使うとゴルァで、女性が使うとゴラァなのだそうだ。
最近知った。
903デフォルトの名無しさん:2006/08/18(金) 16:42:15
「漏れ」って女性語?
904デフォルトの名無しさん:2006/08/19(土) 14:42:15
失礼します。RTOSの勉強中をしています。
お手上げ状態になったので、手がかりだけでも掴めればと・・。

NORTi/SH2を使ってDMA転送を行い、DMA転送完了割り込みをさせたいです。
DMA転送は正常に行われています。

割り込みサービスルーチンを作成して、その設定もして、
DMA転送完了割り込み有りにして動かすと、
割り込みサービスルーチンを呼び出しにいっている
(もしくは、呼び出そうとしている)ようですが、
処理が割り込みが入った時に動いていたタスクに
待てど暮らせど戻ってきてくれません。
割り込みサービスルーチンのcreateは正常にされています。

Cのソースレベルでデバッグできるものがあれば良いのですが、
それがないのでどの段階で止まってしまっているかが
サッパリわかりません。原因として考えられるのは何があるでしょうか?

よろしくお願いいたします。
905デフォルトの名無しさん:2006/08/19(土) 15:45:22
>>904
>割り込みサービスルーチンを呼び出しにいっている
>(もしくは、呼び出そうとしている)ようですが、

とりあえずどっちなのか調べろ
906904:2006/08/19(土) 16:28:37
>>905
レスありがとうございます。

>>割り込みサービスルーチンを呼び出しにいっている
>>(もしくは、呼び出そうとしている)ようですが、
>とりあえずどっちなのか調べろ
調べました。
割り込みサービスルーチンは呼び出せていました。
割り込みルーチンの処理をreturn文だけにしてみましたが、
同様に割り込み前のタスクに戻ってくれませんでした。

割り込みルーチン内で設定しなおさなければいけないものが
あるのでしょうか。んん〜。
907デフォルトの名無しさん:2006/08/19(土) 16:44:14
Cのソースはさらせないの?
908904:2006/08/19(土) 17:54:02
>>907
ソースを一部upしてみました。
(ちなみにInterface誌8月号のSH2基板で学ぶ〜のNORTiの
サンプルに少し手を加えたものです。)
割り込みが起きるタスクはDmaTask、
割り込みサービスルーチンはint_dei0です。

http://www.vipper.org/
FileNo:316283
Pass:904
909デフォルトの名無しさん:2006/08/19(土) 18:26:37
int_dei0でdmaの割り込みを禁止してないから、dmaの割り込みがかかりっぱなしとか?
910904:2006/08/19(土) 18:42:29
>>909
割り込みがかかりっぱなしかぁ、、、
すぐに修正できるような腕じゃないんで、
そのあたりをもう少し勉強してやってみます。
Cも組み込み系もRTOSも初心者なので、四苦八苦です〜@@
911904:2006/08/19(土) 18:53:25
>>909
あ、お礼言うの忘れてました。ありがとうございました。
912デフォルトの名無しさん:2006/08/19(土) 19:23:31
int_dei0でDMAC_CHCR0のIE=1(割り込みあり)をクリアするだけだと思うけど。
913904:2006/08/19(土) 21:29:56
>>912
ぅぉおお、動きました〜><
ここで2日間くらい悩んでました。
出来るだけ早くお世話にならなくて良いように精進します!
本当にありがとうございました!
914904:2006/08/19(土) 21:33:59
ずっとJAVAやってきた自分。レジスタの世界は奥が深いやぁ。
915デフォルトの名無しさん:2006/08/19(土) 23:19:43
>>914
S/W的なフラグのクリアと何が違うというのか(ry
916デフォルトの名無しさん:2006/08/20(日) 00:32:38
ですね。904です。
最初に割り込み禁止にすればいいと指摘いただいた時は
割り込みマスクか?とかもう一度SH2とNORTiのdoc読んでました。
2回目の指摘で目から鱗。まだまだ勉強が足りません。

JavaはAPIの中で泳いでるイメージで、
特にWeb系しかやってなかったってこともあるかもしれないけど、
01やら信号やらクロックなんてものは一切意識したことなかったんですよ。
今更ながらですが感銘を受けながら、再勉強してます。
では、このへんでROMります。
917デフォルトの名無しさん:2006/08/20(日) 05:34:29
日立のチップはたいていその思想で作られてるよ。DMAだけじゃなく、タイマもuartも。
「割り込んだら割り込み要因をまずクリヤする」。これから日立の石ずっと触るのなら
割り込み処理の頭にはとりあえず割り込み要因クリヤ。これもバイトの0を書き込むのじゃ
なく、レジスタを読んでそのbitだけクリヤして書き込むように。sfr_clr(PORTx,0x80);とかね。
918デフォルトの名無しさん:2006/08/21(月) 21:30:40
処で喪前様方、TSEEはどうですよ。
919デフォルトの名無しさん:2006/08/28(月) 14:56:59
質問です。
インラインアセンブラを使用して汎用レジスタの値を判定したいのですが、
どうしたらいいのでしょうか?
環境はHEW、CPUはM8S2378です。お願いします。

920デフォルトの名無しさん:2006/08/28(月) 16:02:10
>>919
アセンブラで組んだライブラリを呼ぶんじゃダメなの?
921919:2006/08/28(月) 16:38:44
920>>
Cで使えるならOKです。
922デフォルトの名無しさん:2006/08/28(月) 16:52:52
>>919
このスレに偶然その環境に詳しい香具師がいれば別だけど、恐らく自分で調べる以外にないと思うよ。
インラインアセンブラの記述方法は実装系に依存するし。
#処で、汎用レジスタの値は判定したいときに保障されているのだろうか。例えばx86で言うeaxは殆ど保障されないわけだが。
923デフォルトの名無しさん:2006/08/28(月) 17:20:36
汎用レジスタの値を判定とは?何をやりたいの?
924919:2006/08/28(月) 18:16:13
922>>
>#処で、汎用レジスタの値は判定したいときに保障されているのだろうか。例えばx86で言うeaxは殆ど保障されないわけだが。
○ネサスさんのマニュアルに書いてある通りに作成しているのですが、もしそうだとしたら最悪です。

>このスレに偶然その環境に詳しい香具師がいれば別だけど、恐らく自分で調べる以外にないと思うよ。
何日もかけて調べているのですが、限界を感じてきています。




925デフォルトの名無しさん:2006/08/28(月) 18:19:34
汎用レジスタの値を読み出すなら簡単やん・・
926919:2006/08/28(月) 23:06:03
925>>
読み出した値をプログラム上で判定したいのですが、簡単にできるのでしょうか?
927デフォルトの名無しさん:2006/08/28(月) 23:25:45
判定って何だ?
定数と比較するってこと?
928919:2006/08/28(月) 23:39:42
927>>そうです。具体的に言うと、
汎用レジスタの下位1バイトが0以外のときエラー処理を返したいのです。
環境上、アセンブラ内でしかいじれないので、C上に引っ張り出す方法を知りたいのです
929デフォルトの名無しさん:2006/08/29(火) 00:05:01
>>928
だから>920でいいべさ。
まさか、アセンブラも用意されていないわけじゃあるまい。
#もしそうならそうで、Cで単純な関数を作ってコンパイルし、バイナリパッチ当てるとかw
930デフォルトの名無しさん:2006/08/29(火) 00:20:11
Cの関数の戻り値をアセンブラで書くとどうなるのか分らない無能なんだからほっておけ!
931デフォルトの名無しさん:2006/08/29(火) 01:00:13
>>928
>環境上、アセンブラ内でしかいじれないので、
なにがアセンブラ内でしかいじれない?
アセンブラ内で判定して、その結果をCでみたい?
932デフォルトの名無しさん:2006/08/29(火) 02:06:37
汎用IOレジスタと汎用レジスタの区別がついてない悪寒
933デフォルトの名無しさん:2006/08/29(火) 06:52:08
>>919
M8S2378 ってのを知らない。 旧三菱系なのかな?
H8S2378なら旧日立の100pinCPUなんだけどさ
934デフォルトの名無しさん:2006/08/29(火) 07:49:32
935デフォルトの名無しさん:2006/08/29(火) 08:00:06
【初心者歓迎】C/C++室 Ver.30【環境依存OK】
http://pc8.2ch.net/test/read.cgi/tech/1156145524/
251 名前:デフォルトの名無しさん 投稿日:2006/08/28(月) 23:26:30
質問です。
汎用レジスタ(ER0)の値をプログラムで判定したいのですが、
アセンブラ内でしかER0をいじれません。
C上で動かすにはどうしたらいいのでしょうか?
環境はHEW、CPUはH8Sです。お願いします。

これか.....このレベルだと説明する方も疲れるというか説明はムリだろな。
936デフォルトの名無しさん:2006/08/29(火) 08:08:36
まじれすすると、 ER0を返すアセンブラ関数は
_getER0:
RTS

こいつは
int getER0(void){} と書いたのと等価(HEWは return 文が無くてもエラーにはしない筈)

もっとも、もっと手前で大きな勘違いがあるに違いない
・・・・・肝心の品番さえ間違うようだと・・・・こんな奴とだけはって奴だな
937デフォルトの名無しさん:2006/08/30(水) 23:39:17
#pragma inline_asm を使えばいい。
コンパイルオプション code=asmcodeを忘れないこと。
コンパイラのユーザーズマニュアル書いてますよ。
マジレスかこわるかった?
938デフォルトの名無しさん:2006/08/31(木) 04:32:34
でも、それ使うと、debug情報とか何かの機能に制限が加わるんだったような・・・
939デフォルトの名無しさん:2006/08/31(木) 05:49:11
なにか問題でも?
940デフォルトの名無しさん:2006/09/01(金) 03:02:33
sh7709を、内部clk132.7MHzで使っています。何ステート毎にポート反転というコードを
走らせてみると、そのステート数より3割ほど多く時間がかかります。OSなし、割り込みなし
の状態で、です。コードはSDRAMに置いて実行させてます。どんなことが考えられますか?
941デフォルトの名無しさん:2006/09/01(金) 07:50:48
ステート数はソフトエミュレータで求めたんでしょ?
それと違うって事は、ポートの出力にディレイがかかってるのでは?
942デフォルトの名無しさん:2006/09/01(金) 08:26:53
>>940
ステート数ってキャッシュのヒット率やパイプラインの状態にも
影響を受けるんじゃない。

だから計算で出した値は、大まかな目安にしか
ならないんじゃないかな。

943デフォルトの名無しさん:2006/09/01(金) 10:01:51
SDRAM?
944デフォルトの名無しさん:2006/09/01(金) 22:06:00
SDRAMだと、どういう設定で動かしているかも問題になるかな?
命令をフェッチときに無駄が出るカモね。
あと、キャッシュをどういう設定で使うかも絡んでくるけど。


キャッシュのなかにコードを放り込んで実行してみれば、計算通りに
なるんじゃない?
945デフォルトの名無しさん:2006/09/01(金) 23:56:18
>>940
3クロックで動いてるはずのところへ一回WAITが入って4クロックで動いてるとかいうおちではないか
946940:2006/09/02(土) 07:36:48
ハード屋さんに聞くと、SDRAMはノーウェイトだそうです。あとレイテンシというのもあるらしい。
遅い件はその後の情報で、コードはキャッシュ可の空間にあったが、スタックがキャッシュ不可
空間にあったことが判ったそうです。それを正したら期待通りになりました。お騒がせすいません。

この際だがら、レイテンシというものについて教えてくださいませ。
947940:2006/09/02(土) 07:37:36
連投すいません。SRAMとDRAMは知ってるのですが、SDRAMってどんなのでしょうか。
948デフォルトの名無しさん:2006/09/02(土) 10:04:43
レイテンシというのはその演算が実際に完了するまでのサイクル数の事を指す場合が多い。

たとえばメモリからデータをレジスタに読む命令は、
メモリが待たせるだけのレイテンシがあるし
掛算命令は結果が使えるまでレイテンシがある


これを単なる遅延にしないためには、この期間に他の命令を埋めるように命令の順番を工夫してやる
たとえば、命令は2ワード単位に読まれるので、命令とデータの読み込みは
巧く詰め込んでやらななければいけない
もっとも、それはコンパイラに任せた方が良い結果が得られる事が多い


SDRAMはDRAMの一種で、詳しい事はgoogleさんに聞きなさい
949940:2006/09/02(土) 17:18:52
SDRAMがシンクロナイズドスイミングなDRAMのようだということはわかりました。
そのクロックも100Mとか133Mとか、SHの内部CLKと近い値が設定できるらしいので、
命令フェッチのタイミングが同期しやすそう、と想像できます。ありがとうございます。
950デフォルトの名無しさん:2006/09/02(土) 21:40:41
>>947
連続データを参照する頻度が大きいとき有効
951940:2006/09/03(日) 02:53:41
>レイテンシ コンパイラの吐くコード見ると、JSR命令の次が引数をpushする命令になってたり
メモリを参照するMOV命令の次はレジスタ間演算になってたりしますね。
こういうのが>>948さんの説明みたいな例ですね。
952デフォルトの名無しさん:2006/09/11(月) 10:46:43
ヘタレプログラマなんですが、質問させてください。

SH7145Fで、SCI0,1、3を使いたいんですが、0と1は普通に使えるんですが、
3だけ初期化ルーチン抜けたあとに、エラー割り込みがかかりっぱなしに
なってしまって使えません。フレーミングエラーが起きているようです。
エラーフラグをクリアしても、すぐに同じエラーが起きます。
信号レベルも他のポートと同じで、常時Hレベルです。
まだ何も接続していない状態で発生する現象です。

どなたか解決策を知ってる方おられましたら教えてください。
953デフォルトの名無しさん:2006/09/11(月) 13:15:48
PECRL?
954デフォルトの名無しさん:2006/09/12(火) 04:52:38
>>952 初期化したあと、TX/RX機能をイネーブルにするまでに、使うビットレートでの1bit分
の時間をおく、っていうルールは守っていますか?(ex:4800bpsなら208μぐらい)
(守らない時、3のような動作をしたという体験は私はしていませんが。)
955デフォルトの名無しさん:2006/09/12(火) 09:08:40
>>953さん
やっちまった感じです。もろにそこでしたorz

PFC.PACRL2.BIT.PA0MD = 1;// PA0をRXD0に設定
PFC.PACRL2.BIT.PA3MD = 1;// PA3をRXD1に設定
PFC.PECRL2.BIT.PE4MD = 1;// PA4をRXD3に設定
↑こんな感じでSCI0,1,3を初期化してたんですが、
3だけは1じゃなくて2なんですね。うっかりマニュアル読み落としてました・・・

PFC.PECRL2.BIT.PE4MD = 2;// PA4をRXD3に設定
に訂正。おかげさまで問題なく動きました。

>>954さん
私もそこだと思い込んでしまって、ウェイト時間を延ばしたり、最適化で
ウェイトがなくなっているのか?とか考えて(volatile)にしてみたり、
最適化無し指定にしたり、色々やってみましたが>>953さんの指摘で直りました。

お二方とも、アドバイス有難う御座いました。
956デフォルトの名無しさん:2006/09/12(火) 12:15:56
コメントが間違ってるような? PA4->PE4?
957955:2006/09/12(火) 14:02:52
そ、、そこはご愛嬌で・・・・
コピペコピペしてるから単純なミスの罠におちいり易いんでしょうなorz
958デフォルトの名無しさん:2006/09/12(火) 15:41:05
スレ違いかもしらんが、低レベル制御屋の俺が困ってるんで教えてください。
機能の一部でAIボードで4-20mAでアナログ値を入力するんだが、仕様書に

アナログ値検出に4mAのデットバンド処理を含めて下さい。
デットバンド範囲は2%F.S固定で構いません。
アナログ値表示に使用するデータは全てデットバンド処理後のデータを使用してください。



デッドバンドとかF.Sとかって何れすか
959デフォルトの名無しさん:2006/09/12(火) 16:48:34
デッドバンド不感帯
F.S フルスケール

デッドバンド処理って具体的になにをやるのかは?
960デフォルトの名無しさん:2006/09/13(水) 08:20:34
4-20で4mAの不感帯って大きいな 2%なんだろうな

つまり一旦採用した値±2%の範囲の差では更新しないという処理なんだろう
961デフォルトの名無しさん:2006/09/13(水) 11:44:07
デッドバンド=遊び
でよい?
962デフォルトの名無しさん:2006/09/13(水) 14:16:56
他から誘導されてきました……。

----
ごめんなさい、すいません、一つ教えてください。
現在C言語のソースが手元にあるのですが、コンパイルの方法がわかりません。
10年以上前の機械のファームにバグがあって、ちょっとした事なのでソースを
直すのは簡単なんですが、ターゲットがV50なんです……。
昔はどうやらBolandCとTurboAssemblerでやってたらしいんですが、環境とかも
今は無く、途方に暮れている状態です。

今までのほほんとWindowsプログラムしかしてこなかったので、クロスコンパイル
環境なんて触った事もないですし、開発した人はしんじゃいましたし、どうすれば
いいのかという感じです。

お分かりになられる方が居ましたら教えてください……。
963デフォルトの名無しさん:2006/09/13(水) 14:29:55
964デフォルトの名無しさん:2006/09/13(水) 14:45:29
ROM化するにはロケータが必要ですね。
Link & LocateやParadigm LOCATEなんかが有名だったけど今でもあるのかなぁ
965デフォルトの名無しさん:2006/09/13(水) 15:35:03
ちょっとしたことならバイナリーエディターでゴニョゴニョしちゃうとか
966デフォルトの名無しさん:2006/09/13(水) 16:29:22
>>963
http://www.borland.com/が503で開けません……。
うちの環境が悪いんでしょうかねぇ……。

>>964
ちなみにロケータって何をするものなのでしょうか
雰囲気からすると、メモリマッピングやプログラムの配置をしそうな
雰囲気ですが……。
というか、現在何処かで手に入るのでしょうか。

>>965
バイナリコードはZ80止まりです(^-^;
86系はさっぱり……。
判るのであればROMパッチとかできるんでしょうけどねぇ……。
967デフォルトの名無しさん:2006/09/13(水) 16:52:52
開けないとは?
Borland C++ 2005 Suiteとして望みのものは売ってるみたいだから、
買えるかどうかBorlandに聞いてみたら。
ソースファイルだけあってもどうにもならんと思うが............
968デフォルトの名無しさん:2006/09/14(木) 01:47:15
>>967
503だったんでしょ
今はおk
969デフォルトの名無しさん:2006/09/14(木) 04:58:06
LSIC86はないの?それならDOS窓で実行できる。
970964:2006/09/14(木) 08:50:30
>>966
ご想像通り、リンカの作ったリロケータブルファイルをターゲット環境に合わせて絶対アドレスで
配置する物です。リンカ、ロケータでググれば雰囲気が掴めるでしょう

しかしながら本来DOSでの動作を前提として作成されたプログラムを単にアドレス変換して
配置しただけではダメです。
スタートアップコードやらライブラリ関数やら、ユーザが手を加える必要があります。
なのでDOS用のCに対応したロケータはそのあたりの処理をある程度肩代わりしてくれる
機能が付いてたりします。

でも多分今は買えないでしょうね。>>965さんの言うようにパッチ当てる方が現実的。
971デフォルトの名無しさん:2006/09/14(木) 12:09:51
972デフォルトの名無しさん:2006/09/15(金) 19:45:48
うめ
973デフォルトの名無しさん:2006/09/16(土) 09:07:14
うめって、次スレ建ててからにしろよ!
950レス越えてるから1000いかなくても勝手に落ちるんだからさ
974デフォルトの名無しさん:2006/09/17(日) 05:52:38
974
975デフォルトの名無しさん:2006/09/18(月) 04:50:19
この速さなら痔スレは980あたりでいい?
976デフォルトの名無しさん:2006/09/18(月) 12:34:47
駆動系なら俺に聞いてもいいぜ
977デフォルトの名無しさん:2006/09/18(月) 15:54:20
パソコンの使用電力をどのくらいに見積もったらいいか相談に乗ってくれませんか?
celeron 2.8G HDD80G RAM512M 去年の12月頃買って24時間消さないで使ってます。
displayは15インチTFTで32W。本体の定格は115V/3.0Aと書かれているので300Wぐらいと
思われますが、常時300Wじゃないですよね?平均どの位なのかが判らなくて・・・
978デフォルトの名無しさん:2006/09/18(月) 18:05:53
>>976
俺の HDS722525VLAT80 の駆動系がもうすぐヘタリそうなんだけど、
モーターだけ交換とかできねーか?
979デフォルトの名無しさん
>>977
電気のメーターは家についてるんだろ?一日かけて実測すれば?