- 1 名前:デフォルトの名無しさん [2005/09/06(火) 17:13:46 ]
- まったり逝きましょう。
ハード寄りの話も大歓迎です。 道具話も楽しくやれるならやってくらさい。 この世界は処理系依存はあたりまえだから、処理系明記するのを忘れないでね! 過去ログ 制御系なら俺に聞いてもいいぜ(7) pc8.2ch.net/test/read.cgi/tech/1109102528/ 制御系なら俺に聞いてもいいぜ(6) fun.kz/test/read.cgi/tech/1099574832/ (新タイプミラー) 制御系なら俺に聞いてもいいぜ(5) fun.kz/test/read.cgi/tech/1079102543/ (新タイプミラー) 制御系なら俺に聞いてもいいぞ(4) pc5.2ch.net/test/read.cgi/tech/1068869894/ (行方不明) 制御系なら俺に聞いてもいいぞ(3) pc2.2ch.net/tech/kako/1059/10594/1059488975.html 制御系なら俺に聞いてもいいぞ(2) pc2.2ch.net/tech/kako/1038/10380/1038094914.html 制御系なら、俺に聞け! pc3.2ch.net/tech/kako/1002/10021/1002176627.html 関連過去ログ ●●●くみこの組み込み相談室●●● pc3.2ch.net/tech/kako/988/988084737.html
- 403 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 23:44:24 ]
- >>399
クラス名・変数名に迷ったら書き込むスレ。Part6 pc8.2ch.net/test/read.cgi/tech/1128266018/l50 ここで関数名も聞いてみたら?
- 404 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 23:49:51 ]
- >>403
そこは知っているし何度か回答もさせてもらってもいますが、 こういうジャンルのコーディングをしている人がそんなにいるとも思えない。
- 405 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 23:54:49 ]
- そんなことでいちいちつっかかることもないでしょ。
ビタミンCが足りてないんじゃない? カルシウムだっけ?
- 406 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 00:09:24 ]
- なんのこっちゃ。
まあ俺は君と違って脳は足りてるよ。 まあ言っても無駄だろうけどガキが覗いて楽しいスレじゃないと思うよここは。
- 407 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 00:13:40 ]
- >>405
ビタミンCは、肌荒れとかにいいんじゃないかな。 カルシウムと言えば、なんとなく白い粉ってイメージだった けど、所さんの目がテンで純粋なカルシウムをみたら、まん ま金属だったので、マジで目がテンになっちまった。
- 408 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 01:24:55 ]
- >>407
当たり前じゃん。もしかして、ナトリウムも粉体を想像してる?
- 409 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 07:59:32 ]
- 普通は炭酸カルシウムとか、塩化カルシウムだ
それはそうと、「白い粉」ってなんかヤバイ雰囲気がするw
- 410 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 17:32:21 ]
- ハッピーターンの白い粉ことか
- 411 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 18:21:24 ]
- パウダーポケットにつても言及すべし
- 412 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 18:50:27 ]
- >>407
中学・高校で何を勉強してきたんだ・・
- 413 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 20:53:27 ]
- >>412
中高じゃあハッピーターンは授業に出ねえぞ? そりゃ授業中にも食ってたけど
- 414 名前:デフォルトの名無しさん mailto:sage [2006/02/16(木) 01:23:50 ]
- ソジウムクロライドの取りすぎはよくない。
ポタシウムを多めに取るようにしよう。
- 415 名前:デフォルトの名無しさん mailto:sega [2006/02/21(火) 09:31:54 ]
- 簡単な自作mallocのサンプルコードってない?
- 416 名前:デフォルトの名無しさん mailto:sage [2006/02/21(火) 10:36:16 ]
- 薬じゃないけど、これを忘れているね。
つ炭素菌
- 417 名前:デフォルトの名無しさん [2006/02/25(土) 04:58:55 ]
- 長文失礼します。
最近新しいメーカーさんのとこに飛ばされて RTOSでC言語なデジタル家電することになりますた。 そこで既存のコードを見たんですが(いわゆるアプリ〜ミドル層) まったくと言っていいほどallocが無いんですよ。 ユーザーがある操作をしなきゃ使うこともない領域とかも数k、数10k単位でぼこぼこ存在してる。 過去、いくつかのメーカーで携帯やらテレビやらナビやらHDDデッキやら作ったことあるんですが 100byte超える領域を使うときはallocateしないと殺す!とか お前のタスク、なんでそんなにRAM使うんだよ、殺すぞ!みたいなノリだったんで カルチャーショック受けてます。 聞いてみると、メモリの断続化や処理速度を考えるとallocなんてしてらんないよ、 って返ってきたんですが、私は過去にそんなことで問題になった経験がありません。。。 極力allocする or 極力しない 一般的にはどちらが正解なんでしょうか?
- 418 名前:デフォルトの名無しさん mailto:sage [2006/02/25(土) 06:04:27 ]
- >>417
んなもん、状況による。メモリ優先か、処理速度優先か。移植・汎用性優先か。 ちょっと使いたくない立場から書いてみる。 シビアなリアルタイム系 (制御周期が1ms以下だったり、μs単位のディレイ・ジッタが気になるとか) なんかだと、 極力簡略化したブロック領域のヒープなら、タスク間通信のために仕方なく使うけど、 malloc, free は使いたくなって感じのところが多い。 さらに、通常 malloc, free は割り込み禁止区間を使うから、 割り込み周期がぶれたりする可能性もある。 デバッグ環境が充実してないシステム上だとバグ発生の元にもなる。 フットプリントの小さいRTOSでは、そもそも、mallocをサポートしてないものもある。 それに、メモリが余ってるなら、メモリを動的に確保する意味なんか全くない。 malloc, free で複数タスクが時分割でメモリを取り合うってのは、 メモリが足りないときの非常手段って感じだ。 携帯、テレビ、ナビなんかは、メモリ厳しいとはいえ、 リアルタイム設計という観点では、制御系というより、 アプリ系に近い考え方じゃないか?
- 419 名前:デフォルトの名無しさん mailto:sage [2006/02/25(土) 06:54:11 ]
- >>417
テレビやナビは時々電源を切るから初期化されて、メモリの断片化が大きな問題にならないが 携帯だとマズイように思うなあ・・・・、だから時々電源切らないといかんのか・・・・・ 電源入れっぱなしになる装置の場合、 ・メモリサイズグループ毎に別のヒープ領域を割り当てる ・メモリをファイルシステムのように固定サイズのブロックとして割り当てて使ってもらう のどっちかやらないと、長期的にはマズイよ
- 420 名前:デフォルトの名無しさん mailto:sage [2006/02/25(土) 08:06:45 ]
- >>417
他のレスにもあるようにケースバイケースじゃないか? RTOS自体が糞なメモリ管理しかしてない・ MMUが載っていなくてメモリ断続化の影響がでかい なんかでいっそallocしないってのは考えられるし、 その手の物だと、同時動作するタスクの数や 所要メモリ量が確定できる代わりに、 メモリが必要になっていざallocしてみたら メモリが足りずに処理できなかったってことが 許されない場合もある。 だから、こんな作りになってしまうことがままある > ・メモリサイズグループ毎に別のヒープ領域を割り当てる > ・メモリをファイルシステムのように固定サイズのブロックとして割り当てて使ってもらう そもそも”携帯やらテレビやらナビやらHDDデッキ”も ドライバあたりでは、特定の機能しか使わないメモリでも、 いざ動作する時に「allocに失敗したら待てない/致命傷になる」ってものは、 確保しっぱなしになってるだろ。
- 421 名前:デフォルトの名無しさん mailto:sage [2006/02/25(土) 12:52:47 ]
- たぶん質問者はその程度のこと分かってると思う。。。
- 422 名前:デフォルトの名無しさん mailto:sage [2006/02/25(土) 13:36:47 ]
- メモリーリーク対策用にID付きでヒープ管理出来るようにユーザー関数として別名で存在してるに一票
- 423 名前:デフォルトの名無しさん mailto:sage [2006/02/25(土) 17:38:54 ]
- >>417
技術論は他の人が言ってるからいいとして、社会論としては、 古くから組み込みやってる人が多くて、 固定メモリの思想にどっぷり浸かってて変化していない人達、 という可能性もあるんじゃないかな。 # 「新しいメーカーさん」って、新しく行く職場って意味で、 # 新興メーカーじゃないよね? 古いシステムをそのままバージョン上げながら育ててるような場所だと、 実際の必要性以上に過去の要件をひきずってるところとかもあるから、 正しい正しくないはさておきて、「そういうところもあるんだ」 と思っておくくらいでいいと思う。
- 424 名前:デフォルトの名無しさん mailto:sage [2006/02/25(土) 19:45:58 ]
- >417
RTOSの規模にもよりますが、もっとも小さいほうで言えば、 allocはしない方法で考えますね。 たとえば、ITRON TCP/IP仕様は、「動的なメモリ使用の回避」を ひとつの目的としていますね。
- 425 名前:417 mailto:sage [2006/02/26(日) 03:16:10 ]
- 色々ご意見ありがとうございます。
動的に確保するのが難しいケースや デメリットが大きすぎる場合はallocateしてなくても納得できるんですが システム全体の基本思想が「allocしない」なんですよね。 #ちなみに新興メーカーではないです OSのメモリ管理なんて最初からアテにしてなく、 自前でメモリ管理はどこでも作ってるもんだと思ってました。 実際今回のとこでも>>419さんの言われるような対応はされてるんです。 過去にテレビやデッキなんかでは、連続運転試験を1ヶ月以上自動操作でテストなんてことも 普通にやってて断続化なんて見たことないです。 (メモリ管理のバグで断続化しちゃった、なんてことはありますが) この業界、いかにハード原価を安く抑えるかというのが至上命題に近いものがありますし、 メモリも例外じゃないと思います。 個人的には>>423さんの意見が当てはまるのかなぁと思ったりしてます。
- 426 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 10:34:00 ]
- >>425
その話からすると>>423の推測が正解だろうね でも理屈としては、ショボイCPUでガベージコレクションできない 状態でメモリの確保と解放を繰り返したらいずれ断片化するだろ? allocしたら2度と解放しないんじゃ静的に確保しても同じだし あとは作ってるシステム次第だね コスト見合いでSDRAMあたりを採用すると、 小さな組み込みシステムからすると馬鹿馬鹿しいほど メモリがでかくなるし
- 427 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 11:45:56 ]
- >>426 >>419の対応をしてるなら、断片化はしないだろう
同じサイズをブロックとして確保解放するなら理屈の上では断片化しない ただ、そうするなら、最初から固定で取って、 メモリが不足するなら同じタイミングで絶対に使わない同士をペアにしてゆくという もっと簡単な対応の方がより安全で確実という事になるだろう
- 428 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 11:48:41 ]
- 家電よりちょっと高級な専用システムやってます。SH3ですが「可変allocはご法度」です。
何ヶ月も電源入れっぱあたりまえという製品で、しかも操作の最新状態は電源切っても残る、 という・・・これを20年使えるのかいな?というシステムです。NMIを作ってもらえなかったので 「操作のたびに記憶」しかないのですが、100回/日書込みなら3年でEEP/FROMアウトです。 ど〜すりゃいいの?という感じです。
- 429 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 12:15:01 ]
- >>428
SHの内臓FLASHってそんなに書けたっけ? 保存しなきゃいけないデータが小さいなら 追記してって、溢れるまで使うとかすれば 多少寿命も稼げるけど、システムの要件次第じゃあるまいか? それとも、要件からして既に破綻してるってこと? だったら、こんなとこじゃなくて一刻も早く会社で騒げ。
- 430 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 12:19:31 ]
- 別に君に相談してるんじゃねえのに何命令口調になってるのw
こういうオカシイ奴の割合がこの業界って多いよねえ
- 431 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 12:26:55 ]
- >>429
EE-PROMと書いてるからシリアルEE-PROMだと思うよ で、EE−PROMなら、自分なら16くらいのブロックを順に使うようにして 寿命を16倍くらいに延ばせば丁度いい感じになるなと、そう使うけどね
- 432 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 14:01:12 ]
- TOPPERS上でファイルシステムってどんなのがある?
FATでもNFSでもftpでもファイル名を指定して読み書きだけ できればいいし階層構造もいらない 後でWindowsでファイルを取り出したいだけなんだけど良い手が無い
- 433 名前:428 mailto:sage [2006/02/26(日) 14:56:29 ]
- >>431 キャッシュとEEPROMの使用領域とはほぼ1:1のサイズなの。内蔵じゃないです。
- 434 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 18:10:30 ]
- >>433
キャッシュ? よーわからんけど、「ど〜すりゃいいの?」っと言う感じ なら>>429 の言う通り「上司に相談」して「その構成を 決めた奴の責任」にすべきだよ。 まあ、俺らにはどうでもいいことだが。
- 435 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 18:38:28 ]
- そうだな。
寿命について問題がある 対策としては EE-PROMの容量を増やしてもらいたいというのが普通だわな
- 436 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 18:44:47 ]
- 10年保証する半導体はありません。
- 437 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 18:59:33 ]
- 破綻だなw
- 438 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 19:11:16 ]
- ゆとり教育の弊害かどうかしらないけど(まあ俺はゆとり教育の理念が間違っているとは思わないけど)
読解力ない奴がここ数年増えたよね本当にw 文脈読めってw 寿命ってそう意味で言ってないだろうに。 キャッシュだってそう。 いちいちストレージ上の設定値読んでたらオーバヘッドやコードの冗長性が大きくなるので 初期化時にメモリにロードしといてそいつを設定値とみなして扱う、 そのメモリ上の設定値のことをキャッシュって言ってるに決まってるでしょ。
- 439 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 19:59:20 ]
- >>438
>>428が [ど〜すりゃいいの?] と問題解決法が判らないと書いてるから、 上に相談してEE-PROMの容量増やして貰えよと解決方法を書いてるんじゃないか こういう問題を放置するってのは、単に自分だけの問題でもないし、その会社だけの問題じゃないんだよ。 俺たち技術者全体の信頼に関する問題なんだからさ、 >>428はチャント対処しろよな
- 440 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 20:05:18 ]
- >>436
いや、ホント。 最近痛感するよ。 最近買う家電製品はホント、壊れやすい。 まあ、単にどんなものか見てみたいという興味だけで買うから 安いのを徹底的に探して買うからまあ当然の面もあるけどね。
- 441 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 22:15:15 ]
- >>438
> そのメモリ上の設定値のことをキャッシュって言って > るに決まってるでしょ。 ヒント: 井の中の蛙
- 442 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 22:34:37 ]
- 何がヒントだ。
正面から自分の考えを言うだけの自信がないことを誤魔化しているに過ぎんなw 他人はもちろん、おそらく自分自身も合わせてな。 自己分析ができない奴ってのは事程左様に恥ずかしいなw
- 443 名前:デフォルトの名無しさん [2006/02/26(日) 23:33:22 ]
- イタタタ
- 444 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 00:00:16 ]
- >>442
失礼、>>438 を過大評価していたようだ。 ヒント: 水たまりのボウフラ。
- 445 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 04:21:35 ]
- キャッシュって意味が違うだろ
自分の表現力のなさと用語の誤用を棚上げして 文脈読めってエスパーじゃなきゃ無理
- 446 名前:428 mailto:sage [2006/02/27(月) 05:45:52 ]
- キャッシュはEEPと同じ情報を持つRAMの意味で使ってます。私が言うまでもなく受けたとき
チーフにあたる人が「NMIが無いと変更のたびに書込みとなって書込み過多になり寿命に 影響する」と申し出たらしいんですよ。でもなぜかハード屋さんはそれでいいと言ったらしい。 (今ざっと計算したら、確定1page/5mSのEEPなので256page=1.28秒、NMI入ってから それだけ電圧持たせるのはきつそうですね。だからかも) 10年保証云々は通電しっ放しで、ってことですよね?さすがにそこまで電源入れっぱはない とおもいます。数ヶ月、最悪1年ぐらい連続ならありえる、ぐらいだったら20年持ちませんかね。 この製品は「装備品」なので、本体は20年持たせても、装備品は10年未満で交換、という 思想なのかもしれません。その辺今度聞いてみます。
- 447 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 07:29:02 ]
- >>446
それ、1ページ32バイト 24XX64のような8KのEE-PROMだと思うのだが 書込中に電源落ちたらどうするの? というかどうなるの? 8kByteを全部使うなら、最低 16KByteのEE-PROMが必要だよね だったら、さらに32Kにすればさらに2倍に寿命を延ばせるよ
- 448 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 07:47:20 ]
- 保証はメーカが無料で交換に応じることなので、10年前の製品があるわけない。
- 449 名前:428 mailto:sage [2006/02/27(月) 09:49:05 ]
- 書き込み中に電源落ちたら、「最後の操作の記憶が」残らないだけで、それほどダメージは
ありません。いつもたくさんのpageを書くわけじゃなくて操作に対応したいろんな情報片を 書くものですから。操作の瞬間電源切って覚えているような使い方もしません。 でも、ケータイなんかその辺・・・あ、あれは操作そのものの記憶は残さないのかな? 発信しかけて電源切って、電源オンすぐリダイヤル、とかが似た状況ですね。
- 450 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 12:40:04 ]
- まあ未採用になったそうだけど、そういうのってNMI(Non Maskable Interruptのことだよね?)
でやるのって正攻法じゃない気がするなあ。 CPUに自分自身の電源制御を握らせるのが普通じゃないのかな。
- 451 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 20:38:27 ]
- つまり、項目毎に書き換えてるという事だよね?
なら頻繁に書き換える項目だけ分散書き換えにすれば、それで対応出来そうだね
- 452 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 22:03:21 ]
- >>446
ハード屋さんが責任持つって事だったらいいんじゃないか。 穿って考えれば、ROM 交換で儲けると言う政策もあるかも 知れないしな。(w >>450 自分では電源制御件を持てない状況も少なくないよ。 流石に EEPROM に退避と言うのはやったことないけど、 NMI で RTC の C-MOS (もちバッテリバックアップつき) に退避は 8bit 時代に何回か経験がある。
- 453 名前:428 mailto:sage [2006/03/01(水) 15:37:49 ]
- FROMですからもうROM交換はないです。道具というよりは設備の一部として使うような想定
なので、不用意に電源叩ききられる可能性は優先度低いのでしょうね。どの位の寿命を 期待しているのか今度ハード屋さんに聞いてみます。
- 454 名前:デフォルトの名無しさん mailto:sage [2006/03/01(水) 22:44:50 ]
- > FROMですからもうROM交換はないです。
ん? 「書き込み過多になり寿命に影響」した場合の話じゃないのか? 自社設備なら、「保守用の基盤もってるから寿命がきたら即交 換でいいや」と考えてるのかもな。
- 455 名前:デフォルトの名無しさん [2006/03/02(木) 00:49:33 ]
- 通常メモリマップのデータを保存しているのはRAMですか?
- 456 名前:デフォルトの名無しさん [2006/03/02(木) 04:04:15 ]
- メモリマップのデータとは?
- 457 名前:デフォルトの名無しさん mailto:sage [2006/03/02(木) 05:02:23 ]
- >メモリマップのデータ
IA32 CPU とかのセグメント・ディスクリプタのことか?
- 458 名前:428 mailto:sage [2006/03/02(木) 05:38:58 ]
- FROMはコードを格納しますから、書込み過多になるほど入れ替えはしないと思います。
操作の記憶はEEPのほうでやるようです。 FROM上のテーブルのインデクスだけをRAMに保持するソフトなら書いたことあります。
- 459 名前:デフォルトの名無しさん mailto:sage [2006/03/02(木) 06:47:40 ]
- >>432
当然それぞれ作ってるんだろうけど、タダでは公開してないのかもね www.toppers.jp/community.html で聞いた方がいいんじゃないの?
- 460 名前:デフォルトの名無しさん [2006/03/02(木) 14:16:24 ]
- RTX と Intime どったがいいのか迷ってます。
教えて。 RTXはwindowsよりな感じ。DLLなんかを呼び出したり出来るらしい。 RTXはバグで簡単にwindowsを葬るらしい。 RTXはデバッグはリモートで行う必要があるらしい。 Intimeはeindowsとは別のOSが動いているらしい。 Intimeはデバッグの環境が整っているらしい。 IntimeはwindowsのDLLを呼び出すのがめんどくさそう。 保守契約を含めた値段は大体同じくらい。 使ったとき在る人頼む。無い人でもいいけど。
- 461 名前:デフォルトの名無しさん [2006/03/03(金) 18:43:27 ]
- 460です。
おせーて。
- 462 名前:デフォルトの名無しさん mailto:sage [2006/03/03(金) 22:35:47 ]
- INtimeメモリ保護機構がある。不正なメモリアクセスをやらかしても、
落ちるのはそのプロセスだけ。 開発にはVC++を使う。デバッグはINtime3.0移行ならVC++上で、 それ以前なら専用のデバッガで行う。1台のPC上で開発から デバッグまで出来るが、場合によってはリモートデバッグ した方が楽なときもある。 同一PC上で動作していると言っても、INtimeのメモリ空間と、 Windowsのメモリ空間は独立している。INtime用に作ったソフトと、 Windows用のソフトの間でのやり取りは専用のAPIを使う必要がある。 INtimeには体験版の無償ダウンロードがある。 とりあえず使ってみてから考えるのも吉。 ttp://www.tenasys.com/resources/trials.php
- 463 名前:デフォルトの名無しさん [2006/03/04(土) 08:10:31 ]
- 460です。
RTXの方はあまり良くないっぽいですかね。 両社の営業と技術の話を聞いているとどうもIntimeの方が良く聞こえまして・・。 営業の腕の違いかそれとも製品自体Intimeのほうが良いのか・・・。 両方とも貸し出しがあるようなので試してみたいと思っていますが。
- 464 名前:デフォルトの名無しさん [2006/03/04(土) 08:21:30 ]
- みなさん、NIの計測制御用のアレをつかったことはありますか?
- 465 名前:デフォルトの名無しさん mailto:sage [2006/03/04(土) 14:14:38 ]
- 話をぶった切って申し訳ないが
1チップマイコンの入出力ポートって 方向レジストと ポートの2つに別れているが、コレ使い難くないか? 入力専用、出力専用と方向レジスタの3つになっているべきじゃないかと思う。 出力専用レジスタを読み返すと、現在入力ポートに設定してるビットでも 出力ラッチがいつでも読めるべきだと思う
- 466 名前:デフォルトの名無しさん mailto:sage [2006/03/04(土) 14:20:55 ]
- >1チップマイコン
たまたま自分の使ってるモノが世界の標準に違いない、 と思い込むのは頭の悪い証拠じゃないだろうか? 井の中の蛙大海を( 一口にマイコンつったっていろいろあるのよベイビー。
- 467 名前:デフォルトの名無しさん mailto:sage [2006/03/04(土) 16:06:25 ]
- >>466 まあ確かに 4,8,16とDSPの15種類くらいしか触った事ないけど
その範囲じゃそうじゃないのを見た事ないもんで
- 468 名前:デフォルトの名無しさん mailto:sage [2006/03/04(土) 16:27:06 ]
- Z80-PIOは出力モードの時には入力でラッチされた値を読めたと思う。
と言うことは、Z80ファミリを1チップ化した川鉄の1チップマイコンもその構成だったかと。 それ以外でも、モード設定で動作が変わるタイプは普通にラッチ読み込みできるんで内科医?
- 469 名前:デフォルトの名無しさん mailto:sage [2006/03/04(土) 16:55:51 ]
- いや
出力モードで出力ラッチが読めるタイプ 出力モードでも入力ポートとなるタイプ の2つがあるけど そうじゃなくて、入力モードでも出力ラッチが読み書きしたいというか、そういうのが欲しいって事 たとえば入力に設定してる間に次の出力状態を設定しておきたいと ビット操作系を使うと他の状態も変更されてしまうのが嫌だから
- 470 名前:デフォルトの名無しさん mailto:sage [2006/03/04(土) 20:29:28 ]
- 意味わからんなw
そんなに「ラッチ」がほしいなら自分でコードで実装すれば済むことじゃないか。 だいいち入力に設定してるポートの出力ラッチに意味があるとすれば データバスみたいにR/Wを切り替えて使う場合だろうけど、そういう場合でも 自分が直前に出力した値が知りたいケースがそんなにあると思えない。 というより、そんなケースが思い浮かばん。 すくなくとも全く一般的なケースじゃないだろう。 なんでそんな一般的とも思えない要求を満たすようなCPUがなぜないか、 などとくだらないことを悩むんだろう。
- 471 名前:デフォルトの名無しさん mailto:sage [2006/03/04(土) 20:57:04 ]
- たとえばさ
bit0で割り込みを使ってビープ音を出して bit1には C-Rが接続された一種のDACだとするよ。制御は普段は入力にして 変化させる時に H/L出力で制御するのね、 bit2,bit3でI2CのEE-PROMを読み書きしたり とするよ で、ビープ音を出す割り込みで、オンオフをビット操作すると他のポートのラッチ状態が変化してしまうから ラッチ状態を覚えなくちゃいけない。 となるとアキュムレータ経由命令になって、スタックに保存が必要になって 割り込み処理が長くなっちゃって、他PWMーDAC処理の乱れが酷くなるとかさ、 そのポートのラッチ状態を他の処理では割り込み禁止状態で変化しなくちゃいけないから 割り込み禁止期間がアチコチ出来て、ビープ音が濁ってしまうとかさ あるいは EE-PROMを読み書きする時に、このわずらわしい処理のせいで遅くなってしまうとかさ で、面倒になって、原因は何かなと考えたら ポートの出力ラッチが読めないせいかなと
- 472 名前:デフォルトの名無しさん mailto:sage [2006/03/04(土) 21:05:12 ]
- なんかよく理解できないけどそんなら8051みたいにBit-Addressableな石を使えばいいのでは。
- 473 名前:デフォルトの名無しさん mailto:sage [2006/03/04(土) 21:45:46 ]
- いや、だからビットアクセス命令があっても、たとえばM16とかのように
実際はバスを読んでから書くから困るって話をしてるわけで ・・・・しかし、そういや8051の頃はコレで悩まなかったな・・・なんでだろ? 単に入出力の切り替えを今程使わなかったからかな
- 474 名前:デフォルトの名無しさん mailto:sage [2006/03/04(土) 21:51:55 ]
- ああ思い出した。
8051は4ビット系と同じく、確か入出力といっても H/L/Zではなくて L/Z つまりH=OPENだった筈。
- 475 名前:デフォルトの名無しさん mailto:sage [2006/03/04(土) 22:32:38 ]
- うーんと8051はRead-Modify-Writeの場合、465のう出力バッファをReadするから
問題ないよ。 ビット単位のアクセスでもバイト単位でも。 オリジナルの8051もそうか知らないけど最近の派生チップはだいたいそうだったはず。 そもそも出力ってpush-pullなのかオープンドレインなのかどっちだろ。 つーか具体的に何の石よ?
- 476 名前:デフォルトの名無しさん mailto:sage [2006/03/04(土) 22:41:49 ]
- 熱いコテを握らされ 睡眠時間は削られて
制御系だというけれど なにを制御するのだろう
- 477 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 00:59:38 ]
- 俺ハードやだけど、ソフト屋にとってポート制御レジスタはどういう構成が
理想なの? >>465 のように3つ(入力・出力・入出力制御)になってるほうがいいの? それとも2つ(入出力値・入出力制御)の方が使い勝手がいいのかな? 俺はとりあえず3つのレジスタ構成で設計してる。(2つだと情報量減るので。) どちらでも手間は同じなので今後の参考に聞きたいな。
- 478 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 01:31:43 ]
- 出力専用と、入力専用でポート分ければいいだけ。
で、ラッチなんかはメモリーのリードライトと同じ要領でやってくれれば何も考えなくて済む。 ただ、キャパシタの問題で、一定時間以上状態を維持しないとハッキリ入出力信号が安定しないとかなら、その旨を仕様に書けば良いよ。
- 479 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 02:06:35 ]
- >>477
開発後期に仕様を変えたりしなければ、或いは仕様に明記されてないノウハウが必要だったりしなければ、 どういう構成になっていてもあんまり困らんな。
- 480 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 05:35:28 ]
- >>476は、「新人哀歌」かな/「探し物は何ですか」かな、どっちだろ
たしかに、>>471みたいなのはハード屋さんがポートを分けてくれるよね。 ある程度はソフトの作りやすさも見通しつくから。
- 481 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 07:43:29 ]
- まあ、入出力を動的に切り替えるというのは普通はやらない
やるとすれば openドレイン的な使い方か で open に設定してる間は ポートを読み返すと 1が読めるから Read-Modify-Writeの時に出力ラッチではなく入力が読まれるタイプだと困るという事だろう PICは入出力関係なく、常にポートを読む M16/H8/SH等は出力に設定してるポートはラッチを、入力に設定してる場合はポートを読む ただ、最近の1チップはRISCが多いから、Read-Modify-Write命令が無いんじゃないかな
- 482 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 08:03:11 ]
- >>478
それは制御系なら可能だろうけど組込系だと 片面基板で なんて事もあるから アートワーク優先のことも多いよ。 ソフト側の都合で好きな順には使えない。
- 483 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 08:20:17 ]
- >>431
たとえば I2Cの SCL/SDAの為に、出力ラッチはL にして 方向レジスタでオープンコレクタを実現するとするよ つまり BSET /BCLR で方向レジスタだけを トグルするわけ。 これをメインループ側で処理してるとする この処理の最中に SCL=H つまり入力ポートにしてる最中に割り込みがかかる で、割り込み処理で、同じポートの別の出力ポートをトグルさせようと BSET/BCLRのような Read-Modify-Writeでポートを操作すると この SCLの出力ラッチがHになってしまう。 で、メイン側で次に SCL=Lににしようと出力ポートにしたら、 出力ラッチがHなのでHが出力されてしまう ------------- この2つだけなら、割り込み側でRead-Modify-Write命令ではなく 読んで ビット操作して、常にSCL/SDAは0にして書き出すという対策でいいけど もう一つ条件が加わると、やっかいなわけよ
- 484 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 12:52:27 ]
- >>480
467は「ちっちゃな頃からちっちゃ」かった彼が歌ってた奴でしょう
- 485 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 15:42:20 ]
- 盗んだコードが走り出す
行く先も分からぬまま
- 486 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 03:56:36 ]
- GPLの夜
- 487 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 14:48:28 ]
- >>465
ATMELのARMコアMPUで AT91SAM7S というのがあるが そのポート制御レジスタはそんな感じ、というかもっと複雑。 なんでこんなややこしいレジスタ構成にしてるの? と思ったが 465さんの書込でそういう要求があることを知りました。
- 488 名前:デフォルトの名無しさん [2006/03/08(水) 19:25:23 ]
- 質問です。
モータの応答周波数は速くても数百ヘルツなのに なんでインバータ制御などには高速なマイコンが使われるのでしょうか? 相当負荷のかかる計算をしているのですか?
- 489 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 19:49:45 ]
- あたりまえだ。
- 490 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 19:51:02 ]
- のクラッカー
- 491 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 19:54:06 ]
- モータの応答周波数って何ズラ?w
つーか「なんで?」って理由はさまざまでしょそりゃ。
- 492 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 20:09:36 ]
- 役に立たない奴らだな。
暇潰しにゴミレスばら撒かれても迷惑なんで 答えられないなら黙っとけよ。
- 493 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 20:24:46 ]
- 答えでてるじゃん。
- 494 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 14:05:35 ]
- >>490
キャプチュー度
- 495 名前:デフォルトの名無しさん [2006/03/09(木) 19:20:03 ]
- ベクトル制御だろ
- 496 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 20:20:59 ]
- 普通のマイコンがどれだけ遅いか知らないんだろう。
パソコンの処理速度が1000としたら、普通のマイコンは1もないんだよ
- 497 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 20:36:35 ]
- それは言いすぎだ
- 498 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 21:07:15 ]
- 動作周波数だけで比べても750倍だな。別に言いすぎでもないんとちゃう。
3GHz<->4MHz
- 499 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 21:13:40 ]
- 動作周波数だけで比べるな
- 500 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 21:19:35 ]
- 各命令の所要クロックも一々挙げて比べなあかんの?
殺す気か。
- 501 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 22:08:30 ]
- 4MHzって時代錯誤も甚だしいな。
オッサンの頭の中は25年前で止まってるのかねw
- 502 名前:デフォルトの名無しさん [2006/03/09(木) 22:11:22 ]
- 普通モータ制御に使うCPUは
V850とかSH-4とかの32bitRISCで 動作クロックは20〜40Mくらい
- 503 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 22:23:08 ]
- >>502
モータ回すのにSH4が出てくるとわ… えらい豪華な機械だな。
|

|