制御系なら俺に聞いてもいいぞ(2)

このエントリーをはてなブックマークに追加
「さっきの打ち合わせで、全ポートプルアップやめてプルダウンにしたから」

なんだよそれ
>>935
うわ。。。。。いっそ論理逆転させられた方が楽かも。

つーか、俺なら「だったら論理逆転させろやこら(怒)」と言う。

で、IN/OUTさせるところで反転いれて主要ロジックに変更なしでウマー
ってのは良くやったな。

H/W屋からすると、バッファの種類を変えるだけだったり、
PLD内のラッチの出力を引っ張りだす場所を変えるだけだったり
意外と受け入れられ易かったりする。
>>936
結局、ファーム屋っつーポジションは
ソフトもハードも押さえなきゃならんってことだね
>>937
リリースの遅れや動作不良はうかうかしてるとソフト屋側に被せられかねない
ハードのチェックぐらいできないとやられてしまう
余っているポート使って(無ければ無理矢理こじ開けて)ログ確認用の
printfの自作ぐらいできないと勤まらないのがこの業界だからな。
少なくともどんな構成でハードが動いているかぐらい判らなければ
つとまらんよ。
940919:03/07/14 05:53
>>920 最初の1,2個それやってから(´∀`)、
セクタ毎のハードプロテクトかけるようにしました。
941デフォルトの名無しさん:03/07/14 08:16
>>920
デバッグ用の基板って、ROMが外付けでソケットになってたりしないの?

>>939
俺、printfは作れません。。。
942920:03/07/14 13:13
>>941
1〜2時間で終わる位の修正だったので、その辺に置いてあった基板を使っていたのですよ。
で、しばらく触っていなかったので、手順を間違えたことに気が付かないで…

片手間で終わらせるつもりが、大仕事になってしまいました(w
943デフォルトの名無しさん:03/07/14 16:26
>>941
printfは7行スレに簡易的な奴が落ちてたよ。
基本的にデバッグ用としてなら必要十分だったから
使わせてもらってるよ
944デフォルトの名無しさん:03/07/14 16:42
◎無修正画像をご覧下さい◎2日間無料です◎
http://yahooo.s2.x-beat.com/linkvp/linkvp.html
945デフォルトの名無しさん:03/07/14 19:02
ソフト(マイコンプログラミング)とハード(HDLによるRTL)もやっている人はいないの?
俺はstdio.hもincludeしないが、なにか?
>>936
基本的に入出力は独立させとくのは、もはや常識だと思うが。
別に、制御系に限ったことじゃないと思うし。

>>946
この世界じゃ、別に珍しいことじゃないと思うけど。

この世界じゃなくても、Windows プログラムなら stdio.h なんかインクルードしてないのが普通だし。
>>947
何も考えずにメモリマップ度I/Oをそのままビット演算しちゃうなんて
初心者にはよくあることです。
おかげで申告できない残業が増えるんですよ。

なに、泣いてんの? 笑ってんの?

りょーほー
stdrom.hなら。
SHのHEW使いから、LSIC-86使いに戻りますた・・

>>945
それなりにいそうだが。
折れは、趣味ではHDLいじってる電子工作好きのソフト屋でつ。
でも、仕事じゃなぁ〜。いまはASIC起こすことがほとんどなくなったし・・・
>>947-948
メモリマップドI/Oをそのままビット演算するのがいけなくて、
入出力は独立させておくのが常識というのがよくわからないのですが。

書き込み専用のI/O(出力)を、リードしてしまうとか、その辺のことですか?
>>950
メモリマップドI/Oを彼方此方で読む
 →処理中にI/Oの状態が変化した場合、ヤバイことになること多し

 H/Wとのインタフェースは余程特殊な場合を除いて、
独立したモジュールで一括処理するのが無難

 腐ったH/WでReadしながらタイミング見計らって
叩いてやらなきゃいかんような場合は例外
>>951
> メモリマップドI/Oを彼方此方で読む
>  →処理中にI/Oの状態が変化した場合、ヤバイことになること多し

なんか話がずれてるような気が...、ハードウェアアクセスの所ってハードの都合で変更されたりすることがあるから、一箇所にまとめておけば修正が楽って言う話じゃないの ?

処理途中で値が変化するとか言うのはまた別な話だと思うが。
953デフォルトの名無しさん:03/07/15 00:09
>>951
> メモリマップドI/Oを彼方此方で読む
>  →処理中にI/Oの状態が変化した場合、ヤバイことになること多し

これは、タイミング的な話しで、ダイレクトにI/Oを読んでいると、
処理の途中で、I/Oの状態が変化すると、処理に一貫性がなくなるので、
処理の中では、読むところを一カ所に固定して、その値を内部のレジスタに取り込んで、
そのレジスタ値を処理の対象にせよ、ということだね。

>>952
>ハードウェアアクセスの所ってハードの都合で変更されたりすることがあるから、
>一箇所にまとめておけば修正が楽って言う話じゃないの ?

これは、プログラムの構造の話しで、あちこちにI/Oアクセスを散らばらせるのではなく、
一カ所に関数(一種のデバイスドライバ)化しておいておけば、その関数を修正すれば済むので、
柔軟に対応ができる、ということだね。
954山崎 渉:03/07/15 09:38

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
955デフォルトの名無しさん:03/07/15 11:01
波形やタイミングによっては、チャタリング防止とか入れるし、
1モジュールにした方がその後は修正しやすいし。
板の動作チェックも兼ねてるからI/Oルーチンから出来上がるw
957山崎 渉:03/07/15 14:02

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
>>956
漏れもそうだな。
テストプログラムが発展して本番プログラムのI/Oモジュールになる。

こういうのも他に流用出来るといいんだけどなーと思いつつ、毎回作ってるが。
959デフォルトの名無しさん:03/07/16 02:11
そろそろ次スレを誰か立てて・・・
960デフォルトの名無しさん:03/07/17 19:52
すみません、教えて下さい。

機器でSRAMカード(ATAじゃなくて、ただのSRAMカード)をメモリとして使ってます。
WindowsでSRAMカードの内容を読みたいのですが、どうすれば良いのでしょうか?
>>960
げろ。
まるち野郎なんかに答えてやるんじゃなかった。
>>961
こことマルチしたくなるようなスレあったか?

>>959
このペースならもっとギリギリ(980位?)でもいいんじゃない?
2,3日レスつかないこともしょっちゅうだし
JEIDAから規格書買え
>>963
旧JEIDAと旧EIAJ(社団法人 日本電子機械工業会)は
2000年11月1日付けで統合され、
JEITA(社団法人 電子情報技術産業協会)となりました。
すまん。うちにある仕様書がJEIDAのものだった為……
966デフォルトの名無しさん:03/07/24 04:44
組込み制御分野でオブジェクト指向(C++)で開発した人いますか?
何か良いことありました?
>>966
Javaでならあるけど。
PC上で組んだコードがそのまま使える
ので開発はめちゃ楽。
メモリ制限めちゃ厳しいけど。
>>966
C言語にC++を足す形にしたので、
C言語用に関数インターフェースをプラスする羽目になった。
が、計算クラスみたいなのを用意しとくだけでパラメタの保持から計算まで1クラス=1ファイルに収まったので開発が破綻から免れた。
C言語部分は改変という形で、完成はしてるけど、
巨大なスイッチ文で破綻したコードのような気がする。
969デフォルトの名無しさん:03/07/24 12:46
すんません、質問です。
SH4(SH7750)でSCIFの信号を読みたいんですが、どのレジスタを読んだらいいですか?
TxD/RxD/CTS/RTSは普通に読めるけど、それ以外はどうすれば……
>>969
ハードウェアマニュアルを見れ。FIFO付きシリアルインターフェースの項じゃ。
>>966
データを操作している人がわかりやすい
多態によって似たようなスイッチ文がへらせる。
>>967
めちゃくちゃ言うな。
J2SE用のコードがそのままうごくわけ無いだろ。
973デフォルトの名無しさん:03/07/24 22:44
組込み系でオブジェクト指向(C++)で開発した場合、
生成されるオブジェクトはどこに割り当てられるの?
スタックですか?
>>972
動くんだよそれが
>>974
972じゃないけど、MIPS32 4KSdのJava Card対応っていうのは
本当にバイトコードが動くってことなの?
それとも、違う石なのかな?
>>973
構造体と同じ。
newした場合は普通ヒープ。
977デフォルトの名無しさん:03/07/26 15:42
>>976
ヒープにとられるとなると、あまりオブジェクトを作って消してを繰り返せば、
ヒープが虫食いだらけになるね。
なんかC++は使いにくそう。
組み込みでC++使うのにnewの多用はまずいだろ
>>977
そんなのはガベージコレクションが有れば無問題。
ガベージコレクションのオーバーヘッドが問題になるようなら使えないが、
そういうときはヒープを使わないプログラミングをする破目になるかもな。
ま、べつに動的に生成/消滅しなきゃオブジェクト志向でないってわけでもあるまい。
980976:03/07/26 20:01
>>977
newをオーバーライドして自前でアロケーションすればOK。
めんどくさいけどね。
ガベコレよりはこっちが主流じゃないかな。

でも、めんどくさいのとバグが入りやすいので
基本的には978氏に賛成。
981デフォルトの名無しさん:03/07/26 20:17
可愛い娘たちが貴方を癒します・・・☆
http://yahooo.s2.x-beat.com/linkvp2/linkvp2.html
>>972
java.longのSystemやStringなどなど、基本的なものもない。
ガベージコレクタも実装されてない。

>>975
簡単な命令は動く。複雑な命令はソフトで実行。
速度を出すためにスタック操作をハードウェアで。

「まるごと図解最新組み込みJAVAがわかる」読んでみてください。
983975:03/07/27 00:09
>>982
その本のJava Cardの部分を今日立ち読みしたんだけど、
いくつかのチップで動くみたいですね。

「インターフェース3月号ICカード特集」では
ファイル変換するようなことが書かれていたので、
実際に動くかどうかは、まだ半信半疑ですが(^^;

近いうちに現物が見れそうなので期待してます。
invokevirtualとかは当然ソフトウェア命令に展開されるんだろうな・・
結構遅そう

でもgcがないってことはメモリ管理はどうするんだろ