制御系なら俺に聞いてもいいぜ(8)at TECH
制御系なら俺に聞いてもいいぜ(8) - 暇つぶし2ch579:552
06/03/20 20:37:59
>>575
そうですよね。
ソフトから見た場合、1アドレスには1バイト割り当てられるという理解で良いんですね。
(ハード屋さんがアドレスバスの接続を間違えたりしなければ)


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

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

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


いやー、おかげさまですっきりしました。
何度もありがとうございました(^^)

580:デフォルトの名無しさん
06/03/20 21:19:28
アラインされてないメモリアクセスを、2回に分割するのはCPUだろ。
アクセスするアドレスがアラインされているかいないかをコンパイラ・
アセンブラ・リンカが知ることの出来ないケースがあるから。
 CPUがサポートしてなかったら、バスエラー。

581:デフォルトの名無しさん
06/03/20 21:30:36
>>580
> アラインされてないメモリアクセスを、2回に分割するのはCPUだろ。
そうなの?

> アクセスするアドレスがアラインされているかいないかをコンパイラ・
> アセンブラ・リンカが知ることの出来ないケースがあるから。
具体的にはどんなケースでしょ?

582:デフォルトの名無しさん
06/03/20 21:43:52
a.c: int *foo(){ return (int*)0x12345; }
b.c: int bar(){ return *foo(); }

583:デフォルトの名無しさん
06/03/20 21:44:29
x86系のCPUは奇数番地からのワードread/writeを2つのバイトアクセスにCPUが別けてくれる
他の多くのCPUは奇数番地からのワードアクセスでは例外を出すだけ
どうしてもそれでアクセスしたいなら自分で例外内でバイト2つに別けるとかするのだろうが
そんな仕掛けをわざわざ入れてる奴はみた事がない。

コンパイラが自動的に奇数番地からのワードアクセスを
バイトアクセスにしてくれるのも見た事がない。

584:デフォルトの名無しさん
06/03/20 22:09:45
このスレのレベルだと、>>582>>581 の答えとわ
かってない奴が多そうな予感。

585:デフォルトの名無しさん
06/03/20 22:10:37
>>583
OSレベルでなんとかしてくれることもある。
URLリンク(www.linux.or.jp)
>不整列アクセス(Unaligned access):
>    他の RISC CPU と同様に、Alpha でもメモリのアクセスに際しては 自然境界に整列している必要があります。
>例えば、メモリから 4 バイトの整数を読み込む場合には、先頭のアドレスが 4 の倍数となっている必要があります。
>同様に、8 バイトの整数を読み込む場合には、8 の倍数のアドレスから読み込む必要があります。
>もし、CPU が正常に整列していないワードをアクセスする場合には、 CPU はカーネルにトラップをかけて警告を出力します。
>そしてカーネルは、不整列アクセスをエミュレートし、何事もなかったかのようにユーザプロセスを実行します
>(ただし実行速度は大幅に落ちます)。

586:デフォルトの名無しさん
06/03/25 16:14:39
>>584
もっと人間を信じろ。そこまでアホばかりではない。

587:デフォルトの名無しさん
06/03/25 17:04:45
>>586
だが、信じすぎてはいけない。そんなに賢い人間はそうはいない。

588:デフォルトの名無しさん
06/03/30 01:32:26
GCCで、特定のメモリ範囲だけを使わないメモリマップを作りたいのだがどうしたらいい?
その領域に、ダミーの変数なり関数を配置しておけばOKだと思うのだけど・・・。


589:デフォルトの名無しさん
06/03/30 01:45:59
>>588
つLDスクリプト

590:デフォルトの名無しさん
06/03/30 04:11:11
変数ならアクセスしなきゃいいだけだが、関数だとその番地にロードされるコードができるね。
「ロードすらしてはいけない」なら関数はだめだな。
俺もCPUのバグレポートで「この番地は使ってはいけない」所には使わない変数を配置した。

591:デフォルトの名無しさん
06/03/30 22:09:01
なんで入出力って非同期転送にならないんでしょうか?ウエイト入れるくらいならキューにしちゃえばいいのに。
なんでウエイト入れなきゃなんないんですか?

592:デフォルトの名無しさん
06/03/31 00:49:53
>>591
ヒント:キャパシタ

593:デフォルトの名無しさん
06/03/31 06:04:12
>>591 巨視的な世界での電圧の変化って、ピュー太の内部CLKと比べると充分に遅いから、
っていう理解じゃだめ?

594:デフォルトの名無しさん
06/03/31 13:31:53
>>591
相手が遅いから

制御系レベルの入出力とデバイスドライバレベルの入出力がごっちゃになってるんじゃないかという前提で、
相手が早いのか遅いのか、同期で読まなくちゃならないのかバッファリングして読んでもいいのかが決まってない世界が制御系。

595:デフォルトの名無しさん
06/03/31 20:07:49
なんか凄いな。いつから皆さんエスパーになったのよ?w

俺には>>591は説明不足の舌足らずな質問にしか見えんが。
端的にいって意味不明ですけど。

596:デフォルトの名無しさん
06/03/31 20:30:48
それは君の経験不足に起因していると思うよ
しなくていい経験というのもあるから、不足というと語弊があるかもしれんが

597:デフォルトの名無しさん
06/03/31 20:44:34
いや凄いってのは当然皮肉なんですがw
仮に591読んで「意味が分かる」とすればそれこそ経験不足でしょ。

自分の妄想や思い込みを抑えて、謙抑的に書いてあることを書いてあるままに
読み取る訓練ができてないんだよそりゃ、悪いけどw

598:デフォルトの名無しさん
06/03/31 20:58:22
ゆとり教育の想像力低下を危惧すべきだな。

599:デフォルトの名無しさん
06/03/31 21:23:18
想像と妄想とは違うよw

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

それを勝手に「ああそのことね…」なんて早とちりして回答するのは
妄想以外のなんでもないよ。

600:デフォルトの名無しさん
06/03/31 21:36:52
確かに君は経験豊富なようだ。
ただし煽られる側のな。

601:デフォルトの名無しさん
06/03/32 00:05:18
もっと書いてくれれば答えガイがある質問かもしれん。
ぱっと見では勘違い電波質問にしか見えんが。

俺の受けた電波は、タイミングチャートを見たことも無い
間違って組み込みやらされてるPGから発信されたものだといっている

602:デフォルトの名無しさん
06/03/32 00:05:29
まとめると、入出力は非同期転送にできるし、キューを使いたければ使えば
いいってことだな。

603:デフォルトの名無しさん
06/03/32 01:09:12
つーか3/32に見えるな、エイプリールフールってことかいね。

604:デフォルトの名無しさん
06/03/32 01:17:49
でスレ呼んでみたが・・・
確かにひどいなこれは。聞いたことある名詞を適当に並べて、
とりあえず接続詞を入れてみましたってな文章だな。

605:デフォルトの名無しさん
06/03/32 01:32:23
>>597
何も分かってないか只の釣りだということが読み取れるから
基礎を講釈してるんだろ

606:デフォルトの名無しさん
06/03/32 01:37:34
I/Oは、CPUの動作している高速なサイクルじゃ、バスにぶら下がってる外部入出力装置が認識できる電位まで立ち上がる事が出来ないんだよ。
だから十分にWAITを入れて電位がHigh(Low)に達するまで待たなきゃならんの。

たとえキューを使おうが、非同期にしようが、I/Oで保持する信号の変化を待つ為にWAIT入れなきゃ行けない。


607:デフォルトの名無しさん
06/03/32 01:39:55
超高速な世界から見たら、配線コードそのものがコンデンサーみたいな物だからなぁ・・・。

608:デフォルトの名無しさん
06/03/32 01:46:49
>>606
答えになってないなw
仮に591の質問の意図が君の思っているとおりであるとしても。

I/Oで保持する信号の変化を待つ為にWAIT入れなきゃ行けない。
それはその通り。
「だから」CPUとI/Oの間にキューが入れば、非同期でできるのになんで、と聞いているのに。

609:デフォルトの名無しさん
06/03/32 01:52:57
PCIeの立ち上がりは100psだっけ?
とてもじゃないが、そんな信号の遣り取りなんか面倒見たくないね。

610:デフォルトの名無しさん
06/03/32 02:05:27
>>608
キューに送る信号の安定待つのにWAIT入れないといけないんだけど?

つか、外部メモリーのアクセスにだってハード的にWAIT入れてるってえのに・・・

611:デフォルトの名無しさん
06/03/32 02:16:14
>>608
つーか、お前が本ネタか?
だったら、お前が考える同期/非同期転送の違い、ウェイト、キュー
FIFO、メモリ、レジスタを定義してくれ

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

>>608
ソフトで面倒見られるのはH/Wより”遅い”場合だけだよ
H/Wが逆さに振ってもおっつかないもんは、どうしようもない

612:デフォルトの名無しさん
06/03/32 09:06:26
608ではないが(595=597=599=608か? 言っていることは分かるつもり)

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

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

電圧だのキャパシタだの言っている奴はどういう意味のつもりなんだ?同期・
非同期とどう関係するのか全然わからん。メタステーブルにならないところで
読むのは当り前で、1-3で言うところの同期か非同期かは関係ない。

613:デフォルトの名無しさん
06/03/32 09:35:50
>>612
いや、俺は605=611
あんな時間は当然のように仕事してた

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

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

理由がなんだろうが、ぶっちゃけて言っちまえば
高速な信号の保持機構を端折ったH/Wの尻拭い、ってだけだけどな


614:デフォルトの名無しさん
06/04/24 06:28:01
保守

615:デフォルトの名無しさん
06/04/24 11:03:46
H8/300HシリーズでμITRONを考えています。
・・・が,対応製品が
・ThreadX-μITRON(4.0仕様。グレープシステム)
・NORTi/H83(2.0仕様。ミスポ)
ぐらいしか見当たりません。(TOPPERSは取りあえず除く)

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

どなたか,HI8-3Hがどうなったのかと,H8/300Hシリーズで使用できるμITRON製品を教えてください。

616:デフォルトの名無しさん
06/04/24 14:00:16
μITRONをH8/300hで使いたいってのは、既に動いてる資産を利用したいからって事かい?


617:デフォルトの名無しさん
06/04/24 17:20:42
SuperHファミリ用リアルタイムOS [HI7750/4]
URLリンク(japan.renesas.com)
>HI7750/4は、μITRON4.0 仕様に準拠したSuperHファミリマイコン用の
>リアルタイム・マルチタスク OS です。

H8用はないっぽい

618:デフォルトの名無しさん
06/04/26 06:22:25
トロンのカーネルはいちおう8bitまで考慮して書いてはあるけど、300Hじゃ動いても重い
でしょうね。ふだんOSレスで書いてる私から見れば、オーバーヘッドすぎるからやめとき、
が最初に出ますね。タイマひとつ張るのに識別子付けて記述言語情報付けて関数アドレス
付けてなんて、「標準化」ってのはそういうことなんだけど、チビの石には負担でしょ。
大事なのは割り込みとタスクレベルと両方から触る変数はタスク側でdi()/ei()かますこと。
セマフォだって根底はこれだけだよ。

619:デフォルトの名無しさん
06/04/26 06:54:59
タスクの切り替えは、単にスタック領域をタスク毎に用意して、スタックポインタを切り替えるだけ
もっともH8はレジスタが多いから重くなるね

620:デフォルトの名無しさん
06/04/26 07:21:46
タスク切り替えごとに割り込みマスクされると....

621:デフォルトの名無しさん
06/04/26 07:30:54
具体的には、 taskA,taskB というポインタを用意しておいて

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

つまり、Cで書く割り込み処理に SP切り替えを追加しただけのコストでタスク切り替えは実装出来る

622:デフォルトの名無しさん
06/04/26 07:32:30
ただ、スタック領域がタスクの数だけ必要になるので、H8/300の1チップで
このスタック領域を確保するのは厳しいだろうな

623:デフォルトの名無しさん
06/04/26 07:43:15
なるほど
でも、SPを切り替える時のコードが思いつかない。

624:デフォルトの名無しさん
06/04/26 07:57:06
SP=ER7だから、普通に mov でメモリに書いて読めばいいだけだよ

625:デフォルトの名無しさん
06/04/26 08:02:44
え、Cじゃ無理なの?

626:デフォルトの名無しさん
06/04/26 08:17:47
h8用のCならインラインアセンブラを埋め込むのは可能だろう

汎用的にやるなら #include <setjmp.h>
setjmpしてlongjmp

627:デフォルトの名無しさん
06/04/26 15:16:50
H8/300HくらいならμITRONサブセットのSmalightOSくらいでいいんじゃね?
トラ技のバックナンバーに載ってる。

628:デフォルトの名無しさん
06/04/30 17:37:55
普通のLinux入れたいです。

629:デフォルトの名無しさん
06/05/02 12:14:22
>>626
625じゃないけど・・・
setjmpとlongjmpでSP切り替えできるんだ・・・

というか、使ったことないのでした・・・setjmp

630:デフォルトの名無しさん
06/05/02 12:32:50
でもアセンブラ使わないとなると、スタートアップ時にmainで巨大な配列をローカル変数に取るとかいう格好になるんで
ちょっと格好悪い


631:デフォルトの名無しさん
06/05/02 13:34:19
setjmpとlongjmpはSPを記憶、戻すというイメージでは?
やっぱり、アセンブラか。個人的には意味ない感じ....

632:デフォルトの名無しさん
06/05/02 14:36:23
630の内容は taskA から taskBを起動する時に
1、taskAのsetjmp
2、大量にローカル変数を取ったtaskBのスタートアップルーチンを呼ぶ
3、taskBで setjmp⇒taskAにlongjmp

2で取ったローカル変数のサイズだけtaskAのスタック領域が確保されるという仕掛け

633:デフォルトの名無しさん
06/05/02 16:02:59
なんか、勘違いしてない?

634:デフォルトの名無しさん
06/05/03 19:33:49
俺もそう思う

uITRON載せるのは16ビット以上ないとつらそうだ。8ビットなら昔は自作のOSもどきのタスクチェンジャ作ってのせてたな

635:デフォルトの名無しさん
06/05/03 20:00:03
uClinuxは?

636:デフォルトの名無しさん
06/05/03 20:22:24
OSのせるとある程度CPUパワーがいるからね。タイミングが厳しいのは....

637:デフォルトの名無しさん
06/05/03 22:19:45
8ビットものはタスクスイッチとセマフォとタイマあればいいや

638:デフォルトの名無しさん
06/05/04 00:14:59
>>635 あれは仮想メモリないCPUでも動くがだいぶ違うと聞いた

639:デフォルトの名無しさん
06/05/04 10:17:59
ぬるい仕事しかしたことないんで、どうも「タスク」とやらの必要性がわからない。
8bitや16bitのCPUでやるような組み込みなんか、
割り込み + 回るコマドリ でいいじゃん。

「コンテキストの保存」というオーバーヘッドは
いったいなんのためのコストなんだろう。

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

つまりc言語で割り込み記述するのと同じコストですよ

641:デフォルトの名無しさん
06/05/04 12:22:17
切り替えに時間がかからないのはわかったんですが、
スケジューリング?にかかる時間の計算はどうすればいいの?

642:デフォルトの名無しさん
06/05/04 12:40:49
回るコマドリ というのが、例えば

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

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

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

ただ、スタック=メモリ消費が大きいのが問題だと思うけどなあ

643:デフォルトの名無しさん
06/05/04 12:50:42
その方法はよくわかるんですが、
リアルタイムOSでは、時間計算とかどうしてるのか気になるんですよ。

644:デフォルトの名無しさん
06/05/04 16:07:15
誰が駒鳥さんを殺したの
誰が殺したクックロビン

645:639
06/05/04 16:49:24
>>640
えーっと、だから数代前のMacOSみたいな設計(ノンプリエンプティブ、だったっけ?)
なら、つまり一定時間で強制的にタスクを切り替える、なんてことをしないで
全部ラウンドロビン方式でやれば、コンテキストの保存なんて作業の必要性は
発生しないわけですよねえ。

それじゃまずいタイムクリティカルな部分だけ割り込み使えば、
マイコンでやるような小規模なシステムなら必要十分だと思うんですが。

646:デフォルトの名無しさん
06/05/04 18:31:35
例えば、可変長ブロックの通信処理。 
圧縮が入っていてけっこう厄介なものだとする。
会社Aに通信仕様だわ渡して頼んだら、GetByteみたいな関数呼び出して実装して持ってきちゃった。

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

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

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

そうすると、会社Aのコードも会社Bのコードも両方が動くと。


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


でもさらに、

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

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

こういう状況だと、Aのコード、Bのコードをタスク化してつないでしまわんとしょうがないでしょ?


648:デフォルトの名無しさん
06/05/04 21:07:23
つうか、会社Aも会社Bも、お互いにきっちりコミュニケーションとって下さい。

649:デフォルトの名無しさん
06/05/05 00:08:54
コミュニケーションとった場合でも、マルチタスクを導入しなければ
片方がスレーブ的なコードを書かなければならなくなるわけで
この手のコードはマスター側で書くのは楽だが、スレーブとして書くのは大変でしょ?


650:デフォルトの名無しさん
06/05/05 00:46:28
大変っていうか、とりまとめてる会社がみんな悪いなw

651:デフォルトの名無しさん
06/05/05 16:23:28
どの会社が何を作るなんて決めの問題だろ。
で、決めたらそれを作るだけじゃん。

何が不満なんだ?

652:デフォルトの名無しさん
06/05/07 07:59:59
>643
スケジューラの時間が書いているよ。
URLリンク(documentation.renesas.com)
このITRONの実装では、こうなるということで、実装によって
算出方法は変わりますが


653:デフォルトの名無しさん
06/05/07 08:18:54
ありがと
でも、割り込み禁止時間が...............

654:デフォルトの名無しさん
06/05/07 23:00:44
関係ないけど、可変長と委員長って 似てるよね

655:デフォルトの名無しさん
06/05/07 23:40:05
むしろ月亭可朝

656:デフォルトの名無しさん
06/05/07 23:57:52
委員長かわいいよ委員長

657:デフォルトの名無しさん
06/05/11 15:23:18
かっぱ寿司(回転寿司)にいって、
カウンター席ーー>可変長メモリプール、
テーブル席 ー>固定長メモリプール
と思ったりしませんか? 優先度待ちにできんものかと、
勝手なことを考えたりします。


658:デフォルトの名無しさん
06/05/11 15:59:11
>>657
kwsk

659:デフォルトの名無しさん
06/05/11 21:38:52
うちの子供はテーブル席でも走って行って欲しいもん注文して帰ってくるぞ。


660:デフォルトの名無しさん
06/05/11 22:32:44
よくわからんのだが、かっぱ寿司はカウンター席とテーブル席に格差があるのか?

661:657
06/05/12 09:54:55
>660
優先度待ちで、優先度が高ければ、最後にノートに書いても、
次に呼ばれるということです。なんのひねりもなくてすまん。

ところで、テーブル席(可変長メモリプール)の場合に、
ITRONの仕様より、かっぱ寿司のアルゴリズムのほうが優秀です。
いわゆるフラグメンテーションについてです。というより、ITRONの
仕様が実装をやさしくしたのだと思います。
スレ違いですまんです。


662:デフォルトの名無しさん
06/05/12 10:57:26
中四国で制御系の仕事やらしてくれる会社をおしえてください。

663:デフォルトの名無しさん
06/05/12 11:39:49
教えてあげたいが会社ばれするので断る

664:660
06/05/12 12:43:29
>>661
つまりあれだ、回転寿司かどうかに全く関係なく、ファミレスなんかの着席待ち行列の話だな?
空き席の状況と喫煙席の可否に応じて割り当て順序を変えるのが一般的じゃないのか?
漏れの行くような辺りだと「カウンター席のお客様を先にご案内します」とか、
「禁煙席の空きがありませんのでもう少しお待ちいただけますか」なんてのはよく見る光景だが。

それとあれだ、回転寿司に引き摺られて>659は注文待ち行列とミスリードしたわけだな。
そこで>659に質問だが。
かっぱ寿司ではカウンター席とテーブル席では注文の通し方に格差があるのか?

665:デフォルトの名無しさん
06/05/12 13:06:30
中四国ってそんなに少ないんかい

666:デフォルトの名無しさん
06/05/12 16:55:38
2重振子の振り上げのプログラム書かないとダメだけど全然わかんない…
どうすりゃいいの??

667:デフォルトの名無しさん
06/05/12 17:10:31
>>666
スレリンク(tech板:131番)
タイミングからして、初めからマルチする気満満だな。

668:デフォルトの名無しさん
06/05/12 22:08:27
URLリンク(www.ics.esys.tsukuba.ac.jp)

669:デフォルトの名無しさん
06/05/14 01:27:30
>>662
うちの取引先に岡山のがあるなあ。
前の職場の検査装置が広島だった。

探せば意外にあちこちあるはずだけど
一度中に入らないとそういう情報見えてこないんだよねえ。

670:デフォルトの名無しさん
06/05/14 18:44:30
8人様ご案内のとき、4人席を2つ並んで確保するときもあれば
バラバラにされるときもある
だいたいは予約ノートに書くときに客が指定するけど
ファミレスの運営形態にもよるが、大抵はその8人が
すぐ近くにいたいのか離れてもいいのかで
確保の仕方が異なるんだよ

671:デフォルトの名無しさん
06/05/14 20:36:31
回転寿司でテーブル席だと回転寿司の醍醐味が味わえない。

672:デフォルトの名無しさん
06/05/14 22:13:10
>>671
テーブル席沿いにレールがあっても?

673:デフォルトの名無しさん
06/05/15 00:31:11
>>672
4人がけだと、レールから離れてる方がつらい
取ろうとして手がぶつかってしょうゆこぼすし

674:デフォルトの名無しさん
06/05/15 12:47:31
あー、バスインターフェースがボード上に散らばっている状態か。

675:デフォルトの名無しさん
06/05/15 23:16:55
>672
テーブル席沿いにレールがあるとこってあるの?
ないと思うけど、あったら流行るかな?
これって特許になりませんか?

676:デフォルトの名無しさん
06/05/15 23:24:31
>>675
あるよ。チェーン店でも全商品100円のなんたら寿司はそうだった記憶がある。
つーか、テーブルを縫うようにレールが走っているともいえるね。最早回転じゃない。
このタイプの店は、目の前に職人がいて直接オーダーするタイプの店とは明らかに違う。
店によっても違うのだろうが、機械握りだったりするわけだ。
魚屋チェーンの某魚○が経営していた回転寿司屋もレールが九十九折になっていたが、
休日夜でさえ一部レーンをショートカットするような状態が続いた挙句に終に潰れたよ。

677:デフォルトの名無しさん
06/05/15 23:40:52
神奈川にいた時は元禄すしがおいしかったな。
こっちだとくらがおいしいかな。

678:デフォルトの名無しさん
06/05/16 08:06:17
お前らはアセンブラプログラムだ。皿に乗ったデータが目の前に来ると変なことするだろう。

679:デフォルトの名無しさん
06/05/16 15:34:46
>677
昔、千日前の元禄寿司でバイトしてたことがあるよ。
元禄は、一応職人がにぎってたよ。ちょっとおいしいの
かもね。バイトの大半はエビの作業でした。



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

681:デフォルトの名無しさん
06/05/16 16:21:11
>>680
こっちってどっちだよw

鮪で有名な御崎港には職人が握る回転寿司屋があるが、
レーンは殆ど機能していない。
なんせ客は殆ど職人に注文してしまうので、レーンを流れるのは山葵とかデザートだとか……

682:デフォルトの名無しさん
06/05/16 23:35:38
回転寿司スレはここですか?
回転寿司の寿司をデータと考えたアルゴリズムが思い浮かんで
実装した記憶があるが、どんなのだったか忘れた
この時間でも空いてる店ってこっちだとどこかな

683:デフォルトの名無しさん
06/05/16 23:46:53
大学の時、ゼミの後輩に、プログラミングの勉強のためってことで、
回転寿司シミュレータってのを作らせた覚えがある。

684:デフォルトの名無しさん
06/05/17 17:25:44
HALは一般的にはどのレベルの抽象化ですか?
レジスタアクセスの抽象化か、
ドライバ層全体を指すのか、
俺的には前者のイメージなんですが。

685:デフォルトの名無しさん
06/05/18 11:07:23
>684
一般用語というより、マイクロソフトで使われている言葉じゃないかな。
URLリンク(it.e-otsuka.com)
問いの答えは、後者っぽいけど、アークテキチャに依存しないドライバー部分が
あるようですので、どちらでもないように思います。

このスレっぽい話をすると
TOPPERS/JSPの中の、jsp/config以下に相当するんじゃないかな。


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

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

ただまあ、一般化するほど一般的な用語じゃあないかな。

687:684
06/05/24 00:54:38
>>685, 686
こんばんわ

ecosのHAL層とか見てみたんですが、toppersのconfigと同等っぽいですね。
特定のデバイスの抽象化というよりはosを
実装する上でのターゲット依存部(cpu, intc, timerなど)を切り分けたのを
HALと呼んでるっぽいですね。board support packageと同義かな?


688:684
06/05/24 00:59:43
ところで全然話は変わるんですが、
ITRONは要するにマルチスレッドの実行環境である、という認識であってるんでしょうか?
組み込みlinuxやwindows、symbianとかでITRONのタスクのような並行処理の単位となるのは
スレッドになるんでしょうか?

689:デフォルトの名無しさん
06/05/24 01:06:58
>>688
並行処理なんて、やってないからw

690:684
06/05/24 01:25:08
並行は擬似並列という意味で書きました。

691:デフォルトの名無しさん
06/05/24 01:28:16
現役のCPUで、本当の意味での並列処理を実装していたら、プログラマの何パーセントが生き残れるんだろうな・・・

692:デフォルトの名無しさん
06/05/24 21:31:42
>>688どっちかと言うとuItronのタスクはプロセスよりスレッドに似ている。

693:デフォルトの名無しさん
06/05/24 22:41:49
uITRON等で言うタスクは、WindowsとかLinuxのプロセスとほぼ同義。
タスク(プロセス)同士は異なった資源空間に属する。
(もちろん共有できる資源もある)

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

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

スレッドが単体で存在することは普通はない。
あっても特殊な用途向け(割り込みスレッドとか)。

694:デフォルトの名無しさん
06/05/24 23:28:33
>>689, >>691
デュアルコア CPU

695:デフォルトの名無しさん
06/05/24 23:44:23
>>694
使い切れてないだろw

696:デフォルトの名無しさん
06/05/25 08:40:12
タスクの切り替えってメモリ空間の切り替えで、
スレッドってスタックの切り替え(スタックレジスタの書き換え?)なの?

697:デフォルトの名無しさん
06/05/25 09:48:15
>>693
いや、uITRONのタスクは基本的にメモリ保護なかったと思ったが? どちらかというとスレッドでしょう?
もともとMMUの無い環境を想定していると理解している。 最近になって拡張機能としてメモリ保護を
加えたらしい。

μITRON4.0仕様 保護機能拡張(μITRON4.0/PX仕様)
URLリンク(www.ertl.jp)


698:デフォルトの名無しさん
06/05/25 10:40:43
本当の意味での並列処理を実装されてたら
並列処理されていることにすら気付かない

699:デフォルトの名無しさん
06/05/25 22:18:25
何を言いたいのか意味わからん。

700:デフォルトの名無しさん
06/05/25 23:04:59
メッセージ交換なんて端折ってダイレクトにアドレス渡しでやり取りしてるから、無理。
つうか、プロセス間通信のメッセージ内容がポインタって何じゃそれ。の、世界だから、永久に無理。

701:デフォルトの名無しさん
06/05/26 00:20:40
ますますわからん。
まずおまえの言う「並行処理」とやらを定義してくれ。

702:デフォルトの名無しさん
06/05/26 00:28:43
不特定多数の人間に対して「おまえ」とか二人称で言ってる奴の方がワケわからんよw

703:デフォルトの名無しさん
06/05/26 00:31:13
>>701
誰に言ってんの?

704:デフォルトの名無しさん
06/05/26 01:26:38
こういうイチャモンつけるやつには、ホント閉口するわ

なんちゃってゲハハ

705:デフォルトの名無しさん
06/05/26 11:39:23
>>701
人に考えを伝える能力に欠けているやつに
何度訊いたって無駄じゃないかな。

706:デフォルトの名無しさん
06/05/26 11:53:30
推理が楽しいんじゃないか

707:デフォルトの名無しさん
06/05/26 17:34:44 BE:108696487-#
エスパー能力を訓練するスレはここですか?

708:デフォルトの名無しさん
06/05/26 17:42:45
ええ、常に2チャンネルで訓練していますよ。
これはフリーでやってゆくのに、最も必要な能力ですからね。

709:デフォルトの名無しさん
06/05/27 03:28:10
悩んでいるやつの後ろを通りかかったときに
ちらっと後ろから覗いて 間違いを見つけた。
そいつがオレに質問しようと口を開いた瞬間に

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

とか言ったらピシガシグッグッをやられた

710:デフォルトの名無しさん
06/05/27 07:56:17
結局間違いは何だったの?


711:デフォルトの名無しさん
06/05/27 08:18:07
1、1つのCPUでスタック領域を時分割で切り替えたりコルーチン構造にする
2、 1つのCPUが複数のレジスタセットを持ち、これを時分割で切り替える
3、 2を命令サイクル毎に自動的に行うもの
4、CPUを時分割で使い、仮想記憶の仕掛でまるで複数のCPUがあるかのように見る
5、CPUが複数存在する

712:デフォルトの名無しさん
06/05/27 12:33:12
FPGAをCで書くために拡張された部分には(真の)並列処理の記法があったな

713:デフォルトの名無しさん
06/05/27 13:15:08
あのさあ、「OSI参照モデル」じゃないけど、どのレイヤーの話をしているのか明確にしないと
ただの揚げ足の取り合いになると思うよ。

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

揮発的に見える共有資源があるかどうか、
それだけが問題なのであって。

714:デフォルトの名無しさん
06/05/27 14:04:08
制御系の場合はそうでもないよ。
昔、松下電子の4ビットマイコンで 命令サイクル毎の時分割が出来るのがあったが
こういうのは、命令数数えてシリアル転送するとか、そういうのにはとても便利

715:デフォルトの名無しさん
06/05/27 16:41:52
>>712
System Cとかかな。
まあチップ内処理はほんとに並列実行されるしね。

716:デフォルトの名無しさん
06/05/27 17:09:21
組込み系でUMLとかオブジェクト指向設計とかやってる所ある?
特に開発言語がCな所で。

717:デフォルトの名無しさん
06/05/27 18:26:08
各制御単位において、それぞれの部分全体をオブジェクトと見なす。

718:デフォルトの名無しさん
06/05/27 18:52:59
>>715
真の並列実行などあるはずがない。

719:デフォルトの名無しさん
06/05/27 18:58:48
>>718素人は黙ってろ
世の中にはお前の知らないことも多い

720:デフォルトの名無しさん
06/05/27 19:04:36
>>717各デバイス、U/I、コントロールをクラスにすればOK?
UML使ってみたいがクラスの分類がわからん。

721:デフォルトの名無しさん
06/05/27 22:42:14
>>717みたいのは単なる「仮想化」であって、それなら何十年も前から
そのようにやってるじゃん。

確かにオブジェクト指向の肝でもあるけど。

722:デフォルトの名無しさん
06/05/29 00:59:28
とはいっても、実際、そういう手法を取ってるところ多いからね。

723:デフォルトの名無しさん
06/05/31 01:26:44
オブジェクト指向「風」 なら、その言葉が誕生する前から
やってる人は多いよね

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

まーどうだろうね実際

724:デフォルトの名無しさん
06/05/31 01:29:30
オブジェクト指向技法なら、ゲームの世界では20も年前からやってた事だな。

725:デフォルトの名無しさん
06/06/06 23:29:12
組込み開発においてCUnitなどのユニットテストツールを
ばりばり使っている人っています?

ぜひ話を聞いてみたい


726:デフォルトの名無しさん
06/06/07 15:30:54
げ! コード組んでデバッグ初めて気付いた。
H8-Tinyの方向レジスタは読み返しが出来ないのか・・・・

727:デフォルトの名無しさん
06/06/08 16:57:49
>>724
オブジェクト指向は、処理系がそうでなければ、
ただのオブジェクト指向風構造化プログラムなだけだと思うが


728:デフォルトの名無しさん
06/06/08 17:21:13
そんなふうに考えている時期が俺にもありました

729:デフォルトの名無しさん
06/06/08 23:16:30
俺もそうだった

オブジェクト指向言語を使ってるだけで、
オブジェクト指向使ってると思ってるのと一緒


730:デフォルトの名無しさん
06/06/08 23:30:35
バグで人間をぶち殺した人いますか?

731:デフォルトの名無しさん
06/06/08 23:41:05
>>730
人的被害こそなかったが、使用されるモータのパワーと当たり所によっては指くらい切断しかねないバグを出した香具師なら知っている。

732:デフォルトの名無しさん
06/06/08 23:55:32
>>727
オブジェクト指向っていうのは考え方。
言語は何だっていいんだよー。

733:724
06/06/09 03:41:49
>>727
勘違い乙
俺はハナからオブジェクト指向技法と言っている。
アセンブラでポリモフィズムとか出来ないのは言語仕様だからしょうがないw


734:デフォルトの名無しさん
06/06/10 08:08:23
できるよ

735:デフォルトの名無しさん
06/06/10 23:02:34
質問です、近々Web系から制御系に転職するんですが
転職前に前知識として知っておいた方が良い事とか
読んどいた方が良いものってありますか?

736:デフォルトの名無しさん
06/06/10 23:15:24
ごく一部をのぞいてそんなとんがった技術が要求される業界じゃないから
必要な知識はOJT式にやりながら覚えていけるでしょ。

737:デフォルトの名無しさん
06/06/10 23:33:56
>>735
知っておいたほうがいいこと
 ・部品マニュアルの和訳は無い
 ・部品マニュアルは必ずしも正しくない

738:デフォルトの名無しさん
06/06/10 23:43:24
>>736 >>737
おぉ!ありがとうございます
周りに経験者がいないので結構びびってました
英語力は必要だとは聞いていたのでマニュアル見れるようにがんばります

739:デフォルトの名無しさん
06/06/10 23:52:22
割り込みハンドラでやってはいけない処理って
どういうのがあるのでしょうか?

740:デフォルトの名無しさん
06/06/11 00:00:28
>>739 時間を取る処理をすること。割り込み中は他の処理を止めているため割り込み中で時間をとると他の処理がタイムアウトや失敗することがある
割り込み以外とリソースを共有すること
変数などを共に書き換えているときは割り込み以外は割り込み禁止にしてかき変えないと競合する

741:724
06/06/11 00:45:54
>>740
変数書き換えごときで割り込み禁止にするなよ。
つか、割り込みの外と中で同じ変数に書くな。
中で書く変数は外では読み専用。
外で書く変数は中では読み専用。

742:デフォルトの名無しさん
06/06/11 01:22:13
>>741
おいおいなんだか痛い人だなあ。

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

っていうか>>739はマ板でも同じ質問してるんだよね。
そっちでも書いたけど、そもそもそれが分かってない奴が
割り込みつかっちゃいけないよ

743:デフォルトの名無しさん
06/06/11 01:22:52
>>740

セマフォなどのリソースの獲得も問題なのでしょうか?

744:デフォルトの名無しさん
06/06/11 01:43:33
割り込み禁止なんて事は、どうしようもなかった時の方便で使うにトドメレッてことだろ。
つか、そもそも割り込み内でリソース扱うなw システムコールもするなw

745:デフォルトの名無しさん
06/06/11 03:22:53
セマフォの「獲得」は初期化時にやっとくのがふつうだね。
セマフォを使った排他制御自体は(長く止めないことが判ってれば)割り込み中でも可。

>>741 uart使うときの、リングバッファ中の滞留バイト数みたいな情報は割り込みの中と外
両方から更新する必要があるでしょ。これを割り込みの外から更新するときには割込み禁止
にする必要がある。LD、add、ST、の3命令だけの短時間だけ。

746:ビル・ジョブス
06/06/11 03:45:43
割り込み処理で使えるリソースは自分自身が管理しているデバイスとメモリ、
システムコールは許可されている物のみ。
割り込み禁止にする・しないは、割り込みレベルを抜きに語れないでしょ?
通常はより優先度の高い割り込みは入れるものかと。

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

747:デフォルトの名無しさん
06/06/11 04:15:31
送信側のringバッファは以前このスレで聞いてポインタだけに直せました。

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

10MHzオーバーのH8ならそんなオーバーヘッドは気にしないでよさそうですね。
H8/500シリーズは、メモリ++が1命令でできるのでだいじょうぶです。

748:デフォルトの名無しさん
06/06/11 05:14:11
少なくとも >>735>>739 には

エレベータ制御はやらせてはいけない


749:デフォルトの名無しさん
06/06/11 07:23:20
@itで組み込みベンダーの半分は海外に外注って書いてあったけど本当?

750:デフォルトの名無しさん
06/06/11 11:30:49
質問者は「割り込みハンドラのなかで~」と抽象的なことしか言ってないのに
特定の環境に引き寄せて回答してる奴ってのは頭おかしいのかね
自分のやってることが世界の全てだとでも思ってるのだろうかw

抽象的な質問には抽象的に答えるしかないだろうに。
具体的を出すなら「例えば」と前置きしろよ。
ま、具体的すぎる「些細な話」が一般的に万人にとって役立つとはとても思えないが。

751:デフォルトの名無しさん
06/06/11 11:33:26
OS使えよ。バカなんだから。

752:デフォルトの名無しさん
06/06/11 11:53:22
>>749
多分、本当。
でもって、仕様通りじゃないとか、糞過ぎて使えねえとか、その辺の経験を一通りクリアしたくらいの時期。

753:デフォルトの名無しさん
06/06/11 11:56:07
>>450必死だなw
素人は黙ってろ
組み込み系は専門知識が重要だから無知なやつが書いたらすぐ判るぞ

754:デフォルトの名無しさん
06/06/11 11:59:15
いつの話を蒸し返してるんだよお前わ

755:デフォルトの名無しさん
06/06/11 12:00:39
そのくらい粘着じゃないと、BUG取りはできないよな。

756:デフォルトの名無しさん
06/06/11 12:05:16
>>752 thx うちの会社は遅れてるのかな。
国内の外注は良くやるが海外の外注はないな。
実装がアウトソーシングされるとSEとQAしか会社に残らんのとちゃう?

757:デフォルトの名無しさん
06/06/11 12:08:59
>>756
固有デバイスに特化した知識なんていらないだろ?

758:デフォルトの名無しさん
06/06/11 13:13:18
>>575 特定デバイスに特化した知識がないとオープン系と変わらんぞ
組み込みlinuxなどのオープン系のOSが普通になると組み込み系の技術者はハードとソフトの両方の知識が入るドライバー周りだけしか残らないかもな
実際ソフト規模が増えて組み込み技術者不足らしいがオープン系から流入して来るんだろうな

759:デフォルトの名無しさん
06/06/11 13:20:32
>>758
おまい、わかってないな。
特定デバイスは特定デバイス専門でやてくれる所に投げればいいんだよ。
その方が、安いし速いし安全。

システム全体の寿命と、そのデバイスを採用し続ける寿命、どっちが長いと思ってんだ?

760:デフォルトの名無しさん
06/06/11 13:26:41
>>759話が噛み合わないな
ドメインが違う?
普段何開発してんだ?

761:デフォルトの名無しさん
06/06/11 19:58:37
今FPGA開発している。
ソフトと違うんで色々苦労するけど、興味深いものはあるな。

海外に外注というか、系列ソフト会社に外注して、その孫外注が在日の中国人で
日本語でコメント入れてくれてたんだけど、てにをはが壊れている以上だった。
今はインドとか開発依頼している。
日本に来てもらったりした時は、ベジタリアンとかだと食事の世話に困るんだよなあ。

762:デフォルトの名無しさん
06/06/12 18:41:56
普通に英語でコメントを書いてくれればいいんだけど、
現地語でかかれてなんじゃこりゃ?って経験はある。

763:デフォルトの名無しさん
06/06/13 07:34:08
香具師らも日本語のコメント見て
現地語でかかれてなんじゃこりゃ?って思ってるだろうな

764:727
06/06/13 12:48:47
>>732,>>733
ま、議論し尽くされたネタだし、版違いなんだろうが
オレ的には、どこまでいっても、オブジェクト指向と構造化プログラムは似て非なるものという認識なのだが
とくにCの場合は、旧処理を許しているから混同しがちだが
旧処理系でどんなにオブジェクト指向"風"にやってもそれはあくまで高度な構造化
それを広義に"オブジェクト指向技法"といってよいものかどうかは、現在の理論でどう解釈されているかはわからん
実際どーなのよ

765:デフォルトの名無しさん
06/06/13 19:08:05
NeXTSTEPとかみたいに、それ前提のシステムがあるが、
オブジェクト指向前提の言語でやらなきゃ真なるオブジェクト指向にはなり得ないという考えなのかな。

766:デフォルトの名無しさん
06/06/13 22:07:41
Cだろうとアセンブリ言語だろうとオブジェクト指向でコードは書ける。
単にオブジェクト指向言語は、非オブジェクト指向言語で、
オブジェクト指向を書くときに、明示的に書く処理を書かずに済むだけ。

767:デフォルトの名無しさん
06/06/13 22:55:57
>>766
でもそもそも「オブジェクト指向」の定義があいまいだからね。

構造体とメンバを操作する関数を一塊にして仮想的な「装置」と看做すこと
こそオブジェクト指向の本質だ、っていう見解の人もいれば(俺はこっちの立場)、
継承だの多態だのといった瑣末(だと俺は思うんだけど)な技術こそ本質だって人もいるから。


768:デフォルトの名無しさん
06/06/13 22:58:36
本当のオブジェクト指向なら、ポインタなんて使わねえだろうなぁ

769:デフォルトの名無しさん
06/06/13 23:54:26
そうだよ。「対象を目的地に移動させます」と書いておけば移動媒体のファームウェアが出来あがる。
こんな楽な事はない。


770:デフォルトの名無しさん
06/06/14 00:12:43
大体だな、オブジェクトというのは貧乏人が使うクロージャなんだってばよ。

771:デフォルトの名無しさん
06/06/14 00:18:49
>>769
識別子(ID)くらいは必要だろ。

772:デフォルトの名無しさん
06/06/14 00:48:46

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

オブジェクト指向。すばらしい。

773:デフォルトの名無しさん
06/06/14 00:50:47
そうだよなあ。
車.移動(自宅)
で移動してくれるわけだから、、、って話がずれてないか?


774:デフォルトの名無しさん
06/06/14 00:53:51
上流階級はオブジェクト指向なんかでプログラミングしない。
上流階級は関数型言語だ。

775:デフォルトの名無しさん
06/06/14 05:11:01
>>773
ハイヤーならそれでいいが
実際には免許を取得して
車を購入して
ちゃんとメンテナンスして。。。

あ、でも免許も車も再利用できるわけで。。。

776:デフォルトの名無しさん
06/06/14 10:43:48
エレベータ.潰す(人)

だれだこんなコード書いた香具師は


777:デフォルトの名無しさん
06/06/14 12:37:22
>>776
マ板へいけ

バグ被害スレとか、エレベータスレとか建ってるぞw

778:デフォルトの名無しさん
06/06/14 22:40:29
>>774
一方ロシア人は天才を育てた

779:727
06/06/15 14:46:22
その昔あるとき、Cでオブジェクト指向風に、非常に構造化して書いて悦に入っていたのよ>オレ
その後それをC++でリメイクする機会があった
そうしたら、えらくシームレスに書き直しができたのね
で、だけじゃなくコード量が減ったですよ、なるほどと思いながら、気が付いたのが、
オブジェクト指向言語の求めるものを処理系が用意するところを、グラマーが負担していただけのこと
また、オブジェクト指向が求めるものは、格好じゃなく
安全性や可視性の面で有利な点があるよね
それらをグラマーが負担していたら、格好はオブジェクト指向的かもしれんが
大きく違うんじゃないだろうか

まるで、船と飛行船みたいなもの
同じように海の上を走るから同じジャンといったら、それは違う
「継承だの多態だのといった瑣末」という意見があったけど
結構、「瑣末」の部分が、その本質的な要求を満たすのに必要なものじゃないだろうかと


780:デフォルトの名無しさん
06/06/15 15:27:46
>>778
ロシアはエスパーを極秘で育ててるんだろ?エスパーいれば天才いらないじゃん。

781:デフォルトの名無しさん
06/06/15 17:20:23
>>779
成る程そういうことならハゲ同。

>>780
なぜ “極秘” で育てている事を知っているんだ。

782:デフォルトの名無しさん
06/06/15 17:27:49
>>781
>>780もエスパーなのさ!
質問スレで大活躍!!!

783:デフォルトの名無しさん
06/06/15 17:45:41
>>781
極秘っていうのは、極めて秘密にしたいことというだけで、情報が外に漏れないことを保障するわけではないからね。

784:デフォルトの名無しさん
06/06/16 03:08:10
必ず殺す技

と書いて必殺技だが、大抵はガード可能

785:625
06/06/21 18:04:39
gccだとこんな感じでかけるみたい。
void
stack_change(char **old_ptr,char **new_ptr)
{
register char *stack_ptr asm("sp");
  *old_ptr = stack_ptr;
  stack_ptr = *new_ptr;
  asm ("":"=r"(stack_ptr):"r"(new_ptr));//おまじない
}


786:デフォルトの名無しさん
06/06/21 18:37:49
>>785
だからそれ、アセンブラだよな。

787:デフォルトの名無しさん
06/06/21 18:42:58
だからそれ?

788:デフォルトの名無しさん
06/06/21 18:47:08
だがそれがいい。

789:625
06/06/24 13:07:57
H8だと
  asm ("":"=r"(stack_ptr):"r"(new_ptr):"r4","r5","r6");//おまじない
にすると、関数の入り口と出口でレジスタの退避、復帰のコードを追加してくれます。

790:デフォルトの名無しさん
06/06/24 15:41:55
だからそれ、インラインアセンブラであってCじゃないよな。

791:デフォルトの名無しさん
06/06/24 16:26:40
インラインアセンブラってなに?定義を教えて

792:デフォルトの名無しさん
06/06/24 17:55:52
ググレカス

793:デフォルトの名無しさん
06/06/24 18:04:19
おまえの定義を知りたいんだよ。

794:≠792
06/06/24 18:06:51
Cプログラム内に埋め込んだアセンブラじゃないの?

795:デフォルトの名無しさん
06/06/25 04:53:43
#pragma function=interrupt の後に書くか、interrupt void func(void) { で書くのとどう違うの?

796:デフォルトの名無しさん
06/06/25 05:06:21
__attribute__ ((interrupt("FIQ"))) void func(void) {}
もよろしくネ

797:デフォルトの名無しさん
06/06/25 11:47:28
コンパイラは何?マイコンは何?796はgcc?

798:795
06/06/26 04:50:09
私のはライフボートのコンパイラ。>>795のように書けば「その関数内で壊すレジスタだけ」
退避・復元してくれます。

799:デフォルトの名無しさん
06/06/26 12:10:31
なんだ、マニュアル持ってるんだ。

800:デフォルトの名無しさん
06/06/26 22:27:03
>798
ライフボートのコンパイラって、懐かしいね。
今のライフボートとは違う会社らしいけどね。

801:795
06/06/27 04:49:11
買った当時はソフトボートだったかな。途中で「あれ?会社無くなった!」とか思ってあせったり。
95-->98まではドングル認識したけど、2000以降はドングル認識しなくなった。
しょうがなくて今でも98のパソコンを保存してます。
コードはルネサスのよりちょっとかしこいのを吐くみたいです。

802:名無し募集中。。。
06/06/27 08:30:28
WATCOMだっけ?

803:デフォルトの名無しさん
06/06/27 12:15:08
俺はIARのICC/H8を使ってた。

804:795
06/06/28 04:57:53
インストしたフォルダは私のもIARですね。8bit系にはインラインアセンブラ機能が無かった。
その後買った16bit系はどうだったかな・・・ベクタもcでかけるしsfr定義が使えてbit操作も
sfrxx.BITx=1;とかの書式をサポートしてくれてたから、インラインASMの必要感じなかった。

805:デフォルトの名無しさん
06/06/28 06:29:20
IARのbit変数はH8だと使い勝手がとてもよかった。

806:178
06/06/30 05:31:39
激亀ですが、>>185でご紹介いただいた、URLリンク(aitendo.ocnk.net) を買いました。
(お客さんに買っていただいたのですが) 以下インプレです。

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

こんなところです。まあ、必要最低限の機能で、場所をとらないし、値段からいって満足です。

807:_
06/07/04 18:25:41
RS232CっていうのはTCP/IPの世界で言う「キャプチャ」みたいなことは出来るの?
UNIXから特定の命令を任意に送り込みたいんだが。
一方的に命令を送るUDPみたいな概念はあるの?


808:デフォルトの名無しさん
06/07/04 18:32:07
NIFTY-SERVEのパスワードを忘れてしまったときに
232Cから信号を横取りして別のPCで表示したことがある
激しくチラ裏だけどね

809:デフォルトの名無しさん
06/07/04 18:55:16
>>807
レベルが違う。RS232Cと比べるんだったらイーサネットじゃなきゃ
RS232CでもTCP/IP出来るんだから。
RS232Cで外付けモデムでPPP接続ってのがRS232CでTCP/IPやってるってこと。
でもってRS232Cってのは1バイト単位の送受信だから後は上位でやってねってこと。


810:デフォルトの名無しさん
06/07/04 21:54:20
>>809
多分その人レイヤーの違いは認識していると思う
>>808みたいな芸当が出来るのかどうかってことを質問しているんだと思う。
ってわけで出来る。
つーか、RS232Cにもフロー制御の概念はあるしな。


811:デフォルトの名無しさん
06/07/04 23:44:21
制御カウンタの用途について知りたいです

812:デフォルトの名無しさん
06/07/05 12:01:48
「制御カウンタ」ってなに?

813:デフォルトの名無しさん
06/07/05 12:42:17
>>807
何がしたいのか良くわからんぞ。
tcpdumpみたいなことをしたければ、外にプロトコルアナライザーをつければ、どんなデータをやり取りしているかわかるぞ。

PPPとか使っている場合は見ただけではわからないがEtherReal動かせばPPPを表示してくれるぞ。

814:デフォルトの名無しさん
06/07/05 13:00:38
Win98まではWintipってフリーソフトをPCで起動しておけばRS-232Cをモニタしてくれて便利だったけど。
XPでもソフトオンリーで起動するだけでCOMをモニタしてくれるフリーソフトってある?

815:デフォルトの名無しさん
06/07/05 13:58:34
htermじゃだめ? あ、受信しかモニタできないか。自分がI/Oしないでcomをモニタしたいのね。
そういうのがあれば私も知りたい。

入力から変換するのにscanf系は良くないって話を以前ここで見たのですが、なぜですか?
私は頭~尻尾までメモリに溜めて、sscanfで変換、てのはよくやります。

816:デフォルトの名無しさん
06/07/05 14:13:54
URLリンク(www.sysinternals.com)

817:デフォルトの名無しさん
06/07/05 19:38:26
>>815
想定外のデータが入力されている可能性があるから。

818:デフォルトの名無しさん
06/07/05 21:17:53
こういうのを使えば付属のWINDOWSアプリから任意の文字列を表示できるんだろうけど、
UNIXからやるにはどうすりゃいいんだろ。
URLリンク(akizukidenshi.com)

専用アプリのやりとりをモニタできれば可能だろうか。

819:デフォルトの名無しさん
06/07/05 21:24:28
ここにまんま書いてありますが。
URLリンク(www.humblesoft.com)

820:デフォルトの名無しさん
06/07/05 22:33:27
すいません。くだらない質問ですが具具ってもよくわからなかったので教えてください。

制御系とかシステム系とか汎用系とかの言葉の意味がわかりません。
お願いします。

821:デフォルトの名無しさん
06/07/06 03:54:23
URLリンク(www.akizukidenshi.com)

822:デフォルトの名無しさん
06/07/06 04:34:51
制御系≒組み込み系・・・いわゆるマイコン=マイクロプロセッサーに専用の制御をやらせる。
専用とは、通信機(PHS、ケータイ)、洗濯機、炊飯器、エレベーターなど、さまざまな機器の制御。

システム系・汎用系・・・いわゆるメインフレームと呼ばれる「汎用機」で実行するアプリケーション。
JRやヒコーキの予約システム、給与計算など事務系の業務、スパコンでやるほどでもない小型の
科学技術計算など。   ・・・だいたいこんな認識でいいかとおもう

823:デフォルトの名無しさん
06/07/06 06:21:32
制御系はcontrol systemの意味もあるだろ
本当に制御系というか制御システムというか制御理論というか
制御対象と制御器があって、数学モデル化した要素を繋いでブロック図などで扱うヤシ

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

詳しくは制御工学の本で
システム工学とは違うこともあるから気をつけれ

824:820
06/07/06 12:07:46
>>822,823
ありがとうございました。参考になります。

825:815
06/07/06 15:55:52
>>817 ありがと。そしたら、特定のアプリで使う通信文で「このフィールドはこの形式」とか
決まってる場合には使っても問題なさそうですね。変換できたかどうかの結果も返るし。

826:デフォルトの名無しさん
06/07/07 01:40:11
>>825
絶対にエラーしないなら

827:815
06/07/07 05:08:18
scanfのエラーって、例えば数値のはずのフィールドを変換して、変換できれば変換済み個数が
1増えて返されるし、変換できなければ0のままですよね。あと、CR,LFは空白文字の仲間だから
「行を越えて探しにゆく」可能性かな。こっちは行末の後にnullキャラ付加してから変換かけてる。
このぐらいのとこ押さえとけばいいと思うのですが、関数仕様にないような動作するとかが
あるのですか?

828:デフォルトの名無しさん
06/07/07 05:44:58
大丈夫、sscanf()を使いこなせない香具師が暴れているだけだから。
戻り値をちゃんと見ることと、フォーマットの空白の意味と、%[...]と%nが使えれば問題ないだろ。

829:デフォルトの名無しさん
06/07/07 08:38:36
>>815
printf,scanf系はリエントラントで無い場合があるから
リアルタイムO/Sを使う場合や割り込みハンドラの中で使う場合は要注意



830:デフォルトの名無しさん
06/07/08 02:00:10
>>827-828
違う、通信文なんだろ?
エラーデータが入ってこないことを低位層で保障されてるなら


831:815
06/07/08 05:42:44
>printf,scanf系はリエントラントで無い場合があるから
あ、それは理解してます。非タスクコンテキストでは使いません。実数変換もしません。

K&Rなんかだとあんまり親切に書かれてなくてよく分からない点です:
n=sscanf(buf,"ABC%d,%d,%x",&dec1,&dec2,&hex1); とか、複数の変換を書いたとき、
頭のABCや間のコンマは、「その文字を探して次の位置から」変換してくれるのですか?
(つまり%何とかじゃないstringはstrstr()でそれを探してその次の位置から%変換になるか?)
それが確認できなくて、1項目ずつ探して変換してたりします。

832:デフォルトの名無しさん
06/07/08 09:59:55
>>831
たまたま入力でその文字が存在していたら読み飛ばす。
%d,%d というフォーマットに対して 3,5 はそれぞれ3と5が変換されるが、
3a,5 では3の変換だけで終了してしまう。

833:デフォルトの名無しさん
06/07/08 10:07:15
よくわからんがフォーマット文字列を左から普通にスキャンじゃだめなん?
va_listつかった事ない?

834:デフォルトの名無しさん
06/07/08 10:10:02
あーそうそう、読み飛ばしには%*[A-Z]などを使うと便利かも知れず。

835:デフォルトの名無しさん
06/07/08 11:37:47
>>831
K&Rはリファレンスじゃないので細かい点を期待してもだめでしょ。
リファレンス本とか、コンパイラ付属のマニュアルとか、manとか、
規格票とかを読んでね。

ところでscanfでなくてsscanfを嫌う理由ってあったっけ?

836:デフォルトの名無しさん
06/07/08 11:49:21
>>835
>>828

837:831
06/07/08 12:39:18
>>835 標準入力じゃないuartから読み込んだ行に対して変換かけるからです。

838:デフォルトの名無しさん
06/07/08 15:20:18
データ形式が決まってるなら普通にパースすればいいのに

839:デフォルトの名無しさん
06/07/09 09:16:03
LQ法、ILQ法について、100字以上200字以内で簡潔に述べよ。
いや、述べて下さい。
お願いします。


840:デフォルトの名無しさん
06/07/09 09:56:14
お前の態度が心底気に入らない

841:デフォルトの名無しさん
06/07/10 14:46:48
そんなお前はいらない。

842:デフォルトの名無しさん
06/07/10 15:23:44
そういうお前もいらない。

843:デフォルトの名無しさん
06/07/10 15:44:57
そして誰もいなくなったとさ

844:デフォルトの名無しさん
06/07/10 15:56:35
強者が弱者を助けるのは義務なのか。
老人と新人エンジニアについて論ぜよ。(20点)

845:デフォルトの名無しさん
06/07/10 16:16:11
団塊の
世代の定年
近い今
チャンス到来
だぜニートどもよ?

短歌にしてみました。20点はいただきだな。

846:デフォルトの名無しさん
06/07/10 18:22:18
団塊のジジイどもよりも、腐れニートの方がまだ能力的に上だと思うんだけど。

847:デフォルトの名無しさん
06/07/10 18:32:37
ニートは潜在的脅威者の排除から生じたと思う

848:デフォルトの名無しさん
06/07/10 22:36:50
ニートはただのフリーターではなく働く意思の無い者だろ。
「働く意思がある」というのは社会人にとって最も重要な能力だ。
その能力の欠如している者が、「まだ能力的に上」とは思えない。

849:デフォルトの名無しさん
06/07/10 22:40:23
働く必要がないから働かないだけでは?

850:デフォルトの名無しさん
06/07/10 22:58:36
能力云々より基本的なコミュニケーションスキルがない人間は
雇ってもらえませんが何か

851:デフォルトの名無しさん
06/07/10 23:31:13
>>849
必ずしも働く必要は無いかもね。
能力を辞書で引くと
 のうりょく 【能力】
 (1)物事を成し遂げることのできる力。
 「―の限界を超える」「月産一〇〇〇台の―をもつ工場」
 (2)法律上、ある事柄に関して当事者として要求される資格。
であって、>>846の文意からするとこの場合の能力とは(1)だろうから、
何かを成し遂げれば少なくともそのための能力はあったということ。
何も成し遂げないで「俺は能力がある」なんて言ってる奴は、そんな
もの能力でもなんでもない。
ニートでも難しいテレビゲームをクリアしたなら、「そのゲームをクリア
する能力があった」ってことだろう。このスレで話題にすべき能力があ
るかどうかは分からんが。

852:デフォルトの名無しさん
06/07/11 00:46:22
ここは一体なんのスレなんだよwww

853:デフォルトの名無しさん
06/07/12 00:03:11
ニート議論スレ。

854:radio star
06/07/12 18:08:57
状態フィードバック制御と
オブザーバの併合システムを考える場合、
両方に極あるんだがこれはどう考えればいいわけ?

855:独立配置
06/07/12 22:20:09
オブザーバの分離定理

856:あばよ
06/07/13 07:35:31
状態フィードバック制御則から
そのtおきの状態方程式なんてどうやってだすの?

googleもyahooも全然ひっかからねえ

857:独立配置
06/07/14 18:39:36
残酷な天使のニート。
少年よニートになれ。

858:デフォルトの名無しさん
06/07/15 03:38:29
テクニカルエンジニア(エンデベ)ってどうなん?
ETECとか出てるけど

859:デフォルトの名無しさん
06/07/15 21:51:39
一般でよく売ってるRS232Cで繋ぐ電光掲示板って漢字フォントとか入っているんだね。
TERATERMでキーボードからそのまんまASAHIって打ったら、まんまASAHIと表示された。
俺てっきりドットレベルの指定からやらなきゃいけないと思ってた。


860:デフォルトの名無しさん
06/07/15 22:30:59
ああん それ漢字ちゃう

861:デフォルトの名無しさん
06/07/15 22:40:48
>>858
たったそれだけで、一体どんなレスを期待してるんだ?

862:デフォルトの名無しさん
06/07/16 05:00:34
>>861
漢字フォントじゃないけど、最低限アスキーくらいは入ってますよということじゃない?
文字コードはなんだろうね。Windowsで使う人のほうが多いからSJISかね?

863:デフォルトの名無しさん
06/07/16 12:29:34
SJISの方がシフトIN、シフトOUTしなくていいから、楽。

ならUNICODE使えって? まあ、それはねえw

864:デフォルトの名無しさん
06/07/16 12:50:26
TERATERMでCOM1に繋いでASAHIってタイプするだけで画面にASAHIって表示するなら、
漢字コードさえわかっていればどうやったら出力できるんだろう。
バイナリエディタで漢字コードを書き並べてそのファイルを「送信」すればいいのかな。

865:デフォルトの名無しさん
06/07/16 13:15:57
teraterm なら SJIS/JIS/EUCで文字コードは切り替えられるから試すのに苦労はないでしょ

866:デフォルトの名無しさん
06/07/17 21:39:14
初心者向けにラダープログラミングを解析してるサイトご存じないですか?

867:デフォルトの名無しさん
06/07/19 09:46:35
>>858
所詮資格です
取ったからって突然何でもできるようになる訳ではありません

868:デフォルトの名無しさん
06/07/19 13:32:37
>>867
いえ、検定です。資格ですらありません。

869:age
06/07/25 23:52:38
interface 8gatsu go

870:デフォルトの名無しさん
06/07/29 20:24:05
ここはPLCの話もOKですかね?

871:デフォルトの名無しさん
06/07/29 21:58:46
言語とか環境の縛りはないから別にいいんじゃない?
漏れは相手できないけどさ

872:名無し募集中。。。
06/07/30 19:05:20
PLCは中規模以上はOMRON全盛な雰囲気の会社にいる
次に多いのは三菱PLCとか小規模だとキーエンスかな
他はどうなのかな?横河とか触ったこと無いんだけど

873:デフォルトの名無しさん
06/07/30 19:28:07
うちは三菱全盛みたいだが直接扱ってないのでよくわからん

874:デフォルトの名無しさん
06/07/30 20:27:39
うちは三菱か横河、サーボメインのシステムなら安川
昔は三菱一色だったらしいがQシリーズの初期版が腐ってたので横河も使うようになったらしい。
俺は三菱と横河なら分かるがどっちかっつーと横河の方がいいかね
ま、構造化ラダーなる似非構造化言語はどうかと思うんだが

875:sage
06/08/01 03:40:18
H2制御とはどのようなものなのですか?

論文発表まで2週間しかし知識ゼロ。
皆さん助けて下さい。

876:デフォルトの名無しさん
06/08/02 23:30:12
とりあえず発表会で教授に怒られてから出直して来い

877:デフォルトの名無しさん
06/08/03 02:20:40
論文を発表するんだろ?
論文が出来なきゃ発表できないんだから
発表会に出る資格無いから 発表会で怒られる ということは
ありえないんじゃないか?

878:デフォルトの名無しさん
06/08/03 05:35:55
論文発表するには論文を投稿しなければならないわけだが、1ヶ月前には投稿してないと発表もできない。
しかし、>>875は2週間前なのに投稿もできてない(何も分かってない)。
つまり>>875の論文発表といういわゆる論文発表ではなく内輪の発表会なんだよ。

879:デフォルトの名無しさん
06/08/04 05:01:30
875です。
就職が決まらず院で留年し来春
就職活動しようと考えてましたが、留年が決定
したところに内定をもらいました。

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

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

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

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

助けてください。

880:デフォルトの名無しさん
06/08/04 13:25:07
半留といわずに全留しようぜ

881:デフォルトの名無しさん
06/08/04 18:58:09
っていうか、どうせネタだと思うけどこのスレで聞いたって無理だよ。
ここは制御系のスレであって制御理論のスレじゃないんでw

いわゆる制御系の人の大半は、俺もそうだけど制御理論なんてぜ~んぜん知りません。

882:デフォルトの名無しさん
06/08/04 20:11:28
大半が知らないというのは関係無いですよ
わかる人が答えればいいだけなのに
なぜ黙ってられないんですか。

883:デフォルトの名無しさん
06/08/04 20:16:14
安定性を知らないと突然あばれて怪我するぞ。

884:デフォルトの名無しさん
06/08/05 10:28:42
875です。
ネタであってくれたらどれだけ楽か・・

どなたかH2制御わかる方いませんか?

885:デフォルトの名無しさん
06/08/05 12:33:04
ム板じゃそんなネタに構う奴いないからマ板に行け
マ板でも駄目だったらVIPのクオリティに期待するしかない

886:デフォルトの名無しさん
06/08/05 13:56:41
スマン。 本は何冊か買ったが理解出来んかった。--> H∞以後

まあ俺様方式でも、ちゃんと安定して動いてるから、まあいいや。

887:デフォルトの名無しさん
06/08/05 21:09:32
>>884 機械工学とかの板にいったほうがいいよとマジレスしてみる。

888:デフォルトの名無しさん
06/08/06 22:23:39
一応最適制御関連ということで。

微分ゲームの解き方をどなたか知ってませんかね?
URLリンク(www.kyowa-u.ac.jp)
とかあるのは知っていますが、簡単な問題例の解き方が
あると嬉しいです。ソースがあればなお良し。

889:デフォルトの名無しさん
06/08/06 23:40:16
宿題はよそでやれ

890:デフォルトの名無しさん
06/08/07 00:44:14
わかる人が答えればいいだけなのに
なぜ黙ってられないんですか。

891:デフォルトの名無しさん
06/08/07 02:22:19
黙っていれば馬鹿が書き込む。
馬鹿が書き込めばスレが荒れる。
スレが荒れると自分が迷惑する。

単純な理屈だろ。

892:デフォルトの名無しさん
06/08/08 00:38:55
いずれにしても>>889-みたいな流れになるから
何をしようがしまいがどうということはない
それが2ちゃんねるクオリティ

893:デフォルトの名無しさん
06/08/12 15:23:47
草枕の書き出しのとこみたいだ

894:デフォルトの名無しさん
06/08/12 22:13:11
諸行無常の響きあり だっけ?

895:デフォルトの名無しさん
06/08/12 23:05:27
漱石が琵琶の弾き語りでもするのか?

智に働けば角が立つ。

ってやつだろ

896:デフォルトの名無しさん
06/08/13 08:39:26
智ちゃんはアルバイトに向いてない って意味だっけか。
元気はあっていいんだけどね。

897:デフォルトの名無しさん
06/08/17 06:22:13
参考用に見せてもらったコードのコメントに、/* 10mS待てやゴラァ */
・・・orz お前、2ch語でコメントを書くなよ

898:デフォルトの名無しさん
06/08/17 12:17:43
>>897
げきわら

899:デフォルトの名無しさん
06/08/17 18:49:21
ゴラァなんて2ch語でもなんでもねぇよ

900:デフォルトの名無しさん
06/08/17 21:30:44
ゴラァじゃないとね。

901:デフォルトの名無しさん
06/08/18 06:26:38
いやこのごろ生活板なんかゴラァでスレタイがついてたりするんですよ。昔ならゴルァだったのに

902:デフォルトの名無しさん
06/08/18 15:44:50
男性が使うとゴルァで、女性が使うとゴラァなのだそうだ。
最近知った。

903:デフォルトの名無しさん
06/08/18 16:42:15
「漏れ」って女性語?

904:デフォルトの名無しさん
06/08/19 14:42:15
失礼します。RTOSの勉強中をしています。
お手上げ状態になったので、手がかりだけでも掴めればと・・。

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

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

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

よろしくお願いいたします。

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

とりあえずどっちなのか調べろ

906:904
06/08/19 16:28:37
>>905
レスありがとうございます。

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

割り込みルーチン内で設定しなおさなければいけないものが
あるのでしょうか。んん~。

907:デフォルトの名無しさん
06/08/19 16:44:14
Cのソースはさらせないの?

908:904
06/08/19 17:54:02
>>907
ソースを一部upしてみました。
(ちなみにInterface誌8月号のSH2基板で学ぶ~のNORTiの
サンプルに少し手を加えたものです。)
割り込みが起きるタスクはDmaTask、
割り込みサービスルーチンはint_dei0です。

URLリンク(www.vipper.org)
FileNo:316283
Pass:904

909:デフォルトの名無しさん
06/08/19 18:26:37
int_dei0でdmaの割り込みを禁止してないから、dmaの割り込みがかかりっぱなしとか?

910:904
06/08/19 18:42:29
>>909
割り込みがかかりっぱなしかぁ、、、
すぐに修正できるような腕じゃないんで、
そのあたりをもう少し勉強してやってみます。
Cも組み込み系もRTOSも初心者なので、四苦八苦です~@@

911:904
06/08/19 18:53:25
>>909
あ、お礼言うの忘れてました。ありがとうございました。

912:デフォルトの名無しさん
06/08/19 19:23:31
int_dei0でDMAC_CHCR0のIE=1(割り込みあり)をクリアするだけだと思うけど。

913:904
06/08/19 21:29:56
>>912
ぅぉおお、動きました~><
ここで2日間くらい悩んでました。
出来るだけ早くお世話にならなくて良いように精進します!
本当にありがとうございました!

914:904
06/08/19 21:33:59
ずっとJAVAやってきた自分。レジスタの世界は奥が深いやぁ。

915:デフォルトの名無しさん
06/08/19 23:19:43
>>914
S/W的なフラグのクリアと何が違うというのか(ry

916:デフォルトの名無しさん
06/08/20 00:32:38
ですね。904です。
最初に割り込み禁止にすればいいと指摘いただいた時は
割り込みマスクか?とかもう一度SH2とNORTiのdoc読んでました。
2回目の指摘で目から鱗。まだまだ勉強が足りません。

JavaはAPIの中で泳いでるイメージで、
特にWeb系しかやってなかったってこともあるかもしれないけど、
01やら信号やらクロックなんてものは一切意識したことなかったんですよ。
今更ながらですが感銘を受けながら、再勉強してます。
では、このへんでROMります。

917:デフォルトの名無しさん
06/08/20 05:34:29
日立のチップはたいていその思想で作られてるよ。DMAだけじゃなく、タイマもuartも。
「割り込んだら割り込み要因をまずクリヤする」。これから日立の石ずっと触るのなら
割り込み処理の頭にはとりあえず割り込み要因クリヤ。これもバイトの0を書き込むのじゃ
なく、レジスタを読んでそのbitだけクリヤして書き込むように。sfr_clr(PORTx,0x80);とかね。

918:デフォルトの名無しさん
06/08/21 21:30:40
処で喪前様方、TSEEはどうですよ。

919:デフォルトの名無しさん
06/08/28 14:56:59
質問です。
インラインアセンブラを使用して汎用レジスタの値を判定したいのですが、
どうしたらいいのでしょうか?
環境はHEW、CPUはM8S2378です。お願いします。



920:デフォルトの名無しさん
06/08/28 16:02:10
>>919
アセンブラで組んだライブラリを呼ぶんじゃダメなの?

921:919
06/08/28 16:38:44
920>>
Cで使えるならOKです。


922:デフォルトの名無しさん
06/08/28 16:52:52
>>919
このスレに偶然その環境に詳しい香具師がいれば別だけど、恐らく自分で調べる以外にないと思うよ。
インラインアセンブラの記述方法は実装系に依存するし。
#処で、汎用レジスタの値は判定したいときに保障されているのだろうか。例えばx86で言うeaxは殆ど保障されないわけだが。

923:デフォルトの名無しさん
06/08/28 17:20:36
汎用レジスタの値を判定とは?何をやりたいの?

924:919
06/08/28 18:16:13
922>>
>#処で、汎用レジスタの値は判定したいときに保障されているのだろうか。例えばx86で言うeaxは殆ど保障されないわけだが。
○ネサスさんのマニュアルに書いてある通りに作成しているのですが、もしそうだとしたら最悪です。

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






925:デフォルトの名無しさん
06/08/28 18:19:34
汎用レジスタの値を読み出すなら簡単やん・・

926:919
06/08/28 23:06:03
925>>
読み出した値をプログラム上で判定したいのですが、簡単にできるのでしょうか?


927:デフォルトの名無しさん
06/08/28 23:25:45
判定って何だ?
定数と比較するってこと?

928:919
06/08/28 23:39:42
927>>そうです。具体的に言うと、
汎用レジスタの下位1バイトが0以外のときエラー処理を返したいのです。
環境上、アセンブラ内でしかいじれないので、C上に引っ張り出す方法を知りたいのです


929:デフォルトの名無しさん
06/08/29 00:05:01
>>928
だから>920でいいべさ。
まさか、アセンブラも用意されていないわけじゃあるまい。
#もしそうならそうで、Cで単純な関数を作ってコンパイルし、バイナリパッチ当てるとかw

930:デフォルトの名無しさん
06/08/29 00:20:11
Cの関数の戻り値をアセンブラで書くとどうなるのか分らない無能なんだからほっておけ!

931:デフォルトの名無しさん
06/08/29 01:00:13
>>928
>環境上、アセンブラ内でしかいじれないので、
なにがアセンブラ内でしかいじれない?
アセンブラ内で判定して、その結果をCでみたい?


932:デフォルトの名無しさん
06/08/29 02:06:37
汎用IOレジスタと汎用レジスタの区別がついてない悪寒

933:デフォルトの名無しさん
06/08/29 06:52:08
>>919
M8S2378 ってのを知らない。 旧三菱系なのかな?
H8S2378なら旧日立の100pinCPUなんだけどさ

934:デフォルトの名無しさん
06/08/29 07:49:32
>>933
スレリンク(tech板:255番)

935:デフォルトの名無しさん
06/08/29 08:00:06
【初心者歓迎】C/C++室 Ver.30【環境依存OK】
スレリンク(tech板)
251 名前:デフォルトの名無しさん 投稿日:2006/08/28(月) 23:26:30
質問です。
汎用レジスタ(ER0)の値をプログラムで判定したいのですが、
アセンブラ内でしかER0をいじれません。
C上で動かすにはどうしたらいいのでしょうか?
環境はHEW、CPUはH8Sです。お願いします。

これか.....このレベルだと説明する方も疲れるというか説明はムリだろな。

936:デフォルトの名無しさん
06/08/29 08:08:36
まじれすすると、 ER0を返すアセンブラ関数は
_getER0:
RTS

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

もっとも、もっと手前で大きな勘違いがあるに違いない
・・・・・肝心の品番さえ間違うようだと・・・・こんな奴とだけはって奴だな

937:デフォルトの名無しさん
06/08/30 23:39:17
#pragma inline_asm を使えばいい。
コンパイルオプション code=asmcodeを忘れないこと。
コンパイラのユーザーズマニュアル書いてますよ。
マジレスかこわるかった?

938:デフォルトの名無しさん
06/08/31 04:32:34
でも、それ使うと、debug情報とか何かの機能に制限が加わるんだったような・・・

939:デフォルトの名無しさん
06/08/31 05:49:11
なにか問題でも?

940:デフォルトの名無しさん
06/09/01 03:02:33
sh7709を、内部clk132.7MHzで使っています。何ステート毎にポート反転というコードを
走らせてみると、そのステート数より3割ほど多く時間がかかります。OSなし、割り込みなし
の状態で、です。コードはSDRAMに置いて実行させてます。どんなことが考えられますか?

941:デフォルトの名無しさん
06/09/01 07:50:48
ステート数はソフトエミュレータで求めたんでしょ?
それと違うって事は、ポートの出力にディレイがかかってるのでは?


942:デフォルトの名無しさん
06/09/01 08:26:53
>>940
ステート数ってキャッシュのヒット率やパイプラインの状態にも
影響を受けるんじゃない。

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



943:デフォルトの名無しさん
06/09/01 10:01:51
SDRAM?

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


キャッシュのなかにコードを放り込んで実行してみれば、計算通りに
なるんじゃない?

945:デフォルトの名無しさん
06/09/01 23:56:18
>>940
3クロックで動いてるはずのところへ一回WAITが入って4クロックで動いてるとかいうおちではないか


946:940
06/09/02 07:36:48
ハード屋さんに聞くと、SDRAMはノーウェイトだそうです。あとレイテンシというのもあるらしい。
遅い件はその後の情報で、コードはキャッシュ可の空間にあったが、スタックがキャッシュ不可
空間にあったことが判ったそうです。それを正したら期待通りになりました。お騒がせすいません。

この際だがら、レイテンシというものについて教えてくださいませ。

947:940
06/09/02 07:37:36
連投すいません。SRAMとDRAMは知ってるのですが、SDRAMってどんなのでしょうか。

948:デフォルトの名無しさん
06/09/02 10:04:43
レイテンシというのはその演算が実際に完了するまでのサイクル数の事を指す場合が多い。

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


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


SDRAMはDRAMの一種で、詳しい事はgoogleさんに聞きなさい

949:940
06/09/02 17:18:52
SDRAMがシンクロナイズドスイミングなDRAMのようだということはわかりました。
そのクロックも100Mとか133Mとか、SHの内部CLKと近い値が設定できるらしいので、
命令フェッチのタイミングが同期しやすそう、と想像できます。ありがとうございます。

950:デフォルトの名無しさん
06/09/02 21:40:41
>>947
連続データを参照する頻度が大きいとき有効

951:940
06/09/03 02:53:41
>レイテンシ コンパイラの吐くコード見ると、JSR命令の次が引数をpushする命令になってたり
メモリを参照するMOV命令の次はレジスタ間演算になってたりしますね。
こういうのが>>948さんの説明みたいな例ですね。

952:デフォルトの名無しさん
06/09/11 10:46:43
ヘタレプログラマなんですが、質問させてください。

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

どなたか解決策を知ってる方おられましたら教えてください。


953:デフォルトの名無しさん
06/09/11 13:15:48
PECRL?

954:デフォルトの名無しさん
06/09/12 04:52:38
>>952 初期化したあと、TX/RX機能をイネーブルにするまでに、使うビットレートでの1bit分
の時間をおく、っていうルールは守っていますか?(ex:4800bpsなら208μぐらい)
(守らない時、3のような動作をしたという体験は私はしていませんが。)

955:デフォルトの名無しさん
06/09/12 09:08:40
>>953さん
やっちまった感じです。もろにそこでしたorz

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

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

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

お二方とも、アドバイス有難う御座いました。

956:デフォルトの名無しさん
06/09/12 12:15:56
コメントが間違ってるような? PA4->PE4?

957:955
06/09/12 14:02:52
そ、、そこはご愛嬌で・・・・
コピペコピペしてるから単純なミスの罠におちいり易いんでしょうなorz

958:デフォルトの名無しさん
06/09/12 15:41:05
スレ違いかもしらんが、低レベル制御屋の俺が困ってるんで教えてください。
機能の一部でAIボードで4-20mAでアナログ値を入力するんだが、仕様書に

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



デッドバンドとかF.Sとかって何れすか


959:デフォルトの名無しさん
06/09/12 16:48:34
デッドバンド不感帯
F.S フルスケール

デッドバンド処理って具体的になにをやるのかは?

960:デフォルトの名無しさん
06/09/13 08:20:34
4-20で4mAの不感帯って大きいな 2%なんだろうな

つまり一旦採用した値±2%の範囲の差では更新しないという処理なんだろう


961:デフォルトの名無しさん
06/09/13 11:44:07
デッドバンド=遊び
でよい?

962:デフォルトの名無しさん
06/09/13 14:16:56
他から誘導されてきました……。

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

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

お分かりになられる方が居ましたら教えてください……。


963:デフォルトの名無しさん
06/09/13 14:29:55
URLリンク(www.borland.com)

964:デフォルトの名無しさん
06/09/13 14:45:29
ROM化するにはロケータが必要ですね。
Link & LocateやParadigm LOCATEなんかが有名だったけど今でもあるのかなぁ

965:デフォルトの名無しさん
06/09/13 15:35:03
ちょっとしたことならバイナリーエディターでゴニョゴニョしちゃうとか

966:デフォルトの名無しさん
06/09/13 16:29:22
>>963
URLリンク(www.borland.com)が503で開けません……。
うちの環境が悪いんでしょうかねぇ……。

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

>>965
バイナリコードはZ80止まりです(^-^;
86系はさっぱり……。
判るのであればROMパッチとかできるんでしょうけどねぇ……。

967:デフォルトの名無しさん
06/09/13 16:52:52
開けないとは?
Borland C++ 2005 Suiteとして望みのものは売ってるみたいだから、
買えるかどうかBorlandに聞いてみたら。
ソースファイルだけあってもどうにもならんと思うが............

968:デフォルトの名無しさん
06/09/14 01:47:15
>>967
503だったんでしょ
今はおk

969:デフォルトの名無しさん
06/09/14 04:58:06
LSIC86はないの?それならDOS窓で実行できる。

970:964
06/09/14 08:50:30
>>966
ご想像通り、リンカの作ったリロケータブルファイルをターゲット環境に合わせて絶対アドレスで
配置する物です。リンカ、ロケータでググれば雰囲気が掴めるでしょう

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

でも多分今は買えないでしょうね。>>965さんの言うようにパッチ当てる方が現実的。

971:デフォルトの名無しさん
06/09/14 12:09:51
URLリンク(www.amazon.co.jp)
URLリンク(kakaku.com)

972:デフォルトの名無しさん
06/09/15 19:45:48
うめ

973:デフォルトの名無しさん
06/09/16 09:07:14
うめって、次スレ建ててからにしろよ!
950レス越えてるから1000いかなくても勝手に落ちるんだからさ

974:デフォルトの名無しさん
06/09/17 05:52:38
974


975:デフォルトの名無しさん
06/09/18 04:50:19
この速さなら痔スレは980あたりでいい?

976:デフォルトの名無しさん
06/09/18 12:34:47
駆動系なら俺に聞いてもいいぜ

977:デフォルトの名無しさん
06/09/18 15:54:20
パソコンの使用電力をどのくらいに見積もったらいいか相談に乗ってくれませんか?
celeron 2.8G HDD80G RAM512M 去年の12月頃買って24時間消さないで使ってます。
displayは15インチTFTで32W。本体の定格は115V/3.0Aと書かれているので300Wぐらいと
思われますが、常時300Wじゃないですよね?平均どの位なのかが判らなくて・・・

978:デフォルトの名無しさん
06/09/18 18:05:53
>>976
俺の HDS722525VLAT80 の駆動系がもうすぐヘタリそうなんだけど、
モーターだけ交換とかできねーか?

979:デフォルトの名無しさん
06/09/18 19:46:31
>>977
電気のメーターは家についてるんだろ?一日かけて実測すれば?

980:デフォルトの名無しさん
06/09/19 08:35:56
>>977
その他の構成もあるし、走らせるソフトにもよるだろうから、
やっぱり、測れとしか言えんなぁ

981:980
06/09/19 08:40:43
次スレ
スレリンク(tech板)

982:977
06/09/19 17:42:22
>>980 ありがとう。やっぱ測るしかなさそうですね。エコワットの導入考えてみます。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch