「さっきの打ち合わせで、全ポートプルアップやめてプルダウンにしたから」
なんだよそれ
>>935 うわ。。。。。いっそ論理逆転させられた方が楽かも。
つーか、俺なら「だったら論理逆転させろやこら(怒)」と言う。
で、IN/OUTさせるところで反転いれて主要ロジックに変更なしでウマー
ってのは良くやったな。
H/W屋からすると、バッファの種類を変えるだけだったり、
PLD内のラッチの出力を引っ張りだす場所を変えるだけだったり
意外と受け入れられ易かったりする。
>>936 結局、ファーム屋っつーポジションは
ソフトもハードも押さえなきゃならんってことだね
>>937 リリースの遅れや動作不良はうかうかしてるとソフト屋側に被せられかねない
ハードのチェックぐらいできないとやられてしまう
余っているポート使って(無ければ無理矢理こじ開けて)ログ確認用の
printfの自作ぐらいできないと勤まらないのがこの業界だからな。
少なくともどんな構成でハードが動いているかぐらい判らなければ
つとまらんよ。
>>920 最初の1,2個それやってから(´∀`)、
セクタ毎のハードプロテクトかけるようにしました。
941 :
デフォルトの名無しさん:03/07/14 08:16
>>920 デバッグ用の基板って、ROMが外付けでソケットになってたりしないの?
>>939 俺、printfは作れません。。。
>>941 1〜2時間で終わる位の修正だったので、その辺に置いてあった基板を使っていたのですよ。
で、しばらく触っていなかったので、手順を間違えたことに気が付かないで…
片手間で終わらせるつもりが、大仕事になってしまいました(w
943 :
デフォルトの名無しさん:03/07/14 16:26
>>941 printfは7行スレに簡易的な奴が落ちてたよ。
基本的にデバッグ用としてなら必要十分だったから
使わせてもらってるよ
944 :
デフォルトの名無しさん:03/07/14 16:42
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アクセスを散らばらせるのではなく、
一カ所に関数(一種のデバイスドライバ)化しておいておけば、その関数を修正すれば済むので、
柔軟に対応ができる、ということだね。
__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
955 :
デフォルトの名無しさん:03/07/15 11:01
波形やタイミングによっては、チャタリング防止とか入れるし、
1モジュールにした方がその後は修正しやすいし。
板の動作チェックも兼ねてるからI/Oルーチンから出来上がるw
__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
>>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++)で開発した場合、
生成されるオブジェクトはどこに割り当てられるの?
スタックですか?
>>974 972じゃないけど、MIPS32 4KSdのJava Card対応っていうのは
本当にバイトコードが動くってことなの?
それとも、違う石なのかな?
>>973 構造体と同じ。
newした場合は普通ヒープ。
977 :
デフォルトの名無しさん:03/07/26 15:42
>>976 ヒープにとられるとなると、あまりオブジェクトを作って消してを繰り返せば、
ヒープが虫食いだらけになるね。
なんかC++は使いにくそう。
組み込みでC++使うのにnewの多用はまずいだろ
>>977 そんなのはガベージコレクションが有れば無問題。
ガベージコレクションのオーバーヘッドが問題になるようなら使えないが、
そういうときはヒープを使わないプログラミングをする破目になるかもな。
ま、べつに動的に生成/消滅しなきゃオブジェクト志向でないってわけでもあるまい。
>>977 newをオーバーライドして自前でアロケーションすればOK。
めんどくさいけどね。
ガベコレよりはこっちが主流じゃないかな。
でも、めんどくさいのとバグが入りやすいので
基本的には978氏に賛成。
981 :
デフォルトの名無しさん:03/07/26 20:17
>>972 java.longのSystemやStringなどなど、基本的なものもない。
ガベージコレクタも実装されてない。
>>975 簡単な命令は動く。複雑な命令はソフトで実行。
速度を出すためにスタック操作をハードウェアで。
「まるごと図解最新組み込みJAVAがわかる」読んでみてください。
>>982 その本のJava Cardの部分を今日立ち読みしたんだけど、
いくつかのチップで動くみたいですね。
「インターフェース3月号ICカード特集」では
ファイル変換するようなことが書かれていたので、
実際に動くかどうかは、まだ半信半疑ですが(^^;
近いうちに現物が見れそうなので期待してます。
invokevirtualとかは当然ソフトウェア命令に展開されるんだろうな・・
結構遅そう
でもgcがないってことはメモリ管理はどうするんだろ