制御系なら俺に聞いて ..
401:デフォルトの名無しさん
06/02/14 23:27:53
>>399
おまいは関数の名前をいちいち掲示板で聞くのか?
402:デフォルトの名無しさん
06/02/14 23:43:06
クラス名・変数名に迷ったら書き込むスレ。Part6
スレリンク(tech板)
403:デフォルトの名無しさん
06/02/14 23:44:24
>>399
クラス名・変数名に迷ったら書き込むスレ。Part6
スレリンク(tech板)l50
ここで関数名も聞いてみたら?
404:デフォルトの名無しさん
06/02/14 23:49:51
>>403
そこは知っているし何度か回答もさせてもらってもいますが、
こういうジャンルのコーディングをしている人がそんなにいるとも思えない。
405:デフォルトの名無しさん
06/02/14 23:54:49
そんなことでいちいちつっかかることもないでしょ。
ビタミンCが足りてないんじゃない?
カルシウムだっけ?
406:デフォルトの名無しさん
06/02/15 00:09:24
なんのこっちゃ。
まあ俺は君と違って脳は足りてるよ。
まあ言っても無駄だろうけどガキが覗いて楽しいスレじゃないと思うよここは。
407:デフォルトの名無しさん
06/02/15 00:13:40
>>405
ビタミンCは、肌荒れとかにいいんじゃないかな。
カルシウムと言えば、なんとなく白い粉ってイメージだった
けど、所さんの目がテンで純粋なカルシウムをみたら、まん
ま金属だったので、マジで目がテンになっちまった。
408:デフォルトの名無しさん
06/02/15 01:24:55
>>407
当たり前じゃん。もしかして、ナトリウムも粉体を想像してる?
409:デフォルトの名無しさん
06/02/15 07:59:32
普通は炭酸カルシウムとか、塩化カルシウムだ
それはそうと、「白い粉」ってなんかヤバイ雰囲気がするw
410:デフォルトの名無しさん
06/02/15 17:32:21
ハッピーターンの白い粉ことか
411:デフォルトの名無しさん
06/02/15 18:21:24
パウダーポケットにつても言及すべし
412:デフォルトの名無しさん
06/02/15 18:50:27
>>407
中学・高校で何を勉強してきたんだ・・
413:デフォルトの名無しさん
06/02/15 20:53:27
>>412
中高じゃあハッピーターンは授業に出ねえぞ?
そりゃ授業中にも食ってたけど
414:デフォルトの名無しさん
06/02/16 01:23:50
ソジウムクロライドの取りすぎはよくない。
ポタシウムを多めに取るようにしよう。
415:デフォルトの名無しさん
06/02/21 09:31:54
簡単な自作mallocのサンプルコードってない?
416:デフォルトの名無しさん
06/02/21 10:36:16
薬じゃないけど、これを忘れているね。
つ炭素菌
417:デフォルトの名無しさん
06/02/25 04:58:55
長文失礼します。
最近新しいメーカーさんのとこに飛ばされて
RTOSでC言語なデジタル家電することになりますた。
そこで既存のコードを見たんですが(いわゆるアプリ〜ミドル層)
まったくと言っていいほどallocが無いんですよ。
ユーザーがある操作をしなきゃ使うこともない領域とかも数k、数10k単位でぼこぼこ存在してる。
過去、いくつかのメーカーで携帯やらテレビやらナビやらHDDデッキやら作ったことあるんですが
100byte超える領域を使うときはallocateしないと殺す!とか
お前のタスク、なんでそんなにRAM使うんだよ、殺すぞ!みたいなノリだったんで
カルチャーショック受けてます。
聞いてみると、メモリの断続化や処理速度を考えるとallocなんてしてらんないよ、
って返ってきたんですが、私は過去にそんなことで問題になった経験がありません。。。
極力allocする or 極力しない
一般的にはどちらが正解なんでしょうか?
418:デフォルトの名無しさん
06/02/25 06:04:27
>>417
んなもん、状況による。メモリ優先か、処理速度優先か。移植・汎用性優先か。
ちょっと使いたくない立場から書いてみる。
シビアなリアルタイム系
(制御周期が1ms以下だったり、μs単位のディレイ・ジッタが気になるとか) なんかだと、
極力簡略化したブロック領域のヒープなら、タスク間通信のために仕方なく使うけど、
malloc, free は使いたくなって感じのところが多い。
さらに、通常 malloc, free は割り込み禁止区間を使うから、
割り込み周期がぶれたりする可能性もある。
デバッグ環境が充実してないシステム上だとバグ発生の元にもなる。
フットプリントの小さいRTOSでは、そもそも、mallocをサポートしてないものもある。
それに、メモリが余ってるなら、メモリを動的に確保する意味なんか全くない。
malloc, free で複数タスクが時分割でメモリを取り合うってのは、
メモリが足りないときの非常手段って感じだ。
携帯、テレビ、ナビなんかは、メモリ厳しいとはいえ、
リアルタイム設計という観点では、制御系というより、
アプリ系に近い考え方じゃないか?
419:デフォルトの名無しさん
06/02/25 06:54:11
>>417
テレビやナビは時々電源を切るから初期化されて、メモリの断片化が大きな問題にならないが
携帯だとマズイように思うなあ・・・・、だから時々電源切らないといかんのか・・・・・
電源入れっぱなしになる装置の場合、
・メモリサイズグループ毎に別のヒープ領域を割り当てる
・メモリをファイルシステムのように固定サイズのブロックとして割り当てて使ってもらう
のどっちかやらないと、長期的にはマズイよ
420:デフォルトの名無しさん
06/02/25 08:06:45
>>417
他のレスにもあるようにケースバイケースじゃないか?
RTOS自体が糞なメモリ管理しかしてない・
MMUが載っていなくてメモリ断続化の影響がでかい
なんかでいっそallocしないってのは考えられるし、
その手の物だと、同時動作するタスクの数や
所要メモリ量が確定できる代わりに、
メモリが必要になっていざallocしてみたら
メモリが足りずに処理できなかったってことが
許されない場合もある。
だから、こんな作りになってしまうことがままある
> ・メモリサイズグループ毎に別のヒープ領域を割り当てる
> ・メモリをファイルシステムのように固定サイズのブロックとして割り当てて使ってもらう
そもそも”携帯やらテレビやらナビやらHDDデッキ”も
ドライバあたりでは、特定の機能しか使わないメモリでも、
いざ動作する時に「allocに失敗したら待てない/致命傷になる」ってものは、
確保しっぱなしになってるだろ。
421:デフォルトの名無しさん
06/02/25 12:52:47
たぶん質問者はその程度のこと分かってると思う。。。
422:デフォルトの名無しさん
06/02/25 13:36:47
メモリーリーク対策用にID付きでヒープ管理出来るようにユーザー関数として別名で存在してるに一票
423:デフォルトの名無しさん
06/02/25 17:38:54
>>417
技術論は他の人が言ってるからいいとして、社会論としては、
古くから組み込みやってる人が多くて、
固定メモリの思想にどっぷり浸かってて変化していない人達、
という可能性もあるんじゃないかな。
# 「新しいメーカーさん」って、新しく行く職場って意味で、
# 新興メーカーじゃないよね?
古いシステムをそのままバージョン上げながら育ててるような場所だと、
実際の必要性以上に過去の要件をひきずってるところとかもあるから、
正しい正しくないはさておきて、「そういうところもあるんだ」
と思っておくくらいでいいと思う。
424:デフォルトの名無しさん
06/02/25 19:45:58
>417
RTOSの規模にもよりますが、もっとも小さいほうで言えば、
allocはしない方法で考えますね。
たとえば、ITRON TCP/IP仕様は、「動的なメモリ使用の回避」を
ひとつの目的としていますね。
425:417
06/02/26 03:16:10
色々ご意見ありがとうございます。
動的に確保するのが難しいケースや
デメリットが大きすぎる場合はallocateしてなくても納得できるんですが
システム全体の基本思想が「allocしない」なんですよね。
#ちなみに新興メーカーではないです
OSのメモリ管理なんて最初からアテにしてなく、
自前でメモリ管理はどこでも作ってるもんだと思ってました。
実際今回のとこでも>>419さんの言われるような対応はされてるんです。
過去にテレビやデッキなんかでは、連続運転試験を1ヶ月以上自動操作でテストなんてことも
普通にやってて断続化なんて見たことないです。
(メモリ管理のバグで断続化しちゃった、なんてことはありますが)
この業界、いかにハード原価を安く抑えるかというのが至上命題に近いものがありますし、
メモリも例外じゃないと思います。
個人的には>>423さんの意見が当てはまるのかなぁと思ったりしてます。
426:デフォルトの名無しさん
06/02/26 10:34:00
>>425
その話からすると>>423の推測が正解だろうね
でも理屈としては、ショボイCPUでガベージコレクションできない
状態でメモリの確保と解放を繰り返したらいずれ断片化するだろ?
allocしたら2度と解放しないんじゃ静的に確保しても同じだし
あとは作ってるシステム次第だね
コスト見合いでSDRAMあたりを採用すると、
小さな組み込みシステムからすると馬鹿馬鹿しいほど
メモリがでかくなるし
427:デフォルトの名無しさん
06/02/26 11:45:56
>>426 >>419の対応をしてるなら、断片化はしないだろう
同じサイズをブロックとして確保解放するなら理屈の上では断片化しない
ただ、そうするなら、最初から固定で取って、
メモリが不足するなら同じタイミングで絶対に使わない同士をペアにしてゆくという
もっと簡単な対応の方がより安全で確実という事になるだろう
428:デフォルトの名無しさん
06/02/26 11:48:41
家電よりちょっと高級な専用システムやってます。SH3ですが「可変allocはご法度」です。
何ヶ月も電源入れっぱあたりまえという製品で、しかも操作の最新状態は電源切っても残る、
という・・・これを20年使えるのかいな?というシステムです。NMIを作ってもらえなかったので
「操作のたびに記憶」しかないのですが、100回/日書込みなら3年でEEP/FROMアウトです。
ど〜すりゃいいの?という感じです。
429:デフォルトの名無しさん
06/02/26 12:15:01
>>428
SHの内臓FLASHってそんなに書けたっけ?
保存しなきゃいけないデータが小さいなら
追記してって、溢れるまで使うとかすれば
多少寿命も稼げるけど、システムの要件次第じゃあるまいか?
それとも、要件からして既に破綻してるってこと?
だったら、こんなとこじゃなくて一刻も早く会社で騒げ。
430:デフォルトの名無しさん
06/02/26 12:19:31
別に君に相談してるんじゃねえのに何命令口調になってるのw
こういうオカシイ奴の割合がこの業界って多いよねえ
431:デフォルトの名無しさん
06/02/26 12:26:55
>>429
EE-PROMと書いてるからシリアルEE-PROMだと思うよ
で、EE−PROMなら、自分なら16くらいのブロックを順に使うようにして
寿命を16倍くらいに延ばせば丁度いい感じになるなと、そう使うけどね
432:デフォルトの名無しさん
06/02/26 14:01:12
TOPPERS上でファイルシステムってどんなのがある?
FATでもNFSでもftpでもファイル名を指定して読み書きだけ
できればいいし階層構造もいらない
後でWindowsでファイルを取り出したいだけなんだけど良い手が無い
433:428
06/02/26 14:56:29
>>431 キャッシュとEEPROMの使用領域とはほぼ1:1のサイズなの。内蔵じゃないです。
434:デフォルトの名無しさん
06/02/26 18:10:30
>>433
キャッシュ?
よーわからんけど、「ど〜すりゃいいの?」っと言う感じ
なら>>429 の言う通り「上司に相談」して「その構成を
決めた奴の責任」にすべきだよ。
まあ、俺らにはどうでもいいことだが。
435:デフォルトの名無しさん
06/02/26 18:38:28
そうだな。
寿命について問題がある
対策としては EE-PROMの容量を増やしてもらいたいというのが普通だわな
436:デフォルトの名無しさん
06/02/26 18:44:47
10年保証する半導体はありません。
437:デフォルトの名無しさん
06/02/26 18:59:33
破綻だなw
438:デフォルトの名無しさん
06/02/26 19:11:16
ゆとり教育の弊害かどうかしらないけど(まあ俺はゆとり教育の理念が間違っているとは思わないけど)
読解力ない奴がここ数年増えたよね本当にw
文脈読めってw
寿命ってそう意味で言ってないだろうに。
キャッシュだってそう。
いちいちストレージ上の設定値読んでたらオーバヘッドやコードの冗長性が大きくなるので
初期化時にメモリにロードしといてそいつを設定値とみなして扱う、
そのメモリ上の設定値のことをキャッシュって言ってるに決まってるでしょ。
439:デフォルトの名無しさん
06/02/26 19:59:20
>>438
>>428が [ど〜すりゃいいの?] と問題解決法が判らないと書いてるから、
上に相談してEE-PROMの容量増やして貰えよと解決方法を書いてるんじゃないか
こういう問題を放置するってのは、単に自分だけの問題でもないし、その会社だけの問題じゃないんだよ。
俺たち技術者全体の信頼に関する問題なんだからさ、 >>428はチャント対処しろよな
440:デフォルトの名無しさん
06/02/26 20:05:18
>>436
いや、ホント。 最近痛感するよ。
最近買う家電製品はホント、壊れやすい。
まあ、単にどんなものか見てみたいという興味だけで買うから
安いのを徹底的に探して買うからまあ当然の面もあるけどね。
441:デフォルトの名無しさん
06/02/26 22:15:15
>>438
> そのメモリ上の設定値のことをキャッシュって言って
> るに決まってるでしょ。
ヒント: 井の中の蛙
442:デフォルトの名無しさん
06/02/26 22:34:37
何がヒントだ。
正面から自分の考えを言うだけの自信がないことを誤魔化しているに過ぎんなw
他人はもちろん、おそらく自分自身も合わせてな。
自己分析ができない奴ってのは事程左様に恥ずかしいなw
443:デフォルトの名無しさん
06/02/26 23:33:22
イタタタ
444:デフォルトの名無しさん
06/02/27 00:00:16
>>442
失礼、>>438 を過大評価していたようだ。
ヒント: 水たまりのボウフラ。
445:デフォルトの名無しさん
06/02/27 04:21:35
キャッシュって意味が違うだろ
自分の表現力のなさと用語の誤用を棚上げして
文脈読めってエスパーじゃなきゃ無理
446:428
06/02/27 05:45:52
キャッシュはEEPと同じ情報を持つRAMの意味で使ってます。私が言うまでもなく受けたとき
チーフにあたる人が「NMIが無いと変更のたびに書込みとなって書込み過多になり寿命に
影響する」と申し出たらしいんですよ。でもなぜかハード屋さんはそれでいいと言ったらしい。
(今ざっと計算したら、確定1page/5mSのEEPなので256page=1.28秒、NMI入ってから
それだけ電圧持たせるのはきつそうですね。だからかも)
10年保証云々は通電しっ放しで、ってことですよね?さすがにそこまで電源入れっぱはない
とおもいます。数ヶ月、最悪1年ぐらい連続ならありえる、ぐらいだったら20年持ちませんかね。
この製品は「装備品」なので、本体は20年持たせても、装備品は10年未満で交換、という
思想なのかもしれません。その辺今度聞いてみます。
447:デフォルトの名無しさん
06/02/27 07:29:02
>>446
それ、1ページ32バイト 24XX64のような8KのEE-PROMだと思うのだが
書込中に電源落ちたらどうするの? というかどうなるの?
8kByteを全部使うなら、最低 16KByteのEE-PROMが必要だよね
だったら、さらに32Kにすればさらに2倍に寿命を延ばせるよ
448:デフォルトの名無しさん
06/02/27 07:47:20
保証はメーカが無料で交換に応じることなので、10年前の製品があるわけない。
449:428
06/02/27 09:49:05
書き込み中に電源落ちたら、「最後の操作の記憶が」残らないだけで、それほどダメージは
ありません。いつもたくさんのpageを書くわけじゃなくて操作に対応したいろんな情報片を
書くものですから。操作の瞬間電源切って覚えているような使い方もしません。
でも、ケータイなんかその辺・・・あ、あれは操作そのものの記憶は残さないのかな?
発信しかけて電源切って、電源オンすぐリダイヤル、とかが似た状況ですね。
450:デフォルトの名無しさん
06/02/27 12:40:04
まあ未採用になったそうだけど、そういうのってNMI(Non Maskable Interruptのことだよね?)
でやるのって正攻法じゃない気がするなあ。
CPUに自分自身の電源制御を握らせるのが普通じゃないのかな。
451:デフォルトの名無しさん
06/02/27 20:38:27
つまり、項目毎に書き換えてるという事だよね?
なら頻繁に書き換える項目だけ分散書き換えにすれば、それで対応出来そうだね
452:デフォルトの名無しさん
06/02/27 22:03:21
>>446
ハード屋さんが責任持つって事だったらいいんじゃないか。
穿って考えれば、ROM 交換で儲けると言う政策もあるかも
知れないしな。(w
>>450
自分では電源制御件を持てない状況も少なくないよ。
流石に EEPROM に退避と言うのはやったことないけど、
NMI で RTC の C-MOS (もちバッテリバックアップつき)
に退避は 8bit 時代に何回か経験がある。
453:428
06/03/01 15:37:49
FROMですからもうROM交換はないです。道具というよりは設備の一部として使うような想定
なので、不用意に電源叩ききられる可能性は優先度低いのでしょうね。どの位の寿命を
期待しているのか今度ハード屋さんに聞いてみます。
454:デフォルトの名無しさん
06/03/01 22:44:50
> FROMですからもうROM交換はないです。
ん?
「書き込み過多になり寿命に影響」した場合の話じゃないのか?
自社設備なら、「保守用の基盤もってるから寿命がきたら即交
換でいいや」と考えてるのかもな。
455:デフォルトの名無しさん
06/03/02 00:49:33
通常メモリマップのデータを保存しているのはRAMですか?
456:デフォルトの名無しさん
06/03/02 04:04:15
メモリマップのデータとは?
457:デフォルトの名無しさん
06/03/02 05:02:23
>メモリマップのデータ
IA32 CPU とかのセグメント・ディスクリプタのことか?
458:428
06/03/02 05:38:58
FROMはコードを格納しますから、書込み過多になるほど入れ替えはしないと思います。
操作の記憶はEEPのほうでやるようです。
FROM上のテーブルのインデクスだけをRAMに保持するソフトなら書いたことあります。
459:デフォルトの名無しさん
06/03/02 06:47:40
>>432
当然それぞれ作ってるんだろうけど、タダでは公開してないのかもね
URLリンク(www.toppers.jp)
で聞いた方がいいんじゃないの?
460:デフォルトの名無しさん
06/03/02 14:16:24
RTX と Intime どったがいいのか迷ってます。
教えて。
RTXはwindowsよりな感じ。DLLなんかを呼び出したり出来るらしい。
RTXはバグで簡単にwindowsを葬るらしい。
RTXはデバッグはリモートで行う必要があるらしい。
Intimeはeindowsとは別のOSが動いているらしい。
Intimeはデバッグの環境が整っているらしい。
IntimeはwindowsのDLLを呼び出すのがめんどくさそう。
保守契約を含めた値段は大体同じくらい。
使ったとき在る人頼む。無い人でもいいけど。
461:デフォルトの名無しさん
06/03/03 18:43:27
460です。
おせーて。
462:デフォルトの名無しさん
06/03/03 22:35:47
INtimeメモリ保護機構がある。不正なメモリアクセスをやらかしても、
落ちるのはそのプロセスだけ。
開発にはVC++を使う。デバッグはINtime3.0移行ならVC++上で、
それ以前なら専用のデバッガで行う。1台のPC上で開発から
デバッグまで出来るが、場合によってはリモートデバッグ
した方が楽なときもある。
同一PC上で動作していると言っても、INtimeのメモリ空間と、
Windowsのメモリ空間は独立している。INtime用に作ったソフトと、
Windows用のソフトの間でのやり取りは専用のAPIを使う必要がある。
INtimeには体験版の無償ダウンロードがある。
とりあえず使ってみてから考えるのも吉。
URLリンク(www.tenasys.com)
463:デフォルトの名無しさん
06/03/04 08:10:31
460です。
RTXの方はあまり良くないっぽいですかね。
両社の営業と技術の話を聞いているとどうもIntimeの方が良く聞こえまして・・。
営業の腕の違いかそれとも製品自体Intimeのほうが良いのか・・・。
両方とも貸し出しがあるようなので試してみたいと思っていますが。
464:デフォルトの名無しさん
06/03/04 08:21:30
みなさん、NIの計測制御用のアレをつかったことはありますか?
465:デフォルトの名無しさん
06/03/04 14:14:38
話をぶった切って申し訳ないが
1チップマイコンの入出力ポートって
方向レジストと ポートの2つに別れているが、コレ使い難くないか?
入力専用、出力専用と方向レジスタの3つになっているべきじゃないかと思う。
出力専用レジスタを読み返すと、現在入力ポートに設定してるビットでも
出力ラッチがいつでも読めるべきだと思う
466:デフォルトの名無しさん
06/03/04 14:20:55
>1チップマイコン
たまたま自分の使ってるモノが世界の標準に違いない、
と思い込むのは頭の悪い証拠じゃないだろうか?
井の中の蛙大海を(
一口にマイコンつったっていろいろあるのよベイビー。
467:デフォルトの名無しさん
06/03/04 16:06:25
>>466 まあ確かに 4,8,16とDSPの15種類くらいしか触った事ないけど
その範囲じゃそうじゃないのを見た事ないもんで
468:デフォルトの名無しさん
06/03/04 16:27:06
Z80-PIOは出力モードの時には入力でラッチされた値を読めたと思う。
と言うことは、Z80ファミリを1チップ化した川鉄の1チップマイコンもその構成だったかと。
それ以外でも、モード設定で動作が変わるタイプは普通にラッチ読み込みできるんで内科医?
469:デフォルトの名無しさん
06/03/04 16:55:51
いや
出力モードで出力ラッチが読めるタイプ
出力モードでも入力ポートとなるタイプ
の2つがあるけど
そうじゃなくて、入力モードでも出力ラッチが読み書きしたいというか、そういうのが欲しいって事
たとえば入力に設定してる間に次の出力状態を設定しておきたいと
ビット操作系を使うと他の状態も変更されてしまうのが嫌だから
470:デフォルトの名無しさん
06/03/04 20:29:28
意味わからんなw
そんなに「ラッチ」がほしいなら自分でコードで実装すれば済むことじゃないか。
だいいち入力に設定してるポートの出力ラッチに意味があるとすれば
データバスみたいにR/Wを切り替えて使う場合だろうけど、そういう場合でも
自分が直前に出力した値が知りたいケースがそんなにあると思えない。
というより、そんなケースが思い浮かばん。
すくなくとも全く一般的なケースじゃないだろう。
なんでそんな一般的とも思えない要求を満たすようなCPUがなぜないか、
などとくだらないことを悩むんだろう。
471:デフォルトの名無しさん
06/03/04 20:57:04
たとえばさ
bit0で割り込みを使ってビープ音を出して
bit1には C-Rが接続された一種のDACだとするよ。制御は普段は入力にして 変化させる時に H/L出力で制御するのね、
bit2,bit3でI2CのEE-PROMを読み書きしたり とするよ
で、ビープ音を出す割り込みで、オンオフをビット操作すると他のポートのラッチ状態が変化してしまうから
ラッチ状態を覚えなくちゃいけない。
となるとアキュムレータ経由命令になって、スタックに保存が必要になって
割り込み処理が長くなっちゃって、他PWMーDAC処理の乱れが酷くなるとかさ、
そのポートのラッチ状態を他の処理では割り込み禁止状態で変化しなくちゃいけないから
割り込み禁止期間がアチコチ出来て、ビープ音が濁ってしまうとかさ
あるいは EE-PROMを読み書きする時に、このわずらわしい処理のせいで遅くなってしまうとかさ
で、面倒になって、原因は何かなと考えたら
ポートの出力ラッチが読めないせいかなと
472:デフォルトの名無しさん
06/03/04 21:05:12
なんかよく理解できないけどそんなら8051みたいにBit-Addressableな石を使えばいいのでは。
473:デフォルトの名無しさん
06/03/04 21:45:46
いや、だからビットアクセス命令があっても、たとえばM16とかのように
実際はバスを読んでから書くから困るって話をしてるわけで
・・・・しかし、そういや8051の頃はコレで悩まなかったな・・・なんでだろ?
単に入出力の切り替えを今程使わなかったからかな
474:デフォルトの名無しさん
06/03/04 21:51:55
ああ思い出した。
8051は4ビット系と同じく、確か入出力といっても H/L/Zではなくて L/Z
つまりH=OPENだった筈。
475:デフォルトの名無しさん
06/03/04 22:32:38
うーんと8051はRead-Modify-Writeの場合、465のう出力バッファをReadするから
問題ないよ。
ビット単位のアクセスでもバイト単位でも。
オリジナルの8051もそうか知らないけど最近の派生チップはだいたいそうだったはず。
そもそも出力ってpush-pullなのかオープンドレインなのかどっちだろ。
つーか具体的に何の石よ?
476:デフォルトの名無しさん
06/03/04 22:41:49
熱いコテを握らされ 睡眠時間は削られて
制御系だというけれど なにを制御するのだろう
477:デフォルトの名無しさん
06/03/05 00:59:38
俺ハードやだけど、ソフト屋にとってポート制御レジスタはどういう構成が
理想なの?
>>465
のように3つ(入力・出力・入出力制御)になってるほうがいいの?
それとも2つ(入出力値・入出力制御)の方が使い勝手がいいのかな?
俺はとりあえず3つのレジスタ構成で設計してる。(2つだと情報量減るので。)
どちらでも手間は同じなので今後の参考に聞きたいな。
478:デフォルトの名無しさん
06/03/05 01:31:43
出力専用と、入力専用でポート分ければいいだけ。
で、ラッチなんかはメモリーのリードライトと同じ要領でやってくれれば何も考えなくて済む。
ただ、キャパシタの問題で、一定時間以上状態を維持しないとハッキリ入出力信号が安定しないとかなら、その旨を仕様に書けば良いよ。
479:デフォルトの名無しさん
06/03/05 02:06:35
>>477
開発後期に仕様を変えたりしなければ、或いは仕様に明記されてないノウハウが必要だったりしなければ、
どういう構成になっていてもあんまり困らんな。
480:デフォルトの名無しさん
06/03/05 05:35:28
>>476は、「新人哀歌」かな/「探し物は何ですか」かな、どっちだろ
たしかに、>>471みたいなのはハード屋さんがポートを分けてくれるよね。
ある程度はソフトの作りやすさも見通しつくから。
481:デフォルトの名無しさん
06/03/05 07:43:29
まあ、入出力を動的に切り替えるというのは普通はやらない
やるとすれば openドレイン的な使い方か
で open に設定してる間は ポートを読み返すと 1が読めるから
Read-Modify-Writeの時に出力ラッチではなく入力が読まれるタイプだと困るという事だろう
PICは入出力関係なく、常にポートを読む
M16/H8/SH等は出力に設定してるポートはラッチを、入力に設定してる場合はポートを読む
ただ、最近の1チップはRISCが多いから、Read-Modify-Write命令が無いんじゃないかな
482:デフォルトの名無しさん
06/03/05 08:03:11
>>478
それは制御系なら可能だろうけど組込系だと 片面基板で なんて事もあるから
アートワーク優先のことも多いよ。 ソフト側の都合で好きな順には使えない。
483:デフォルトの名無しさん
06/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:デフォルトの名無しさん
06/03/05 12:52:27
>>480
467は「ちっちゃな頃からちっちゃ」かった彼が歌ってた奴でしょう
485:デフォルトの名無しさん
06/03/05 15:42:20
盗んだコードが走り出す
行く先も分からぬまま
486:デフォルトの名無しさん
06/03/06 03:56:36
GPLの夜
487:デフォルトの名無しさん
06/03/06 14:48:28
>>465
ATMELのARMコアMPUで AT91SAM7S というのがあるが
そのポート制御レジスタはそんな感じ、というかもっと複雑。
なんでこんなややこしいレジスタ構成にしてるの? と思ったが
465さんの書込でそういう要求があることを知りました。
488:デフォルトの名無しさん
06/03/08 19:25:23
質問です。
モータの応答周波数は速くても数百ヘルツなのに
なんでインバータ制御などには高速なマイコンが使われるのでしょうか?
相当負荷のかかる計算をしているのですか?
489:デフォルトの名無しさん
06/03/08 19:49:45
あたりまえだ。
490:デフォルトの名無しさん
06/03/08 19:51:02
のクラッカー
491:デフォルトの名無しさん
06/03/08 19:54:06
モータの応答周波数って何ズラ?w
つーか「なんで?」って理由はさまざまでしょそりゃ。
492:デフォルトの名無しさん
06/03/08 20:09:36
役に立たない奴らだな。
暇潰しにゴミレスばら撒かれても迷惑なんで
答えられないなら黙っとけよ。
493:デフォルトの名無しさん
06/03/08 20:24:46
答えでてるじゃん。
494:デフォルトの名無しさん
06/03/09 14:05:35
>>490
キャプチュー度
495:デフォルトの名無しさん
06/03/09 19:20:03
ベクトル制御だろ
496:デフォルトの名無しさん
06/03/09 20:20:59
普通のマイコンがどれだけ遅いか知らないんだろう。
パソコンの処理速度が1000としたら、普通のマイコンは1もないんだよ
497:デフォルトの名無しさん
06/03/09 20:36:35
それは言いすぎだ
498:デフォルトの名無しさん
06/03/09 21:07:15
動作周波数だけで比べても750倍だな。別に言いすぎでもないんとちゃう。
3GHz<->4MHz
499:デフォルトの名無しさん
06/03/09 21:13:40
動作周波数だけで比べるな
500:デフォルトの名無しさん
06/03/09 21:19:35
各命令の所要クロックも一々挙げて比べなあかんの?
殺す気か。
501:デフォルトの名無しさん
06/03/09 22:08:30
4MHzって時代錯誤も甚だしいな。
オッサンの頭の中は25年前で止まってるのかねw
502:デフォルトの名無しさん
06/03/09 22:11:22
普通モータ制御に使うCPUは
V850とかSH-4とかの32bitRISCで
動作クロックは20〜40Mくらい
503:デフォルトの名無しさん
06/03/09 22:23:08
>>502
モータ回すのにSH4が出てくるとわ…
えらい豪華な機械だな。
504:デフォルトの名無しさん
06/03/09 22:23:52
普通って何がやねんw
だからモーター制御つったっていろいろあるっての。
つーか今時CPUが直接制御するのがそんなに「普通」とも思えんが。
505:デフォルトの名無しさん
06/03/10 01:54:51
なるほど・・・時計の中にはV850やSH-4が入っているのか・・・
506:デフォルトの名無しさん
06/03/10 01:58:15
ハァ?なにいってんだこいつ
507:デフォルトの名無しさん
06/03/10 03:37:44
時計にモーターなんざ入ってないっつーのな
508:デフォルトの名無しさん
06/03/10 04:59:05
ACサーボモータのサーボアンプなんかの中じゃ、
SH4クラスのCPUつかってるよ。
それくらいの速度じゃないと間に合わんだろ。
転流の制御とか、電流ループの制御周期は100マイクロ秒くらいじゃなかったっけ?
最近は、エンコーダ解像度もかなり高くなってきてるし、
そのほか通信タスクやデータ取得用タスクなんかも走らせなきゃならんだろうし。
数年前見た安川のサーボアンプの中がたしかSH4だたような・・・
509:デフォルトの名無しさん
06/03/10 05:45:05
3MHzの8085まだ使ってます。 615KHzの8bitの製品も今作ってます。
>性能比:命令ごとのクロック数まで見なくても、基本クロックとバス幅と
パイプラインとの積ぐらいの比率じゃないでしょうか?
510:デフォルトの名無しさん
06/03/10 07:44:37
パソコンのCPUは1クロックで数命令実行する能力がる
またバスは64ビットあり、1ワードは32ビットもある。32bitの加算が1命令で出来る 掛算も1命令で出来る
普通のマイコンがそこらの家電装置の中のマイコンだとすると
バスは8とか4bit ワードサイズもそれに同じ、加算するだけで4とか8サイクルかかる。 掛け算はソフトで実現だから100サイクル近くかかる
クロックが同じとしたって50倍近い処理能力差がある
511:デフォルトの名無しさん
06/03/10 07:52:21
価格差1000倍なら納得。
512:デフォルトの名無しさん
06/03/10 07:54:39
で SH-4 とか DSP は1命令1サイクルに近づけている
SHは命令サイズをバス幅より小さくする事
DSPは命令とデータX,Yでバスを別ける事で
それを実現しようとしている。 もちろん命令キャッシュも採用される事が多い
さらに掛算を少ない命令サイクルで実現する機能も付いている。
ただし、パソコンのように、掛算が使い易いわけじゃない。
少なくともレイテンシがかかる場合が多い
その間に他の命令を実行させる等の工夫が必要になる
それでも普通のパソコンのCPUと比べると1〜2桁は処理速度が落ちるのが現状だね
513:デフォルトの名無しさん
06/03/10 08:00:14
>>511
今の手に入る8bitマイコンの代表のPICなんかは 200円程度で手にはいる
200*1000=20万円・・・・パソコン一式買っておつりがくる値段だね
PICと性能比べたら1万倍以上の性能差があるわけで
例:
PIC RAM 512 パソコン512M
PIC 4MHz パソコン 2G Hz
514:デフォルトの名無しさん
06/03/10 10:45:10
>>508
電流ループの制御もマイコン制御でやっているのかい?
シングルプロセッサで通信タスクとかも走らせていたらけっこう難しそう
515:デフォルトの名無しさん
06/03/10 10:50:25
もうマイコンなんて使わないですべてペンティアム4いっぱい貼り付けてやればいいじゃないか
適材適所だの値段だの考えるな
516:デフォルトの名無しさん
06/03/10 10:53:02
>>508
> 数年前見た安川のサーボアンプの中がたしかSH4だたような・・・
手元にある安川のサーボアンプの中身を今見てみたら
V853 uPD70F3025A-33
だった
安川と言えばSHだと思っていたのでちょっと意外
517:デフォルトの名無しさん
06/03/10 11:00:06
>>507
針が回転してるだろ
モーターが入って無くてどうやって回るんだよ しねよ
518:デフォルトの名無しさん
06/03/10 11:21:54
まあモータと言えばモータか、ステッピングモータの一種だな
でもどっちかいうと単なるソレノイドだが
519:デフォルトの名無しさん
06/03/10 12:37:57
「モーター+ラック&ピニオンでリニアモーターだ」
くらい強引な飢餓す。
520:デフォルトの名無しさん
06/03/10 12:38:53
おいおい、ステッピングモータはモーターそのものだろ。
〜といえば、どころじゃないよ。
馬鹿じゃねえのw
521:デフォルトの名無しさん
06/03/10 12:39:44
ベクトル制御みたいな高速演算が要求されるものは
ハードでやればいいのに
マイコンで演算させるメリットって何?
522:デフォルトの名無しさん
06/03/10 12:40:46
モーターのスペルはmotorであってrotatorじゃないよw
523:デフォルトの名無しさん
06/03/10 14:02:03
>>521
柔軟性、コスト
524:名無し募集中。。。
06/03/10 14:48:59
メレックのmcc05にコマンド送るだけでモーターが回るけど?
525:デフォルトの名無しさん
06/03/10 14:56:39
メレックのmcc05ってなに?
526:デフォルトの名無しさん
06/03/10 16:03:06
>>515
Pentiumは演算は早いだろうが、
割り込みのディレイやジッタが大きかったり、
キャッシュが効いたときと効かなかったときの実行サイクルの差がでかかったり、
チップセット使わないと、外部バスにデバイスつなげるのが困難だたり、
致命的なのは発熱だな。
とマジレスしてみる。
527:デフォルトの名無しさん
06/03/10 16:45:36
でも 32bitで内部クロック1GHz 内蔵RAM64K 内蔵フラッシュ 640kbyte で
16pin-DIPソケットなマイコンが100円ショップで売ってたらいいな
528:デフォルトの名無しさん
06/03/10 19:45:51
>>526
相対評価と絶対評価の区別がついてないなw
それともWindowsだけがx86のネイティブな姿だと激しく勘違いしているか。
>>527
なにが「でも」なのか意味わからんなw
529:デフォルトの名無しさん
06/03/10 20:14:11
パッケージの背中が32x128dotの液晶表示器になってて、
32798水晶振動子内蔵で
USB2インターフェイス内蔵で簡単にパソコンに繋げて
530:デフォルトの名無しさん
06/03/10 20:28:09
うーん。15万ぐらいかな
531:デフォルトの名無しさん
06/03/10 20:32:55
>>529
>32798水晶振動子内蔵で
そんなもの要らない。
532:デフォルトの名無しさん
06/03/10 20:40:19
スマン32768だったよ。
533:デフォルトの名無しさん
06/03/10 20:50:37
32768個のクリスタル?
534:デフォルトの名無しさん
06/03/10 20:57:33
いや、Hz タイムベースに使うのと背中の液晶表示機の駆動クロックに使う
消費電流は 32K水晶だけなら単3電池駆動で5年くらいのが欲しい。
そしてPLLで任意倍率のクロックが作れるといいなあ
535:デフォルトの名無しさん
06/03/10 22:14:50
1チップMSX2+でおk
536:デフォルトの名無しさん
06/03/10 22:25:36
じゃ背中に 320x240dotのパネルを積んだ PLCC パッケージの MSX2+ で USB マスタでPCから書き込み出来るというのをお願い
537:デフォルトの名無しさん
06/03/10 22:56:40
ピッ
538:デフォルトの名無しさん
06/03/10 23:44:35
Interface 6月号を買おうよ
なんかついてくるらしいよ
539:デフォルトの名無しさん
06/03/11 01:24:49
>>524
> メレックのmcc05にコマンド送るだけでモーターが回るけど?
何かと思ったけどこれか
URLリンク(www.melec-inc.com)
1軸のパルスジェネレータか
しょぼいな
540:名無し募集中。。。
06/03/11 01:45:25
パルスジェネレーターにしては高性能だと思うけど?
541:デフォルトの名無しさん
06/03/11 02:40:18
>>540
1軸だから当たり前と言えば当たり前だけど直線補間もないし
このクラスのパルスジェネレータはどれも似たり寄ったり
差があるとしたら原点復帰モードが充実してることと絶対値指定ができることだけど
これはどちらもソフトで簡単に対処できること
FPGAで自分で作ってもどうにかなってしまう
差のつけようのない枯れた分野だね
542:デフォルトの名無しさん
06/03/11 04:40:26
>>527みたいなマイコンを\100ショップで売っててもハード屋さんは怖くて誰も使わないと思う。
秋葉で8085買い漁るのに疲れたらしく、MB91F36なる32bit使えるかい?とお客に聞かれた。
その辺に転がってるボードパクってuart端子だけつなげたいらしい。そりゃ使えますともさ。
あまりにもオーバースペックで笑ってしまうけど。トロンOS積まなくちゃ使えないんだよ。
高々4.8KのシリアルI/Oやるのに10倍の規模のソフトになっちゃうし。
543:デフォルトの名無しさん
06/03/11 04:50:48
>トロンOS積まなくちゃ使えないんだよ
んなこたぁない。
あと、トロンOSって、具体的に言ってくれよ、B-TRONか?w
544:デフォルトの名無しさん
06/03/11 05:01:30
ITRONですがな、もちろん。私以外にも早起きの方がいらっしゃいますね。
いや、もちろん裸でも使えるのは知ってますけど、たいていコンパイラと一緒に押し付けられる。
545:デフォルトの名無しさん
06/03/11 06:59:37
この前 ダイソーの100円ショップで ヤニ入りハンダ コテと ハンダ吸取器を見た。 100円じゃなかったけどね
546:名無し募集中。。。
06/03/11 15:46:25
>>541
よく知らないんだなってことは判った
547:デフォルトの名無しさん
06/03/11 16:29:26
>>546
で、何を知ってるの?
チミは
548:デフォルトの名無しさん
06/03/11 19:22:02
ハンダ吸い取り器が\100はすごいな。・・あ、\100じゃなかったみたいね。でも安そう。
549:デフォルトの名無しさん
06/03/11 19:22:46
100円なら超欲しいな! ・・・でも100円じゃないならちょっとなぁ・・・
550:デフォルトの名無しさん
06/03/11 19:26:53
210円だそうだ
URLリンク(k-tai.impress.co.jp)
551:デフォルトの名無しさん
06/03/16 07:21:57
210円ハンダ吸取器は結構使える ポンプ式のも持ってるがすぐ詰まるし吸取り力が今一つ、
さらにヒータが暖まるまでの時間がロスだったので、最近コレばっかり使ってる
552:デフォルトの名無しさん
06/03/17 01:39:43
突然すみません。質問なのですが、
よくメモリデバイスの仕様に書かれている、16ビットデバイスとか32ビットデバイス
というのはどういう意味なのでしょうか?
16ビットデバイス=16ビット単位でしかアクセスできないデバイス
のことだと思っていたのですが、実はバイトでもアクセスできたりして
いまいち意味がわかりません。
もしかしてバス幅のこと?
553:デフォルトの名無しさん
06/03/17 03:27:20
バス幅でいいとおもう。たいていの奴は16/32ならバイトアクセスも可能だけど、
たまに16/32オンリーというのもあるね。そのかわり速いとか。
554:552
06/03/17 18:11:03
>>553
レスありがとうございます。
容量4MビットのSRAMのデータシートを読んでみたところ、
2Mワードx16bitと書いてあるものの、データバス幅が16bitになっていることと、
256kx8bitのSRAMではデータバス幅が8bitであることを確認しました。
バス幅で間違いないようですね。
ところで普通、
2Mワードx16bit(容量4Mビット)のデバイスが使用するアドレスの幅(制御ソフトから見えるアドレス空間)は
a) 4M(1番地につき1バイト)
b) 2M(1番地につき)
のどちらなのでしょう?
なぜこんなことが疑問なのかというと、
16ビットデバイスに対して奇数番地をアドレスバスで指定したら、
メモリはどう振舞うのかを考えたところ、もしかしたら16ビットデバイスというのは
アドレス1番地につき2バイトのデータを保持できるのではないか、と思ったからです。
考え方めちゃくちゃですかね?
555:デフォルトの名無しさん
06/03/17 18:29:58
>>554
どっちになるかはプロセッサによる。
DSPのようにワード単位にアドレスが割られるものと
汎用CPUのように、アドレスは1byte単位でバイトアクセスフラグが付くタイプがある
556:デフォルトの名無しさん
06/03/18 21:14:15 BE:164012235-
すみません。三菱のシーケンサーでフレーミングエラーって出ます。
フレーミングエラーって何のことですか?
どうすれば先に進めますか?教えてください。
557:http://www.vector.co.jp/soft/win95/util/se072729.html
06/03/18 21:39:25
TextSS のWindowsXP(Professional)64bit化おながいします
もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
そういや64bitにネイティブ対応している2chブラウザてありましたっけ?
558:デフォルトの名無しさん
06/03/18 21:41:57
>>556
そんなの業者に聞いてくれよ。 RS232CならボーレートかSTOPが合ってないんじゃないの?
559:デフォルトの名無しさん
06/03/18 22:10:25
>>558
それが休みなんでつ。
このままでは帰れません。
どうしたらいいですか?
560:デフォルトの名無しさん
06/03/18 22:17:12
>フレーミングエラーとは調歩同期(ASYNC)において、ストップビットのあるべき位置に
>ストップビットがなかった(論理0だった)場合に表示されます。フレーミングエラーが
>頻繁に表示される場合は、データ長、パリティビットの有無などの設定が間違っている可能性があります。
ボーレート、データ長、パリティ、ストップビット長の設定を確認すること
561:デフォルトの名無しさん
06/03/19 13:25:14
>>558
シーケンサの型名も書いてない時点で「ネタ / どあほ」のいずれかだろ。
無視しろ。
562:デフォルトの名無しさん
06/03/19 13:50:32
俺的には>>561のように何も生産的な発言をしない(まあむしろできないと思われるが)
くせに口調だけ尊大な奴こそ無視したいけどなw
だいいち、(まあググればわかるようなことではあるが)>>556の質問内容からすれば
具体的な機種名が必要とはちょっと思えないんだが。
563:オレモナ〜
06/03/19 14:08:28
> 無視したいけどなw
無視しとけばいいじゃん。
できないのは、厨房だからですか?
564:552
06/03/19 18:50:19
>>555
私の意図したのは汎用プロセッサのことなので、
a) 4M(1番地につき1バイト)
という認識であっていたのですね。
具体的には(プロセッサがビッグエンディアンの場合)
*(unsigned long*)0x8000 = 0xaabbccdd;
としたあと、
unsigned char tmp;
tmp = *(unsigned char*)0x8001;
とするとtmpの中身は0xbbということなんですね。
今まで、メモリが2Mワードx16ビットの場合は、もしかしたら
tmpの中身は0xccになるのではないか、と疑っていました。
(1アドレスにつき2バイト保持できるRAMだと思っていた)
自分の理解が正しかったと安心できました(^^)
ありがとうございます。
565:デフォルトの名無しさん
06/03/19 19:04:13
>>564
なんかこう、実メモリアドレス空間とバス幅とメモリ配置について思いっきり勘違いしている悪寒。
1ビット幅のメモリを使う場合、通常バス幅のメモリを並べる。
8ビット幅のメモリを使う場合、通常バス幅の1/8のメモリを並べる。
以下同様に。
16ビット幅のメモリを使う場合と32ビット幅のメモリを使う場合も同様なので、
仮に0番地のメモリにアクセスしたときにはメモリの最初のワードにアクセスする。
しかし、2番地のメモリにアクセスしたときには前者は2番目のワード、後者は最初のワードにアクセスする点が異なる。
ちなみに、1ビット幅のメモリを使い、0番地にアクセスすると8個のメモリの最初のワードにアクセスすることになるわけだ。
#だからこそDRAMカードはメモリチップがずらっと並ぶわけで。
566:オレモナ〜
06/03/19 23:01:33
>>565
> しかし、2番地のメモリにアクセスしたときには前者は
> 2番目のワード、後者は最初のワードにアクセスする点
> が異なる。
はぁ?
32bitメモリとか書いてるから、プロセサも最低 32bit
幅だと思うが、2番地のアクセスだと前者 (=16bit メモ
リ) でも、(0番地アクセスとは違うメモリチップだけど)
最初のワードがアクセスされると思うけど。
32bit ⇒ 16bit のバスサイジングでもやってるのか?
567:デフォルトの名無しさん
06/03/19 23:18:36
>>566
その通り。別のチップの最初のワードだね。
568:556と559
06/03/19 23:31:38 BE:699782988-
>>556
>>559 です。
すみませんでした。昨日は急いでいて説明が不足してましたが、
実は私の弟が制御の仕事していて現場にネットがないので
フレーミングエラーって何か調べて、と珍しく電話がありました.
自分なりにあれこれ検索を続け、ヒットした内容をそれぞれ伝えましたが、
それが役立つ情報かどうか、読んでいる私にはさっぱりわかりませんでした。
検索中、ヒットしたここに辿り着き、皆様に頼らせていただきました.
時々、2ちゃんねらーでしたが、こんなスレがあることもはじめて知りました。
こんな難しいことを話し合っている皆様すごいです。
今、弟に昨日の確認をしたところ、
一応エラーの表示はでるものの、動作しているそうです。
いつも深夜まで残業漬けの弟を、一人暮らしの部屋だけど
早く帰宅させたかった、制御素人の姉でした。
お騒がせし、そして大変お世話になりまして、皆様ありがとうございました。^o^
569:デフォルトの名無しさん
06/03/19 23:35:54
まったく解決になってないわけだが。
570:デフォルトの名無しさん
06/03/19 23:54:41
>>562
> 何も生産的な発言をしない
まさに、>>562 の発言がそうなわけだが w
571:デフォルトの名無しさん
06/03/20 00:17:52
ハードはつくらないの?
572:552
06/03/20 01:10:48
>>565
>>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)
どんなもんでしょうか?
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4900日前に更新/253 KB
担当:undef