制御系なら俺に聞いてもいいぜ(8)
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
2005/09/06(火) 17:13:46ハード寄りの話も大歓迎です。
道具話も楽しくやれるならやってくらさい。
この世界は処理系依存はあたりまえだから、処理系明記するのを忘れないでね!
過去ログ
制御系なら俺に聞いてもいいぜ(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
0002デフォルトの名無しさん
2005/09/06(火) 17:39:170003デフォルトの名無しさん
2005/09/06(火) 17:42:030004デフォルトの名無しさん
2005/09/07(水) 06:41:07をプログラムする仕事です。 Winなんかと違って、昔のプログラム習慣が生き残っていたり、
いまだにASMオンリーだったり。パソコンより低脳の石が主流。ある程度ハードの知識も要ります。
0005デフォルトの名無しさん
2005/09/07(水) 07:42:550006デフォルトの名無しさん
2005/09/07(水) 08:35:43石なんだったかな〜?
Pentiumの何か。
でも、普通、組み込み系を想像するよね。
0007デフォルトの名無しさん
2005/09/07(水) 09:14:27みんなの所の仕事も色々やらされてない?
00084
2005/09/07(水) 16:51:37出すような分野も含むのね。でも過去の話題もクミコ系が多かったですね。
0009デフォルトの名無しさん
2005/09/07(水) 20:30:10ならてめーが回答するときは、
すべてのケースを想定してんのかよ
うぜーんだよぼけ
くそ
0010デフォルトの名無しさん
2005/09/07(水) 20:43:130011デフォルトの名無しさん
2005/09/07(水) 21:04:560012デフォルトの名無しさん
2005/09/07(水) 22:12:05Cマガジンあたりの隣に
0013デフォルトの名無しさん
2005/09/07(水) 22:59:05http://www.gihyo.co.jp/magazines/kumikomi
創刊準備号
0014デフォルトの名無しさん
2005/09/08(木) 00:10:430015デフォルトの名無しさん
2005/09/08(木) 20:57:39あーこれこれ。
0016デフォルトの名無しさん
2005/09/09(金) 04:04:310017デフォルトの名無しさん
2005/09/09(金) 04:54:05つ ttp://www.mcm-tech.co.jp/products/s_press/
0018デフォルトの名無しさん
2005/09/13(火) 23:31:080019デフォルトの名無しさん
2005/09/13(火) 23:40:18まず、完成形を決める
0020デフォルトの名無しさん
2005/09/14(水) 00:22:51名大大学院 情報科学研究科に進学する
0021デフォルトの名無しさん
2005/09/15(木) 02:29:31これをコーディングすればあっというまに
T-Kernelのできあがりなの?
0022デフォルトの名無しさん
2005/09/15(木) 02:32:210023デフォルトの名無しさん
2005/09/15(木) 06:12:350024デフォルトの名無しさん
2005/09/15(木) 09:00:04ソースはここで申し込めばダウンロードできる。
http://www.t-engine.org/japanese.html
0025デフォルトの名無しさん
2005/09/15(木) 19:45:03個人情報の入力がうざいので1から作ることにしました。
0026デフォルトの名無しさん
2005/09/16(金) 16:06:09仕事でunixでCでソケットを使うプログラムをつくってるひとっておられますか?
unixプログラミングのスレのひとは学生しかいないみたいなんですけど、、。
0027デフォルトの名無しさん
2005/09/16(金) 16:07:010028デフォルトの名無しさん
2005/09/16(金) 16:30:13さすが
レス有難うございます。
やはり、デバイスドライバとかも書けないと私は使い物にならないのでしょうか?
0029デフォルトの名無しさん
2005/09/16(金) 17:09:27003027
2005/09/16(金) 18:35:48書けるかと聞かれたら、当然「書けるように努力する」と答えるのみ(ぉぃ
0031デフォルトの名無しさん
2005/09/17(土) 22:14:430032デフォルトの名無しさん
2005/09/17(土) 22:45:430033デフォルトの名無しさん
2005/09/18(日) 16:07:27ほとんど静的に周辺機器や変数のサイズが決まってしまう
こんな環境でオブジェクト指向風に組む価値はあるのでしょうか?
0034デフォルトの名無しさん
2005/09/18(日) 16:12:38それだけではなんともいえない。つーか、オブジェクト指向は周辺機器やOSによって左右されるわけではない。
0035デフォルトの名無しさん
2005/09/18(日) 19:11:00「情報隔離」の考え方をできるので、モジュール分けのときに「デバイス対応」の分け方をできる。
俺はその原則+多少の妥協をこんなふうにやった。格納=ライトルーチン(そのルーチンはドライバを使い
実際のデバイスに書き込む) 参照=ライトルーチン内のキャッシュに残ってる情報を返す、実際のデバイス
ドライバにはアクセスしない。 非対称ではあるけれど、アクセス速度・デバイスの書き込み制限、
などからこうするのがベターだった。
0036デフォルトの名無しさん
2005/09/18(日) 21:53:34意味わかんないよ。悪いけど。
0037デフォルトの名無しさん
2005/09/18(日) 22:08:53キャッシュ − 参照
データ構造
キャッシュ
手続き
なんとかルーチン::格納() {
ドライバがうんたらかんたら
キャッシュになんかする?
}
なんとかルーチン::参照() {
キャッシュの情報?
}
俺もよくわからん
0038デフォルトの名無しさん
2005/09/18(日) 22:57:51一人プロジェクトを任せるときには便利だけと
チームものは無理だな
003935
2005/09/19(月) 05:05:57004033
2005/09/20(火) 07:05:14もう少し書くと、動的にオブジェクトを生成したりすることなく
すべて静的に決まってしまう用途という意味です。
0041デフォルトの名無しさん
2005/09/20(火) 07:52:11>>34
まして、動的かどうかとも直接関係がない。
0042デフォルトの名無しさん
2005/09/20(火) 08:00:22つまり、
1、openで何かの初期化した構造体へのポインタを返すと同時にハードを初期化して
その構造体の中身を教えないという手もある。
つまり、void * で渡してしまう。
2、アクセス関数の最初の引数は その構造体へのポインタ
実際の関数は、その構造体中に関数ポインタが埋められていて、そっちが処理する。
⇒利用者はそういう構造を知らない
⇒同じアクセス関数が、openの仕方によ変化する が操作方法は当然同じ
だろうな
0043デフォルトの名無しさん
2005/09/20(火) 09:51:47意味はある。 ハードは性的にキマってるとしても
ソフト、とくに何らかの通信プロトコルのようなものや
単純な状態遷移を実装するときはC++便利だよ。
何も考えなくてもいいからな。newは当然使用禁止な。
0044デフォルトの名無しさん
2005/09/20(火) 22:03:55静的に決まるなら配列でやればよい
何もmallocだfreeだとかnewだとかdeleteだとかにこだわらなくてもよい
0045デフォルトの名無しさん
2005/09/20(火) 23:54:02まぁ、>42も似たようなもんか。
0046デフォルトの名無しさん
2005/09/21(水) 00:02:360048デフォルトの名無しさん
2005/09/21(水) 07:40:34004942
2005/09/21(水) 07:47:48といっても、作り手と利用者をしっかり分けられるこういうスタイルになると思うけどね
0050デフォルトの名無しさん
2005/09/21(水) 10:19:25なんちゃってゲハハ
0051デフォルトの名無しさん
2005/09/21(水) 19:12:220052デフォルトの名無しさん
2005/09/25(日) 13:42:48すばらしく知的でハイセンスなギャグだと感じて
この感動を2chの皆様にも披露したくなったんではないでしょうか
0053デフォルトの名無しさん
2005/09/25(日) 15:13:28ああ言うの作る仕事に転職したいんだが
0054デフォルトの名無しさん
2005/09/25(日) 16:56:37作るみたいな仕事は制御系とは違うぞ。 交換機のほうを作るのは制御系だが。
0055デフォルトの名無しさん
2005/10/05(水) 20:10:14ライトポインタ・リードポインタ・バッファ内滞留数をuintで考えます。
バッファ内滞留数はタスク側・割り込み側両方で++/--するので、タスク側でdi/eiが必用。
ライトポインタは書き込み側のみが、リードポインタは読み込み側のみがそれぞれ変更します。
「バッファ内に有効バイトがあるかどうか」だけなら「滞留バイト数」の情報は不要で、
(書き込みポインタ != 読み込みポインタ) の判定でできます。今は滞留バイト数を参照して
例えばバッファのサイズを超えて書き込むなどを避けているのですが、
「ライトポインタとリードポインタ(どちらも2のn乗のバッファサイズのモジュロで循環している)だけから
滞留バイト数を計算する」 ことは可能でしょうか?
それが可能なら「滞留バイト数」の情報を削ることができて(゚Д゚)ウマーなのですが。
0056デフォルトの名無しさん
2005/10/05(水) 20:30:58たとえば、シリアル受信の場合
割り込みで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;
005755
2005/10/06(木) 06:35:52□2:ありがとうございます。幾つか数値を入れてやってみたらうまくいきますね。
ラップアラウンド中どうなるかが判らなかったので質問したのですが、ヤッホー(^o^)
0058デフォルトの名無しさん
2005/10/06(木) 07:15:37005955
2005/10/06(木) 09:02:26滞留数情報があれば、wp==rp で、滞留数==BufSizeという、極端な滞留が許されるのですが、
滞留数情報が無いと、滞留数は (BufSize-1) までになりますね。
でも、ふつうはそこまで溜めないうちにガードがかかるようにシステム/アプリを作るはずだから
問題にはならないとおもいます。
>>58 そうですね。遅い石なのでその辺も使ってます。sizeof 配列 が2**nなら
%演算を書いても cが and を出してくれるかどうか試してみようとおもってます。
0060デフォルトの名無しさん
2005/10/06(木) 09:28:01そうすると、禁止されてる間に処理しなければいけないデータが来たときに厄介だよ
006155
2005/10/06(木) 10:05:12すると、wpとrpが同じか判断するところは割り込み側にだけあるようにできます。
LSIC-80の8085機能でやってみたら、%演算書いても cが and にしてくれました。
演算量は8085なのであまり減りませんでしたね。wordの比較を8bitACCでやるから。
H8あたりだとウマーなのですが。 でもcコードは簡潔になったから(・∀・)イイ!。
受信側は、「受信滞留あり?」をメインループで判定する構造にしてるので、滞留数情報を
残しました。wpとrpを比較するコードより滞留数intがゼロかどうか見るコードのほうが軽いから。
ちなみにwp^rpと書くと16bitのXORをインライン展開して、wp!=rpと書くと call word比較が出ました。
0062デフォルトの名無しさん
2005/10/07(金) 23:13:25どうせマイコンでやるようなシリアル通信なら相手から来るコマンドなり何なりは
デリミタ付きなりパケットにデータ長が含まれてるなりするわけでしょ?
つまり、ある1バイトを受信したとき、その時点でそこが一区切りの情報かどうか
はっきりするわけだ。
だったらその時点で受信バッファの内容を「コマンドバッファ」にコピーしたらいいじゃん。
そうすりゃ受信をリングバッファにする必要なんてないよ。
もちろんこの方式でも、コマンドバッファの内容が未処理のうちに
次のコマンドの受信が完了してしまったらどうするのかって問題はあるが。
0063デフォルトの名無しさん
2005/10/08(土) 01:12:17寝言は寝てからにしてくださいね
0064デフォルトの名無しさん
2005/10/08(土) 01:40:45幼稚な奴。
どうせ反論するなら、なぜ受信バッファはベタな配列ではなく
キューにする必要があるのか根拠を言えばいいのに。
まあそんな能力はないのに口だけ出したいんだろうけど。
今日日こういうレスする奴が40面下げたオッサンだったりするんだよなあw
0065デフォルトの名無しさん
2005/10/08(土) 01:48:59(><)ノ お答えしまっす!
確かに電文が短いうちはそれでいいと思うけど
なが〜い電文を逐次処理する羽目になったときに
リングバッファがいるかな〜 という感じです!
0066デフォルトの名無しさん
2005/10/08(土) 02:18:43っていうか、普通は(逐次処理できるのなら)逐次処理できるからこそ
リングバッファなんてイラネってなるはずだと思うけど。
例えばWinのメッセジーキューはPOSTされたメッセージを逐次処理できないんで
キューになってるわけね。
マイコンでやるようなシリアル通信なんてたいていはデリミタか指定バイト数分受信したら
受信バッファの内容を全部パーサーに投げればいいような処理でしょ。
こんなのリングバッファでやる必要なんて全くないじゃん。
0067デフォルトの名無しさん
2005/10/08(土) 02:44:13(><)ノ 補足しまっす!
リングバッファのもうひとつの利点は
シリアル受信を割り込み屋さんにお任せすることにより
キューを処理中にもガスガスとデータ受信できることで、
これがただのベタ配列だと あー キューを2本用意すれば
いけると思ったあなた! 鋭いですが そのキューの処理は
>>62でご自身も書いてますように いろいろある感じです!
0068名無し募集中。。。
2005/10/08(土) 02:45:440069デフォルトの名無しさん
2005/10/08(土) 02:49:080070デフォルトの名無しさん
2005/10/08(土) 02:59:09>>66のようにコードを書くと、データの受信のあとに
処理が終わるまで次のデータは受信できない? ということに
なりかねないコードになります。 相手は問答無用でデータを
押し付けてくる機械マンのケースが多いので、つらいDEATH。
じゃあデータの処理を別スレッドに飛ばそうか? とかいうと
つまんない受信処理が本スレ、メインの処理は別スレ、と
なんだかコードの視認性が悪くなってしまいますのです。
0071デフォルトの名無しさん
2005/10/08(土) 03:07:35短かめのデータ受信→なんか処理→ACK/NAK返送
という流れが確定し、今後30年はその仕様に変化がないと
クライアント様にハンコを突かせたなら、もうそれは>>66さんの
コードで必要十分なわけです。これはこれで見やすくなります。
0072デフォルトの名無しさん
2005/10/08(土) 03:12:03わかってないな。
>>62に書いた「問題」ってのはリングバッファでリングが一週回ってしまった
場合の問題とほとんど等価だよ。
つまりどちらにしろ問題は起こりうるわけで、それはリングバッファを採用する
理由にはなりにくい。
>>>66のようにコードを書くと、データの受信のあとに
>処理が終わるまで次のデータは受信できない? ということに
なりません。今日的な常識でいって普通はね。
前のコマンドの受信完了から次のコマンドの受信完了までの時間はまあ
短くてもmSecのオーダーといっていいだろう。
パーサーがコールされるまでにmSecオーダーレイテンシがありうるシステムなんて
今時ありえんでしょ。
仮にあるとすれば、リングバッファにしようがどんなデータ構造を採用しようが
同じこと。いずれ地獄は来ることになる。
007355
2005/10/08(土) 03:18:44数値情報を抽出するなんてことをやります。1文字の受信間隔は2mS、CPUは3MHzの8bitで
乗除算命令が無いので、sscanfの整数変換相当の機能を実行するのに数十mSオーダーで
時間かかります。ですからあるフレームの処理中に普通に次のフレームの頭何バイトかは受信が
あるわけで、>>62や>>66みたいなわけには行かないのです。
007455
2005/10/08(土) 03:24:48リングバッファのサイズは、受信では重い処理が何十ミリかかるか、送信では一度にどの位
の情報を書くかを見つくろって決めます。全部で8KBしかないメモリを、制御用変数とスタックと
リングでやりくりします。
0075デフォルトの名無しさん
2005/10/08(土) 03:32:10(><)ノ バトンタッチします!
逃げるついでに今から仮眠取ってきます!
0076デフォルトの名無しさん
2005/10/08(土) 06:54:06コマンドバッファド式にコピーして使ってるせいで台無しになってるコードをメインテナンスした所だ。
コマンドバッファ式だと、受信して処理して結果を返すというサイクルで回ってる間は問題ない。
でも、通信路の速度を最大にしようとすると、
コマンドを処理している間に次の受信をさせる事になる。
受けと取って処理して返信だと、処理時間がゼロでも2倍以上かかる。
USBーシリアルなんて使うと、さらにディレイが入る事になる。
PCやマイコンは高性能になっても、通信路(ボーレート)は物理的な制限で上げられないし
USB-シリアルの遅延なんてのはボーレートを上げても改善しない。
だから、コマンドを結果を待たずに、FIFOがある限りどんどん送りつけて(フロー制御して)
という方向になってるわけよ
0077デフォルトの名無しさん
2005/10/08(土) 07:15:39>次のコマンドの受信が完了してしまったらどうするのかって問題はあるが。
この対策がフロー制御です。 FIFO(リングバッファ)を持っていると
メイン: 返信用FIFOが一杯(に近づいていれば) コマンド処理をしない
受信: 受信FIFOが一杯に近づいて来たら、(ちょっと待ってね)状態にする。
という決まったスタイルで安全に対応出来ます。
(ちょっと待ってね)状態にしても何バイトか送りつけられる事が殆どなので、それを考慮するとか、
コマンド処理が分散して処理されて時間がかかる場合は、それを考慮するとか
そういう事も、決まったスタイルには含まれています。
コマンドバッファ方式だと、コマンドを受け取って即座に(ちょっと待ってね)状態にしないといけないでしょ?
そうすると、一般的に通信速度が上がらないわけで、そっから、「対策しる!」と言われたら、
あちこち対策入れて、だんだん訳が判らない状態になるわけです。
そんなわけで、PICのようによほど小さい規模のマイコンで無い限りは、シリアル通信ではFIFOを
入れるというのが一般的です
0078デフォルトの名無しさん
2005/10/09(日) 15:22:21何バイトもダダ漏れになるから(一昔前のPCの大部分に載ってたNS16550Aとか)、フロー制御を下手に
過信するのは危険だし、それなりの対策は打っておくのが普通。
0079デフォルトの名無しさん
2005/10/15(土) 11:43:230080デフォルトの名無しさん
2005/10/15(土) 13:52:09そのハード、アラート信号線とか無いの?
0081デフォルトの名無しさん
2005/10/15(土) 13:55:23>ハードのFIFO自身にフロー制御機構を持たない場合
0082デフォルトの名無しさん
2005/10/15(土) 13:59:32あ、そうかw
3本線で工場内を繋いでるのかw
0083デフォルトの名無しさん
2005/10/15(土) 14:02:05飛躍しすぎ
0084デフォルトの名無しさん
2005/10/15(土) 14:08:16そうそう途切れる事無くコードが送られて来る事も無いだろうに。
0085デフォルトの名無しさん
2005/10/15(土) 14:20:230086デフォルトの名無しさん
2005/10/15(土) 14:22:45つうより、ハード屋さんがそれしか繋げてくれなかったって場合の話らしいよ。
0087デフォルトの名無しさん
2005/10/15(土) 14:22:51エーテルネットやらUSBやら無線やらうらやましいです
0088デフォルトの名無しさん
2005/10/15(土) 20:50:50たまに3ポート内蔵とかだとウキウキしちゃうよね。
LEDでモールスはもう面倒になってきました。
0089デフォルトの名無しさん
2005/10/27(木) 00:37:34WindowsでUSB接続のデバイスを扱うプロクラムを
作りました。
そのデバイスドライバをインストール
させるのに、Windowsのコマンドか何か(API)からインストール
させる方法をご教示ください。
プログラムのインストーラまでは作ったのですが、
そのデバイスドライバも一緒にそのインストーラで
インストールさせたいです。
infファイルとsysファイル、関連dllはあります。
今は、USBを接続させ、ウィンドウズの自動認識による
ドライバインストールのウィザードからインストール
させるようにしています。
0090デフォルトの名無しさん
2005/10/27(木) 03:50:52昔のWin DDKにinfファイルからドライバインストールするサンプルコードが付いてたな
俺はそれをDLLにして、InstallShieldから呼び出して使ったよ。
最近はその辺触ってないし、DDKもDLできなくなっちゃったからわからんけど、
Win関係のスレで聞いたほうがいいかもね
0091デフォルトの名無しさん
2005/10/27(木) 09:54:07そうです、まさしくそれをしたいです。
「デバイス ドライバ インストール」等で
ぐぐったりしましたが、なかなか見つかりませんでした。
Win関連板、スレの場合、多分OSの基本的な
話題ばかりかと思い、実践している方が多そうな
このスレで聞いてみました。
0092デフォルトの名無しさん
2005/10/27(木) 11:42:26寧ろこのスレはインストーラーなんて興味ないって香具師が多い希ガス。
現にうちのプロジェクトなら、「ドライバをインストールしてください」の一言で終わる。
0093デフォルトの名無しさん
2005/10/27(木) 11:47:060094デフォルトの名無しさん
2005/10/29(土) 07:15:04http://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;
}
0095デフォルトの名無しさん
2005/10/29(土) 07:17:03int 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では俺にはできなかったから。
0096デフォルトの名無しさん
2005/10/29(土) 12:20:12まあ問題の性質上しょうがないのかも知れないが、
それでもせめてエラーの内容ぐらい書けばいいのに。
っていうか、スレ違いのような気がする。
まあマルチがはわわ〜、なんだろうけどさ。
0097デフォルトの名無しさん
2005/10/29(土) 16:42:02以下の[ ]や( )の文は説明のためであって、表示されたものではない。
(ダイアログメッセージボックス)
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);
・・・・・・・・
0098デフォルトの名無しさん
2005/10/29(土) 17:05:16Public 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
0099デフォルトの名無しさん
2005/10/29(土) 17:11:19{
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;
}
0100デフォルトの名無しさん
2005/10/29(土) 17:11:43なにか面白い書き込みを楽しみに来てるわけで。
細かい具体的内容書かれれば書かれる程、ゲンナリしちゃうわけ。
質問は結構だけど、もう少し整理してくれ。
理解出来ないから丸投げじゃ、面白くもなんともないよ
0101デフォルトの名無しさん
2005/10/29(土) 17:12:45{
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;
}
0102デフォルトの名無しさん
2005/10/29(土) 17:17:06>っていうか、スレ違いのような気がする。
>まあマルチがはわわ〜、なんだろうけどさ。
↑(だから、コードを貼ったのだ)
矛盾
↓
>理解出来ないから丸投げじゃ、面白くもなんともないよ
結局、答える能力はないから、自己投影で最後に難癖つけてきただけだろ。
0103デフォルトの名無しさん
2005/10/29(土) 17:18:11↑
「羊頭狗肉」ってこういうことを言うんだ。
0104デフォルトの名無しさん
2005/10/29(土) 17:22:53そういう芸風はもう飽きてるんだよ。
0105デフォルトの名無しさん
2005/10/29(土) 17:25:35飽きたなら消えろ
0106デフォルトの名無しさん
2005/10/29(土) 17:29:250107デフォルトの名無しさん
2005/10/29(土) 17:30:17邪魔だ消えろ
0108デフォルトの名無しさん
2005/10/29(土) 17:43:280109デフォルトの名無しさん
2005/10/29(土) 17:47:07は計測制御の基本だよ。計測が出来なければ制御(DAシステム)なんて
出来るわけがないからだ。しかもCPUの温度に関してときてるのだ。それなのに、
「制御」のスレで、その質問に高飛車に「スレ違い」って言うような連中が、
なんら批判されず、のさばってられるスレっていうのは奇妙なものだ。
0110デフォルトの名無しさん
2005/10/29(土) 17:47:580111デフォルトの名無しさん
2005/10/29(土) 17:50:530112デフォルトの名無しさん
2005/10/29(土) 18:00:480113デフォルトの名無しさん
2005/10/29(土) 18:02:45こういうの、高飛車だけではないな。陰湿な排他的性格も含むから。
あ、そうか。ここの「制御」って「人間排他制御」のことか。(藁
今や水冷とかファンコントロールがオーバークロッカーだけでなく静音マニアでも
でもあたりまえ。それを「仕事」とか「タダ働き」だとさ。呆れるね。
0114デフォルトの名無しさん
2005/10/29(土) 18:03:250115108
2005/10/29(土) 18:08:02質問者へ
1、まず、どういう立場なのかとか多少は自分の事も書いてみて
2、つぎに、何をしようとしているのか買いてみて
3、そして、問題は何なのか簡潔に書いてみて
で、メモリマップファイルで、通信しようとしているようだけど、
書かれているコードではバイト数をゼロでREADオンリーにしてる。 後から変更しているの?
0116デフォルトの名無しさん
2005/10/29(土) 19:06:550117デフォルトの名無しさん
2005/10/29(土) 20:06:59http://www.livewiredev.com/bbs/forumdisplay.php?s=&forumid=68
0118デフォルトの名無しさん
2005/10/29(土) 20:16:48MBM DLLをVBから使いたいってことじゃん。
ス レ 違 い
011996
2005/10/29(土) 20:16:51っていうか、>>96の書き込みを見て、それでそれに応えるつもりで
コードをコピペしてるんだったら、質問者は基本的な日本語の読解力が怪しいんじゃないの?
まあ>>102が質問者かどうかわからないけど、それにしてもね。
とりあえずWin32のCのintに対応するVBの型はIntegerじゃなくてLongだよ。
それが障害の原因かどうかはわからないけどね。
0120デフォルトの名無しさん
2005/10/29(土) 20:20:46俺のところじゃそのモニタを使えてるが
絶 対 に 教 え な い
0121108
2005/10/29(土) 20:39:04それから
data = (TSharedData *)MapViewOfFile(hMapFile, FILE_MAP_READ, 0, 0, 0); <―でエラー
と書いてあるから、 data への書き込みに失敗したのだろう。
となると、CMBMが作成されていないのに、メソッドが呼び出されたという所かな
0122108
2005/10/29(土) 20:46:58VBだけではポインタが無いから難しいと思ったのだろうけど・・・・・
なんか昔、VBだけでやれた気もするんだけどなあ
最近、こういうのはDelphi使ってるから忘れちゃったよ。Delphiならポインタ使えるし
0123デフォルトの名無しさん
2005/10/29(土) 21:20:340124108
2005/10/29(土) 21:35:58long 変数でポインタを受けて、MoveMemoryとかのAPIで VarPtr(構造体) で移動ってな所だったかな?
0125デフォルトの名無しさん
2005/10/29(土) 22:04:26PC用のGUIが必要なら DelphiかBCBだろ。
ただ、実験とか社内ツールだとExcelVBAなら結構多いかもな。
一昔前は測定器にPC使ってVBなんてのも多かったけど、
なんか大変動じゃないけどいつの間にかVBやってた所はZ80と一緒に地盤沈下。
012696
2005/10/29(土) 22:12:59本当にこの世界の人?
この世界に限らず、特定用途向けのGUIアプリなんて今でもほとんどVB製ですけど。
じゃなきゃ、ここ二年ぐらいはドトネト。
Delphi使ってるなんてところは日本じゃほとんど見たことない。
0127デフォルトの名無しさん
2005/10/29(土) 22:19:01そうか?
なんかVBアプリからの置換の仕事が多いから一昔前は多かったというのは実感してるが、
昔はバブルだったのか、これが今の請負額より1桁上の金額取ってたのかよというのばかりだけどな
0128デフォルトの名無しさん
2005/10/30(日) 00:10:280129デフォルトの名無しさん
2005/10/30(日) 00:12:57組込み専門なら、割り込みもこなせなくてどうする!
0130デフォルトの名無しさん
2005/10/30(日) 02:38:390131デフォルトの名無しさん
2005/10/30(日) 11:07:100132デフォルトの名無しさん
2005/10/30(日) 12:55:350133デフォルトの名無しさん
2005/10/30(日) 12:57:08組み込み系というのは、機器に組み込まれて動作するソ
フトウェアを言う。つまり、どちらかと言うと実装上か
ら見た区別。
制御系は、機器を制御するソフトウェアを言う。つまり、
用途から見た区別。
だと思う。
0134デフォルトの名無しさん
2005/10/30(日) 16:55:54じゃないの?
0135デフォルトの名無しさん
2005/10/30(日) 17:01:48は?
0136デフォルトの名無しさん
2005/10/30(日) 17:55:26例えば、物流の制御システムなんかだと PC 使ってやってることもあるから、
制御系だけど組み込み系じゃないって感じがする。
逆に、電卓のプログラムは組み込み系だけど制御系というのはちょっと違う感
じがする。
0137デフォルトの名無しさん
2005/10/30(日) 20:04:49LCDの制御やボタンの入力などを読んだりするのは?
0138デフォルトの名無しさん
2005/10/30(日) 22:33:03気分的には制御と言いたくない。
0139デフォルトの名無しさん
2005/10/30(日) 22:56:110140デフォルトの名無しさん
2005/10/30(日) 22:58:020141デフォルトの名無しさん
2005/10/30(日) 23:13:35連れてるじゃん
0142俺も含めて大漁だな、オイ。(w
2005/10/30(日) 23:27:110143デフォルトの名無しさん
2005/10/31(月) 00:28:02MPUの仕様やプログラムは一切知らずに、
ステートフローや伝達関数書いてシミュレーションしたり、
実験してパラメータ決定するだけで、
その組み込みは、他部署にお任せってのも多々あるみたいだけど、
このスレでは、そういうやからもおkなん?
0144デフォルトの名無しさん
2005/10/31(月) 00:34:27ああ、あの「試作品作るなんてお金の無駄です。」ってやつな。
いいんじゃね?
0145デフォルトの名無しさん
2005/11/02(水) 21:47:03こんにちは、今回、会社にあるん古いバーコード・プリンタを
復活させる必要が出てきました。マニュアルを読むとRS232c経由で
制御できるようなんですが、XPのDOS窓から、RS232Cにエスケープコマンドって
送れますか?
昔、DOSの頃パラレルのプリンタをエスケープシーケンスで制御して遊んだ事が
あるんですが。出来ることは覚えていますが、TYPE CONとかなんだったか
忘れてしまいました。
詳しいサイトとかありましたら教えてください。
0146デフォルトの名無しさん
2005/11/02(水) 22:00:30送れるるよ。modeコマンドで各種パラメータを設定するのを忘れずに。
あーあと、EscコードはEscキーでは発生しないからね。
0147145
2005/11/02(水) 22:12:20ありがとうございます。だんだん思い出してきました。
0148145
2005/11/02(水) 22:18:06みつけました。あした一日遊んで見ます。
http://forum.nifty.com/fpcu/dosvcmd/mode.htm#TOC4
0149デフォルトの名無しさん
2005/11/03(木) 11:18:35ターミナルソフト使ったほうが便利では?
0150デフォルトの名無しさん
2005/11/06(日) 00:33:090151デフォルトの名無しさん
2005/11/06(日) 19:01:32現実的には古典から最新理論まで全部理解してるって無理だと思うんだよなぁ
0152デフォルトの名無しさん
2005/11/06(日) 19:34:27でも、仕事では殆どが、通信の制御だったり、ロジックの制御だったり、
デバイスの制御だったりするから、
知らなくても全く問題なしだw
0153デフォルトの名無しさん
2005/11/06(日) 20:01:41亀だが、MSがDriver Install Frameworks Tools 2.0
とか称してそのあたりを纏めたツール・APIを公開している。
1.0のときには、ドライバ認証が要るとかいうふざけた話だったが。
0154デフォルトの名無しさん
2005/11/07(月) 17:37:06情報ありがとうございます。
そのツールを使用して何とか
作成しようと思います。
0155デフォルトの名無しさん
2005/11/08(火) 16:38:40デバッグのため、イベントが発生する毎にリングバッファにイベントをどんどん記録する、
という仕組みを追加する事にしました。
リングバッファに書き込む処理自体は共通のサブルーチンを用意して、イベントを引数で渡す、という
単純なもので特に問題ないのですが、
このサブルーチンを通常のタスク処理と、割込み両方から使いたいので、排他制御を考える必要が発生しました。
実装に当たって参考になる、なにか、良い資料やサンプル等ないでしょうか。または定番の方法など
0156名無し募集中。。。
2005/11/08(火) 18:39:08排他ならセマフォが定番
0157デフォルトの名無しさん
2005/11/09(水) 00:06:45正直そういう処理をするなら、排他以前に
イベントの検出直後〜リングバッファへの書き込みの間は
割り込みを禁止(Maskでは無い)しないと、イベントの発生順が
訳分からん状態になると思われ
0158サービスコールの不可分性
2005/11/09(水) 02:34:47以下、uITRONVer4仕様での話
固定長メモリプールからイベントを書き込むバッファをゲットする。
(固定長メモリプールの長さはイベントのデータの最大長とする。)
書きたいデータをそのバッファに書く。
ゲットしたデータをメールボックスで送り出す。
受けるタスクでメールボックスを受け、固定長メモリを解放する。
実装によりますが、非タスクコンテキストからもpget_mpf(),snd_mbx()が利用できるものが
多いと思います。少なくともNortiは、仕様書をみたところそうなっています。
この場合、特に排他処理を用いなくても問題ありません。というよりサービスコール
はリエントラントです。(正確には、サービスコールの不可分性の保証のことです)
方法は上記と違いますが、参考としては、私の知る限り、toppersJSPのログ機能です。
ログタスク経由か、直接出すかを選択できたと思います。ログタスク経由の場合はいったんキューイング
して出していたように記憶しています。肝心な排他制御しているかどうかは未確認
です。 していなければ、セマフォよりも、loc_cpuが、いいかと思います。
lockするのは、キューの管理ポインタの更新時のみに限定できると思います。
ver4からの仕様ですが、loc_cpu中といえどカーネル管理外の割込は可ですので、
lock中 != 割込ディセーブルです。お間違えなく。
0159デフォルトの名無しさん
2005/11/09(水) 15:29:49説明が最初に不足しておりましたが、元々の処理のタイミング等に出来るだけ影響を与えないようシンプルにしたい、
という事情がありまして、
本当は割込み禁止はしたくなかったのですが、
検討の結果、157さんもおっしゃるような書き込み中割込み禁止にする、という方向になりました
結局、これが一番シンプルでした あとは、割込み禁止期間が少しでも短くなるようなロジックにしました
(セマフォはやや大掛かりになってしまうため不可)
ありがとうございました。
0160デフォルトの名無しさん
2005/11/11(金) 01:12:18そんなもんだよね。
古典も完璧とはいえないけども
0161デフォルトの名無しさん
2005/12/01(木) 16:02:030162デフォルトの名無しさん
2005/12/01(木) 19:38:10自作の中間言語インタプリタなら作って使った事はあるけど
0163デフォルトの名無しさん
2005/12/02(金) 00:45:42制御系にジョブチェンジしたいんですが
(Java,C/C++、簡単なUSBのドライバならつくれます)
参考書籍を3冊くらい教えてください。
0164デフォルトの名無しさん
2005/12/02(金) 00:56:48制御系たっていろいろあるからね。
目指すものによっていろいろ
ドライバ書けるなら、いろんなOSマスターして
ドライバ屋という手も無いではない
その場合はマニュアル見ながらひたすらソース読んだ方が
理解できたり。。。。。
0165デフォルトの名無しさん
2005/12/02(金) 11:19:25弊社でよければ面接の用意をしますw
いや、業務系も制御系も人が足らんのよ。
0166デフォルトの名無しさん
2005/12/02(金) 13:10:430167デフォルトの名無しさん
2005/12/02(金) 13:18:200168デフォルトの名無しさん
2005/12/02(金) 14:18:18PIDとかz変換とか。
0169デフォルトの名無しさん
2005/12/09(金) 00:35:52業務系ならあと20年は働ける気がする
0170デフォルトの名無しさん
2005/12/09(金) 00:49:420171デフォルトの名無しさん
2005/12/09(金) 01:01:24それをネタに話してもスレ違いと暴れる奴はいないと思うが
電気・電子板でやった方が人がいると思うぞ
俺は無理、ついていけない
0172デフォルトの名無しさん
2005/12/10(土) 08:48:03が「作動状態」=Lo-Z状態=制御電圧が出ている状態、「停止状態」=Hi-Z状態で、テスタ
で見てみると0Vが出てるように見えます。 これと0Vが出てる状態とがどう違うか?なんです。
インピーダンスって、理科の時間には「交流、とくに高周波に対するコイルの抵抗」って習った
のに、直流の端子でインピーダンスがどういう意味を持つんですか?
0173デフォルトの名無しさん
2005/12/10(土) 09:44:22またも板違い
電気・電子板が適切かと
制御電圧に対してHiZだって事でしょ
インピーダンスは交流もあるんだよ
0174デフォルトの名無しさん
2005/12/10(土) 12:50:43そのテスターで、+電源とその端子の間の電圧を測って、それぞれ結果を報告してみて。それからだ
0175デフォルトの名無しさん
2005/12/10(土) 17:01:26しっかり釣られて、まともな話をし始めてるのが業だな
>>172
お前さんのやったことは
+端子と−端子を持っただけの時の電圧を測ったのと変わらん
0176デフォルトの名無しさん
2005/12/10(土) 17:35:19ぶっちゃけ、その線が断線しているのと同じ状態<HiZ
0177名無し募集中。。。
2005/12/11(日) 21:13:24TTL出力は出力と出力をつないではいけないけど、3ステート出力なら
出力していないときはハイインピーダンスにしておけば大丈夫(バスの基本原理)
0178デフォルトの名無しさん
2005/12/15(木) 17:30:36話は変わりますけど、安いROMライタありませんか?簡単なシリアル入出力をよく頼まれる
のですが、PCしかないのでHEXを送って向こうで焼いてもらうと、つまらないタイプミスが
1,2度はあります。弁当箱は貸してもらえそうなので、ROMライタを自前で持ってれば便利そう
なのですが・・・スマートライタというのは見たことあってコンパクトでいいなと思ったのですが、
\59,800ぐらいします。
0179デフォルトの名無しさん
2005/12/15(木) 17:55:28仕事なら、レンタルで借りるとか。
#処で弁当箱とは何のこと?
#それがUVEPROMの消去用の紫外線灯の入った箱のことなら蛍光灯スタンド+殺菌等でも大丈夫w
0180デフォルトの名無しさん
2005/12/15(木) 18:58:47日本製で安価なのは パレット11ハンディ
windowsソフトは別売だけど ttp://www.tensyo.com/PT11/WPT11.htm にある
先頭の安価なのは秋月ならもっと安価
http://akizukidenshi.com/catalog/items2.php?p=1&q=M-00513
これの使い勝手は判らない。
もし買ったらレポートよろしく
0181デフォルトの名無しさん
2005/12/15(木) 19:01:58俺は、隣の机でカバー無しで使ってたら顔の半分の皮がボロボロと・・・
0182179
2005/12/15(木) 19:10:32私自身は机の中に入れてた。
0183デフォルトの名無しさん
2005/12/15(木) 19:21:060184178
2005/12/15(木) 19:33:39自作はムリです。 弁当箱=「ターゲットのボード+電源」の箱です。ちょうどドカ弁ぐらいの
大きさなので。 27C256か27C512ぐらいしか焼かないのですが、客先のはなんかドデカイ奴
で、とても持ち出しとか考えられません。 >>180さんのは安いですね。イレーザーが意外と
安かったのも参考になります。 レポートご期待よろ。
0185名無し募集中。。。
2005/12/15(木) 21:38:20http://aitendo.ocnk.net/product/90
0186デフォルトの名無しさん
2005/12/16(金) 08:58:43フラッシュメモリとダウンローダを乗せとく
0187デフォルトの名無しさん
2005/12/17(土) 00:17:45昨今、そういったマルチIOのLSIはなくなっちまってるだろ
別にLSI載せるよりIOてんこ盛りのCPUを選択したほうが安いし
0188178
2005/12/17(土) 04:53:028251を4CH-->uartが4CH載ってるH8(下位シリーズ)はないので、3CHは内臓、あと1CHは
タイマで作るというのを客に提案してあります。わざわざ基盤起こすほどのシロモノでもないので
8085が秋葉で買える間は今の基盤でいくみたいです。
0189デフォルトの名無しさん
2005/12/29(木) 19:21:280190デフォルトの名無しさん
2005/12/30(金) 17:23:000191デフォルトの名無しさん
2006/01/04(水) 18:03:34>>190
言わんとしていることだけはなんとか読み取れる
みんなネタが豊富なマ板の組み込みスレに行っちまったんじゃないか?
ネタスレがすっかりマトモなスレになっちまってる(w
0192デフォルトの名無しさん
2006/01/05(木) 06:49:470193デフォルトの名無しさん
2006/01/15(日) 01:10:20この度、タスクを担当することになったのですが、例えばタスクAが割込み信号を受けて
処理を開始しますが、プログラムの処理中に別の割込みを受けた場合はどうなるのでしょう?
その処理が中断されて新たな割込みの処理に走ってしまうのでしょうか?
それともプライオリティにより、処理が終わるまで割込みが待たされたりするのでしょうか?
0194デフォルトの名無しさん
2006/01/15(日) 01:16:100195193
2006/01/15(日) 01:17:440196デフォルトの名無しさん
2006/01/15(日) 01:28:12うーん、まぁいいや。
以下、割り込みを禁止していない状態での話ね。
あと細かい話も省略。
>プログラムの処理中に別の割込みを受けた場合はどうなるのでしょう?
>その処理が中断されて新たな割込みの処理に走ってしまうのでしょうか?
うん。プログラムというか、タスクの実行中なら割込み処理するよ。
>それともプライオリティにより、処理が終わるまで割込みが待たされたりするのでしょうか?
タスク実行中なら割込まれちゃうね。
0197193
2006/01/15(日) 01:42:13レスありがとうございます
> >プログラムの処理中に別の割込みを受けた場合はどうなるのでしょう?
> >その処理が中断されて新たな割込みの処理に走ってしまうのでしょうか?
> うん。プログラムというか、タスクの実行中なら割込み処理するよ。
やはりそれまでの処理は途中で中断されてしまうのですね。
> >それともプライオリティにより、処理が終わるまで割込みが待たされたりするのでしょうか?
> タスク実行中なら割込まれちゃうね。
つまり、処理に割込まれないようにするために割込み禁止にするって事ですか?
ちなみに、やろうとしていることは、USB接続された他のPCのソフトから文字列が送られ、
その文字列毎に処理を行うものなんです。
"ABC"と叩かれたらAの処理"DEF"と叩かれたらまた別の処理をするみたいな。
ここで"ABC"の処理中に"DEF"の文字列を受け取ってしまった場合を考えていました。
行うものです。
0198193
2006/01/15(日) 01:44:23> 行うものです。 ←ミスです^-^;
単純に割込みを禁止にしてしまうと他の割込み処理に影響しないかなぁ、など
馬鹿な頭で思ってしまったのです。
0199デフォルトの名無しさん
2006/01/15(日) 01:56:05割込みはタスクより優先されて動くよ。
1.タスクはOSの同期オブジェクト待ちになって受信データを待つ。
2.割込み側はOSの同期オブジェクトをシグナル状態にしてタスクの待ち状態を解除して割込み処理を終了する。
3.タスクはOSによって待ちを解除されて受信したデータを取得して処理する
4.タスクは再び受信データ待ちになる。
って感じで同期するんではないかと。
同期オブジェクトについては先輩に聞いて下され。
たぶんそこが分かれば一歩前進できたといえるかと。
貴方の言うとおり、割込み禁止は他の割込みにも影響するよ。
タスク部を書く人はなるべく割込み禁止を使わないか、その期間が短くなるようなコードを
書くことを求められるだろうね。
0200デフォルトの名無しさん
2006/01/15(日) 01:57:28割り込み処理では、送られて来た文字列をバッファに溜め込んで、
通常処理では、バッファに溜まった文字列を解析&実行させる。
ってえのが常識ってもんだ。
割り込みを禁止にするなんて、論外。
割り込み処理を使う意味が無い。
0201193
2006/01/15(日) 02:06:18レスありがとうございます。
同期オブジェクトですか。初めて聞いた言葉なので後で調べてみるっす!
割込み禁止の処理を使う事があったら、ご指摘の点について注意してコーディングします。
>>200
レスありがとうございます。
仰る通りですね。イメージとしては文字列をバッファに溜めて・・だと思うのですが
(まだソースコードをみていないので)、文字列をバッファに詰め込む前に、更に割込みが
あがって来てしまった場合とかを考えてしまうのです。
0202デフォルトの名無しさん
2006/01/15(日) 02:15:03文字が送られて来る時間の間隔を計算してみれば? よっぽどマヌケなコードでも書かない限り、バッファメモリに書き出す処理が終了する方が早いでしょ?
0203デフォルトの名無しさん
2006/01/15(日) 02:21:31すげーw
0204デフォルトの名無しさん
2006/01/15(日) 03:37:58> 文字列をバッファに詰め込む前に、更に割込みが
> あがって来てしまった場合
そういう場合のために割り込み禁止という機能があるのよ。
割り込みハンドラ(){
割り込み禁止
受信データを蓄積用のバッファにコピー
割り込み許可
必要があれば受信フラグを立てたり、タスクを起こしたり
}
当然、割り込み禁止区間は極力短くしないとシステム全体に影響が及ぶ。
>>202のような、受信間隔なんていう不確定なものをあてにするのは、
不可解なバグの要因になるので、普通はしない。
0205デフォルトの名無しさん
2006/01/15(日) 03:44:58おいおい、ハーウェアの通信性能以上に短い間隔にはならないんだよ?
確実に数値で計算出来る値だろうがw
0206デフォルトの名無しさん
2006/01/15(日) 03:45:400207デフォルトの名無しさん
2006/01/15(日) 03:47:330208デフォルトの名無しさん
2006/01/15(日) 03:49:060209デフォルトの名無しさん
2006/01/15(日) 04:06:220210デフォルトの名無しさん
2006/01/15(日) 04:10:29そのネタ面白いね
0211デフォルトの名無しさん
2006/01/15(日) 04:11:44ネタ?
0212デフォルトの名無しさん
2006/01/15(日) 04:12:49ノイズの可能性は無視?
0213デフォルトの名無しさん
2006/01/15(日) 04:13:36通信以外の割り込みは無視?
0214デフォルトの名無しさん
2006/01/15(日) 04:14:01多重割り込みなんか関係無いよなw
もっと続けてー
0215デフォルトの名無しさん
2006/01/15(日) 04:16:05割込みマスクの必要性をよく分かってないのは誰ですか?
0216デフォルトの名無しさん
2006/01/15(日) 04:20:44つうか、そう作る。
0217デフォルトの名無しさん
2006/01/15(日) 04:23:160218デフォルトの名無しさん
2006/01/15(日) 04:24:450219デフォルトの名無しさん
2006/01/15(日) 04:25:39そういう作り方自体は制御系としては別に間違ってないよ。
OSもないような小規模で、かつ、ハードが確実に特定できるターゲットならね。
>>193のターゲットはiTRONと言ってるんだが、
それでもそんな作り方を薦めるつもりなの?
0220デフォルトの名無しさん
2006/01/15(日) 04:28:03OSが何であれ、そうしないと通信データ取りこぼすよ?
0221デフォルトの名無しさん
2006/01/15(日) 04:28:33だがOS載せてる環境でタイミング依存するコードなど書くのは愚かだね
0222デフォルトの名無しさん
2006/01/15(日) 04:30:42何のために受信バッファだのフロー制御だのがあるの?
0223デフォルトの名無しさん
2006/01/15(日) 04:32:14信号って言うのはハードウェア割り込みの事じゃないのか?
だから、ハードウェア限定されてる話じゃないのか??
つうか、普通ならドライバーがやってる仕事を書いてるだけなんだが???
0224デフォルトの名無しさん
2006/01/15(日) 04:32:480225デフォルトの名無しさん
2006/01/15(日) 04:33:30だから、受信バッファに貯める処理自体の話をしてるし、フロー制御もありだよ?
0226デフォルトの名無しさん
2006/01/15(日) 04:33:51……。
>>197を読み直したら?
0227デフォルトの名無しさん
2006/01/15(日) 04:34:400228デフォルトの名無しさん
2006/01/15(日) 04:36:46特に、クリティカルな方の話なのになぁ・・・。
0229デフォルトの名無しさん
2006/01/15(日) 04:39:11この部分はどんなOS乗ってようが、ハードウェア依存だし、タイミングの話からは逃れられないだろ。
0230デフォルトの名無しさん
2006/01/15(日) 04:44:34なぜか割込み不要と言い切っているところがワロス
0231デフォルトの名無しさん
2006/01/15(日) 04:45:360232デフォルトの名無しさん
2006/01/15(日) 04:46:220233デフォルトの名無しさん
2006/01/15(日) 04:47:58割り込み不要?
そんな読解力無い奴相手だったのか??
0234デフォルトの名無しさん
2006/01/15(日) 04:49:33おーい名無しばかりでよくわからんが、これ言った奴なんか言えよw
0235デフォルトの名無しさん
2006/01/15(日) 04:50:13喪前さん以外(多分漏れ以外に2人くらいいそうだが)はそう読んでるぞ。
書き方の問題じゃないか?
0236デフォルトの名無しさん
2006/01/15(日) 04:52:050237デフォルトの名無しさん
2006/01/15(日) 04:54:42俺のf読解力ではその一言を書いた奴が
一番分かってないように見えるね。
0238デフォルトの名無しさん
2006/01/15(日) 04:55:40俺だ。
処理自体を吟味もせず、割り込み禁止すれば解決! みたいな考えは、危険だろ。
何故禁止にするのか、禁止期間は他の割り込みに影響が出ないか吟味した上で、最小限度の禁止区域を設ける。
そういうプロセスで考えないと、割り込み内で解析までやって頭から最後まで禁止にされちゃあ、かなわん。
0239デフォルトの名無しさん
2006/01/15(日) 04:56:500240デフォルトの名無しさん
2006/01/15(日) 05:00:050241デフォルトの名無しさん
2006/01/15(日) 05:00:52という前提の上で、割り込みハンドラと割り込み禁止の問題を話してる
・・・んじゃないのか?
0242デフォルトの名無しさん
2006/01/15(日) 05:02:09200も割り込み禁止にすればどんな長い処理でも出来るって思ってる節がある事への反論じゃね?
0243デフォルトの名無しさん
2006/01/15(日) 05:09:30そう読める?
反論ということならば、>>199に対してだろうが
>>199が「割り込み禁止にすればどんな長い処理でも出来るって思ってる」節がある
ようには見えないんだが。
0244デフォルトの名無しさん
2006/01/15(日) 05:11:02>>200は「タスクで割り込み禁止するなんて論外」と言ってるだけで、
冒頭で「解析は通常処理(タスク)で」とも言ってるから、
そういう風には思ってなさそうだが。
0245デフォルトの名無しさん
2006/01/15(日) 05:12:46>>199じゃなくて、元発言に対してだろ?
0246デフォルトの名無しさん
2006/01/15(日) 05:13:260247デフォルトの名無しさん
2006/01/15(日) 05:17:20あー、そっちが自然だね
レス先書かない奴がいるとワケワカラン
0248デフォルトの名無しさん
2006/01/15(日) 05:22:10誰に対して言ってるのかは、勘違いしないでくれよ。
>>199と>>200は1分23秒差だ。
少し考える時間を含めれば、到底無理だ。
0249デフォルトの名無しさん
2006/01/15(日) 05:22:24寝る!
0250デフォルトの名無しさん
2006/01/15(日) 05:28:19多分、2人だけだったんじゃねえの? ここにいたの。
0251デフォルトの名無しさん
2006/01/15(日) 05:30:580252デフォルトの名無しさん
2006/01/15(日) 05:31:420253デフォルトの名無しさん
2006/01/15(日) 05:33:230254デフォルトの名無しさん
2006/01/15(日) 05:37:350255デフォルトの名無しさん
2006/01/15(日) 05:40:40ム板でもこのスレはやや年齢高いのか、荒れそうで荒れないような
0256デフォルトの名無しさん
2006/01/15(日) 08:39:52新人のレベルによって、
「判らんのなら割り込み禁止しろ!」といってみたり
「判らんからといって割り込み禁止するな!」と言ってみたり
0257名無し募集中。。。
2006/01/15(日) 10:07:200258デフォルトの名無しさん
2006/01/15(日) 13:02:26海外の掲示板よく覗くが、こういう技術系の内容の板で
こんな幼稚なやり取りをやってるところは見たことがない。
正直、いい歳した大人がこんな幼稚なことやってる国の将来が明るいはずがないと思う。
将来っていうか今でも十分ダメだけどね。
0259デフォルトの名無しさん
2006/01/15(日) 13:50:070260デフォルトの名無しさん
2006/01/15(日) 13:52:140261デフォルトの名無しさん
2006/01/15(日) 14:04:19赤信号みんなで渡れば怖くない、と。
なるほど、日本人を海に飛び込ませるには「もうみんな飛び込みましたよ」と
言ってやればいいわけだw
ここがどこか、ではなく、どこであろうと自分自身が何をするがが問題だろうが。
こういう劣等民族は滅ればいいと思うね。
0262デフォルトの名無しさん
2006/01/15(日) 14:12:57そういう煽り文章を書くんだなwwww
0263デフォルトの名無しさん
2006/01/15(日) 14:29:080264デフォルトの名無しさん
2006/01/15(日) 15:24:040265デフォルトの名無しさん
2006/01/15(日) 18:57:41イケメン技術者の方々
0266俺も含めて大漁だな、オイ。(w
2006/01/15(日) 22:05:51一言で制御系といっても範囲が広いから、どういう方面か
ぐらい書いてね。
方面が良くわからんと言うレベルなら、とりあえず「イン
ターフェース」とかの雑誌を買って読んでみそ。
0267デフォルトの名無しさん
2006/01/15(日) 22:39:48アリガト!(´▽`)イケメン技術者!!
0268デフォルトの名無しさん
2006/01/19(木) 00:01:04while(1)
{
なんか信号を受け取る関数
受け取った信号毎にswitchで処理
case A:
mallocする
なんか処理
freeする
break;
case そのた信号毎の処理:
break;
}
みたいな処理をみかけたのですが、この場合ってmallocしてfreeするまでに割込みが
入ってきた場合、ヒープをfreeできない恐れがありますよね?
0269デフォルトの名無しさん
2006/01/19(木) 00:07:340270デフォルトの名無しさん
2006/01/19(木) 00:21:54メイン処理がまさにmallocの最中に、割り込み内でmalloc呼び出しするのかよ!!!!!!!!!
0271デフォルトの名無しさん
2006/01/19(木) 00:51:32OSは?
一般的な定義の上でなら、
タスクの処理フローに割り込みは影響を与えないから
free()できないなんてことにはならない。
割り込まれたらいきなり「なんか信号を受け取る関数」に
処理が飛んでいくようなOSであれば、そういうこともあるかもね。
0272デフォルトの名無しさん
2006/01/19(木) 00:58:54OSはよくわかんねス。一昨日から客先なもので。
携帯なんですけど。
割込みとかシグナル?とかよく分からんのですけど、なんか良い書籍ありますかね?
制御系ってムズイっす。
0273デフォルトの名無しさん
2006/01/19(木) 01:20:330274デフォルトの名無しさん
2006/01/19(木) 01:38:20携帯だとiTRONか、malloc()とかもろにあるならRTLinuxとかかな。
とりあえず、もすこし知識付けないと、そもそも仕事にならんべ。
制御系の本はふつーのパソコン向けのコーナーよりも、
電子・電気系の棚にある可能性高いからそのへんをチェック。
0275デフォルトの名無しさん
2006/01/19(木) 01:38:40>入ってきた場合、ヒープをfreeできない恐れがありますよね?
なんでそう思うの?
"なんか信号を受け取る関数”の箇所で割り込みをチェックしてるみたいだから
リエントラントにならないから大丈夫じゃねーの?
と、詳細も知らないくせに答えてみるテスト。
0276デフォルトの名無しさん
2006/01/19(木) 01:54:42初めて聞いた言葉でよく分からないス。。
>>274
ありがとございやす。もうちと知識つけたいです。
本屋にあるかどうか。。かなり田舎なので(´Д⊂
>>275
割込みが入るとそちらが優先され処理が中断されると聞いて、
mallocしてからfreeするまでに割込みが上がったらそこで処理が中断される??
と思ったッス。。。
0277デフォルトの名無しさん
2006/01/19(木) 02:03:01へと移ったって事なんすか、、?
ワカンネ!!ムッキーヽ(`Д´)ノ
制御系の人達はマジ尊敬します(´Д⊂
0278デフォルトの名無しさん
2006/01/19(木) 02:52:38タスクの処理 OSの処理 割り込み処理
-------------+------------------+------------------
タスク動作中
↓
割り込み発生 →タスクの状態を保存→割り込み処理開始
↓
タスク動作再開←タスクの状態に戻す←割り込み処理終了
↓
タスク終了
制御系に限らず、マルチタスクOSの一般的な動作。
割り込みを契機に、タスクの状態を保存・復帰するのがミソ。
複数のタスク動作の切り替えも基本的には同じこと。
0279デフォルトの名無しさん
2006/01/19(木) 06:44:03通常は割り込まれたことに気付かないという認識であってますか?
0280デフォルトの名無しさん
2006/01/19(木) 07:09:48気づく気づかないじゃなくて、
割り込まれる前の場所にちゃんと帰ってくるってこと。
0281デフォルトの名無しさん
2006/01/19(木) 12:38:36まあアセンブラでコード書けるようなすごい単純な機械しか扱ってないからだろうけど。
.NETとかのマルチスレッドのコードの方がよほど難しく感じる。
なんていうか、最終的な実際の動作の具体的なイメージがつかみにくいっていう
抽象化の暗黒面が効いてくる感じがする。
0282デフォルトの名無しさん
2006/01/19(木) 23:06:51非リアルタイム環境だとスケジューリングが決定的じゃないから
目的の現象が必ずしも発生するとは限らないしね。
0283デフォルトの名無しさん
2006/01/20(金) 00:07:02ありがとうございます。なんとなく分かってきたっス。
例えば、タスク内でいじっているバッファなんかを、割込み処理内で
いじったりするのは良くないっすね?
0284デフォルトの名無しさん
2006/01/20(金) 00:21:03ヒント: 排他制御
0285デフォルトの名無しさん
2006/01/20(金) 05:02:14どうしても必要な場合は、タスク側が最小限の時間に限って割り込み禁止を使う。
典型的な例ね:受信文字カウンタnを、受信割込み処理で++、タスクが受信文字を取り出したら
--する、なんて状況で、タスクがn--するときに割込みが起きたとする。
n--ってのはreg<--n, reg--, reg-->nという機械語になるが、この2つのカンマのところで
割り込むと、レジスタ保存、割込み処理でreg<--n, reg++, reg-->nして、割り込んだ所へ戻る。
その後3番目のreg-->nが実行されると、割り込みで++した結果が失われる。これを避ける為に
タスク側は、割り込み禁止;n--;割込み許可;のように書く。この位なら待たせても割り込み
処理の遅れは許容できる。あまり長い処理を割り込み禁止で実行したりするのは顰蹙もの。
=割込み処理というのは、例えば9.6Kbpsの受信なら1mS以上遅れてはならないとかの
物理的制約があるのがふつうだから。
0286デフォルトの名無しさん
2006/01/20(金) 08:31:04割り込み側が++してたまたま下位32bitが0で上位32bitに繰り上がり。
タスク側の読み取り値が出鱈目になると。
BIGendianかLITTLEendianかで変わってくるが。
0287デフォルトの名無しさん
2006/01/23(月) 01:14:30レスありがとうございます!
ちょっと難しいっすね。ソース上1つの処理に見えても
アセンブラでは複数の処理なんすね。
reg<--n, reg--, reg-->nとか32bitCPUで64bitの共有変数
の話はまだ勉強不足で分からないですが(´Д⊂
0288デフォルトの名無しさん
2006/01/23(月) 01:28:290289デフォルトの名無しさん
2006/01/23(月) 01:40:26それが、まだ書いたことないんすよ・・・
今回初めてやることになったんですがプレッシャーです。。
0290デフォルトの名無しさん
2006/01/23(月) 01:48:05新人さんでつか?
0291デフォルトの名無しさん
2006/01/23(月) 08:58:490292デフォルトの名無しさん
2006/01/23(月) 22:40:12くような最適化する時があるから、オブジェクトコー
ドリスト (*.cod のことだよね。) みる時は、最適
化を抑止しておいた方がいいかも。
0293デフォルトの名無しさん
2006/01/24(火) 01:51:05最後にゃあそこが勝負の分かれ目になる事もあるからなぁ。
0294デフォルトの名無しさん
2006/01/24(火) 05:22:23演算やロードと同時にビットシフトとか、
命令ごとに条件実行やフラグアップデートの有無を指定できるから、
コンパイラやコンパイルの条件によって、だいぶ出力されるコードちがうよね
条件実行命令多用して、実行時間が常に一定で最適化するか、
普通に分岐を使うかわりに、条件によっては実行速度が最速になる方をとるか、
コードサイズをとるか・・・
0295デフォルトの名無しさん
2006/01/24(火) 06:50:490296わざわざ (初心者には) って、断ってあるにもかかわらず…。
2006/01/24(火) 21:51:24俺はさぁ、最適化したオブジェクトコードでも見れるんだせぃ。
って言う自慢か?
0297デフォルトの名無しさん
2006/01/24(火) 23:04:560298デフォルトの名無しさん
2006/01/24(火) 23:41:26そう思ったけど、違うのか。
じゃ、まったく意味不明だな。
0299デフォルトの名無しさん
2006/01/25(水) 01:07:15リリース版で出るバグがあった場合、コンパイルスイッチ変えて追っかけてもデバッグの意味が合いって事だろ?
0300デフォルトの名無しさん
2006/01/25(水) 03:23:34あとまあ再現性がなく、お客さんのとこで一ヶ月に一回あるかないかのクラッシュで手がかりは
レジスタダンプとスタックトレースだけとか。
0301デフォルトの名無しさん
2006/01/25(水) 08:12:02メモリダンプのが有効だがセキュリティ上問題ある死ね。
0302デフォルトの名無しさん
2006/01/25(水) 09:27:44最適化かけると問題が起こるからと言って、
最適化せずに外に出しちゃってるyp!・・・orz
0303デフォルトの名無しさん
2006/01/25(水) 09:32:170304デフォルトの名無しさん
2006/01/25(水) 16:14:070305デフォルトの名無しさん
2006/01/25(水) 19:51:05まったくの新人ではないっす。
>>291-292さん
ありがとうございます。色々勉強になります。
今までレス下さった方々にも感謝m(_ _)m
0306デフォルトの名無しさん
2006/01/26(木) 18:23:37仕様追加きたらもうだめポ。
0307デフォルトの名無しさん
2006/01/27(金) 00:46:49それは何か間違ってる。
0308デフォルトの名無しさん
2006/01/27(金) 06:48:430309デフォルトの名無しさん
2006/01/27(金) 06:50:50圧縮して起動時にRAMに展開する。
0310デフォルトの名無しさん
2006/01/27(金) 08:13:51ROM256KiB/RAM12KiB のワンチップdeどうやって...
0311デフォルトの名無しさん
2006/01/27(金) 08:30:02データシートですら、ほとんどが KB = 1024 で書かれてるのに、
律儀に KiB 使ってるやつ初めて見た
0312デフォルトの名無しさん
2006/01/27(金) 18:03:32俺なんかASMでコンパイラぶちのめすのが快感なんだが。 KiBって10のn乗表現なの?
0313デフォルトの名無しさん
2006/01/27(金) 20:00:39いや老眼じゃなくて痴呆症かもしれないが
0314デフォルトの名無しさん
2006/01/27(金) 20:45:470315デフォルトの名無しさん
2006/01/28(土) 00:32:54Ki,Mi,Giを新設して2^nに割り振ることにしよう、という話がどこかで出ていた。
0316デフォルトの名無しさん
2006/01/28(土) 01:03:340317デフォルトの名無しさん
2006/01/28(土) 01:06:010318デフォルトの名無しさん
2006/01/28(土) 02:48:491Mi=1048576=1M+48K+576
1Gi=1073741824=1G+73M+741K+824
1Ti=1099511627776=1T+99G+511M+627K+776
うーむ、確かに1Tiとなると1割近くも違うのか。
つーか、99G……
0319デフォルトの名無しさん
2006/01/28(土) 09:17:330320デフォルトの名無しさん
2006/01/28(土) 11:36:24何が知りたいのかはっきり言えよ。
具体的な何かの制御のアルゴリズムが知りたいのか、実装を見たいのか。
具体的でなければスルーされるぞ。
0321デフォルトの名無しさん
2006/01/28(土) 12:01:510322デフォルトの名無しさん
2006/01/28(土) 12:39:050323デフォルトの名無しさん
2006/01/28(土) 12:42:011:実際に使われているもの
2:プロトタイプでも公開されているもの
3:こんなの作ってみましたみたいなもの
どれでもいいのでみせてください、
MLだとやっぱり作りにくいんですか?
もしそうだとしたら、どういう部分で作りにくくなるのですか?
そういうことが知りたいです。
Cとか使えないので。
0324デフォルトの名無しさん
2006/01/28(土) 12:52:00I/Oや割り込みなど諸々のハードウェア用の機能が用意されているMLがあったとしたら、
アルゴリズム的にはCでもMLでも同じなので、MLでも十分に作れる。
0325デフォルトの名無しさん
2006/01/28(土) 13:04:26ってたとえばどんな機能なのでしょうか、
組み込みとかあまり詳しくないので。
あと、制御系のアルゴリズムってどんなものが多いのでしょうか。
関数ですきっとかけないのもが多いとか.あるんですか?
0326デフォルトの名無しさん
2006/01/28(土) 13:05:170327ごめん
2006/01/28(土) 13:05:220328デフォルトの名無しさん
2006/01/28(土) 13:05:45いずれにしても>>319とは仕事したくないな。
0329デフォルトの名無しさん
2006/01/28(土) 13:07:15ハードウエア割り込みの機能ってなんですか?
システムコールを発動させるプリミティブみたいなものですか?
0330デフォルトの名無しさん
2006/01/28(土) 13:08:190331デフォルトの名無しさん
2006/01/28(土) 13:09:17確かにね。MLはMeta Languageの略だと思う。
SMLの仕様に乗っ取るのが正しいと思うけど、そこまで正確にする必要もないと思う。
何しろ、制御系なんだから。
0332デフォルトの名無しさん
2006/01/28(土) 13:11:36>MLで書いた制御系のプログラムを教えて
(マイナーなプロセッサの)エミュレータとかなら、
腐るほどありそうだがな。
0333デフォルトの名無しさん
2006/01/28(土) 19:57:290334デフォルトの名無しさん
2006/01/28(土) 22:03:02重力制御ユニットを作ってください!!!!!!!!!!!!!!
あと姿勢制御ユニットも
0335デフォルトの名無しさん
2006/01/28(土) 22:18:06っていうか、ここはウンモ星じゃないんだがw
0336デフォルトの名無しさん
2006/01/30(月) 01:19:210337デフォルトの名無しさん
2006/01/30(月) 01:31:22シグナルはスケジューラが処理する
割り込みはマジで割り込む
ってのが建前だったと思う
0338デフォルトの名無しさん
2006/01/30(月) 04:28:15スケジューラに相当するものがハードかソフトか、って考えればいいんじゃない?
0339デフォルトの名無しさん
2006/01/30(月) 04:47:580340デフォルトの名無しさん
2006/01/30(月) 06:15:16割り込み中に別の割り込みを許可するかどうか程度
CPUによっては単に割り込み禁止中に同時に割り込みがあった時にどっちを先に実行するか程度の事もあるし
スケジュールというほどじゃないかもな
0341デフォルトの名無しさん
2006/01/30(月) 12:21:24新設、っていつの話だと(ry
ttp://physics.nist.gov/cuu/Units/binary.html
まあ、誰も使っちゃいないけどな。
0342デフォルトの名無しさん
2006/01/31(火) 15:48:501,000換算と1,024換算が混在するコンピュータの世界
http://pc.watch.impress.co.jp/docs/2003/0922/it010.htm
昔話ですが...
0343デフォルトの名無しさん
2006/01/31(火) 17:50:20その記事書いた奴、昔はHDDもベンダによって
バラバラだったという事も知らないのか…
通信速度 [bps] も 10進数ベースだし
16進ベースなのはメモリと OS 上の表記だけだと言うのに。
0344デフォルトの名無しさん
2006/02/01(水) 04:46:06ノートパソコンでデータロガーのようなものを作って納めました。
RS232Cで機器を接続して監視を行います。
数秒間隔でポーリングして24時間監視しているのですが
この通信ログをHDDに落としています。
このHDDが、1年持たずにクラッシュします。
こういった、用途では市販のPCでは荷が重たいのでしょうかね?
0345デフォルトの名無しさん
2006/02/01(水) 06:21:48夏場に灼熱地獄になったり、絶えず振動があったり、埃っぽかったり。
0346デフォルトの名無しさん
2006/02/01(水) 07:13:59PCやカーナビなんかだと、5000時間使い切る前に、買い替えるから、それでおkらしい。
で、もちろん、周囲の温度が高いと、どんどん耐久時間は減る。
普通のPC用の3.5インチHDDだと、1万時間以上は持つらしいけど、
(詳しい時間は忘れたので、HDDのメーカーのデータシート探してチェックしたほうがいいが)
それでも、連続動作で保障できるのは、1年とちょっとくらいじゃない?
0347デフォルトの名無しさん
2006/02/01(水) 08:26:17そういう使い方するなら、省電力モードになるときにHDDも止めるようにしたほうがいいですか?
0348デフォルトの名無しさん
2006/02/01(水) 08:38:490349デフォルトの名無しさん
2006/02/01(水) 09:06:58ワット(W)は電力の単位、デシベル(dB)は対数を表す無名単位。
従って、10デシベルの電力と言うのは意味がない表現。
恐らくdBmのことだと思うが、それならば1mW=0dBmだ。
0350デフォルトの名無しさん
2006/02/01(水) 09:10:350351デフォルトの名無しさん
2006/02/01(水) 09:52:20長年つけっぱなしで、ある日一度電源を落とすと、
次に電源を入れてもHDDは二度と目を覚ましませんでした、
という事もある。
0352デフォルトの名無しさん
2006/02/01(水) 09:54:02すでに検討したのかもしれないが、
フラッシュメモリも考えてみたほうがよいのでは。
0353デフォルトの名無しさん
2006/02/01(水) 10:14:180354デフォルトの名無しさん
2006/02/01(水) 10:55:37HDDに落とす頻度を下げればいいんだよ
普段はHDD止めといて 数秒に1回だったのを
「美しき野獣」でグーグルして最初のページを
メモリにためて10分に1回にまとめれば
寿命は100倍アップだろ
0355デフォルトの名無しさん
2006/02/01(水) 11:00:04最近はそうとも限らない。C言語がメジャーでしょう。
>>344
基本的にノートパソコンって24時間使いっぱなしは想定してない。
サーバとして設計した据え置き型を検討すべきと思う。
0356348
2006/02/01(水) 12:26:59使えば3.0dBm=1ワット、4.0dBm=10ワット、みたいに表現するわけですね。
あ、基底は10でいいですか?
0357デフォルトの名無しさん
2006/02/01(水) 18:00:07んだな。
通常のNAND型フラッシュの書き換え寿命が50万回
1分1回の書き込みだと、1年で525,600回
上書きは無理だし、追加書き込みでも、
FATやサイズなんかは更新されるだろうから、
1時間に1回まとめて書き出すとかにしないと辛いね
0358デフォルトの名無しさん
2006/02/01(水) 18:56:40ググればわかると思うんだけど。。
この世界(に限らないけど)、問題解決能力のない人間そのものが「問題」だよ。
っていうか、>>349の説明が悪いと思うんだけど
電気の世界でデシベルっていったらエネルギーの次元の値の比の常用対数を10倍した
値のことだよ。
0359デフォルトの名無しさん
2006/02/01(水) 23:40:55重たいです
>>348
つまり、こういうこと
P[dBm]=10*log(E[mW]/1[mW])
電力を1mWに対する比で表現した値
底はTextでは書き辛いのでこの場合のlogは常用対数と思ってくれ
なので、1W=30dBm, 10W=40dBm
でもdBmはmW単位の世界じゃないと便利でもないので
あまり使わんと思う
0360デフォルトの名無しさん
2006/02/01(水) 23:57:55誤解の無いように注意して理解することも要求される。
『両方』やらなくっちゃあならないってのが
0361348
2006/02/02(木) 06:13:02よくやるんですよね。短波のほうだとワットが多いんですけど。
球面状にまきちらすのと違って、指向性の装置だと小さな電力でいいんですね。
0362デフォルトの名無しさん
2006/02/02(木) 08:02:38ノートパソコンで蓋をしめたまま運用していませんか?
自分の経験では、蓋をしめたままだと、
熱が篭ってHDDの寿命が短くなるようです。
蓋をあけてた状態だと、一年以上確実に持つようになりました。
0363デフォルトの名無しさん
2006/02/02(木) 23:22:140364デフォルトの名無しさん
2006/02/03(金) 08:19:330365デフォルトの名無しさん
2006/02/03(金) 08:21:190366デフォルトの名無しさん
2006/02/03(金) 10:51:35>ノートパソコンで蓋をしめたまま
それはいくらなんでも非常識というか、想像力が足りないというか…
0367デフォルトの名無しさん
2006/02/03(金) 11:57:15常識的で想像力がある意見を聞かせて。
ぜひ!!
0368デフォルトの名無しさん
2006/02/03(金) 17:45:03たこ焼き屋で10個入りパックを買ったんだ
家に帰って開けてみると9個しかない
よく見ると、1つ蓋にくっ付いていたんだ
次の日、家電屋でノートパソコンを買ったんだ
家に帰って開けてみると
0370344
2006/02/04(土) 10:20:44>>345
クリーンルームです
>>346
50万時間とかそんなだったように思います
>>362
蓋が関係するのははじめて聞きました、ちょっと検討してみます。
0371デフォルトの名無しさん
2006/02/04(土) 15:15:270372デフォルトの名無しさん
2006/02/04(土) 17:25:0350万時間も持つわけ無いだろ
1年=8760時間だから、50年以上だぞw
フラッシュROMの書き換え回数50万回と勘違いしてないか?
0373デフォルトの名無しさん
2006/02/04(土) 22:25:11統計的なものなので、理想的な環境なら、50台あったら1年に1つづつ
壊れていく、って意味の方が近いけど。
0374デフォルトの名無しさん
2006/02/04(土) 23:06:170375デフォルトの名無しさん
2006/02/06(月) 00:39:500376デフォルトの名無しさん
2006/02/06(月) 01:51:37マジでまったく同じこと考えてたけど
こうして他人が書いたのを見ると
アホ丸出しだ
0377デフォルトの名無しさん
2006/02/06(月) 13:07:200378デフォルトの名無しさん
2006/02/06(月) 14:39:16平均バカ間隔
このスレにバカが現れる平均間隔。
最後に現れたのは、2006/2/4 22:25:11 (>>373)
0379344
2006/02/06(月) 17:42:06では、どう考えたらよいのでしょうね?
MTBFが120万時間のものもあるようですが、その動作条件みたいなものって
なにか、規格があるんでしょうかね?
そして、それを24時間稼動にした場合の計算方法など、
なにか参考になるものがありましたら教えてください
0380デフォルトの名無しさん
2006/02/06(月) 19:36:17同じ事考えてた時点でアウトだろ(笑
0381デフォルトの名無しさん
2006/02/06(月) 19:38:410382デフォルトの名無しさん
2006/02/06(月) 20:33:28よく知らないのに偉そうにレスしてみる。
それって統計の問題じゃないの?
ということは、平均値だけじゃ何もいえないと思う。
分散だかなんかの値がわからないとダメでしょう。
それらがわかれば、x時間以内に故障する確率はy%、ってのが計算できるんだったような。。
ゴメンやっぱり若いうちにちゃんと基礎的な学問習得しとかないとダメだなw
0383デフォルトの名無しさん
2006/02/06(月) 21:31:39これを見ろ
http://sonic64.com/2006-02-03.html
0384デフォルトの名無しさん
2006/02/06(月) 21:34:03あと、これもだ。
http://ema.fsr.jp/hdd/hdd.html
0385デフォルトの名無しさん
2006/02/07(火) 05:27:30それって単発もの?
だとしたら、故障確率で無難なところを見積もっておけばいいのか。
昔、俺がやってたのは量産物で、動作期間を保障しなきゃいけなかったから、
HDDメーカーが保障している5000時間てのを元にしていたんだが・・・。
消耗品として、通常の使用頻度で3年に1度は交換してくれってことにしていた。
0386デフォルトの名無しさん
2006/02/08(水) 09:04:530387デフォルトの名無しさん
2006/02/08(水) 11:52:28というか書込時に定期的に外付けUSBにコピーするようにしたら、まあ問題ないんじゃないの?
0388デフォルトの名無しさん
2006/02/08(水) 23:28:49↓なのみつけた。 何号保つと思う?
ttp://www.gihyo.co.jp/magazines/kumikomi
0389344
2006/02/09(木) 04:29:55どうもありがとうございます
推定故障率3%とでました。
が、12台中3台が1年以内に壊れました
室温は25℃です。
この「故障率推定」には、稼働率のパラメータがないようですね。
>>386
RAIDなら壊れませんか?
逆に、HDDのユニットの故障率は上がるように思いますが。
0390デフォルトの名無しさん
2006/02/09(木) 04:40:38室温≠使用温度
使用温度はHDDの周囲温度だから、もっと高いはず
ノートPCを5℃〜40℃に置いたときのHDD周囲の温度を
熱電対でも突っ込んで測ってみるがよろし
長く使ってるとほこりなんかで、放熱効率が悪くなったりするかもよ
0391デフォルトの名無しさん
2006/02/09(木) 11:50:17LEGO MindStorms買ってからそれ買った
H8で レゴが動くってのが楽しい
仕事してるようには見えないだろうな
MindStormsは秋に新型が出るらしい
0392デフォルトの名無しさん
2006/02/09(木) 11:56:02RAID-1 複数のHDDでミラーリングして
HDDが故障してもシステムとしては機能するって仕組みです
ノート型PCでは難しいかもしれないけど
現場はHDDなしのシステムにしてネットワーク経由でデータベースに
投げてもいいじゃ?
0393344
2006/02/09(木) 13:08:07クリーンルームで、室温は一定で、空気は常に循環されていますし
1年でたまるような埃はありません
それでも、HDD自体の温度は上がっているんでしょうね
>>392
もちろんわかります>RAID
確かにデータは壊れないでしょうが、HDDの故障率はあがりますよね
結局、メンテに手間がかかってしまうし、お客から「また壊れたのか」と言われること必至
ログ機能なので、ネットワーク経由にした場合、ネットワークに障害が発生したら、ログが残らないです
すくなくとも、何らかの方法で、HDDのアクセス頻度をさげるしかないようですね
0394デフォルトの名無しさん
2006/02/09(木) 13:36:53HDDの故障率は変化ないだろうけど、故障件数は増えるね
でも、システムが停止しなければ客は満足だと思うけどなぁ
HDDなしにする場合、フラッシュメモリ等のストレージに
一週間分くらい保存しとけばいいと思う
0395344
2006/02/09(木) 15:22:24そうですね、HDDの故障率ではなく、システムの故障率が上がる
メンテ頻度は増えるでしょうね
その度に、飛行機でサービスを行かせるのでは、まったく満足しないですねー
なにか、方法を考えてみます
0396デフォルトの名無しさん
2006/02/09(木) 16:40:27納品先企業の地元で、メンテ要員雇うとか。
地元の高卒の兄ちゃんでも雇えば地元からも感謝されるよ。
つーか、CR内で安定なLANが使えないってどんな糞CRだよ。
0397デフォルトの名無しさん
2006/02/09(木) 23:56:11結局は「また壊れたのか!、また余計な金がかかる!」
ってのが不満の原因なんだろ?
もう面倒くせーから、小型のデスクトップにして↓でも使っとけ
ttp://www.gigabyte.co.jp/nippon/peripherals-list.html
2台も使えば、OSと定期的なバックアップまでの
データ保持ぐらい出来るだろ
0398デフォルトの名無しさん
2006/02/10(金) 00:35:32> ノート型PCでは難しいかもしれないけど
市販されてる(されてた?)
http://pr.fujitsu.com/jp/news/2003/12/9.html
>>395
リザーブディクス 10個位つけとけばいいんじゃないか?
つーか、そこまで重要な機器なら定期点検は必須だろ。
「金はかけたくない、でも信頼性は必要だ。」なんて言うわが
ままに付き合ってたらきりないぞ。
0399デフォルトの名無しさん
2006/02/14(火) 18:54:58一定時間ごとにステートマシンの処理ルーチンを呼び出すってことよくやりますよね?
(たとえばシリパラ変換の石にデータをシリアル転送するときなど。)
この場合、呼び出す側の呼称はタイムスライスとかディスパッチャーでいいと思うんですが、
ディスパッチされる側のルーチンってのは一般的な呼び方ってあるんでしょうか?
質問の背景としては、このディスパッチされる側のルーチンに
「それ」とわかるような命名をしたい、ということなんですが。
いまはWin32のWndProcからの連想で「〜Proc」みたいな命名をしてるんですが
どうもやっぱりしっくりこない。
0400デフォルトの名無しさん
2006/02/14(火) 22:20:290401デフォルトの名無しさん
2006/02/14(火) 23:27:53おまいは関数の名前をいちいち掲示板で聞くのか?
0402デフォルトの名無しさん
2006/02/14(火) 23:43:06http://pc8.2ch.net/test/read.cgi/tech/1128266018/
0403デフォルトの名無しさん
2006/02/14(火) 23:44:24クラス名・変数名に迷ったら書き込むスレ。Part6
http://pc8.2ch.net/test/read.cgi/tech/1128266018/l50
ここで関数名も聞いてみたら?
0404デフォルトの名無しさん
2006/02/14(火) 23:49:51そこは知っているし何度か回答もさせてもらってもいますが、
こういうジャンルのコーディングをしている人がそんなにいるとも思えない。
0405デフォルトの名無しさん
2006/02/14(火) 23:54:49ビタミンCが足りてないんじゃない?
カルシウムだっけ?
0406デフォルトの名無しさん
2006/02/15(水) 00:09:24まあ俺は君と違って脳は足りてるよ。
まあ言っても無駄だろうけどガキが覗いて楽しいスレじゃないと思うよここは。
0407デフォルトの名無しさん
2006/02/15(水) 00:13:40ビタミンCは、肌荒れとかにいいんじゃないかな。
カルシウムと言えば、なんとなく白い粉ってイメージだった
けど、所さんの目がテンで純粋なカルシウムをみたら、まん
ま金属だったので、マジで目がテンになっちまった。
0408デフォルトの名無しさん
2006/02/15(水) 01:24:55当たり前じゃん。もしかして、ナトリウムも粉体を想像してる?
0409デフォルトの名無しさん
2006/02/15(水) 07:59:32それはそうと、「白い粉」ってなんかヤバイ雰囲気がするw
0410デフォルトの名無しさん
2006/02/15(水) 17:32:210411デフォルトの名無しさん
2006/02/15(水) 18:21:240412デフォルトの名無しさん
2006/02/15(水) 18:50:27中学・高校で何を勉強してきたんだ・・
0413デフォルトの名無しさん
2006/02/15(水) 20:53:27中高じゃあハッピーターンは授業に出ねえぞ?
そりゃ授業中にも食ってたけど
0414デフォルトの名無しさん
2006/02/16(木) 01:23:50ポタシウムを多めに取るようにしよう。
0415デフォルトの名無しさん
2006/02/21(火) 09:31:540416デフォルトの名無しさん
2006/02/21(火) 10:36:16つ炭素菌
0417デフォルトの名無しさん
2006/02/25(土) 04:58:55最近新しいメーカーさんのとこに飛ばされて
RTOSでC言語なデジタル家電することになりますた。
そこで既存のコードを見たんですが(いわゆるアプリ〜ミドル層)
まったくと言っていいほどallocが無いんですよ。
ユーザーがある操作をしなきゃ使うこともない領域とかも数k、数10k単位でぼこぼこ存在してる。
過去、いくつかのメーカーで携帯やらテレビやらナビやらHDDデッキやら作ったことあるんですが
100byte超える領域を使うときはallocateしないと殺す!とか
お前のタスク、なんでそんなにRAM使うんだよ、殺すぞ!みたいなノリだったんで
カルチャーショック受けてます。
聞いてみると、メモリの断続化や処理速度を考えるとallocなんてしてらんないよ、
って返ってきたんですが、私は過去にそんなことで問題になった経験がありません。。。
極力allocする or 極力しない
一般的にはどちらが正解なんでしょうか?
0418デフォルトの名無しさん
2006/02/25(土) 06:04:27んなもん、状況による。メモリ優先か、処理速度優先か。移植・汎用性優先か。
ちょっと使いたくない立場から書いてみる。
シビアなリアルタイム系
(制御周期が1ms以下だったり、μs単位のディレイ・ジッタが気になるとか) なんかだと、
極力簡略化したブロック領域のヒープなら、タスク間通信のために仕方なく使うけど、
malloc, free は使いたくなって感じのところが多い。
さらに、通常 malloc, free は割り込み禁止区間を使うから、
割り込み周期がぶれたりする可能性もある。
デバッグ環境が充実してないシステム上だとバグ発生の元にもなる。
フットプリントの小さいRTOSでは、そもそも、mallocをサポートしてないものもある。
それに、メモリが余ってるなら、メモリを動的に確保する意味なんか全くない。
malloc, free で複数タスクが時分割でメモリを取り合うってのは、
メモリが足りないときの非常手段って感じだ。
携帯、テレビ、ナビなんかは、メモリ厳しいとはいえ、
リアルタイム設計という観点では、制御系というより、
アプリ系に近い考え方じゃないか?
0419デフォルトの名無しさん
2006/02/25(土) 06:54:11テレビやナビは時々電源を切るから初期化されて、メモリの断片化が大きな問題にならないが
携帯だとマズイように思うなあ・・・・、だから時々電源切らないといかんのか・・・・・
電源入れっぱなしになる装置の場合、
・メモリサイズグループ毎に別のヒープ領域を割り当てる
・メモリをファイルシステムのように固定サイズのブロックとして割り当てて使ってもらう
のどっちかやらないと、長期的にはマズイよ
0420デフォルトの名無しさん
2006/02/25(土) 08:06:45他のレスにもあるようにケースバイケースじゃないか?
RTOS自体が糞なメモリ管理しかしてない・
MMUが載っていなくてメモリ断続化の影響がでかい
なんかでいっそallocしないってのは考えられるし、
その手の物だと、同時動作するタスクの数や
所要メモリ量が確定できる代わりに、
メモリが必要になっていざallocしてみたら
メモリが足りずに処理できなかったってことが
許されない場合もある。
だから、こんな作りになってしまうことがままある
> ・メモリサイズグループ毎に別のヒープ領域を割り当てる
> ・メモリをファイルシステムのように固定サイズのブロックとして割り当てて使ってもらう
そもそも”携帯やらテレビやらナビやらHDDデッキ”も
ドライバあたりでは、特定の機能しか使わないメモリでも、
いざ動作する時に「allocに失敗したら待てない/致命傷になる」ってものは、
確保しっぱなしになってるだろ。
0421デフォルトの名無しさん
2006/02/25(土) 12:52:470422デフォルトの名無しさん
2006/02/25(土) 13:36:470423デフォルトの名無しさん
2006/02/25(土) 17:38:54技術論は他の人が言ってるからいいとして、社会論としては、
古くから組み込みやってる人が多くて、
固定メモリの思想にどっぷり浸かってて変化していない人達、
という可能性もあるんじゃないかな。
# 「新しいメーカーさん」って、新しく行く職場って意味で、
# 新興メーカーじゃないよね?
古いシステムをそのままバージョン上げながら育ててるような場所だと、
実際の必要性以上に過去の要件をひきずってるところとかもあるから、
正しい正しくないはさておきて、「そういうところもあるんだ」
と思っておくくらいでいいと思う。
0424デフォルトの名無しさん
2006/02/25(土) 19:45:58RTOSの規模にもよりますが、もっとも小さいほうで言えば、
allocはしない方法で考えますね。
たとえば、ITRON TCP/IP仕様は、「動的なメモリ使用の回避」を
ひとつの目的としていますね。
0425417
2006/02/26(日) 03:16:10動的に確保するのが難しいケースや
デメリットが大きすぎる場合はallocateしてなくても納得できるんですが
システム全体の基本思想が「allocしない」なんですよね。
#ちなみに新興メーカーではないです
OSのメモリ管理なんて最初からアテにしてなく、
自前でメモリ管理はどこでも作ってるもんだと思ってました。
実際今回のとこでも>>419さんの言われるような対応はされてるんです。
過去にテレビやデッキなんかでは、連続運転試験を1ヶ月以上自動操作でテストなんてことも
普通にやってて断続化なんて見たことないです。
(メモリ管理のバグで断続化しちゃった、なんてことはありますが)
この業界、いかにハード原価を安く抑えるかというのが至上命題に近いものがありますし、
メモリも例外じゃないと思います。
個人的には>>423さんの意見が当てはまるのかなぁと思ったりしてます。
0426デフォルトの名無しさん
2006/02/26(日) 10:34:00その話からすると>>423の推測が正解だろうね
でも理屈としては、ショボイCPUでガベージコレクションできない
状態でメモリの確保と解放を繰り返したらいずれ断片化するだろ?
allocしたら2度と解放しないんじゃ静的に確保しても同じだし
あとは作ってるシステム次第だね
コスト見合いでSDRAMあたりを採用すると、
小さな組み込みシステムからすると馬鹿馬鹿しいほど
メモリがでかくなるし
0427デフォルトの名無しさん
2006/02/26(日) 11:45:56同じサイズをブロックとして確保解放するなら理屈の上では断片化しない
ただ、そうするなら、最初から固定で取って、
メモリが不足するなら同じタイミングで絶対に使わない同士をペアにしてゆくという
もっと簡単な対応の方がより安全で確実という事になるだろう
0428デフォルトの名無しさん
2006/02/26(日) 11:48:41何ヶ月も電源入れっぱあたりまえという製品で、しかも操作の最新状態は電源切っても残る、
という・・・これを20年使えるのかいな?というシステムです。NMIを作ってもらえなかったので
「操作のたびに記憶」しかないのですが、100回/日書込みなら3年でEEP/FROMアウトです。
ど〜すりゃいいの?という感じです。
0429デフォルトの名無しさん
2006/02/26(日) 12:15:01SHの内臓FLASHってそんなに書けたっけ?
保存しなきゃいけないデータが小さいなら
追記してって、溢れるまで使うとかすれば
多少寿命も稼げるけど、システムの要件次第じゃあるまいか?
それとも、要件からして既に破綻してるってこと?
だったら、こんなとこじゃなくて一刻も早く会社で騒げ。
0430デフォルトの名無しさん
2006/02/26(日) 12:19:31こういうオカシイ奴の割合がこの業界って多いよねえ
0431デフォルトの名無しさん
2006/02/26(日) 12:26:55EE-PROMと書いてるからシリアルEE-PROMだと思うよ
で、EE−PROMなら、自分なら16くらいのブロックを順に使うようにして
寿命を16倍くらいに延ばせば丁度いい感じになるなと、そう使うけどね
0432デフォルトの名無しさん
2006/02/26(日) 14:01:12FATでもNFSでもftpでもファイル名を指定して読み書きだけ
できればいいし階層構造もいらない
後でWindowsでファイルを取り出したいだけなんだけど良い手が無い
0434デフォルトの名無しさん
2006/02/26(日) 18:10:30キャッシュ?
よーわからんけど、「ど〜すりゃいいの?」っと言う感じ
なら>>429 の言う通り「上司に相談」して「その構成を
決めた奴の責任」にすべきだよ。
まあ、俺らにはどうでもいいことだが。
0435デフォルトの名無しさん
2006/02/26(日) 18:38:28寿命について問題がある
対策としては EE-PROMの容量を増やしてもらいたいというのが普通だわな
0436デフォルトの名無しさん
2006/02/26(日) 18:44:470437デフォルトの名無しさん
2006/02/26(日) 18:59:330438デフォルトの名無しさん
2006/02/26(日) 19:11:16読解力ない奴がここ数年増えたよね本当にw
文脈読めってw
寿命ってそう意味で言ってないだろうに。
キャッシュだってそう。
いちいちストレージ上の設定値読んでたらオーバヘッドやコードの冗長性が大きくなるので
初期化時にメモリにロードしといてそいつを設定値とみなして扱う、
そのメモリ上の設定値のことをキャッシュって言ってるに決まってるでしょ。
0439デフォルトの名無しさん
2006/02/26(日) 19:59:20>>428が [ど〜すりゃいいの?] と問題解決法が判らないと書いてるから、
上に相談してEE-PROMの容量増やして貰えよと解決方法を書いてるんじゃないか
こういう問題を放置するってのは、単に自分だけの問題でもないし、その会社だけの問題じゃないんだよ。
俺たち技術者全体の信頼に関する問題なんだからさ、 >>428はチャント対処しろよな
0440デフォルトの名無しさん
2006/02/26(日) 20:05:18いや、ホント。 最近痛感するよ。
最近買う家電製品はホント、壊れやすい。
まあ、単にどんなものか見てみたいという興味だけで買うから
安いのを徹底的に探して買うからまあ当然の面もあるけどね。
0441デフォルトの名無しさん
2006/02/26(日) 22:15:15> そのメモリ上の設定値のことをキャッシュって言って
> るに決まってるでしょ。
ヒント: 井の中の蛙
0442デフォルトの名無しさん
2006/02/26(日) 22:34:37正面から自分の考えを言うだけの自信がないことを誤魔化しているに過ぎんなw
他人はもちろん、おそらく自分自身も合わせてな。
自己分析ができない奴ってのは事程左様に恥ずかしいなw
0443デフォルトの名無しさん
2006/02/26(日) 23:33:220444デフォルトの名無しさん
2006/02/27(月) 00:00:16失礼、>>438 を過大評価していたようだ。
ヒント: 水たまりのボウフラ。
0445デフォルトの名無しさん
2006/02/27(月) 04:21:35自分の表現力のなさと用語の誤用を棚上げして
文脈読めってエスパーじゃなきゃ無理
0446428
2006/02/27(月) 05:45:52チーフにあたる人が「NMIが無いと変更のたびに書込みとなって書込み過多になり寿命に
影響する」と申し出たらしいんですよ。でもなぜかハード屋さんはそれでいいと言ったらしい。
(今ざっと計算したら、確定1page/5mSのEEPなので256page=1.28秒、NMI入ってから
それだけ電圧持たせるのはきつそうですね。だからかも)
10年保証云々は通電しっ放しで、ってことですよね?さすがにそこまで電源入れっぱはない
とおもいます。数ヶ月、最悪1年ぐらい連続ならありえる、ぐらいだったら20年持ちませんかね。
この製品は「装備品」なので、本体は20年持たせても、装備品は10年未満で交換、という
思想なのかもしれません。その辺今度聞いてみます。
0447デフォルトの名無しさん
2006/02/27(月) 07:29:02それ、1ページ32バイト 24XX64のような8KのEE-PROMだと思うのだが
書込中に電源落ちたらどうするの? というかどうなるの?
8kByteを全部使うなら、最低 16KByteのEE-PROMが必要だよね
だったら、さらに32Kにすればさらに2倍に寿命を延ばせるよ
0448デフォルトの名無しさん
2006/02/27(月) 07:47:200449428
2006/02/27(月) 09:49:05ありません。いつもたくさんのpageを書くわけじゃなくて操作に対応したいろんな情報片を
書くものですから。操作の瞬間電源切って覚えているような使い方もしません。
でも、ケータイなんかその辺・・・あ、あれは操作そのものの記憶は残さないのかな?
発信しかけて電源切って、電源オンすぐリダイヤル、とかが似た状況ですね。
0450デフォルトの名無しさん
2006/02/27(月) 12:40:04でやるのって正攻法じゃない気がするなあ。
CPUに自分自身の電源制御を握らせるのが普通じゃないのかな。
0451デフォルトの名無しさん
2006/02/27(月) 20:38:27なら頻繁に書き換える項目だけ分散書き換えにすれば、それで対応出来そうだね
0452デフォルトの名無しさん
2006/02/27(月) 22:03:21ハード屋さんが責任持つって事だったらいいんじゃないか。
穿って考えれば、ROM 交換で儲けると言う政策もあるかも
知れないしな。(w
>>450
自分では電源制御件を持てない状況も少なくないよ。
流石に EEPROM に退避と言うのはやったことないけど、
NMI で RTC の C-MOS (もちバッテリバックアップつき)
に退避は 8bit 時代に何回か経験がある。
0453428
2006/03/01(水) 15:37:49なので、不用意に電源叩ききられる可能性は優先度低いのでしょうね。どの位の寿命を
期待しているのか今度ハード屋さんに聞いてみます。
0454デフォルトの名無しさん
2006/03/01(水) 22:44:50ん?
「書き込み過多になり寿命に影響」した場合の話じゃないのか?
自社設備なら、「保守用の基盤もってるから寿命がきたら即交
換でいいや」と考えてるのかもな。
0455デフォルトの名無しさん
2006/03/02(木) 00:49:330456デフォルトの名無しさん
2006/03/02(木) 04:04:150457デフォルトの名無しさん
2006/03/02(木) 05:02:23IA32 CPU とかのセグメント・ディスクリプタのことか?
0458428
2006/03/02(木) 05:38:58操作の記憶はEEPのほうでやるようです。
FROM上のテーブルのインデクスだけをRAMに保持するソフトなら書いたことあります。
0459デフォルトの名無しさん
2006/03/02(木) 06:47:40当然それぞれ作ってるんだろうけど、タダでは公開してないのかもね
http://www.toppers.jp/community.html
で聞いた方がいいんじゃないの?
0460デフォルトの名無しさん
2006/03/02(木) 14:16:24教えて。
RTXはwindowsよりな感じ。DLLなんかを呼び出したり出来るらしい。
RTXはバグで簡単にwindowsを葬るらしい。
RTXはデバッグはリモートで行う必要があるらしい。
Intimeはeindowsとは別のOSが動いているらしい。
Intimeはデバッグの環境が整っているらしい。
IntimeはwindowsのDLLを呼び出すのがめんどくさそう。
保守契約を含めた値段は大体同じくらい。
使ったとき在る人頼む。無い人でもいいけど。
0461デフォルトの名無しさん
2006/03/03(金) 18:43:27おせーて。
0462デフォルトの名無しさん
2006/03/03(金) 22:35:47落ちるのはそのプロセスだけ。
開発にはVC++を使う。デバッグはINtime3.0移行ならVC++上で、
それ以前なら専用のデバッガで行う。1台のPC上で開発から
デバッグまで出来るが、場合によってはリモートデバッグ
した方が楽なときもある。
同一PC上で動作していると言っても、INtimeのメモリ空間と、
Windowsのメモリ空間は独立している。INtime用に作ったソフトと、
Windows用のソフトの間でのやり取りは専用のAPIを使う必要がある。
INtimeには体験版の無償ダウンロードがある。
とりあえず使ってみてから考えるのも吉。
ttp://www.tenasys.com/resources/trials.php
0463デフォルトの名無しさん
2006/03/04(土) 08:10:31RTXの方はあまり良くないっぽいですかね。
両社の営業と技術の話を聞いているとどうもIntimeの方が良く聞こえまして・・。
営業の腕の違いかそれとも製品自体Intimeのほうが良いのか・・・。
両方とも貸し出しがあるようなので試してみたいと思っていますが。
0464デフォルトの名無しさん
2006/03/04(土) 08:21:300465デフォルトの名無しさん
2006/03/04(土) 14:14:381チップマイコンの入出力ポートって
方向レジストと ポートの2つに別れているが、コレ使い難くないか?
入力専用、出力専用と方向レジスタの3つになっているべきじゃないかと思う。
出力専用レジスタを読み返すと、現在入力ポートに設定してるビットでも
出力ラッチがいつでも読めるべきだと思う
0466デフォルトの名無しさん
2006/03/04(土) 14:20:55たまたま自分の使ってるモノが世界の標準に違いない、
と思い込むのは頭の悪い証拠じゃないだろうか?
井の中の蛙大海を(
一口にマイコンつったっていろいろあるのよベイビー。
0467デフォルトの名無しさん
2006/03/04(土) 16:06:25その範囲じゃそうじゃないのを見た事ないもんで
0468デフォルトの名無しさん
2006/03/04(土) 16:27:06と言うことは、Z80ファミリを1チップ化した川鉄の1チップマイコンもその構成だったかと。
それ以外でも、モード設定で動作が変わるタイプは普通にラッチ読み込みできるんで内科医?
0469デフォルトの名無しさん
2006/03/04(土) 16:55:51出力モードで出力ラッチが読めるタイプ
出力モードでも入力ポートとなるタイプ
の2つがあるけど
そうじゃなくて、入力モードでも出力ラッチが読み書きしたいというか、そういうのが欲しいって事
たとえば入力に設定してる間に次の出力状態を設定しておきたいと
ビット操作系を使うと他の状態も変更されてしまうのが嫌だから
0470デフォルトの名無しさん
2006/03/04(土) 20:29:28そんなに「ラッチ」がほしいなら自分でコードで実装すれば済むことじゃないか。
だいいち入力に設定してるポートの出力ラッチに意味があるとすれば
データバスみたいにR/Wを切り替えて使う場合だろうけど、そういう場合でも
自分が直前に出力した値が知りたいケースがそんなにあると思えない。
というより、そんなケースが思い浮かばん。
すくなくとも全く一般的なケースじゃないだろう。
なんでそんな一般的とも思えない要求を満たすようなCPUがなぜないか、
などとくだらないことを悩むんだろう。
0471デフォルトの名無しさん
2006/03/04(土) 20:57:04bit0で割り込みを使ってビープ音を出して
bit1には C-Rが接続された一種のDACだとするよ。制御は普段は入力にして 封マ化させる時に H/L出力で制御するのね、
bit2,bit3でI2CのEE-PROMを読み書きしたり とするよ
で、ビープ音を出す割り込みで、オンオフをビット操作すると他のポートのラッチ状態が変化してしまうから
ラッチ状態を覚えなくちゃいけない。
となるとアキュムレータ経由命令になって、スタックに保存が必要になって
割り込み処理が長くなっちゃって、他PWMーDAC処理の乱れが酷くなるとかさ、
そのポートのラッチ状態を他の処理では割り込み禁止状態で変化しなくちゃいけないから
割り込み禁止期間がアチコチ出来て、ビープ音が濁ってしまうとかさ
あるいは EE-PROMを読み書きする時に、このわずらわしい処理のせいで遅くなってしまうとかさ
で、面倒になって、原因は何かなと考えたら
ポートの出力ラッチが読めないせいかなと
0472デフォルトの名無しさん
2006/03/04(土) 21:05:120473デフォルトの名無しさん
2006/03/04(土) 21:45:46実際はバスを読んでから書くから困るって話をしてるわけで
・・・・しかし、そういや8051の頃はコレで悩まなかったな・・・なんでだろ?
単に入出力の切り替えを今程使わなかったからかな
0474デフォルトの名無しさん
2006/03/04(土) 21:51:558051は4ビット系と同じく、確か入出力といっても H/L/Zではなくて L/Z
つまりH=OPENだった筈。
0475デフォルトの名無しさん
2006/03/04(土) 22:32:38問題ないよ。
ビット単位のアクセスでもバイト単位でも。
オリジナルの8051もそうか知らないけど最近の派生チップはだいたいそうだったはず。
そもそも出力ってpush-pullなのかオープンドレインなのかどっちだろ。
つーか具体的に何の石よ?
0476デフォルトの名無しさん
2006/03/04(土) 22:41:49制御系だというけれど なにを制御するのだろう
0477デフォルトの名無しさん
2006/03/05(日) 00:59:38理想なの?
>>465
のように3つ(入力・出力・入出力制御)になってるほうがいいの?
それとも2つ(入出力値・入出力制御)の方が使い勝手がいいのかな?
俺はとりあえず3つのレジスタ構成で設計してる。(2つだと情報量減るので。)
どちらでも手間は同じなので今後の参考に聞きたいな。
0478デフォルトの名無しさん
2006/03/05(日) 01:31:43で、ラッチなんかはメモリーのリードライトと同じ要領でやってくれれば何も考えなくて済む。
ただ、キャパシタの問題で、一定時間以上状態を維持しないとハッキリ入出力信号が安定しないとかなら、その旨を仕様に書けば良いよ。
0479デフォルトの名無しさん
2006/03/05(日) 02:06:35開発後期に仕様を変えたりしなければ、或いは仕様に明記されてないノウハウが必要だったりしなければ、
どういう構成になっていてもあんまり困らんな。
0480デフォルトの名無しさん
2006/03/05(日) 05:35:28たしかに、>>471みたいなのはハード屋さんがポートを分けてくれるよね。
ある程度はソフトの作りやすさも見通しつくから。
0481デフォルトの名無しさん
2006/03/05(日) 07:43:29やるとすれば openドレイン的な使い方か
で open に設定してる間は ポートを読み返すと 1が読めるから
Read-Modify-Writeの時に出力ラッチではなく入力が読まれるタイプだと困るという事だろう
PICは入出力関係なく、常にポートを読む
M16/H8/SH等は出力に設定してるポートはラッチを、入力に設定してる場合はポートを読む
ただ、最近の1チップはRISCが多いから、Read-Modify-Write命令が無いんじゃないかな
0482デフォルトの名無しさん
2006/03/05(日) 08:03:11それは制御系なら可能だろうけど組込系だと 片面基板で なんて事もあるから
アートワーク優先のことも多いよ。 ソフト側の都合で好きな順には使えない。
0483デフォルトの名無しさん
2006/03/05(日) 08:20:17たとえば
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にして書き出すという対策でいいけど
もう一つ条件が加わると、やっかいなわけよ
0484デフォルトの名無しさん
2006/03/05(日) 12:52:27467は「ちっちゃな頃からちっちゃ」かった彼が歌ってた奴でしょう
0485デフォルトの名無しさん
2006/03/05(日) 15:42:20行く先も分からぬまま
0486デフォルトの名無しさん
2006/03/06(月) 03:56:360487デフォルトの名無しさん
2006/03/06(月) 14:48:28ATMELのARMコアMPUで AT91SAM7S というのがあるが
そのポート制御レジスタはそんな感じ、というかもっと複雑。
なんでこんなややこしいレジスタ構成にしてるの? と思ったが
465さんの書込でそういう要求があることを知りました。
0488デフォルトの名無しさん
2006/03/08(水) 19:25:23モータの応答周波数は速くても数百ヘルツなのに
なんでインバータ制御などには高速なマイコンが使われるのでしょうか?
相当負荷のかかる計算をしているのですか?
0489デフォルトの名無しさん
2006/03/08(水) 19:49:450490デフォルトの名無しさん
2006/03/08(水) 19:51:020491デフォルトの名無しさん
2006/03/08(水) 19:54:06つーか「なんで?」って理由はさまざまでしょそりゃ。
0492デフォルトの名無しさん
2006/03/08(水) 20:09:36暇潰しにゴミレスばら撒かれても迷惑なんで
答えられないなら黙っとけよ。
0493デフォルトの名無しさん
2006/03/08(水) 20:24:460494デフォルトの名無しさん
2006/03/09(木) 14:05:35キャプチュー度
0495デフォルトの名無しさん
2006/03/09(木) 19:20:030496デフォルトの名無しさん
2006/03/09(木) 20:20:59パソコンの処理速度が1000としたら、普通のマイコンは1もないんだよ
0497デフォルトの名無しさん
2006/03/09(木) 20:36:350498デフォルトの名無しさん
2006/03/09(木) 21:07:153GHz<->4MHz
0499デフォルトの名無しさん
2006/03/09(木) 21:13:400500デフォルトの名無しさん
2006/03/09(木) 21:19:35殺す気か。
0501デフォルトの名無しさん
2006/03/09(木) 22:08:30オッサンの頭の中は25年前で止まってるのかねw
0502デフォルトの名無しさん
2006/03/09(木) 22:11:22V850とかSH-4とかの32bitRISCで
動作クロックは20〜40Mくらい
0503デフォルトの名無しさん
2006/03/09(木) 22:23:08モータ回すのにSH4が出てくるとわ…
えらい豪華な機械だな。
0504デフォルトの名無しさん
2006/03/09(木) 22:23:52だからモーター制御つったっていろいろあるっての。
つーか今時CPUが直接制御するのがそんなに「普通」とも思えんが。
0505デフォルトの名無しさん
2006/03/10(金) 01:54:510506デフォルトの名無しさん
2006/03/10(金) 01:58:150507デフォルトの名無しさん
2006/03/10(金) 03:37:440508デフォルトの名無しさん
2006/03/10(金) 04:59:05SH4クラスのCPUつかってるよ。
それくらいの速度じゃないと間に合わんだろ。
転流の制御とか、電流ループの制御周期は100マイクロ秒くらいじゃなかったっけ?
最近は、エンコーダ解像度もかなり高くなってきてるし、
そのほか通信タスクやデータ取得用タスクなんかも走らせなきゃならんだろうし。
数年前見た安川のサーボアンプの中がたしかSH4だたような・・・
0509デフォルトの名無しさん
2006/03/10(金) 05:45:05>性能比:命令ごとのクロック数まで見なくても、基本クロックとバス幅と
パイプラインとの積ぐらいの比率じゃないでしょうか?
0510デフォルトの名無しさん
2006/03/10(金) 07:44:37またバスは64ビットあり、1ワードは32ビットもある。32bitの加算が1命令で出来る 掛算も1命令で出来る
普通のマイコンがそこらの家電装置の中のマイコンだとすると
バスは8とか4bit ワードサイズもそれに同じ、加算するだけで4とか8サイクルかかる。 掛け算はソフトで実現だから100サイクル近くかかる
クロックが同じとしたって50倍近い処理能力差がある
0511デフォルトの名無しさん
2006/03/10(金) 07:52:210512デフォルトの名無しさん
2006/03/10(金) 07:54:39SHは命令サイズをバス幅より小さくする事
DSPは命令とデータX,Yでバスを別ける事で
それを実現しようとしている。 もちろん命令キャッシュも採用される事が多い
さらに掛算を少ない命令サイクルで実現する機能も付いている。
ただし、パソコンのように、掛算が使い易いわけじゃない。
少なくともレイテンシがかかる場合が多い
その間に他の命令を実行させる等の工夫が必要になる
それでも普通のパソコンのCPUと比べると1〜2桁は処理速度が落ちるのが現状だね
0513デフォルトの名無しさん
2006/03/10(金) 08:00:14今の手に入る8bitマイコンの代表のPICなんかは 200円程度で手にはいる
200*1000=20万円・・・・パソコン一式買っておつりがくる値段だね
PICと性能比べたら1万倍以上の性能差があるわけで
例:
PIC RAM 512 パソコン512M
PIC 4MHz パソコン 2G Hz
0514デフォルトの名無しさん
2006/03/10(金) 10:45:10電流ループの制御もマイコン制御でやっているのかい?
シングルプロセッサで通信タスクとかも走らせていたらけっこう難しそう
0515デフォルトの名無しさん
2006/03/10(金) 10:50:25適材適所だの値段だの考えるな
0516デフォルトの名無しさん
2006/03/10(金) 10:53:02> 数年前見た安川のサーボアンプの中がたしかSH4だたような・・・
手元にある安川のサーボアンプの中身を今見てみたら
V853 uPD70F3025A-33
だった
安川と言えばSHだと思っていたのでちょっと意外
0517デフォルトの名無しさん
2006/03/10(金) 11:00:06針が回転してるだろ
モーターが入って無くてどうやって回るんだよ しねよ
0518デフォルトの名無しさん
2006/03/10(金) 11:21:54でもどっちかいうと単なるソレノイドだが
0519デフォルトの名無しさん
2006/03/10(金) 12:37:57くらい強引な飢餓す。
0520デフォルトの名無しさん
2006/03/10(金) 12:38:53〜といえば、どころじゃないよ。
馬鹿じゃねえのw
0521デフォルトの名無しさん
2006/03/10(金) 12:39:44ハードでやればいいのに
マイコンで演算させるメリットって何?
0522デフォルトの名無しさん
2006/03/10(金) 12:40:460523デフォルトの名無しさん
2006/03/10(金) 14:02:03柔軟性、コスト
0524名無し募集中。。。
2006/03/10(金) 14:48:590525デフォルトの名無しさん
2006/03/10(金) 14:56:390526デフォルトの名無しさん
2006/03/10(金) 16:03:06Pentiumは演算は早いだろうが、
割り込みのディレイやジッタが大きかったり、
キャッシュが効いたときと効かなかったときの実行サイクルの差がでかかったり、
チップセット使わないと、外部バスにデバイスつなげるのが困難だたり、
致命的なのは発熱だな。
とマジレスしてみる。
0527デフォルトの名無しさん
2006/03/10(金) 16:45:3616pin-DIPソケットなマイコンが100円ショップで売ってたらいいな
0528デフォルトの名無しさん
2006/03/10(金) 19:45:51相対評価と絶対評価の区別がついてないなw
それともWindowsだけがx86のネイティブな姿だと激しく勘違いしているか。
>>527
なにが「でも」なのか意味わからんなw
0529デフォルトの名無しさん
2006/03/10(金) 20:14:1132798水晶振動子内蔵で
USB2インターフェイス内蔵で簡単にパソコンに繋げて
0530デフォルトの名無しさん
2006/03/10(金) 20:28:090531デフォルトの名無しさん
2006/03/10(金) 20:32:55>32798水晶振動子内蔵で
そんなもの要らない。
0532デフォルトの名無しさん
2006/03/10(金) 20:40:190533デフォルトの名無しさん
2006/03/10(金) 20:50:370534デフォルトの名無しさん
2006/03/10(金) 20:57:33消費電流は 32K水晶だけなら単3電池駆動で5年くらいのが欲しい。
そしてPLLで任意倍率のクロックが作れるといいなあ
0535デフォルトの名無しさん
2006/03/10(金) 22:14:500536デフォルトの名無しさん
2006/03/10(金) 22:25:360537デフォルトの名無しさん
2006/03/10(金) 22:56:400538デフォルトの名無しさん
2006/03/10(金) 23:44:35なんかついてくるらしいよ
0539デフォルトの名無しさん
2006/03/11(土) 01:24:49> メレックのmcc05にコマンド送るだけでモーターが回るけど?
何かと思ったけどこれか
http://www.melec-inc.com/a1202/a1202f01r2.pdf
1軸のパルスジェネレータか
しょぼいな
0540名無し募集中。。。
2006/03/11(土) 01:45:250541デフォルトの名無しさん
2006/03/11(土) 02:40:181軸だから当たり前と言えば当たり前だけど直線補間もないし
このクラスのパルスジェネレータはどれも似たり寄ったり
差があるとしたら原点復帰モードが充実してることと絶対値指定ができることだけど
これはどちらもソフトで簡単に対処できること
FPGAで自分で作ってもどうにかなってしまう
差のつけようのない枯れた分野だね
0542デフォルトの名無しさん
2006/03/11(土) 04:40:26秋葉で8085買い漁るのに疲れたらしく、MB91F36なる32bit使えるかい?とお客に聞かれた。
その辺に転がってるボードパクってuart端子だけつなげたいらしい。そりゃ使えますともさ。
あまりにもオーバースペックで笑ってしまうけど。トロンOS積まなくちゃ使えないんだよ。
高々4.8KのシリアルI/Oやるのに10倍の規模のソフトになっちゃうし。
0543デフォルトの名無しさん
2006/03/11(土) 04:50:48んなこたぁない。
あと、トロンOSって、具体的に言ってくれよ、B-TRONか?w
0544デフォルトの名無しさん
2006/03/11(土) 05:01:30いや、もちろん裸でも使えるのは知ってますけど、たいていコンパイラと一緒に押し付けられる。
0545デフォルトの名無しさん
2006/03/11(土) 06:59:370547デフォルトの名無しさん
2006/03/11(土) 16:29:26で、何を知ってるの?
チミは
0548デフォルトの名無しさん
2006/03/11(土) 19:22:020549デフォルトの名無しさん
2006/03/11(土) 19:22:460550デフォルトの名無しさん
2006/03/11(土) 19:26:53http://k-tai.impress.co.jp/cda/article/todays_goods/27892.html
0551デフォルトの名無しさん
2006/03/16(木) 07:21:57さらにヒータが暖まるまでの時間がロスだったので、最近コレばっかり使ってる
0552デフォルトの名無しさん
2006/03/17(金) 01:39:43よくメモリデバイスの仕様に書かれている、16ビットデバイスとか32ビットデバイス
というのはどういう意味なのでしょうか?
16ビットデバイス=16ビット単位でしかアクセスできないデバイス
のことだと思っていたのですが、実はバイトでもアクセスできたりして
いまいち意味がわかりません。
もしかしてバス幅のこと?
0553デフォルトの名無しさん
2006/03/17(金) 03:27:20たまに16/32オンリーというのもあるね。そのかわり速いとか。
0554552
2006/03/17(金) 18:11:03レスありがとうございます。
容量4MビットのSRAMのデータシートを読んでみたところ、
2Mワードx16bitと書いてあるものの、データバス幅が16bitになっていることと、
256kx8bitのSRAMではデータバス幅が8bitであることを確認しました。
バス幅で間違いないようですね。
ところで普通、
2Mワードx16bit(容量4Mビット)のデバイスが使用するアドレスの幅(制御ソフトから見えるアドレス空間)は
a) 4M(1番地につき1バイト)
b) 2M(1番地につき)
のどちらなのでしょう?
なぜこんなことが疑問なのかというと、
16ビットデバイスに対して奇数番地をアドレスバスで指定したら、
メモリはどう振舞うのかを考えたところ、もしかしたら16ビットデバイスというのは
アドレス1番地につき2バイトのデータを保持できるのではないか、と思ったからです。
考え方めちゃくちゃですかね?
0555デフォルトの名無しさん
2006/03/17(金) 18:29:58どっちになるかはプロセッサによる。
DSPのようにワード単位にアドレスが割られるものと
汎用CPUのように、アドレスは1byte単位でバイトアクセスフラグが付くタイプがある
0556デフォルトの名無しさん
NGNGフレーミングエラーって何のことですか?
どうすれば先に進めますか?教えてください。
0557http://www.vector.co.jp/soft/win95/util/se072729.html
2006/03/18(土) 21:39:25もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
そういや64bitにネイティブ対応している2chブラウザてありましたっけ?
0558デフォルトの名無しさん
2006/03/18(土) 21:41:57そんなの業者に聞いてくれよ。 RS232CならボーレートかSTOPが合ってないんじゃないの?
0559デフォルトの名無しさん
2006/03/18(土) 22:10:25それが休みなんでつ。
このままでは帰れません。
どうしたらいいですか?
0560デフォルトの名無しさん
2006/03/18(土) 22:17:12>ストップビットがなかった(論理0だった)場合に表示されます。フレーミングエラーが
>頻繁に表示される場合は、データ長、パリティビットの有無などの設定が間違っている可能性があります。
ボーレート、データ長、パリティ、ストップビット長の設定を確認すること
0561デフォルトの名無しさん
2006/03/19(日) 13:25:14シーケンサの型名も書いてない時点で「ネタ / どあほ」のいずれかだろ。
無視しろ。
0562デフォルトの名無しさん
2006/03/19(日) 13:50:32くせに口調だけ尊大な奴こそ無視したいけどなw
だいいち、(まあググればわかるようなことではあるが)>>556の質問内容からすれば
具体的な機種名が必要とはちょっと思えないんだが。
0563オレモナ〜
2006/03/19(日) 14:08:28無視しとけばいいじゃん。
できないのは、厨房だからですか?
0564552
2006/03/19(日) 18:50:19私の意図したのは汎用プロセッサのことなので、
a) 4M(1番地につき1バイト)
という認識であっていたのですね。
具体的には(プロセッサがビッグエンディアンの場合)
*(unsigned long*)0x8000 = 0xaabbccdd;
としたあと、
unsigned char tmp;
tmp = *(unsigned char*)0x8001;
とするとtmpの中身は0xbbということなんですね。
今まで、メモリが2Mワードx16ビットの場合は、もしかしたら
tmpの中身は0xccになるのではないか、と疑っていました。
(1アドレスにつき2バイト保持できるRAMだと思っていた)
自分の理解が正しかったと安心できました(^^)
ありがとうございます。
0565デフォルトの名無しさん
2006/03/19(日) 19:04:13なんかこう、実メモリアドレス空間とバス幅とメモリ配置について思いっきり勘違いしている悪寒。
1ビット幅のメモリを使う場合、通常バス幅のメモリを並べる。
8ビット幅のメモリを使う場合、通常バス幅の1/8のメモリを並べる。
以下同様に。
16ビット幅のメモリを使う場合と32ビット幅のメモリを使う場合も同様なので、
仮に0番地のメモリにアクセスしたときにはメモリの最初のワードにアクセスする。
しかし、2番地のメモリにアクセスしたときには前者は2番目のワード、後者は最初のワードにアクセスする点が異なる。
ちなみに、1ビット幅のメモリを使い、0番地にアクセスすると8個のメモリの最初のワードにアクセスすることになるわけだ。
#だからこそDRAMカードはメモリチップがずらっと並ぶわけで。
0566オレモナ〜
2006/03/19(日) 23:01:33> しかし、2番地のメモリにアクセスしたときには前者は
> 2番目のワード、後者は最初のワードにアクセスする点
> が異なる。
はぁ?
32bitメモリとか書いてるから、プロセサも最低 32bit
幅だと思うが、2番地のアクセスだと前者 (=16bit メモ
リ) でも、(0番地アクセスとは違うメモリチップだけど)
最初のワードがアクセスされると思うけど。
32bit ⇒ 16bit のバスサイジングでもやってるのか?
0567デフォルトの名無しさん
2006/03/19(日) 23:18:36その通り。別のチップの最初のワードだね。
0568556と559
NGNG>>559 です。
すみませんでした。昨日は急いでいて説明が不足してましたが、
実は私の弟が制御の仕事していて現場にネットがないので
フレーミングエラーって何か調べて、と珍しく電話がありました.
自分なりにあれこれ検索を続け、ヒットした内容をそれぞれ伝えましたが、
それが役立つ情報かどうか、読んでいる私にはさっぱりわかりませんでした。
検索中、ヒットしたここに辿り着き、皆様に頼らせていただきました.
時々、2ちゃんねらーでしたが、こんなスレがあることもはじめて知りました。
こんな難しいことを話し合っている皆様すごいです。
今、弟に昨日の確認をしたところ、
一応エラーの表示はでるものの、動作しているそうです。
いつも深夜まで残業漬けの弟を、一人暮らしの部屋だけど
早く帰宅させたかった、制御素人の姉でした。
お騒がせし、そして大変お世話になりまして、皆様ありがとうございました。^o^
0569デフォルトの名無しさん
2006/03/19(日) 23:35:540570デフォルトの名無しさん
2006/03/19(日) 23:54:41> 何も生産的な発言をしない
まさに、>>562 の発言がそうなわけだが w
0571デフォルトの名無しさん
2006/03/20(月) 00:17:520572552
2006/03/20(月) 01:10:48>>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)
どんなもんでしょうか?
0573デフォルトの名無しさん
2006/03/20(月) 01:15:28本当に(ry
0574552
2006/03/20(月) 01:26:07どの辺がとくにだめでしょう・・・?
(`・ω・´)
0575デフォルトの名無しさん
2006/03/20(月) 01:46:19もっとシンプルに考えればいいんだよ。
プログラマは普通ハードウェアがどんな実装をされているか、まで考える必要はない。
そのための抽象化でしょ。
1つのメモリアドレスにには1バイトのデータが割り当てられる。
データバスが何ビットだろうと、バイト単位のアクセスがRead-Write-Modifyで
実現されていようが、バスの8本だけを使う方法で実現されていようが、そんなことは無関係に。
ただそれだけのことでしょ。
0576デフォルトの名無しさん
2006/03/20(月) 02:01:35よくわかってないだろお前
0577デフォルトの名無しさん
2006/03/20(月) 07:34:41SRAMにはバイト単位のアクセス許可(16ビットの上位8bitだけ下位8bitだけを有効にする)
が付いてる事が多いから、そうだとすると
>1番地からプロセッサが16bitリードすると、最初の下位ハーフワードと2番目の上位ハーフワードが読み込まれる。
>(プロセッサが奇数番地からのワード読み込みをサポートしていたならばの話)
は可能だけど、 そうじゃない場合には無理だね。
> メモリのスペック:2Mワードx16bit (容量4Mbit)
は 容量が32Mbitか 4Mbyteかの間違いか
256Kワードx16bit (容量4Mbit)
>この場合、プロセッサが使用可能な物理メモリ空間の大きさは512k(4M / 8)
を成立させるには
256Kワードx16bit (容量4Mbit)
が正解なのだろう
0578デフォルトの名無しさん
2006/03/20(月) 08:21:080579552
2006/03/20(月) 20:37:59そうですよね。
ソフトから見た場合、1アドレスには1バイト割り当てられるという理解で良いんですね。
(ハード屋さんがアドレスバスの接続を間違えたりしなければ)
>>577
>SRAMにはバイト単位のアクセス許可(16ビットの上位8bitだけ下位8bitだけを有効にする)
>が付いてる事が多いから、そうだとすると
私がデータシートを読んだSRAMも、確かにLowerByteとUpperByteを区別してデータを取り出せる仕様になってました。
>>1番地からプロセッサが16bitリードすると、最初の下位ハーフワードと2番目の上位ハーフワードが読み込まれる。
>>(プロセッサが奇数番地からのワード読み込みをサポートしていたならばの話)
>は可能だけど、 そうじゃない場合には無理だね。
自分で書いておいてナンなんですけど、これって2回のバストランザクションが発生しますね。
(アドレスバスには0番地しか出ていないから、1番地の上位ハーフワードを同時には取り出せない)
こういうのはコンパイラ&アセンブラがうまいこと2回のバイトリードに振り分けるんでしょうね。
>256Kワードx16bit (容量4Mbit) が正解なのだろう
そうです。間違えてました。すみません。(めちゃくちゃってこのことか・・・)
いやー、おかげさまですっきりしました。
何度もありがとうございました(^^)
0580デフォルトの名無しさん
2006/03/20(月) 21:19:28アクセスするアドレスがアラインされているかいないかをコンパイラ・
アセンブラ・リンカが知ることの出来ないケースがあるから。
CPUがサポートしてなかったら、バスエラー。
0581デフォルトの名無しさん
2006/03/20(月) 21:30:36> アラインされてないメモリアクセスを、2回に分割するのはCPUだろ。
そうなの?
> アクセスするアドレスがアラインされているかいないかをコンパイラ・
> アセンブラ・リンカが知ることの出来ないケースがあるから。
具体的にはどんなケースでしょ?
0582デフォルトの名無しさん
2006/03/20(月) 21:43:52b.c: int bar(){ return *foo(); }
0583デフォルトの名無しさん
2006/03/20(月) 21:44:29他の多くのCPUは奇数番地からのワードアクセスでは例外を出すだけ
どうしてもそれでアクセスしたいなら自分で例外内でバイト2つに別けるとかするのだろうが
そんな仕掛けをわざわざ入れてる奴はみた事がない。
コンパイラが自動的に奇数番地からのワードアクセスを
バイトアクセスにしてくれるのも見た事がない。
0584デフォルトの名無しさん
2006/03/20(月) 22:09:45かってない奴が多そうな予感。
0585デフォルトの名無しさん
2006/03/20(月) 22:10:37OSレベルでなんとかしてくれることもある。
ttp://www.linux.or.jp/JF/JFdocs/LinuxAlpha-FAQ-1.html
>不整列アクセス(Unaligned access):
> 他の RISC CPU と同様に、Alpha でもメモリのアクセスに際しては 自然境界に整列している必要があります。
>例えば、メモリから 4 バイトの整数を読み込む場合には、先頭のアドレスが 4 の倍数となっている必要があります。
>同様に、8 バイトの整数を読み込む場合には、8 の倍数のアドレスから読み込む必要があります。
>もし、CPU が正常に整列していないワードをアクセスする場合には、 CPU はカーネルにトラップをかけて警告を出力します。
>そしてカーネルは、不整列アクセスをエミュレートし、何事もなかったかのようにユーザプロセスを実行します
>(ただし実行速度は大幅に落ちます)。
0586デフォルトの名無しさん
2006/03/25(土) 16:14:39もっと人間を信じろ。そこまでアホばかりではない。
0587デフォルトの名無しさん
2006/03/25(土) 17:04:45だが、信じすぎてはいけない。そんなに賢い人間はそうはいない。
0588デフォルトの名無しさん
2006/03/30(木) 01:32:26その領域に、ダミーの変数なり関数を配置しておけばOKだと思うのだけど・・・。
0589デフォルトの名無しさん
2006/03/30(木) 01:45:59つLDスクリプト
0590デフォルトの名無しさん
2006/03/30(木) 04:11:11「ロードすらしてはいけない」なら関数はだめだな。
俺もCPUのバグレポートで「この番地は使ってはいけない」所には使わない変数を配置した。
0591デフォルトの名無しさん
2006/03/30(木) 22:09:01なんでウエイト入れなきゃなんないんですか?
0592デフォルトの名無しさん
2006/03/31(金) 00:49:53ヒント:キャパシタ
0593デフォルトの名無しさん
2006/03/31(金) 06:04:12っていう理解じゃだめ?
0594デフォルトの名無しさん
2006/03/31(金) 13:31:53相手が遅いから
制御系レベルの入出力とデバイスドライバレベルの入出力がごっちゃになってるんじゃないかという前提で、
相手が早いのか遅いのか、同期で読まなくちゃならないのかバッファリングして読んでもいいのかが決まってない世界が制御系。
0595デフォルトの名無しさん
2006/03/31(金) 20:07:49俺には>>591は説明不足の舌足らずな質問にしか見えんが。
端的にいって意味不明ですけど。
0596デフォルトの名無しさん
2006/03/31(金) 20:30:48しなくていい経験というのもあるから、不足というと語弊があるかもしれんが
0597デフォルトの名無しさん
2006/03/31(金) 20:44:34仮に591読んで「意味が分かる」とすればそれこそ経験不足でしょ。
自分の妄想や思い込みを抑えて、謙抑的に書いてあることを書いてあるままに
読み取る訓練ができてないんだよそりゃ、悪いけどw
0598デフォルトの名無しさん
2006/03/31(金) 20:58:220599デフォルトの名無しさん
2006/03/31(金) 21:23:18確かに、591の文章の意味を想像することはできる。
しかし、入出力、非同期、キュー、ウェイト、などという一般的過ぎることばだけでは、
何についてのどのレイヤーの話をしているのか全く分からない。
可能性は無限に「想像」可能、といっていい。
それを勝手に「ああそのことね…」なんて早とちりして回答するのは
妄想以外のなんでもないよ。
0600デフォルトの名無しさん
2006/03/31(金) 21:36:52ただし煽られる側のな。
0601デフォルトの名無しさん
2006/03/32(土) 00:05:18ぱっと見では勘違い電波質問にしか見えんが。
俺の受けた電波は、タイミングチャートを見たことも無い
間違って組み込みやらされてるPGから発信されたものだといっている
0602デフォルトの名無しさん
2006/03/32(土) 00:05:29いいってことだな。
0603デフォルトの名無しさん
2006/03/32(土) 01:09:120604デフォルトの名無しさん
2006/03/32(土) 01:17:49確かにひどいなこれは。聞いたことある名詞を適当に並べて、
とりあえず接続詞を入れてみましたってな文章だな。
0605デフォルトの名無しさん
2006/03/32(土) 01:32:23何も分かってないか只の釣りだということが読み取れるから
基礎を講釈してるんだろ
0606デフォルトの名無しさん
2006/03/32(土) 01:37:34だから十分にWAITを入れて電位がHigh(Low)に達するまで待たなきゃならんの。
たとえキューを使おうが、非同期にしようが、I/Oで保持する信号の変化を待つ為にWAIT入れなきゃ行けない。
0607デフォルトの名無しさん
2006/03/32(土) 01:39:550608デフォルトの名無しさん
2006/03/32(土) 01:46:49答えになってないなw
仮に591の質問の意図が君の思っているとおりであるとしても。
I/Oで保持する信号の変化を待つ為にWAIT入れなきゃ行けない。
それはその通り。
「だから」CPUとI/Oの間にキューが入れば、非同期でできるのになんで、と聞いているのに。
0609デフォルトの名無しさん
2006/03/32(土) 01:52:57とてもじゃないが、そんな信号の遣り取りなんか面倒見たくないね。
0610デフォルトの名無しさん
2006/03/32(土) 02:05:27キューに送る信号の安定待つのにWAIT入れないといけないんだけど?
つか、外部メモリーのアクセスにだってハード的にWAIT入れてるってえのに・・・
0611デフォルトの名無しさん
2006/03/32(土) 02:16:14つーか、お前が本ネタか?
だったら、お前が考える同期/非同期転送の違い、ウェイト、キュー
FIFO、メモリ、レジスタを定義してくれ
意図が読み取れなくて非常に気持ちが悪い
>>608
ソフトで面倒見られるのはH/Wより”遅い”場合だけだよ
H/Wが逆さに振ってもおっつかないもんは、どうしようもない
0612デフォルトの名無しさん
2006/03/32(土) 09:06:26同期転送の例
1) データの変化がクロックに対して決まっていること
2) 転送元クロックと受信側クロックがあっていて、乗り換えの必要がないこと
2') 転送元からクロックが送られてきて、データがそれに同期していること
3) トランザクション終了がデータ転送終了となるもの
非同期転送の例
1) データの有効期間をストローブなどで知らせるバス
2) バスクロックと受信側クロックが合ってなくて、乗り換える回路がある
3) データ転送がoutstandingに実行される
599がレイヤーが違うといっているのは3)とそれ以外かな?
電圧だのキャパシタだの言っている奴はどういう意味のつもりなんだ?同期・
非同期とどう関係するのか全然わからん。メタステーブルにならないところで
読むのは当り前で、1-3で言うところの同期か非同期かは関係ない。
0613デフォルトの名無しさん
2006/03/32(土) 09:35:50いや、俺は605=611
あんな時間は当然のように仕事してた
正確に言えばキャパシタンスと言いたかったんだろうな
(厳密にはインダクタンスも絡むけど)
その影響で
>>3) トランザクション終了がデータ転送終了となるもの
こうならないと言いたかったんだろう
理由がなんだろうが、ぶっちゃけて言っちまえば
高速な信号の保持機構を端折ったH/Wの尻拭い、ってだけだけどな
0614デフォルトの名無しさん
2006/04/24(月) 06:28:010615デフォルトの名無しさん
2006/04/24(月) 11:03:46・・・が,対応製品が
・ThreadX-μITRON(4.0仕様。グレープシステム)
・NORTi/H83(2.0仕様。ミスポ)
ぐらいしか見当たりません。(TOPPERSは取りあえず除く)
昔は,HI8-3H(2.0仕様)というものが日立純正であったようなのですが,現在利用できるのかが分かりません。
どなたか,HI8-3Hがどうなったのかと,H8/300Hシリーズで使用できるμITRON製品を教えてください。
0616デフォルトの名無しさん
2006/04/24(月) 14:00:160617デフォルトの名無しさん
2006/04/24(月) 17:20:42ttp://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用はないっぽい
0618デフォルトの名無しさん
2006/04/26(水) 06:22:25でしょうね。ふだんOSレスで書いてる私から見れば、オーバーヘッドすぎるからやめとき、
が最初に出ますね。タイマひとつ張るのに識別子付けて記述言語情報付けて関数アドレス
付けてなんて、「標準化」ってのはそういうことなんだけど、チビの石には負担でしょ。
大事なのは割り込みとタスクレベルと両方から触る変数はタスク側でdi()/ei()かますこと。
セマフォだって根底はこれだけだよ。
0619デフォルトの名無しさん
2006/04/26(水) 06:54:59もっともH8はレジスタが多いから重くなるね
0620デフォルトの名無しさん
2006/04/26(水) 07:21:460621デフォルトの名無しさん
2006/04/26(水) 07:30:54A->Bタスク切り替え:
1、全レジスタをスタックに保存
2、taskA := SP
3、SP := taskB
4、全レジスタをスタックから復帰
5、return
つまり、Cで書く割り込み処理に SP切り替えを追加しただけのコストでタスク切り替えは実装出来る
0622デフォルトの名無しさん
2006/04/26(水) 07:32:30このスタック領域を確保するのは厳しいだろうな
0623デフォルトの名無しさん
2006/04/26(水) 07:43:15でも、SPを切り替える時のコードが思いつかない。
0624デフォルトの名無しさん
2006/04/26(水) 07:57:060625デフォルトの名無しさん
2006/04/26(水) 08:02:440626デフォルトの名無しさん
2006/04/26(水) 08:17:47汎用的にやるなら #include <setjmp.h>
setjmpしてlongjmp
0627デフォルトの名無しさん
2006/04/26(水) 15:16:50トラ技のバックナンバーに載ってる。
0628デフォルトの名無しさん
2006/04/30(日) 17:37:550629デフォルトの名無しさん
2006/05/02(火) 12:14:22625じゃないけど・・・
setjmpとlongjmpでSP切り替えできるんだ・・・
というか、使ったことないのでした・・・setjmp
0630デフォルトの名無しさん
2006/05/02(火) 12:32:50ちょっと格好悪い
0631デフォルトの名無しさん
2006/05/02(火) 13:34:19やっぱり、アセンブラか。個人的には意味ない感じ....
0632デフォルトの名無しさん
2006/05/02(火) 14:36:231、taskAのsetjmp
2、大量にローカル変数を取ったtaskBのスタートアップルーチンを呼ぶ
3、taskBで setjmp⇒taskAにlongjmp
2で取ったローカル変数のサイズだけtaskAのスタック領域が確保されるという仕掛け
0633デフォルトの名無しさん
2006/05/02(火) 16:02:590634デフォルトの名無しさん
2006/05/03(水) 19:33:49uITRON載せるのは16ビット以上ないとつらそうだ。8ビットなら昔は自作のOSもどきのタスクチェンジャ作ってのせてたな
0635デフォルトの名無しさん
2006/05/03(水) 20:00:030636デフォルトの名無しさん
2006/05/03(水) 20:22:240637デフォルトの名無しさん
2006/05/03(水) 22:19:450638デフォルトの名無しさん
2006/05/04(木) 00:14:590639デフォルトの名無しさん
2006/05/04(木) 10:17:598bitや16bitのCPUでやるような組み込みなんか、
割り込み + 回るコマドリ でいいじゃん。
「コンテキストの保存」というオーバーヘッドは
いったいなんのためのコストなんだろう。
0640デフォルトの名無しさん
2006/05/04(木) 10:28:22つまりc言語で割り込み記述するのと同じコストですよ
0641デフォルトの名無しさん
2006/05/04(木) 12:22:17スケジューリング?にかかる時間の計算はどうすればいいの?
0642デフォルトの名無しさん
2006/05/04(木) 12:40:49void progRobin1(void){
static RobinNo=0;
switch(RobinNo){
・・・・・
}
}
みたいにしてmainで割り込み待ちした後、各コマドリを呼び出すという方法だとしたら
それをコンテキスト切り替えにしてRoundRobin方式で回したり
入力タスクを出力タスクにつないだりするのと、時間的なコストは変らないのでは?
ただ、スタック=メモリ消費が大きいのが問題だと思うけどなあ
0643デフォルトの名無しさん
2006/05/04(木) 12:50:42リアルタイムOSでは、時間計算とかどうしてるのか気になるんですよ。
0644デフォルトの名無しさん
2006/05/04(木) 16:07:15誰が殺したクックロビン
0645639
2006/05/04(木) 16:49:24えーっと、だから数代前のMacOSみたいな設計(ノンプリエンプティブ、だったっけ?)
なら、つまり一定時間で強制的にタスクを切り替える、なんてことをしないで
全部ラウンドロビン方式でやれば、コンテキストの保存なんて作業の必要性は
発生しないわけですよねえ。
それじゃまずいタイムクリティカルな部分だけ割り込み使えば、
マイコンでやるような小規模なシステムなら必要十分だと思うんですが。
0646デフォルトの名無しさん
2006/05/04(木) 18:31:35圧縮が入っていてけっこう厄介なものだとする。
会社Aに通信仕様だわ渡して頼んだら、GetByteみたいな関数呼び出して実装して持ってきちゃった。
でも全体のシステムを設計してた会社Bは
通信部は割り込みで受信する事を考えていたという事があるとするよ。
どっちも自分がマスターで、相手をスレーブと考えていたという場合だ。
このGetByteでコンテキスト保存して会社Bのメインタスクに戻り、
受信割り込みでコンテキスト切り替えしてGetByte に戻してやる。
そうすると、会社Aのコードも会社Bのコードも両方が動くと。
0647デフォルトの名無しさん
2006/05/04(木) 18:46:40変更するという対策もまだ選択可能かもな。
でもさらに、
会社Aが アチコチにあるGetByteで読んで
圧縮されたデータを復元した結果を アチコチでPutByteしてたとするよ。
会社Bも 圧縮された結果をあちこちでGetUnpacByteして動くように作ってデバッグまで終わらせてしまってた。
で、納期は迫ってちゅうような状況だとしたらどう?
こういう状況だと、Aのコード、Bのコードをタスク化してつないでしまわんとしょうがないでしょ?
0648デフォルトの名無しさん
2006/05/04(木) 21:07:230649デフォルトの名無しさん
2006/05/05(金) 00:08:54片方がスレーブ的なコードを書かなければならなくなるわけで
この手のコードはマスター側で書くのは楽だが、スレーブとして書くのは大変でしょ?
0650デフォルトの名無しさん
2006/05/05(金) 00:46:280651デフォルトの名無しさん
2006/05/05(金) 16:23:28で、決めたらそれを作るだけじゃん。
何が不満なんだ?
0652デフォルトの名無しさん
2006/05/07(日) 07:59:59スケジューラの時間が書いているよ。
http://documentation.renesas.com/jpn/products/tool/rjj10j0134_mr30_r.pdf
このITRONの実装では、こうなるということで、実装によって
算出方法は変わりますが
0653デフォルトの名無しさん
2006/05/07(日) 08:18:54でも、割り込み禁止時間が...............
0654デフォルトの名無しさん
2006/05/07(日) 23:00:440655デフォルトの名無しさん
2006/05/07(日) 23:40:050656デフォルトの名無しさん
2006/05/07(日) 23:57:520657デフォルトの名無しさん
2006/05/11(木) 15:23:18カウンター席ーー>可変長メモリプール、
テーブル席 ー>固定長メモリプール
と思ったりしませんか? 優先度待ちにできんものかと、
勝手なことを考えたりします。
0658デフォルトの名無しさん
2006/05/11(木) 15:59:11kwsk
0659デフォルトの名無しさん
2006/05/11(木) 21:38:520660デフォルトの名無しさん
2006/05/11(木) 22:32:440661657
2006/05/12(金) 09:54:55優先度待ちで、優先度が高ければ、最後にノートに書いても、
次に呼ばれるということです。なんのひねりもなくてすまん。
ところで、テーブル席(可変長メモリプール)の場合に、
ITRONの仕様より、かっぱ寿司のアルゴリズムのほうが優秀です。
いわゆるフラグメンテーションについてです。というより、ITRONの
仕様が実装をやさしくしたのだと思います。
スレ違いですまんです。
0662デフォルトの名無しさん
2006/05/12(金) 10:57:260663デフォルトの名無しさん
2006/05/12(金) 11:39:490664660
2006/05/12(金) 12:43:29つまりあれだ、回転寿司かどうかに全く関係なく、ファミレスなんかの着席待ち行列の話だな?
空き席の状況と喫煙席の可否に応じて割り当て順序を変えるのが一般的じゃないのか?
漏れの行くような辺りだと「カウンター席のお客様を先にご案内します」とか、
「禁煙席の空きがありませんのでもう少しお待ちいただけますか」なんてのはよく見る光景だが。
それとあれだ、回転寿司に引き摺られて>659は注文待ち行列とミスリードしたわけだな。
そこで>659に質問だが。
かっぱ寿司ではカウンター席とテーブル席では注文の通し方に格差があるのか?
0665デフォルトの名無しさん
2006/05/12(金) 13:06:300666デフォルトの名無しさん
2006/05/12(金) 16:55:38どうすりゃいいの??
0667デフォルトの名無しさん
2006/05/12(金) 17:10:31http://pc8.2ch.net/test/read.cgi/tech/1143639945/131
タイミングからして、初めからマルチする気満満だな。
0668デフォルトの名無しさん
2006/05/12(金) 22:08:270669デフォルトの名無しさん
2006/05/14(日) 01:27:30うちの取引先に岡山のがあるなあ。
前の職場の検査装置が広島だった。
探せば意外にあちこちあるはずだけど
一度中に入らないとそういう情報見えてこないんだよねえ。
0670デフォルトの名無しさん
2006/05/14(日) 18:44:30バラバラにされるときもある
だいたいは予約ノートに書くときに客が指定するけど
ファミレスの運営形態にもよるが、大抵はその8人が
すぐ近くにいたいのか離れてもいいのかで
確保の仕方が異なるんだよ
0671デフォルトの名無しさん
2006/05/14(日) 20:36:310672デフォルトの名無しさん
2006/05/14(日) 22:13:10テーブル席沿いにレールがあっても?
0673デフォルトの名無しさん
2006/05/15(月) 00:31:114人がけだと、レールから離れてる方がつらい
取ろうとして手がぶつかってしょうゆこぼすし
0674デフォルトの名無しさん
2006/05/15(月) 12:47:310675デフォルトの名無しさん
2006/05/15(月) 23:16:55テーブル席沿いにレールがあるとこってあるの?
ないと思うけど、あったら流行るかな?
これって特許になりませんか?
0676デフォルトの名無しさん
2006/05/15(月) 23:24:31あるよ。チェーン店でも全商品100円のなんたら寿司はそうだった記憶がある。
つーか、テーブルを縫うようにレールが走っているともいえるね。最早回転じゃない。
このタイプの店は、目の前に職人がいて直接オーダーするタイプの店とは明らかに違う。
店によっても違うのだろうが、機械握りだったりするわけだ。
魚屋チェーンの某魚○が経営していた回転寿司屋もレールが九十九折になっていたが、
休日夜でさえ一部レーンをショートカットするような状態が続いた挙句に終に潰れたよ。
0677デフォルトの名無しさん
2006/05/15(月) 23:40:52こっちだとくらがおいしいかな。
0678デフォルトの名無しさん
2006/05/16(火) 08:06:170679デフォルトの名無しさん
2006/05/16(火) 15:34:46昔、千日前の元禄寿司でバイトしてたことがあるよ。
元禄は、一応職人がにぎってたよ。ちょっとおいしいの
かもね。バイトの大半はエビの作業でした。
0680デフォルトの名無しさん
2006/05/16(火) 16:15:43元禄寿司ってこっちにもあるんだ。
こっちだと、くらとかかっぱばかり見るからないんだと思ってた。
0681デフォルトの名無しさん
2006/05/16(火) 16:21:11こっちってどっちだよw
鮪で有名な御崎港には職人が握る回転寿司屋があるが、
レーンは殆ど機能していない。
なんせ客は殆ど職人に注文してしまうので、レーンを流れるのは山葵とかデザートだとか……
0682デフォルトの名無しさん
2006/05/16(火) 23:35:38回転寿司の寿司をデータと考えたアルゴリズムが思い浮かんで
実装した記憶があるが、どんなのだったか忘れた
この時間でも空いてる店ってこっちだとどこかな
0683デフォルトの名無しさん
2006/05/16(火) 23:46:53回転寿司シミュレータってのを作らせた覚えがある。
0684デフォルトの名無しさん
2006/05/17(水) 17:25:44レジスタアクセスの抽象化か、
ドライバ層全体を指すのか、
俺的には前者のイメージなんですが。
0685デフォルトの名無しさん
2006/05/18(木) 11:07:23一般用語というより、マイクロソフトで使われている言葉じゃないかな。
http://it.e-otsuka.com/elearning/course/il00005s21/trial/course/cont/page/00005S21-01-02-03-L.html
問いの答えは、後者っぽいけど、アークテキチャに依存しないドライバー部分が
あるようですので、どちらでもないように思います。
このスレっぽい話をすると
TOPPERS/JSPの中の、jsp/config以下に相当するんじゃないかな。
0686デフォルトの名無しさん
2006/05/18(木) 22:04:53WindowsのHALの話なら、基本的なアーキテクチャの差異
(電源管理、割り込み、マルチプロセッサ対応など)を吸収するレイヤ。
レジスタとかオペコードよりは上、ドライバよりは下の階層。
たとえばx86版の場合だと、割り込みの違い(PICとAPIC)、
電源管理の違い(APMとACPI)、マルチプロセッサ対応の違い
なんかで違うHALが提供されてる(インストール時に自動選択)。
ただまあ、一般化するほど一般的な用語じゃあないかな。
0687684
2006/05/24(水) 00:54:38こんばんわ
ecosのHAL層とか見てみたんですが、toppersのconfigと同等っぽいですね。
特定のデバイスの抽象化というよりはosを
実装する上でのターゲット依存部(cpu, intc, timerなど)を切り分けたのを
HALと呼んでるっぽいですね。board support packageと同義かな?
0688684
2006/05/24(水) 00:59:43ITRONは要するにマルチスレッドの実行環境である、という認識であってるんでしょうか?
組み込みlinuxやwindows、symbianとかでITRONのタスクのような並行処理の単位となるのは
スレッドになるんでしょうか?
0689デフォルトの名無しさん
2006/05/24(水) 01:06:58並行処理なんて、やってないからw
0690684
2006/05/24(水) 01:25:080691デフォルトの名無しさん
2006/05/24(水) 01:28:160692デフォルトの名無しさん
2006/05/24(水) 21:31:420693デフォルトの名無しさん
2006/05/24(水) 22:41:49タスク(プロセス)同士は異なった資源空間に属する。
(もちろん共有できる資源もある)
スレッドはプロセスとかタスクの中で資源空間を共有しつつ
並列に走る処理単位を指す。
マルチスレッドといった場合、プロセス(タスク)の中で
1〜複数のスレッドが走ってるモデルを指す。
その場合でも、「プログラム」と言ったら普通は
プロセス(タスク)単位の空間を指す。
スレッドが単体で存在することは普通はない。
あっても特殊な用途向け(割り込みスレッドとか)。
0694デフォルトの名無しさん
2006/05/24(水) 23:28:33デュアルコア CPU
0695デフォルトの名無しさん
2006/05/24(水) 23:44:23使い切れてないだろw
0696デフォルトの名無しさん
2006/05/25(木) 08:40:12スレッドってスタックの切り替え(スタックレジスタの書き換え?)なの?
0697デフォルトの名無しさん
2006/05/25(木) 09:48:15いや、uITRONのタスクは基本的にメモリ保護なかったと思ったが? どちらかというとスレッドでしょう?
もともとMMUの無い環境を想定していると理解している。 最近になって拡張機能としてメモリ保護を
加えたらしい。
μITRON4.0仕様 保護機能拡張(μITRON4.0/PX仕様)
http://www.ertl.jp/ITRON/SPEC/px-j.html
0698デフォルトの名無しさん
2006/05/25(木) 10:40:43並列処理されていることにすら気付かない
0699デフォルトの名無しさん
2006/05/25(木) 22:18:250700デフォルトの名無しさん
2006/05/25(木) 23:04:59つうか、プロセス間通信のメッセージ内容がポインタって何じゃそれ。の、世界だから、永久に無理。
0701デフォルトの名無しさん
2006/05/26(金) 00:20:40まずおまえの言う「並行処理」とやらを定義してくれ。
0702デフォルトの名無しさん
2006/05/26(金) 00:28:430703デフォルトの名無しさん
2006/05/26(金) 00:31:13誰に言ってんの?
0704デフォルトの名無しさん
2006/05/26(金) 01:26:38なんちゃってゲハハ
0705デフォルトの名無しさん
2006/05/26(金) 11:39:23人に考えを伝える能力に欠けているやつに
何度訊いたって無駄じゃないかな。
0706デフォルトの名無しさん
2006/05/26(金) 11:53:300707デフォルトの名無しさん
NGNG0708デフォルトの名無しさん
2006/05/26(金) 17:42:45これはフリーでやってゆくのに、最も必要な能力ですからね。
0709デフォルトの名無しさん
2006/05/27(土) 03:28:10ちらっと後ろから覗いて 間違いを見つけた。
そいつがオレに質問しようと口を開いた瞬間に
ポートが読めない原因を探しているのなら
あんたの担当のサブボードにゃあ ないぜ!
メインボードに(入れちゃいけない)ジャンパがはいっている!
とか言ったらピシガシグッグッをやられた
0710デフォルトの名無しさん
2006/05/27(土) 07:56:170711デフォルトの名無しさん
2006/05/27(土) 08:18:072、 1つのCPUが複数のレジスタセットを持ち、これを時分割で切り替える
3、 2を命令サイクル毎に自動的に行うもの
4、CPUを時分割で使い、仮想記憶の仕掛でまるで複数のCPUがあるかのように見る
5、CPUが複数存在する
0712デフォルトの名無しさん
2006/05/27(土) 12:33:120713デフォルトの名無しさん
2006/05/27(土) 13:15:08ただの揚げ足の取り合いになると思うよ。
プログラマの相手にする対象の範囲内では、
並列処理が物理学的に真に並列かどうかなんて全くどうでもいいことでしょ。
揮発的に見える共有資源があるかどうか、
それだけが問題なのであって。
0714デフォルトの名無しさん
2006/05/27(土) 14:04:08昔、松下電子の4ビットマイコンで 命令サイクル毎の時分割が出来るのがあったが
こういうのは、命令数数えてシリアル転送するとか、そういうのにはとても便利
0715デフォルトの名無しさん
2006/05/27(土) 16:41:52System Cとかかな。
まあチップ内処理はほんとに並列実行されるしね。
0716デフォルトの名無しさん
2006/05/27(土) 17:09:21特に開発言語がCな所で。
0717デフォルトの名無しさん
2006/05/27(土) 18:26:080718デフォルトの名無しさん
2006/05/27(土) 18:52:59真の並列実行などあるはずがない。
0719デフォルトの名無しさん
2006/05/27(土) 18:58:48世の中にはお前の知らないことも多い
0720デフォルトの名無しさん
2006/05/27(土) 19:04:36UML使ってみたいがクラスの分類がわからん。
0721デフォルトの名無しさん
2006/05/27(土) 22:42:14そのようにやってるじゃん。
確かにオブジェクト指向の肝でもあるけど。
0722デフォルトの名無しさん
2006/05/29(月) 00:59:280723デフォルトの名無しさん
2006/05/31(水) 01:26:44やってる人は多いよね
言語レベルで出来るってのは確かに魅力だけど
それだって結局使う人しだいだしね
まーどうだろうね実際
0724デフォルトの名無しさん
2006/05/31(水) 01:29:300725デフォルトの名無しさん
2006/06/06(火) 23:29:12ばりばり使っている人っています?
ぜひ話を聞いてみたい
0726デフォルトの名無しさん
2006/06/07(水) 15:30:54H8-Tinyの方向レジスタは読み返しが出来ないのか・・・・
0727デフォルトの名無しさん
2006/06/08(木) 16:57:49オブジェクト指向は、処理系がそうでなければ、
ただのオブジェクト指向風構造化プログラムなだけだと思うが
0728デフォルトの名無しさん
2006/06/08(木) 17:21:130729デフォルトの名無しさん
2006/06/08(木) 23:16:30オブジェクト指向言語を使ってるだけで、
オブジェクト指向使ってると思ってるのと一緒
0730デフォルトの名無しさん
2006/06/08(木) 23:30:350731デフォルトの名無しさん
2006/06/08(木) 23:41:05人的被害こそなかったが、使用されるモータのパワーと当たり所によっては指くらい切断しかねないバグを出した香具師なら知っている。
0732デフォルトの名無しさん
2006/06/08(木) 23:55:32オブジェクト指向っていうのは考え方。
言語は何だっていいんだよー。
0733724
2006/06/09(金) 03:41:49勘違い乙
俺はハナからオブジェクト指向技法と言っている。
アセンブラでポリモフィズムとか出来ないのは言語仕様だからしょうがないw
0734デフォルトの名無しさん
2006/06/10(土) 08:08:230735デフォルトの名無しさん
2006/06/10(土) 23:02:34転職前に前知識として知っておいた方が良い事とか
読んどいた方が良いものってありますか?
0736デフォルトの名無しさん
2006/06/10(土) 23:15:24必要な知識はOJT式にやりながら覚えていけるでしょ。
0737デフォルトの名無しさん
2006/06/10(土) 23:33:56知っておいたほうがいいこと
・部品マニュアルの和訳は無い
・部品マニュアルは必ずしも正しくない
0738デフォルトの名無しさん
2006/06/10(土) 23:43:24おぉ!ありがとうございます
周りに経験者がいないので結構びびってました
英語力は必要だとは聞いていたのでマニュアル見れるようにがんばります
0739デフォルトの名無しさん
2006/06/10(土) 23:52:22どういうのがあるのでしょうか?
0740デフォルトの名無しさん
2006/06/11(日) 00:00:28割り込み以外とリソースを共有すること
変数などを共に書き換えているときは割り込み以外は割り込み禁止にしてかき変えないと競合する
0741724
2006/06/11(日) 00:45:54変数書き換えごときで割り込み禁止にするなよ。
つか、割り込みの外と中で同じ変数に書くな。
中で書く変数は外では読み専用。
外で書く変数は中では読み専用。
0742デフォルトの名無しさん
2006/06/11(日) 01:22:13おいおいなんだか痛い人だなあ。
例えばさあ、その「中で書く変数」とやらを「書く」操作が
アトミックじゃなかったとしたらどうなるんだよ。
っていうか>>739はマ板でも同じ質問してるんだよね。
そっちでも書いたけど、そもそもそれが分かってない奴が
割り込みつかっちゃいけないよ
0743デフォルトの名無しさん
2006/06/11(日) 01:22:52セマフォなどのリソースの獲得も問題なのでしょうか?
0744デフォルトの名無しさん
2006/06/11(日) 01:43:33つか、そもそも割り込み内でリソース扱うなw システムコールもするなw
0745デフォルトの名無しさん
2006/06/11(日) 03:22:53セマフォを使った排他制御自体は(長く止めないことが判ってれば)割り込み中でも可。
>>741 uart使うときの、リングバッファ中の滞留バイト数みたいな情報は割り込みの中と外
両方から更新する必要があるでしょ。これを割り込みの外から更新するときには割込み禁止
にする必要がある。LD、add、ST、の3命令だけの短時間だけ。
0746ビル・ジョブス
2006/06/11(日) 03:45:43システムコールは許可されている物のみ。
割り込み禁止にする・しないは、割り込みレベルを抜きに語れないでしょ?
通常はより優先度の高い割り込みは入れるものかと。
リングバッファについては割り込み側はputのみアプリ側はgetのみにすれば
割り込み禁止にする必要もないかと、getが遅くてputできない状態は取りこぼすが、
そればリングバッファを増やすなど設計・運用で対応するのがベター。
putPtrとgetPtrを用意してポインタで管理すればアプリは何バイト読めるか計算で
求められるのでバイト数をカウントする必要は無いよ。もしもその瞬間割り込まれたとしても、
putPtrが1マシンサイクルで更新される、つまり1インストラクションで更新されるCPUならば、
割り込み処理側が優先されるので不具合にはならないはず。
SHはOKでH8-300シリーズもOK、H8-500シリーズは割り込まれると怪しい処理になるかもね。
よって厳密にはケースバイケースが正しいのでは。
0747デフォルトの名無しさん
2006/06/11(日) 04:15:31受信側は、「受信したバイトがあるかどうか?」を見るのに滞留数を使ってるので、滞留数を
廃止できなかったのですよね。滞留数をputptrとgetptrから計算する手法はここで聞いて理解
したのですが、取り出し側で滞留数を判定するときに毎回その計算するよりは、
受信時滞留数++、取り出し時滞留数--、滞留数がゼロでなければ「受信バイト有り」のほうが
オーバーヘッドが少なそうだったので。3MHzの8085での話です。
10MHzオーバーのH8ならそんなオーバーヘッドは気にしないでよさそうですね。
H8/500シリーズは、メモリ++が1命令でできるのでだいじょうぶです。
0748デフォルトの名無しさん
2006/06/11(日) 05:14:11エレベータ制御はやらせてはいけない
0749デフォルトの名無しさん
2006/06/11(日) 07:23:200750デフォルトの名無しさん
2006/06/11(日) 11:30:49特定の環境に引き寄せて回答してる奴ってのは頭おかしいのかね
自分のやってることが世界の全てだとでも思ってるのだろうかw
抽象的な質問には抽象的に答えるしかないだろうに。
具体的を出すなら「例えば」と前置きしろよ。
ま、具体的すぎる「些細な話」が一般的に万人にとって役立つとはとても思えないが。
0751デフォルトの名無しさん
2006/06/11(日) 11:33:260752デフォルトの名無しさん
2006/06/11(日) 11:53:22多分、本当。
でもって、仕様通りじゃないとか、糞過ぎて使えねえとか、その辺の経験を一通りクリアしたくらいの時期。
0753デフォルトの名無しさん
2006/06/11(日) 11:56:07素人は黙ってろ
組み込み系は専門知識が重要だから無知なやつが書いたらすぐ判るぞ
0754デフォルトの名無しさん
2006/06/11(日) 11:59:150755デフォルトの名無しさん
2006/06/11(日) 12:00:390756デフォルトの名無しさん
2006/06/11(日) 12:05:16国内の外注は良くやるが海外の外注はないな。
実装がアウトソーシングされるとSEとQAしか会社に残らんのとちゃう?
0757デフォルトの名無しさん
2006/06/11(日) 12:08:59固有デバイスに特化した知識なんていらないだろ?
0758デフォルトの名無しさん
2006/06/11(日) 13:13:18組み込みlinuxなどのオープン系のOSが普通になると組み込み系の技術者はハードとソフトの両方の知識が入るドライバー周りだけしか残らないかもな
実際ソフト規模が増えて組み込み技術者不足らしいがオープン系から流入して来るんだろうな
0759デフォルトの名無しさん
2006/06/11(日) 13:20:32おまい、わかってないな。
特定デバイスは特定デバイス専門でやてくれる所に投げればいいんだよ。
その方が、安いし速いし安全。
システム全体の寿命と、そのデバイスを採用し続ける寿命、どっちが長いと思ってんだ?
0760デフォルトの名無しさん
2006/06/11(日) 13:26:41ドメインが違う?
普段何開発してんだ?
0761デフォルトの名無しさん
2006/06/11(日) 19:58:37ソフトと違うんで色々苦労するけど、興味深いものはあるな。
海外に外注というか、系列ソフト会社に外注して、その孫外注が在日の中国人で
日本語でコメント入れてくれてたんだけど、てにをはが壊れている以上だった。
今はインドとか開発依頼している。
日本に来てもらったりした時は、ベジタリアンとかだと食事の世話に困るんだよなあ。
0762デフォルトの名無しさん
2006/06/12(月) 18:41:56現地語でかかれてなんじゃこりゃ?って経験はある。
0763デフォルトの名無しさん
2006/06/13(火) 07:34:08現地語でかかれてなんじゃこりゃ?って思ってるだろうな
0764727
2006/06/13(火) 12:48:47ま、議論し尽くされたネタだし、版違いなんだろうが
オレ的には、どこまでいっても、オブジェクト指向と構造化プログラムは似て非なるものという認識なのだが
とくにCの場合は、旧処理を許しているから混同しがちだが
旧処理系でどんなにオブジェクト指向"風"にやってもそれはあくまで高度な構造化
それを広義に"オブジェクト指向技法"といってよいものかどうかは、現在の理論でどう解釈されているかはわからん
実際どーなのよ
0765デフォルトの名無しさん
2006/06/13(火) 19:08:05オブジェクト指向前提の言語でやらなきゃ真なるオブジェクト指向にはなり得ないという考えなのかな。
0766デフォルトの名無しさん
2006/06/13(火) 22:07:41単にオブジェクト指向言語は、非オブジェクト指向言語で、
オブジェクト指向を書くときに、明示的に書く処理を書かずに済むだけ。
0767デフォルトの名無しさん
2006/06/13(火) 22:55:57でもそもそも「オブジェクト指向」の定義があいまいだからね。
構造体とメンバを操作する関数を一塊にして仮想的な「装置」と看做すこと
こそオブジェクト指向の本質だ、っていう見解の人もいれば(俺はこっちの立場)、
継承だの多態だのといった瑣末(だと俺は思うんだけど)な技術こそ本質だって人もいるから。
0768デフォルトの名無しさん
2006/06/13(火) 22:58:360769デフォルトの名無しさん
2006/06/13(火) 23:54:26こんな楽な事はない。
0770デフォルトの名無しさん
2006/06/14(水) 00:12:430771デフォルトの名無しさん
2006/06/14(水) 00:18:49識別子(ID)くらいは必要だろ。
0772デフォルトの名無しさん
2006/06/14(水) 00:48:46いらないよ。
対象は人でも、荷物でも、電子でもなんでもいいんだ。 目的地は南極だろうが宇宙だろうが異次元だろうがどこでも良い。
移動手段はオブジェクトが決めてくれる。
オブジェクト指向。すばらしい。
0773デフォルトの名無しさん
2006/06/14(水) 00:50:47車.移動(自宅)
で移動してくれるわけだから、、、って話がずれてないか?
0774デフォルトの名無しさん
2006/06/14(水) 00:53:51上流階級は関数型言語だ。
0775デフォルトの名無しさん
2006/06/14(水) 05:11:01ハイヤーならそれでいいが
実際には免許を取得して
車を購入して
ちゃんとメンテナンスして。。。
あ、でも免許も車も再利用できるわけで。。。
0776デフォルトの名無しさん
2006/06/14(水) 10:43:48だれだこんなコード書いた香具師は
0777デフォルトの名無しさん
2006/06/14(水) 12:37:22マ板へいけ
バグ被害スレとか、エレベータスレとか建ってるぞw
0778デフォルトの名無しさん
2006/06/14(水) 22:40:29一方ロシア人は天才を育てた
0779727
2006/06/15(木) 14:46:22その後それをC++でリメイクする機会があった
そうしたら、えらくシームレスに書き直しができたのね
で、だけじゃなくコード量が減ったですよ、なるほどと思いながら、気が付いたのが、
オブジェクト指向言語の求めるものを処理系が用意するところを、グラマーが負担していただけのこと
また、オブジェクト指向が求めるものは、格好じゃなく
安全性や可視性の面で有利な点があるよね
それらをグラマーが負担していたら、格好はオブジェクト指向的かもしれんが
大きく違うんじゃないだろうか
まるで、船と飛行船みたいなもの
同じように海の上を走るから同じジャンといったら、それは違う
「継承だの多態だのといった瑣末」という意見があったけど
結構、「瑣末」の部分が、その本質的な要求を満たすのに必要なものじゃないだろうかと
0780デフォルトの名無しさん
2006/06/15(木) 15:27:46ロシアはエスパーを極秘で育ててるんだろ?エスパーいれば天才いらないじゃん。
0781デフォルトの名無しさん
2006/06/15(木) 17:20:23成る程そういうことならハゲ同。
>>780
なぜ “極秘” で育てている事を知っているんだ。
0782デフォルトの名無しさん
2006/06/15(木) 17:27:49>>780もエスパーなのさ!
質問スレで大活躍!!!
0783デフォルトの名無しさん
2006/06/15(木) 17:45:41極秘っていうのは、極めて秘密にしたいことというだけで、情報が外に漏れないことを保障するわけではないからね。
0784デフォルトの名無しさん
2006/06/16(金) 03:08:10と書いて必殺技だが、大抵はガード可能
0785625
2006/06/21(水) 18:04:39void
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));//おまじない
}
0786デフォルトの名無しさん
2006/06/21(水) 18:37:49だからそれ、アセンブラだよな。
0787デフォルトの名無しさん
2006/06/21(水) 18:42:580788デフォルトの名無しさん
2006/06/21(水) 18:47:080789625
2006/06/24(土) 13:07:57asm ("":"=r"(stack_ptr):"r"(new_ptr):"r4","r5","r6");//おまじない
にすると、関数の入り口と出口でレジスタの退避、復帰のコードを追加してくれます。
0790デフォルトの名無しさん
2006/06/24(土) 15:41:550791デフォルトの名無しさん
2006/06/24(土) 16:26:400792デフォルトの名無しさん
2006/06/24(土) 17:55:520793デフォルトの名無しさん
2006/06/24(土) 18:04:190794≠792
2006/06/24(土) 18:06:510795デフォルトの名無しさん
2006/06/25(日) 04:53:430796デフォルトの名無しさん
2006/06/25(日) 05:06:21もよろしくネ
0797デフォルトの名無しさん
2006/06/25(日) 11:47:280799デフォルトの名無しさん
2006/06/26(月) 12:10:310800デフォルトの名無しさん
2006/06/26(月) 22:27:03ライフボートのコンパイラって、懐かしいね。
今のライフボートとは違う会社らしいけどね。
0801795
2006/06/27(火) 04:49:1195-->98まではドングル認識したけど、2000以降はドングル認識しなくなった。
しょうがなくて今でも98のパソコンを保存してます。
コードはルネサスのよりちょっとかしこいのを吐くみたいです。
0802名無し募集中。。。
2006/06/27(火) 08:30:280803デフォルトの名無しさん
2006/06/27(火) 12:15:080804795
2006/06/28(水) 04:57:53その後買った16bit系はどうだったかな・・・ベクタもcでかけるしsfr定義が使えてbit操作も
sfrxx.BITx=1;とかの書式をサポートしてくれてたから、インラインASMの必要感じなかった。
0805デフォルトの名無しさん
2006/06/28(水) 06:29:200806178
2006/06/30(金) 05:31:39(お客さんに買っていただいたのですが) 以下インプレです。
・USBの電源だけで使える=電源アダプタ不要なのは使い勝手良いです。
・DEVICE認識のAUTO機能が無い。-->メーカーかSIZEから選ばないといけない。
・ダウンロードのフォーマットにINTELHEXはあったが、MOTOROLAがサポートされてない。
27C256程度しか焼かないので不便は無いが、安いのはこうなのだな、と思いました。
・箱に入っていた紙に書かれていた、「マニュアルはここからダウロ」のURLが間違っていた。
こんなところです。まあ、必要最低限の機能で、場所をとらないし、値段からいって満足です。
0807_
2006/07/04(火) 18:25:41UNIXから特定の命令を任意に送り込みたいんだが。
一方的に命令を送るUDPみたいな概念はあるの?
0808デフォルトの名無しさん
2006/07/04(火) 18:32:07232Cから信号を横取りして別のPCで表示したことがある
激しくチラ裏だけどね
0809デフォルトの名無しさん
2006/07/04(火) 18:55:16レベルが違う。RS232Cと比べるんだったらイーサネットじゃなきゃ
RS232CでもTCP/IP出来るんだから。
RS232Cで外付けモデムでPPP接続ってのがRS232CでTCP/IPやってるってこと。
でもってRS232Cってのは1バイト単位の送受信だから後は上位でやってねってこと。
0810デフォルトの名無しさん
2006/07/04(火) 21:54:20多分その人レイヤーの違いは認識していると思う
>>808みたいな芸当が出来るのかどうかってことを質問しているんだと思う。
ってわけで出来る。
つーか、RS232Cにもフロー制御の概念はあるしな。
0811デフォルトの名無しさん
2006/07/04(火) 23:44:210812デフォルトの名無しさん
2006/07/05(水) 12:01:480813デフォルトの名無しさん
2006/07/05(水) 12:42:17何がしたいのか良くわからんぞ。
tcpdumpみたいなことをしたければ、外にプロトコルアナライザーをつければ、どんなデータをやり取りしているかわかるぞ。
PPPとか使っている場合は見ただけではわからないがEtherReal動かせばPPPを表示してくれるぞ。
0814デフォルトの名無しさん
2006/07/05(水) 13:00:38XPでもソフトオンリーで起動するだけでCOMをモニタしてくれるフリーソフトってある?
0815デフォルトの名無しさん
2006/07/05(水) 13:58:34そういうのがあれば私も知りたい。
入力から変換するのにscanf系は良くないって話を以前ここで見たのですが、なぜですか?
私は頭〜尻尾までメモリに溜めて、sscanfで変換、てのはよくやります。
0816デフォルトの名無しさん
2006/07/05(水) 14:13:540817デフォルトの名無しさん
2006/07/05(水) 19:38:26想定外のデータが入力されている可能性があるから。
0818デフォルトの名無しさん
2006/07/05(水) 21:17:53UNIXからやるにはどうすりゃいいんだろ。
http://akizukidenshi.com/catalog/items2.php?q=K-01041&p=1
専用アプリのやりとりをモニタできれば可能だろうか。
0819デフォルトの名無しさん
2006/07/05(水) 21:24:28ttp://www.humblesoft.com/j405board/firmware1.html
0820デフォルトの名無しさん
2006/07/05(水) 22:33:27制御系とかシステム系とか汎用系とかの言葉の意味がわかりません。
お願いします。
0821デフォルトの名無しさん
2006/07/06(木) 03:54:230822デフォルトの名無しさん
2006/07/06(木) 04:34:51専用とは、通信機(PHS、ケータイ)、洗濯機、炊飯器、エレベーターなど、さまざまな機器の制御。
システム系・汎用系・・・いわゆるメインフレームと呼ばれる「汎用機」で実行するアプリケーション。
JRやヒコーキの予約システム、給与計算など事務系の業務、スパコンでやるほどでもない小型の
科学技術計算など。 ・・・だいたいこんな認識でいいかとおもう
0823デフォルトの名無しさん
2006/07/06(木) 06:21:32本当に制御系というか制御システムというか制御理論というか
制御対象と制御器があって、数学モデル化した要素を繋いでブロック図などで扱うヤシ
システム系と汎用系も違う意味があるかも知らんけど漏れは知らね
詳しくは制御工学の本で
システム工学とは違うこともあるから気をつけれ
0825815
2006/07/06(木) 15:55:52決まってる場合には使っても問題なさそうですね。変換できたかどうかの結果も返るし。
0826デフォルトの名無しさん
2006/07/07(金) 01:40:11絶対にエラーしないなら
0827815
2006/07/07(金) 05:08:181増えて返されるし、変換できなければ0のままですよね。あと、CR,LFは空白文字の仲間だから
「行を越えて探しにゆく」可能性かな。こっちは行末の後にnullキャラ付加してから変換かけてる。
このぐらいのとこ押さえとけばいいと思うのですが、関数仕様にないような動作するとかが
あるのですか?
0828デフォルトの名無しさん
2006/07/07(金) 05:44:58戻り値をちゃんと見ることと、フォーマットの空白の意味と、%[...]と%nが使えれば問題ないだろ。
0829デフォルトの名無しさん
2006/07/07(金) 08:38:36printf,scanf系はリエントラントで無い場合があるから
リアルタイムO/Sを使う場合や割り込みハンドラの中で使う場合は要注意
0830デフォルトの名無しさん
2006/07/08(土) 02:00:10違う、通信文なんだろ?
エラーデータが入ってこないことを低位層で保障されてるなら
0831815
2006/07/08(土) 05:42:44あ、それは理解してます。非タスクコンテキストでは使いません。実数変換もしません。
K&Rなんかだとあんまり親切に書かれてなくてよく分からない点です:
n=sscanf(buf,"ABC%d,%d,%x",&dec1,&dec2,&hex1); とか、複数の変換を書いたとき、
頭のABCや間のコンマは、「その文字を探して次の位置から」変換してくれるのですか?
(つまり%何とかじゃないstringはstrstr()でそれを探してその次の位置から%変換になるか?)
それが確認できなくて、1項目ずつ探して変換してたりします。
0832デフォルトの名無しさん
2006/07/08(土) 09:59:55たまたま入力でその文字が存在していたら読み飛ばす。
%d,%d というフォーマットに対して 3,5 はそれぞれ3と5が変換されるが、
3a,5 では3の変換だけで終了してしまう。
0833デフォルトの名無しさん
2006/07/08(土) 10:07:15va_listつかった事ない?
0834デフォルトの名無しさん
2006/07/08(土) 10:10:020835デフォルトの名無しさん
2006/07/08(土) 11:37:47K&Rはリファレンスじゃないので細かい点を期待してもだめでしょ。
リファレンス本とか、コンパイラ付属のマニュアルとか、manとか、
規格票とかを読んでね。
ところでscanfでなくてsscanfを嫌う理由ってあったっけ?
0836デフォルトの名無しさん
2006/07/08(土) 11:49:21>>828
0838デフォルトの名無しさん
2006/07/08(土) 15:20:180839デフォルトの名無しさん
2006/07/09(日) 09:16:03いや、述べて下さい。
お願いします。
0840デフォルトの名無しさん
2006/07/09(日) 09:56:140841デフォルトの名無しさん
2006/07/10(月) 14:46:480842デフォルトの名無しさん
2006/07/10(月) 15:23:440843デフォルトの名無しさん
2006/07/10(月) 15:44:570844デフォルトの名無しさん
2006/07/10(月) 15:56:35老人と新人エンジニアについて論ぜよ。(20点)
0845デフォルトの名無しさん
2006/07/10(月) 16:16:11世代の定年
近い今
チャンス到来
だぜニートどもよ?
短歌にしてみました。20点はいただきだな。
0846デフォルトの名無しさん
2006/07/10(月) 18:22:180847デフォルトの名無しさん
2006/07/10(月) 18:32:370848デフォルトの名無しさん
2006/07/10(月) 22:36:50「働く意思がある」というのは社会人にとって最も重要な能力だ。
その能力の欠如している者が、「まだ能力的に上」とは思えない。
0849デフォルトの名無しさん
2006/07/10(月) 22:40:230850デフォルトの名無しさん
2006/07/10(月) 22:58:36雇ってもらえませんが何か
0851デフォルトの名無しさん
2006/07/10(月) 23:31:13必ずしも働く必要は無いかもね。
能力を辞書で引くと
のうりょく 【能力】
(1)物事を成し遂げることのできる力。
「―の限界を超える」「月産一〇〇〇台の―をもつ工場」
(2)法律上、ある事柄に関して当事者として要求される資格。
であって、>>846の文意からするとこの場合の能力とは(1)だろうから、
何かを成し遂げれば少なくともそのための能力はあったということ。
何も成し遂げないで「俺は能力がある」なんて言ってる奴は、そんな
もの能力でもなんでもない。
ニートでも難しいテレビゲームをクリアしたなら、「そのゲームをクリア
する能力があった」ってことだろう。このスレで話題にすべき能力があ
るかどうかは分からんが。
0852デフォルトの名無しさん
2006/07/11(火) 00:46:220853デフォルトの名無しさん
2006/07/12(水) 00:03:110854radio star
2006/07/12(水) 18:08:57オブザーバの併合システムを考える場合、
両方に極あるんだがこれはどう考えればいいわけ?
0855独立配置
2006/07/12(水) 22:20:090856あばよ
2006/07/13(木) 07:35:31そのtおきの状態方程式なんてどうやってだすの?
googleもyahooも全然ひっかからねえ
0857独立配置
2006/07/14(金) 18:39:36少年よニートになれ。
0858デフォルトの名無しさん
2006/07/15(土) 03:38:29ETECとか出てるけど
0859デフォルトの名無しさん
2006/07/15(土) 21:51:39TERATERMでキーボードからそのまんまASAHIって打ったら、まんまASAHIと表示された。
俺てっきりドットレベルの指定からやらなきゃいけないと思ってた。
0860デフォルトの名無しさん
2006/07/15(土) 22:30:590861デフォルトの名無しさん
2006/07/15(土) 22:40:48たったそれだけで、一体どんなレスを期待してるんだ?
0862デフォルトの名無しさん
2006/07/16(日) 05:00:34漢字フォントじゃないけど、最低限アスキーくらいは入ってますよということじゃない?
文字コードはなんだろうね。Windowsで使う人のほうが多いからSJISかね?
0863デフォルトの名無しさん
2006/07/16(日) 12:29:34ならUNICODE使えって? まあ、それはねえw
0864デフォルトの名無しさん
2006/07/16(日) 12:50:26漢字コードさえわかっていればどうやったら出力できるんだろう。
バイナリエディタで漢字コードを書き並べてそのファイルを「送信」すればいいのかな。
0865デフォルトの名無しさん
2006/07/16(日) 13:15:570866デフォルトの名無しさん
2006/07/17(月) 21:39:140867デフォルトの名無しさん
2006/07/19(水) 09:46:35所詮資格です
取ったからって突然何でもできるようになる訳ではありません
0868デフォルトの名無しさん
2006/07/19(水) 13:32:37いえ、検定です。資格ですらありません。
0869age
2006/07/25(火) 23:52:380870デフォルトの名無しさん
2006/07/29(土) 20:24:050871デフォルトの名無しさん
2006/07/29(土) 21:58:46漏れは相手できないけどさ
0872名無し募集中。。。
2006/07/30(日) 19:05:20次に多いのは三菱PLCとか小規模だとキーエンスかな
他はどうなのかな?横河とか触ったこと無いんだけど
0873デフォルトの名無しさん
2006/07/30(日) 19:28:070874デフォルトの名無しさん
2006/07/30(日) 20:27:39昔は三菱一色だったらしいがQシリーズの初期版が腐ってたので横河も使うようになったらしい。
俺は三菱と横河なら分かるがどっちかっつーと横河の方がいいかね
ま、構造化ラダーなる似非構造化言語はどうかと思うんだが
0875sage
2006/08/01(火) 03:40:18論文発表まで2週間しかし知識ゼロ。
皆さん助けて下さい。
0876デフォルトの名無しさん
2006/08/02(水) 23:30:120877デフォルトの名無しさん
2006/08/03(木) 02:20:40論文が出来なきゃ発表できないんだから
発表会に出る資格無いから 発表会で怒られる ということは
ありえないんじゃないか?
0878デフォルトの名無しさん
2006/08/03(木) 05:35:55しかし、>>875は2週間前なのに投稿もできてない(何も分かってない)。
つまり>>875の論文発表といういわゆる論文発表ではなく内輪の発表会なんだよ。
0879デフォルトの名無しさん
2006/08/04(金) 05:01:30就職が決まらず院で留年し来春
就職活動しようと考えてましたが、留年が決定
したところに内定をもらいました。
後取得してない単位は修士論文の分だけだったので
半留でいいとのことでした。
例外的な発表のため発表直前に論文を提出すれば
いいみたいで・・
論文の原稿は他の大学との共同研究という名目
のため院に入った時点で渡されてたんですが・・
通信系なんですがなぜかH2制御に関する論文
で理解するのに苦労してます。
助けてください。
0880デフォルトの名無しさん
2006/08/04(金) 13:25:070881デフォルトの名無しさん
2006/08/04(金) 18:58:09ここは制御系のスレであって制御理論のスレじゃないんでw
いわゆる制御系の人の大半は、俺もそうだけど制御理論なんてぜ〜んぜん知りません。
0882デフォルトの名無しさん
2006/08/04(金) 20:11:28わかる人が答えればいいだけなのに
なぜ黙ってられないんですか。
0883デフォルトの名無しさん
2006/08/04(金) 20:16:140884デフォルトの名無しさん
2006/08/05(土) 10:28:42ネタであってくれたらどれだけ楽か・・
どなたかH2制御わかる方いませんか?
0885デフォルトの名無しさん
2006/08/05(土) 12:33:04マ板でも駄目だったらVIPのクオリティに期待するしかない
0886デフォルトの名無しさん
2006/08/05(土) 13:56:41まあ俺様方式でも、ちゃんと安定して動いてるから、まあいいや。
0887デフォルトの名無しさん
2006/08/05(土) 21:09:320888デフォルトの名無しさん
2006/08/06(日) 22:23:39微分ゲームの解き方をどなたか知ってませんかね?
http://www.kyowa-u.ac.jp/oishi/DGame1.1.pdf
とかあるのは知っていますが、簡単な問題例の解き方が
あると嬉しいです。ソースがあればなお良し。
0889デフォルトの名無しさん
2006/08/06(日) 23:40:160890デフォルトの名無しさん
2006/08/07(月) 00:44:14なぜ黙ってられないんですか。
0891デフォルトの名無しさん
2006/08/07(月) 02:22:19馬鹿が書き込めばスレが荒れる。
スレが荒れると自分が迷惑する。
単純な理屈だろ。
0892デフォルトの名無しさん
2006/08/08(火) 00:38:55何をしようがしまいがどうということはない
それが2ちゃんねるクオリティ
0893デフォルトの名無しさん
2006/08/12(土) 15:23:470894デフォルトの名無しさん
2006/08/12(土) 22:13:110895デフォルトの名無しさん
2006/08/12(土) 23:05:27智に働けば角が立つ。
ってやつだろ
0896デフォルトの名無しさん
2006/08/13(日) 08:39:26元気はあっていいんだけどね。
0897デフォルトの名無しさん
2006/08/17(木) 06:22:13・・・orz お前、2ch語でコメントを書くなよ
0898デフォルトの名無しさん
2006/08/17(木) 12:17:43げきわら
0899デフォルトの名無しさん
2006/08/17(木) 18:49:210900デフォルトの名無しさん
2006/08/17(木) 21:30:440901デフォルトの名無しさん
2006/08/18(金) 06:26:380902デフォルトの名無しさん
2006/08/18(金) 15:44:50最近知った。
0903デフォルトの名無しさん
2006/08/18(金) 16:42:150904デフォルトの名無しさん
2006/08/19(土) 14:42:15お手上げ状態になったので、手がかりだけでも掴めればと・・。
NORTi/SH2を使ってDMA転送を行い、DMA転送完了割り込みをさせたいです。
DMA転送は正常に行われています。
割り込みサービスルーチンを作成して、その設定もして、
DMA転送完了割り込み有りにして動かすと、
割り込みサービスルーチンを呼び出しにいっている
(もしくは、呼び出そうとしている)ようですが、
処理が割り込みが入った時に動いていたタスクに
待てど暮らせど戻ってきてくれません。
割り込みサービスルーチンのcreateは正常にされています。
Cのソースレベルでデバッグできるものがあれば良いのですが、
それがないのでどの段階で止まってしまっているかが
サッパリわかりません。原因として考えられるのは何があるでしょうか?
よろしくお願いいたします。
0905デフォルトの名無しさん
2006/08/19(土) 15:45:22>割り込みサービスルーチンを呼び出しにいっている
>(もしくは、呼び出そうとしている)ようですが、
とりあえずどっちなのか調べろ
0906904
2006/08/19(土) 16:28:37レスありがとうございます。
>>割り込みサービスルーチンを呼び出しにいっている
>>(もしくは、呼び出そうとしている)ようですが、
>とりあえずどっちなのか調べろ
調べました。
割り込みサービスルーチンは呼び出せていました。
割り込みルーチンの処理をreturn文だけにしてみましたが、
同様に割り込み前のタスクに戻ってくれませんでした。
割り込みルーチン内で設定しなおさなければいけないものが
あるのでしょうか。んん〜。
0907デフォルトの名無しさん
2006/08/19(土) 16:44:140908904
2006/08/19(土) 17:54:02ソースを一部upしてみました。
(ちなみにInterface誌8月号のSH2基板で学ぶ〜のNORTiの
サンプルに少し手を加えたものです。)
割り込みが起きるタスクはDmaTask、
割り込みサービスルーチンはint_dei0です。
http://www.vipper.org/
FileNo:316283
Pass:904
0909デフォルトの名無しさん
2006/08/19(土) 18:26:370910904
2006/08/19(土) 18:42:29割り込みがかかりっぱなしかぁ、、、
すぐに修正できるような腕じゃないんで、
そのあたりをもう少し勉強してやってみます。
Cも組み込み系もRTOSも初心者なので、四苦八苦です〜@@
0912デフォルトの名無しさん
2006/08/19(土) 19:23:310913904
2006/08/19(土) 21:29:56ぅぉおお、動きました〜><
ここで2日間くらい悩んでました。
出来るだけ早くお世話にならなくて良いように精進します!
本当にありがとうございました!
0914904
2006/08/19(土) 21:33:590915デフォルトの名無しさん
2006/08/19(土) 23:19:43S/W的なフラグのクリアと何が違うというのか(ry
0916デフォルトの名無しさん
2006/08/20(日) 00:32:38最初に割り込み禁止にすればいいと指摘いただいた時は
割り込みマスクか?とかもう一度SH2とNORTiのdoc読んでました。
2回目の指摘で目から鱗。まだまだ勉強が足りません。
JavaはAPIの中で泳いでるイメージで、
特にWeb系しかやってなかったってこともあるかもしれないけど、
01やら信号やらクロックなんてものは一切意識したことなかったんですよ。
今更ながらですが感銘を受けながら、再勉強してます。
では、このへんでROMります。
0917デフォルトの名無しさん
2006/08/20(日) 05:34:29「割り込んだら割り込み要因をまずクリヤする」。これから日立の石ずっと触るのなら
割り込み処理の頭にはとりあえず割り込み要因クリヤ。これもバイトの0を書き込むのじゃ
なく、レジスタを読んでそのbitだけクリヤして書き込むように。sfr_clr(PORTx,0x80);とかね。
0918デフォルトの名無しさん
2006/08/21(月) 21:30:400919デフォルトの名無しさん
2006/08/28(月) 14:56:59インラインアセンブラを使用して汎用レジスタの値を判定したいのですが、
どうしたらいいのでしょうか?
環境はHEW、CPUはM8S2378です。お願いします。
0920デフォルトの名無しさん
2006/08/28(月) 16:02:10アセンブラで組んだライブラリを呼ぶんじゃダメなの?
0921919
2006/08/28(月) 16:38:44Cで使えるならOKです。
0922デフォルトの名無しさん
2006/08/28(月) 16:52:52このスレに偶然その環境に詳しい香具師がいれば別だけど、恐らく自分で調べる以外にないと思うよ。
インラインアセンブラの記述方法は実装系に依存するし。
#処で、汎用レジスタの値は判定したいときに保障されているのだろうか。例えばx86で言うeaxは殆ど保障されないわけだが。
0923デフォルトの名無しさん
2006/08/28(月) 17:20:360924919
2006/08/28(月) 18:16:13>#処で、汎用レジスタの値は判定したいときに保障されているのだろうか。例えばx86で言うeaxは殆ど保障されないわけだが。
○ネサスさんのマニュアルに書いてある通りに作成しているのですが、もしそうだとしたら最悪です。
>このスレに偶然その環境に詳しい香具師がいれば別だけど、恐らく自分で調べる以外にないと思うよ。
何日もかけて調べているのですが、限界を感じてきています。
0925デフォルトの名無しさん
2006/08/28(月) 18:19:340926919
2006/08/28(月) 23:06:03読み出した値をプログラム上で判定したいのですが、簡単にできるのでしょうか?
0927デフォルトの名無しさん
2006/08/28(月) 23:25:45定数と比較するってこと?
0928919
2006/08/28(月) 23:39:42汎用レジスタの下位1バイトが0以外のときエラー処理を返したいのです。
環境上、アセンブラ内でしかいじれないので、C上に引っ張り出す方法を知りたいのです
0929デフォルトの名無しさん
2006/08/29(火) 00:05:01だから>920でいいべさ。
まさか、アセンブラも用意されていないわけじゃあるまい。
#もしそうならそうで、Cで単純な関数を作ってコンパイルし、バイナリパッチ当てるとかw
0930デフォルトの名無しさん
2006/08/29(火) 00:20:110931デフォルトの名無しさん
2006/08/29(火) 01:00:13>環境上、アセンブラ内でしかいじれないので、
なにがアセンブラ内でしかいじれない?
アセンブラ内で判定して、その結果をCでみたい?
0932デフォルトの名無しさん
2006/08/29(火) 02:06:370933デフォルトの名無しさん
2006/08/29(火) 06:52:08M8S2378 ってのを知らない。 旧三菱系なのかな?
H8S2378なら旧日立の100pinCPUなんだけどさ
0934デフォルトの名無しさん
2006/08/29(火) 07:49:32http://pc8.2ch.net/test/read.cgi/tech/1156145524/255
0935デフォルトの名無しさん
2006/08/29(火) 08:00:06http://pc8.2ch.net/test/read.cgi/tech/1156145524/
251 名前:デフォルトの名無しさん 投稿日:2006/08/28(月) 23:26:30
質問です。
汎用レジスタ(ER0)の値をプログラムで判定したいのですが、
アセンブラ内でしかER0をいじれません。
C上で動かすにはどうしたらいいのでしょうか?
環境はHEW、CPUはH8Sです。お願いします。
これか.....このレベルだと説明する方も疲れるというか説明はムリだろな。
0936デフォルトの名無しさん
2006/08/29(火) 08:08:36_getER0:
RTS
こいつは
int getER0(void){} と書いたのと等価(HEWは return 文が無くてもエラーにはしない筈)
もっとも、もっと手前で大きな勘違いがあるに違いない
・・・・・肝心の品番さえ間違うようだと・・・・こんな奴とだけはって奴だな
0937デフォルトの名無しさん
2006/08/30(水) 23:39:17コンパイルオプション code=asmcodeを忘れないこと。
コンパイラのユーザーズマニュアル書いてますよ。
マジレスかこわるかった?
0938デフォルトの名無しさん
2006/08/31(木) 04:32:340939デフォルトの名無しさん
2006/08/31(木) 05:49:110940デフォルトの名無しさん
2006/09/01(金) 03:02:33走らせてみると、そのステート数より3割ほど多く時間がかかります。OSなし、割り込みなし
の状態で、です。コードはSDRAMに置いて実行させてます。どんなことが考えられますか?
0941デフォルトの名無しさん
2006/09/01(金) 07:50:48それと違うって事は、ポートの出力にディレイがかかってるのでは?
0942デフォルトの名無しさん
2006/09/01(金) 08:26:53ステート数ってキャッシュのヒット率やパイプラインの状態にも
影響を受けるんじゃない。
だから計算で出した値は、大まかな目安にしか
ならないんじゃないかな。
0943デフォルトの名無しさん
2006/09/01(金) 10:01:510944デフォルトの名無しさん
2006/09/01(金) 22:06:00命令をフェッチときに無駄が出るカモね。
あと、キャッシュをどういう設定で使うかも絡んでくるけど。
キャッシュのなかにコードを放り込んで実行してみれば、計算通りに
なるんじゃない?
0945デフォルトの名無しさん
2006/09/01(金) 23:56:183クロックで動いてるはずのところへ一回WAITが入って4クロックで動いてるとかいうおちではないか
0946940
2006/09/02(土) 07:36:48遅い件はその後の情報で、コードはキャッシュ可の空間にあったが、スタックがキャッシュ不可
空間にあったことが判ったそうです。それを正したら期待通りになりました。お騒がせすいません。
この際だがら、レイテンシというものについて教えてくださいませ。
0947940
2006/09/02(土) 07:37:360948デフォルトの名無しさん
2006/09/02(土) 10:04:43たとえばメモリからデータをレジスタに読む命令は、
メモリが待たせるだけのレイテンシがあるし
掛算命令は結果が使えるまでレイテンシがある
これを単なる遅延にしないためには、この期間に他の命令を埋めるように命令の順番を工夫してやる
たとえば、命令は2ワード単位に読まれるので、命令とデータの読み込みは
巧く詰め込んでやらななければいけない
もっとも、それはコンパイラに任せた方が良い結果が得られる事が多い
SDRAMはDRAMの一種で、詳しい事はgoogleさんに聞きなさい
0949940
2006/09/02(土) 17:18:52そのクロックも100Mとか133Mとか、SHの内部CLKと近い値が設定できるらしいので、
命令フェッチのタイミングが同期しやすそう、と想像できます。ありがとうございます。
0950デフォルトの名無しさん
2006/09/02(土) 21:40:41連続データを参照する頻度が大きいとき有効
0951940
2006/09/03(日) 02:53:41メモリを参照するMOV命令の次はレジスタ間演算になってたりしますね。
こういうのが>>948さんの説明みたいな例ですね。
0952デフォルトの名無しさん
2006/09/11(月) 10:46:43SH7145Fで、SCI0,1、3を使いたいんですが、0と1は普通に使えるんですが、
3だけ初期化ルーチン抜けたあとに、エラー割り込みがかかりっぱなしに
なってしまって使えません。フレーミングエラーが起きているようです。
エラーフラグをクリアしても、すぐに同じエラーが起きます。
信号レベルも他のポートと同じで、常時Hレベルです。
まだ何も接続していない状態で発生する現象です。
どなたか解決策を知ってる方おられましたら教えてください。
0953デフォルトの名無しさん
2006/09/11(月) 13:15:480954デフォルトの名無しさん
2006/09/12(火) 04:52:38の時間をおく、っていうルールは守っていますか?(ex:4800bpsなら208μぐらい)
(守らない時、3のような動作をしたという体験は私はしていませんが。)
0955デフォルトの名無しさん
2006/09/12(火) 09:08:40やっちまった感じです。もろにそこでした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さんの指摘で直りました。
お二方とも、アドバイス有難う御座いました。
0956デフォルトの名無しさん
2006/09/12(火) 12:15:560957955
2006/09/12(火) 14:02:52コピペコピペしてるから単純なミスの罠におちいり易いんでしょうなorz
0958デフォルトの名無しさん
2006/09/12(火) 15:41:05機能の一部でAIボードで4-20mAでアナログ値を入力するんだが、仕様書に
アナログ値検出に4mAのデットバンド処理を含めて下さい。
デットバンド範囲は2%F.S固定で構いません。
アナログ値表示に使用するデータは全てデットバンド処理後のデータを使用してください。
デッドバンドとかF.Sとかって何れすか
0959デフォルトの名無しさん
2006/09/12(火) 16:48:34F.S フルスケール
デッドバンド処理って具体的になにをやるのかは?
0960デフォルトの名無しさん
2006/09/13(水) 08:20:34つまり一旦採用した値±2%の範囲の差では更新しないという処理なんだろう
0961デフォルトの名無しさん
2006/09/13(水) 11:44:07でよい?
0962デフォルトの名無しさん
2006/09/13(水) 14:16:56----
ごめんなさい、すいません、一つ教えてください。
現在C言語のソースが手元にあるのですが、コンパイルの方法がわかりません。
10年以上前の機械のファームにバグがあって、ちょっとした事なのでソースを
直すのは簡単なんですが、ターゲットがV50なんです……。
昔はどうやらBolandCとTurboAssemblerでやってたらしいんですが、環境とかも
今は無く、途方に暮れている状態です。
今までのほほんとWindowsプログラムしかしてこなかったので、クロスコンパイル
環境なんて触った事もないですし、開発した人はしんじゃいましたし、どうすれば
いいのかという感じです。
お分かりになられる方が居ましたら教えてください……。
0963デフォルトの名無しさん
2006/09/13(水) 14:29:550964デフォルトの名無しさん
2006/09/13(水) 14:45:29Link & LocateやParadigm LOCATEなんかが有名だったけど今でもあるのかなぁ
0965デフォルトの名無しさん
2006/09/13(水) 15:35:030966デフォルトの名無しさん
2006/09/13(水) 16:29:22http://www.borland.com/が503で開けません……。
うちの環境が悪いんでしょうかねぇ……。
>>964
ちなみにロケータって何をするものなのでしょうか
雰囲気からすると、メモリマッピングやプログラムの配置をしそうな
雰囲気ですが……。
というか、現在何処かで手に入るのでしょうか。
>>965
バイナリコードはZ80止まりです(^-^;
86系はさっぱり……。
判るのであればROMパッチとかできるんでしょうけどねぇ……。
0967デフォルトの名無しさん
2006/09/13(水) 16:52:52Borland C++ 2005 Suiteとして望みのものは売ってるみたいだから、
買えるかどうかBorlandに聞いてみたら。
ソースファイルだけあってもどうにもならんと思うが............
0968デフォルトの名無しさん
2006/09/14(木) 01:47:15503だったんでしょ
今はおk
0969デフォルトの名無しさん
2006/09/14(木) 04:58:060970964
2006/09/14(木) 08:50:30ご想像通り、リンカの作ったリロケータブルファイルをターゲット環境に合わせて絶対アドレスで
配置する物です。リンカ、ロケータでググれば雰囲気が掴めるでしょう
しかしながら本来DOSでの動作を前提として作成されたプログラムを単にアドレス変換して
配置しただけではダメです。
スタートアップコードやらライブラリ関数やら、ユーザが手を加える必要があります。
なのでDOS用のCに対応したロケータはそのあたりの処理をある程度肩代わりしてくれる
機能が付いてたりします。
でも多分今は買えないでしょうね。>>965さんの言うようにパッチ当てる方が現実的。
0971デフォルトの名無しさん
2006/09/14(木) 12:09:51ttp://kakaku.com/item/03103010225/
0972デフォルトの名無しさん
2006/09/15(金) 19:45:480973デフォルトの名無しさん
2006/09/16(土) 09:07:14950レス越えてるから1000いかなくても勝手に落ちるんだからさ
0974デフォルトの名無しさん
2006/09/17(日) 05:52:380975デフォルトの名無しさん
2006/09/18(月) 04:50:190976デフォルトの名無しさん
2006/09/18(月) 12:34:470977デフォルトの名無しさん
2006/09/18(月) 15:54:20celeron 2.8G HDD80G RAM512M 去年の12月頃買って24時間消さないで使ってます。
displayは15インチTFTで32W。本体の定格は115V/3.0Aと書かれているので300Wぐらいと
思われますが、常時300Wじゃないですよね?平均どの位なのかが判らなくて・・・
0978デフォルトの名無しさん
2006/09/18(月) 18:05:53俺の HDS722525VLAT80 の駆動系がもうすぐヘタリそうなんだけど、
モーターだけ交換とかできねーか?
0979デフォルトの名無しさん
2006/09/18(月) 19:46:31電気のメーターは家についてるんだろ?一日かけて実測すれば?
0980デフォルトの名無しさん
2006/09/19(火) 08:35:56その他の構成もあるし、走らせるソフトにもよるだろうから、
やっぱり、測れとしか言えんなぁ
0981980
2006/09/19(火) 08:40:43http://pc8.2ch.net/test/read.cgi/tech/1158622810/
レス数が950を超えています。1000を超えると書き込みができなくなります。