●●●くみこの組み込み相談室1.0●●●
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/10/03(水) 16:46:14道具話も楽しくやれるならやってくらさい。
この世界は処理系依存はあたりまえだから、処理系明記するのを忘れないでよね!
過去ログ
●●●くみこの組み込み相談室●●●
http://pc3.2ch.net/tech/kako/988/988084737.html
関連過去ログ
____ 制御系なら俺に聞いてもいいぜ(9)
/::::::::::::::::::\ http://pc11.2ch.net/test/read.cgi/tech/1158622810/
/::::::::/ 丶::::::\ 制御系なら俺に聞いてもいいぜ(8)
/:::::ノ \:::::ヽ http://pc8.2ch.net/test/read.cgi/tech/1125994426/
|::::::: \ / :::::| 制御系なら俺に聞いてもいいぜ(7)
|::::| ● ● |::::| http://pc8.2ch.net/test/read.cgi/tech/1109102528/
|::::| .. .. |::: | 制御系なら俺に聞いてもいいぜ(6)
|::::\ [__ ̄] /:::::::| http://pc5.2ch.net/test/read.cgi/tech/1099574832/
|::::::::::\___/:::::::::::::| 制御系なら俺に聞いてもいいぜ(5)
|_:::::::::| |::::::::(⌒)::| http://pc5.2ch.net/test/read.cgi/tech/1079102543/
|::::::::::|-、 ,-/......ノ~ レ-r┐ 制御系なら俺に聞いてもいいぞ(4)
/....|::::丿|,,,,,,/.....ノ__ | .| ト 、 http://pc2.2ch.net/test/read.cgi/tech/1068869894/
/.........レ.....| 〈 ̄ `-Lλ_レ′ 制御系なら俺に聞いてもいいぞ(3)
レ...................|/.... ̄`ー‐---‐′ http://pc2.2ch.net/tech/kako/1059/10594/1059488975.html
制御系なら俺に聞いてもいいぞ(2)
http://pc2.2ch.net/tech/kako/1038/10380/1038094914.html
制御系なら、俺に聞け!
http://pc3.2ch.net/tech/kako/1002/10021/1002176627.html
0002デフォルトの名無しさん
2007/10/03(水) 16:52:07Javaが貴方たちを救います。
Javaを信じてください。
0003デフォルトの名無しさん
2007/10/03(水) 17:12:02もっとも、俺は信じないがな。
0004デフォルトの名無しさん
2007/10/03(水) 21:31:16前スレが落ちた後で、H8と M16が同じ会社になってしまったんだな
0005デフォルトの名無しさん
2007/10/03(水) 22:20:520006デフォルトの名無しさん
2007/10/03(水) 22:53:03もっと萌え系でおk
0007デフォルトの名無しさん
2007/10/04(木) 00:49:300008デフォルトの名無しさん
2007/10/04(木) 04:34:500009デフォルトの名無しさん
2007/10/04(木) 06:21:340010デフォルトの名無しさん
2007/10/04(木) 09:38:140011デフォルトの名無しさん
2007/10/04(木) 09:55:180012デフォルトの名無しさん
2007/10/04(木) 11:20:21http://videointroplayer.web.fc2.com/?ii9YN1kO-TK36%+esA5NHPWRF1115%+iwCjWdz0Gid150%+WhqyiIrhz0F110%+Kjtps4byn7a119%+@1@_%E4%BC%9A%E9%95%B7%E7%89%A9%E8%AA%9E
0013デフォルトの名無しさん
2007/10/04(木) 11:32:01http://www.premiumtv.12gbfree.com/?rTV=rimo.tv/en/ch/4134
0014デフォルトの名無しさん
2007/10/04(木) 14:23:36それとも、単に自分のページからリンクしたいの?
0015デフォルトの名無しさん
2007/10/04(木) 14:41:10ま、必ずWinを入れるよりはマシか。
0016デフォルトの名無しさん
2007/10/04(木) 14:58:250017デフォルトの名無しさん
2007/10/04(木) 15:02:28単に自分のページからリンクしたいよん
0018デフォルトの名無しさん
2007/10/04(木) 15:07:15http://pc11.2ch.net/test/read.cgi/tech/1191223627/l50
0019デフォルトの名無しさん
2007/10/04(木) 15:19:42<form class="edit" method="post" action="http://rimo.tv/en/ch/create">
<h3>Title and Genre</h3>
<input type="text" name="title" value="" >
<input type="text" name="genre" value="9" >
About this channel or request for adding channels
<textarea name="description" rows="2" ></textarea>
<h3>Related Keywords</h3>
Genre, Artist or Series name
<input type="text" name="keywords[]" value="" >
<input type="text" name="keywords[]" value="" >
<input type="text" name="keywords[]" value="" >
<input type="text" name="keywords[]" value="" >
<input type="text" name="keywords[]" value="" >
<h3>Video List</h3>
<textarea name="text" rows="10" style="width:100%;"></textarea>
<input type="submit" value="Create a new channel" class="submit_button_l">
</form>
0020デフォルトの名無しさん
2007/10/04(木) 15:21:39http://rimo.tv/en/ch/new
0021デフォルトの名無しさん
2007/10/04(木) 15:56:13http://www.premiumtv.12gbfree.com/?+YTV=HALL+and+OATES
0022デフォルトの名無しさん
2007/10/04(木) 16:57:02http://www.premiumtv.12gbfree.com/?RTV+4156/SonyBMG/MusicPresents
0023デフォルトの名無しさん
2007/10/04(木) 18:10:35http://www.premiumtv.12gbfree.com/?RTV+4177/SonyBMG/MusicPresents1000
0024デフォルトの名無しさん
2007/10/04(木) 18:25:34YouTubeの画像を自分のページからリンクしたって事なら
でも、続けたいなら、名前欄に数字とか捨てハンを入れてくれないかな?
よく判らないけど、 ttp://rimo.tv/tools/player.swf をダウンロードして逆コンパイルすればいいんじゃないの?
0025デフォルトの名無しさん
2007/10/04(木) 18:33:27組み込み機器の開発のスレだっちゅーに。
0026デフォルトの名無しさん
2007/10/04(木) 19:11:400027デフォルトの名無しさん
2007/10/04(木) 21:01:57制御系のタイトルでは、現代制御理論がどうとかと騒ぎ
このタイトルでは、プログラムを組み込む話で騒ぐつもりか?
0028デフォルトの名無しさん
2007/10/04(木) 21:44:260029デフォルトの名無しさん
2007/10/04(木) 21:59:350030デフォルトの名無しさん
2007/10/04(木) 22:06:33http://www.premiumtv.12gbfree.com/?RTV+3874/MaryWin/Vocal&Guitar
0031デフォルトの名無しさん
2007/10/04(木) 22:24:42eの値を表示させるには
(直接手で2.71828...と入れるのはなしで)
どんな手順が簡単でしょうか?
0032デフォルトの名無しさん
2007/10/04(木) 22:36:55googleの電卓機能からコピペする
0033デフォルトの名無しさん
2007/10/04(木) 22:38:28むしろ、Webサーバが…………
0034デフォルトの名無しさん
2007/10/04(木) 23:57:25Webクライアントを入れておく必要が結構あるけどね。
たいていの場合Webサーバの方をほしがられるよな。
0035デフォルトの名無しさん
2007/10/05(金) 00:19:180036デフォルトの名無しさん
2007/10/05(金) 06:00:44それも直接手で2.71828...と入れるのと同じなのでなしです
0037デフォルトの名無しさん
2007/10/05(金) 07:23:430038デフォルトの名無しさん
2007/10/05(金) 07:44:05制御系なら俺に聞いてもいいぜ(10)
http://pc11.2ch.net/test/read.cgi/tech/1191408444/
制御系でのWindowsVista+.NET開発って・・・?
http://pc11.2ch.net/test/read.cgi/tech/1170768303/
組み込みやらされそうなんだけどどんな勉強すれば?
http://pc11.2ch.net/test/read.cgi/tech/1173483031/
組込系と制御系は殆どカブっていますが
■制御系とは
オープン、汎用、制御系 というようにプログラマの3分類で オープンでもなく、汎用でもないなら
殆どは制御系となります。
元の語は、機器を「制御する」という言葉からなので、パソコンを使う場合もあります。
■組み込みとは Embedded system つまり、機器を制御するために必要なマイクロプロセッサなどの分野です
0039デフォルトの名無しさん
2007/10/05(金) 09:48:05オープンと汎用って何?
0040デフォルトの名無しさん
2007/10/05(金) 11:17:32汎用>メインフレーム
0041デフォルトの名無しさん
2007/10/06(土) 04:39:290042デフォルトの名無しさん
2007/10/06(土) 10:25:22出来ました
ありがとうございました
0043デフォルトの名無しさん
2007/10/06(土) 13:22:150044デフォルトの名無しさん
2007/10/06(土) 13:35:040045デフォルトの名無しさん
2007/10/07(日) 23:49:16初代スレの>>1が くみこ だったけど
あっという間に消えて、2代目スレからは制御系スレに引越しちまった
実際、住人も被ってたしな
0046デフォルトの名無しさん
2007/10/12(金) 21:14:550047デフォルトの名無しさん
2007/10/12(金) 23:37:390048デフォルトの名無しさん
2007/10/15(月) 10:05:46それとも生々しすぎて語れないとか
0049デフォルトの名無しさん
2007/10/15(月) 10:37:14低レベルな奴だな
0050デフォルトの名無しさん
2007/10/15(月) 10:46:24ただプログラム板にあるんでプログラミングの話題が主になるでしょう。
個人で買えるというと PIC や H8/M16 あたりがメインかもね。
0051デフォルトの名無しさん
2007/10/15(月) 10:47:22スレ違い。ニュースの内容見てないの?
0052デフォルトの名無しさん
2007/10/15(月) 10:50:080053デフォルトの名無しさん
2007/10/15(月) 10:59:19電気電子板の関連スレのご案内
LEDチカチカ総合スレ 2
http://science6.2ch.net/test/read.cgi/denki/1181661951/
【SDCC】PIC専用のスレPart15【PICkit2】
http://science6.2ch.net/test/read.cgi/denki/1187863826/
H8,SH系マイコン限定スレ 4チップ目
http://science6.2ch.net/test/read.cgi/denki/1186182412/
[SH_M32__ルネサスマイコン総合スレ2__H8_R8C_Tiny]
http://science6.2ch.net/test/read.cgi/denki/1159675598/
〜〜DSP総合 2 スグ落ちるぅ〜〜
http://science6.2ch.net/test/read.cgi/denki/1101474233/
自作回路でUSB EndPoint2
http://science6.2ch.net/test/read.cgi/denki/1177435280/
0054デフォルトの名無しさん
2007/10/15(月) 14:02:48内容がこちらで間違っていればすみません。
VxWorksでの質問なのですが
例えばpingを応答待ち5秒、リトライ回数5回を行いたいのですが、
タスク内でpingを行うと
すぐに応答が返ってきたとしても、多少なりともタスクが止まると思っているのですが
合っていますでしょうか?
普通は別タスクを興すものなのでしょうか?
なにか良い方法ございましたらご教授お願いいたします。
0055デフォルトの名無しさん
2007/10/15(月) 14:25:030056デフォルトの名無しさん
2007/10/15(月) 15:11:55普通は別タスクを起こします
0057デフォルトの名無しさん
2007/10/15(月) 23:01:480058デフォルトの名無しさん
2007/10/20(土) 03:13:51リンクリストに表示されるそのコピーが、 ; XXX-9999 link 配置制御*!
に、なってた。エディタで見て「*!」だがコピペしたら「・」に変わった。
「文」のコードは95B6なのがなぜか9521に化けて、siftJISで9521は無いから変な文字に
なったらしいが、なんでこんなふつうの文字が化けるのか不思議。
0059デフォルトの名無しさん
2007/10/20(土) 04:08:54制御系スレと間違えてないか?
0060デフォルトの名無しさん
2007/10/20(土) 12:19:09文字コードがあっていないか対応していない上に
びっくりに意味があったとかそんなとこだろう
0061デフォルトの名無しさん
2007/10/20(土) 23:01:50いや、内容的にコレの続きかと
http://pc11.2ch.net/test/read.cgi/tech/1191408444/15
0062デフォルトの名無しさん
2007/10/20(土) 23:29:53そうなのか。つか、もう全部コメント英語で書けよ
日本語米がどーとかなんて、今やってることの本質じゃないだろに
006358
2007/10/21(日) 05:46:40本質のとこはふつうにできてます。ちょっとお茶目なリンカだなと思って(w
0064デフォルトの名無しさん
2007/10/22(月) 01:14:513つ以上、チェックがつけばアナタの性格はひん曲がっており、
ネガティブ負け組派遣人生を歩んでいます。
□派遣先正社員の作った糞開発ツールはたとえ腐っててもマンセーして使う
□派遣先の人事権のある社員の意見はたとえ間違っていてもマンセーする
□仕様とは正社員から口伝されるものだ
□耳で聞いた仕様を正確に覚えていないのは自分の責任だ
□昼食は必ず派遣先の社員と行くべきだ
□自分の仕事で問題が発生しても解決するのは派遣の仕事ではない
□自社で仕事なんてできるわけがない
□派遣労働の問題点の話題が出ると感情剥き出しにして反論する
□派遣労働の問題を指摘する人は嫌いだ
□派遣先には仕事だけでなくプライベートについてもグイグイ引っ張って欲しい
□奢ってくれる派遣先正社員を尊敬する
□自分の月額金額を知らないのは当然だ、単金を聞いてはいけない
□派遣先正社員より自分の生涯収入が低いのは当然だ
□チビは派遣先にかわいがってもらいやすいから派遣には有利だ
0065デフォルトの名無しさん
2007/10/22(月) 12:31:440066デフォルトの名無しさん
2007/10/24(水) 23:42:220067デフォルトの名無しさん
2007/10/26(金) 06:44:30使っちゃったんです。で、WDTはhaltを解除しないとも書いてある。アプリはhaltすることを
要求してる。これ、基本的に石の選定を間違った、ってことですよね?
0068デフォルトの名無しさん
2007/10/26(金) 06:54:130069デフォルトの名無しさん
2007/10/26(金) 08:22:16haltしててね、っていう仕様なんです。(noiseフルな環境で動くので)
0070デフォルトの名無しさん
2007/10/26(金) 08:41:58haltしてる間にWDTでリセットされたら困るでしょ?
0071デフォルトの名無しさん
2007/10/26(金) 11:47:38WDTをソフトで止められる石ならhaltするとき止めてからhaltするけど。
0072デフォルトの名無しさん
2007/10/26(金) 11:54:250073デフォルトの名無しさん
2007/10/26(金) 15:47:40仕様が変なだけでしょ。
0074デフォルトの名無しさん
2007/10/26(金) 18:39:16仕様書の読み間違いじゃないの?
0075デフォルトの名無しさん
2007/10/26(金) 18:57:53>(3)RUNビットは,いったんセット(1)するとソフトウエアではリセット(0)できません。
だそうです。
0076デフォルトの名無しさん
2007/10/26(金) 19:04:210077デフォルトの名無しさん
2007/10/26(金) 19:11:08まあ確かに暴走コードがWDT止めたら困るわけで、そう考えれば合理性はあるけど。
なら対策としては、WDT使うのやめて、空いてるタイマがあれば
そいつのカウントアップでリセットするようにするぐらいかね
0078デフォルトの名無しさん
2007/10/26(金) 19:25:49halt解除とかすれば、いいような気がするけど、
WDTの意味が無い?
0079デフォルトの名無しさん
2007/10/27(土) 00:05:52だな。
wdt使うならタイマで定期的に復帰させてクリアさせるしかないだろ。
つーか、そうしないと「いざ」というとき動くかどうか分からんだろ
0080デフォルトの名無しさん
2007/10/27(土) 00:22:500081デフォルトの名無しさん
2007/10/27(土) 00:38:40なんか変なこと言ってる人がいるけど、HALT後タイマー(というか割り込み)
なんて使えるの?
それってHALTしてないってことで、語義矛盾じゃんw
0082デフォルトの名無しさん
2007/10/27(土) 01:38:25008375
2007/10/27(土) 05:10:58H8なんかだとWDT止めてhaltするようにしましたけど。
>>81,82 今回は電力ではなくて、noiseが理由でした。石が5Vで動いてるのに、10cm位近く、
同じ箱の中で4KVの接/断がバタバタ・・・ 石もバスアクセスの度にノイズ出す。 もうね・・・
0084デフォルトの名無しさん
2007/10/27(土) 06:21:50>>81 は釣りだから相手しちゃダメ
0085デフォルトの名無しさん
2007/10/27(土) 07:01:05HALTのときってDRAMのリフレッシュは行われますか?
0086デフォルトの名無しさん
2007/10/27(土) 12:05:53だからそれならそもそもWDT使うのやめて、
通常のタイマ使ってWDTと同じことするようにすればすべて解決じゃん。
0087デフォルトの名無しさん
2007/10/27(土) 13:58:25データシート嫁
0088デフォルトの名無しさん
2007/10/27(土) 17:06:32>>84
つーか、話について来れなくなった制御理論クンじゃねーの?
0089デフォルトの名無しさん
2007/10/29(月) 07:12:310090デフォルトの名無しさん
2007/10/29(月) 10:02:53だとしたら実務経験が実に浅そうだな。彼は。
0091デフォルトの名無しさん
2007/10/30(火) 00:24:56ここでの悔しさをバネにして頑張ってくれるさ
0092デフォルトの名無しさん
2007/11/16(金) 15:17:370093デフォルトの名無しさん
2007/11/19(月) 13:27:350094デフォルトの名無しさん
2007/11/19(月) 14:15:330095デフォルトの名無しさん
2007/11/19(月) 15:01:430096デフォルトの名無しさん
2007/11/19(月) 17:06:08もう一つ、斜めの位置にローラーが付いています。これって何してるんでしょう?
0097デフォルトの名無しさん
2007/11/19(月) 17:08:400098デフォルトの名無しさん
2007/11/19(月) 23:45:16009996
2007/11/20(火) 06:11:120100デフォルトの名無しさん
2007/11/20(火) 06:23:31ページ毎に確定待ちの時間があるのが、ページ消去してから書き込む時間だと思います。
アプリで、サイクリックに使って記憶を残すものを書いていて、最新以外はFFを書いて消して
いるのですが、保証回数というのはページ消去の回数ではないかとおもいます。そうすると
FFを書いても書き込み回数には含まれるのか、全部FFのページを消去したときは実質NOPに
なるのではないか?と言う気もするし。 flashROMでFFだと消去が早いかどうか知りませんか?
0101デフォルトの名無しさん
2007/11/20(火) 07:24:47そのローラーの汚れが再付着というのは考えないのね
0102デフォルトの名無しさん
2007/11/20(火) 09:31:52ページ消去の回数に限界があるので
FFにFFを書くときにいちいち消去するコードは氏ね
0103デフォルトの名無しさん
2007/11/20(火) 09:49:060104デフォルトの名無しさん
2007/11/20(火) 14:33:51ええと、フラッシュタイプって事はページ単位消去だよね?
シリアルEE-PROMならバイト単位だけどさ、
ページ単位消去なら 消去したらFFになるんで、全部FFの場合は書き込まなくていい
書き込みは0しか書き込めないから、 1を書いて2を書いたら結果は0にな
だから書き込み回数=消去回数になる
シリアルEEPROMはバイト単位やってるんで、FFを書いても消してるのだろうから回数になるんだろうと思うよ
賢い回路が付いてて 現在FFでさらにFF書こうとしたら何もしないのかもしれないけど
そうかどうかはBUSY端子で確認してみたら?
0105デフォルトの名無しさん
2007/11/20(火) 15:42:06たしかにシリアルEEPROMではあるバイトに1を書いて2を書いてもいいから、バイト毎に
消してるみたいですね。あれ?EEPROMでもページ(32か64バイト)があって、これをまたいで
書いてはだめよとか書かれてますけど、これはどういうことなのでしょう?
0106デフォルトの名無しさん
2007/11/20(火) 17:38:56そのバンク内なら一度に書き換えられる。つまり書き込み時間の短縮になる。
その弊害として、バンクを跨ぐ連続書き込みが出来ない。
という事は、
たぶん1バイト書き込みでも、実際はバンク単位に書き換えているのだろう。
内部的にはバンク内の内容をRAMに読み出してから消して、再度書き込んでるのだと思われる。
0107デフォルトの名無しさん
2007/11/21(水) 01:14:41これができるなら、(0xffで)消す必要がないと判断したら消さないんじゃないだろか。
0108デフォルトの名無しさん
2007/11/21(水) 07:12:010109105
2007/11/21(水) 16:02:06でも製品では5mSと、決められた時間待つようにしてるので、今回は遅かったようです。
次回のデバックのときやってみようとおもいます。
0110デフォルトの名無しさん
2007/11/21(水) 23:24:22え、時間見たいだけならパルス幅みてみりゃいいじゃん
0111105
2007/11/22(木) 06:35:140112デフォルトの名無しさん
2007/11/22(木) 22:52:500113デフォルトの名無しさん
2007/11/26(月) 00:06:18/ _ ヽ //´ __,,>、
/  ̄ ̄ { /::/ / ̄:::::::::::::::\
l _ィニニア二二二ニヽ、j._ /::::l/::::::::::::::::::::::::::::::::l
| 0Lj/-‐-レノ ノ_ヽ:::`ヽ l:::::::::::/l/lノノ/_イ:::::l
レ:r、/ イ゚テ ピト`|::| l:::::::::/ rtテ、 .ィtq l::::::|
l:lヘ '" ,j '"/ノ |::lヘ!j ´ ,j !;:::/
ヽヽ、 r‐-, /' レリー 、 ,...., lノ/
lヽ、  ̄ / `ヽ、lヽ 、  ̄ /´
_,r┴‐-`v´-‐j-、__ , -‐-、_r┴─'ー‐チト
/ ̄/:.:.:.:| ̄ ̄`T ̄´|:.:.:.:l´ `ヽ / ヽ ̄`ー-‐'´`''''⌒ヽ
/ ,':.:.:.:.:.l l l:.:.:.l \ _r‐、-、-、r, 、 ',
|:.:.:.:.:.:.! ! !:.:.l ,. -‐ゝ/// 〉 〉 〉 〉 〉 ! ',
l:.:.:.:.:.:.l | l:.:.:l / 人〈〈〈〈 ' ' ' /っ l l
0114デフォルトの名無しさん
2007/11/26(月) 03:04:22>>113
それちがうw
0115105
2007/11/26(月) 06:31:49仕様でした。今はライトの後の確定待ちに標準の数ミリwaitしてるだけなんですが、ちょっと
安全ではないかな、という気がしてます。
RDYbitを見て、書き込み中が消えるまで待つべきだったかな。
0116デフォルトの名無しさん
2007/11/26(月) 07:12:56くみこ関連書籍専用コーナーが拡張されてた
そんなに需要増えてるのはなぜ?
0117デフォルトの名無しさん
2007/11/26(月) 08:14:240118デフォルトの名無しさん
2007/11/26(月) 09:22:470119115
2007/11/28(水) 05:24:04循環書込のアドレス計算を間違えて、別の用途の場所を侵略してました。
0120デフォルトの名無しさん
2007/11/29(木) 16:00:1368ユーザーハッケソ
0121デフォルトの名無しさん
2007/11/30(金) 13:29:50クロスコンパイルのバージョンを指定されたんだけど、
どこで落とせばいいのやら…
初心者ですいません。
GCC Version 4.0.4
Crosscompiler: mipsel-linux-uclibc-gcc
Linker:mipsel-linux-uclibc-g++
これだけもらったんですが、これだけで分かるんですかー??
0122デフォルトの名無しさん
2007/11/30(金) 13:55:12gcc
ftp://ftp.dti.ad.jp/pub/lang/gcc/releases/
ftp://ftp.iij.ad.jp/pub/gcc/releases/
uclibc
http://www.uclibc.org/downloads/
たぶんbinutilsも
http://ftp.gnu.org/gnu/binutils/
0123デフォルトの名無しさん
2007/11/30(金) 16:51:52がんばります!
0124デフォルトの名無しさん
2007/12/03(月) 12:16:03quewrit(qcbp,evt)では、
set_imask_ccr((_UBYTE)1); // 割込み禁止必要
qcbp->bufp[qcbp->wpt] = evt;
qcbp->cnt += 1;
qcbp->wpt =(char)((qcbp->wpt+1)&qcbp->mask);
set_imask_ccr((_UBYTE)0); // 割込み許可 07.11.14
とやってます。 取り出しはmainloopで、
c = qcbp->bufp[rp];
set_imask_ccr((_UBYTE)1); /* for ルネサスc */
qcbp->cnt -= 1;
set_imask_ccr((_UBYTE)0); /* for ルネサスc */
qcbp->rp=(qcbp->rp+1)&mask; とやってます。
このrpとwpが、中身0のときたまにずれてるんです。
0125つづき
2007/12/03(月) 12:18:14両方maskするべきとすると、どちらが先、とかありますか?
0126sage
2007/12/03(月) 13:27:03そりゃずれて至極当然というか当たり前というか。。
0127デフォルトの名無しさん
2007/12/03(月) 14:02:04コピペに失敗してるみたいだね?
0128125
2007/12/03(月) 14:33:23割込が制御される、と書かれていました。ちょっと下位の石でIビットで制御してた奴を
コピペしたので、そこを誤解していたからのようです。
set_imask_ccr()の替わりに、or_exr(7)で禁止、and_exr(0)で許可とするのが正解みたい。
0129デフォルトの名無しさん
2007/12/03(月) 15:24:15それでいいのかよと言いたい。
0130デフォルトの名無しさん
2007/12/03(月) 15:37:530131デフォルトの名無しさん
2007/12/03(月) 15:52:280133デフォルトの名無しさん
2007/12/04(火) 16:55:550134125
2007/12/05(水) 05:31:16全部禁止にしたいときEXRを7にし、全部許可するとき0にしてます。
0135デフォルトの名無しさん
2007/12/05(水) 13:22:460136125
2007/12/05(水) 14:21:06読み落としてました。割り込みの最後だけで使うならいいが、一般性があるように書くためには
7にする前にそのときのEXRのレベルを保存して、あとでその値に復元しないといけませんね。
ありがとうございます。これでもうちょい安全になります。
0137デフォルトの名無しさん
2008/01/07(月) 16:29:16コンパイル環境はxilinx platform studioです。
Debug-control register 0 (DBCR0)のreset bitに2bit幅で値をWriteするっぽいのですが、DBCRの宣言の仕方がわかりません。
検索をかけてみたところ、
ttp://pcatd12.cern.ch/doxygen/nightly/html/uboot__100__processor_8h-source.htmlでは
00157 #define SPRN_DBCR0 0x3F2 /* Debug Control Register 0 */
ttp://www.gelato.unsw.edu.au/lxr/source/include/asm-ppc/reg_booke.hでは
213 #define SPRN_DBCR0 0x134 /* Debug Control Register 0 */
となっており、レジスタ値がバラバラです。platform studioかISEなどで設定をしなくてはならないのでしょうか?
お手数ですが、皆様のご助力をあおげれば幸いです。
0138デフォルトの名無しさん
2008/01/07(月) 16:35:30データシート見たらいいんじゃないの?
0139デフォルトの名無しさん
2008/01/07(月) 16:38:01悪い、コーディングの仕方が分からないということか?
0140デフォルトの名無しさん
2008/01/07(月) 16:51:58DBCRへのアクセスの仕方はデータシート見るしかないじゃないかな?
0141デフォルトの名無しさん
2008/01/07(月) 23:16:10俺が弄ってるPPCはFreescale系ばっかりだが
DBCRてSPRだろ?
だったら
1)mfsprで現在値をGPRに読み出しておいて
2)読み出したGPRの値を変更してから
3)mtsprでGPRの値を上書きする
のが常套手段、まぁ絶対の自信があるなら
GPRに値をセットしていきなり上書きしても違反では無い
あと40x(PowerPC1.10)系のはずだから、こっちだろ
232 #define SPRN_DBCR0 0x3F2 /* Debug Control Register 0 */
こっちはFreescale BookEのconfig依存で括られてるじゃん
213 #define SPRN_DBCR0 0x134 /* Debug Control Register 0 */
そもそも、なんの意図でConfigureが何処を有効にするかも無視して、
U-bootとLinux Kernelのソースを比較してるんだ?
(U-bootも書き方が大同小異で同じだけど)
この手のことなら、しっかりドキュメント読んだ方が早いだろ。
PowerPCならMIPSやARMと違ってチップに載せたベンダで
怪しげな拡張されてるってこともないし、ドキュメントはしっかり公開されてるだろ。
つーか、読もうともしないで弄るな
0142デフォルトの名無しさん
2008/01/08(火) 07:05:55+は付きませんね? 10を+10にするには自分で'+'をかぶせなきゃだめ?
0143デフォルトの名無しさん
2008/01/08(火) 08:23:470144137
2008/01/08(火) 10:10:24そうでした。「尋ねる前に読め」と教えられたはずなのに・・・未熟でした。
精進しますっ ありがとうございました>V<
0145142
2008/01/08(火) 10:58:280146デフォルトの名無しさん
2008/01/08(火) 11:29:470147142
2008/01/09(水) 14:57:280148デフォルトの名無しさん
2008/01/09(水) 15:06:47ちゃんと買わないで製品に組み込むコードの生成に使っていいんだっけ?
0149デフォルトの名無しさん
2008/01/09(水) 17:47:42お客様のLIBにあったから、 「これ使っていいでしょ♪」 と言って貰ってきました。
0150デフォルトの名無しさん
2008/01/10(木) 10:18:54まずいんじゃないかということだと思うのだが。
0151デフォルトの名無しさん
2008/01/10(木) 20:02:590152デフォルトの名無しさん
2008/01/10(木) 20:20:100153149
2008/01/11(金) 09:25:34私が使用許諾を取ることはないと思います。
私の著作を(例えばフリーソフトとか)書くのでしたら、私がLSIジャパンからパッケージを
買うべきですよね?
0154デフォルトの名無しさん
2008/01/11(金) 10:51:210155デフォルトの名無しさん
2008/01/11(金) 11:07:43クロスコンパイラはデバッガやらプローブと一緒に提供されることが
多いからそういう感覚になるのかもね。
まあ汎用のでも経費として出してもらうこともあるが。
0156デフォルトの名無しさん
2008/01/11(金) 12:34:39ソフトウェアの使用許諾って、特定の個人1人または特定のPC1台に縛り付けられるのが普通では?
例えば、1つの製品を開発するためでも、5人の開発者(≒5台のPC)がいれば5ライセンス必要かと・・・
0157デフォルトの名無しさん
2008/01/11(金) 12:43:370158デフォルトの名無しさん
2008/01/11(金) 13:08:44ちょろっとLSIJのサイト見てきてみましたよ。
http://www.lsi-j.co.jp/product/c80-36/index.html
>ご使用になるコンピュータの台数に合わせて必要なライセンス数をご購入いただけます
使用するコンピュータの台数によって必要なライセンス数が異なるってことだ。
これでおk?
0159デフォルトの名無しさん
2008/01/11(金) 13:11:130160デフォルトの名無しさん
2008/01/11(金) 13:45:37客もそのソフトでデバッグするというような事情があると別だろうけど
この場合、2人や2台で同時に使ってる訳じゃないのであれば、
法律的な争いになるとソフトメーカはたぶん不利だろう。
0161デフォルトの名無しさん
2008/01/11(金) 13:55:48余ってるライセンスがあることを確認した上で使っていいという返事をした可能性もある
0162デフォルトの名無しさん
2008/01/11(金) 14:02:090163デフォルトの名無しさん
2008/01/11(金) 14:04:13もらって帰るなんて出来ないよ。
>>149さんが客先に出向いてその場で作業を行うのはOK。
0164デフォルトの名無しさん
2008/01/11(金) 14:09:580165デフォルトの名無しさん
2008/01/11(金) 15:52:00自分の記憶では、昔、EPSONのBASICやDOSはダメ、MicrosoftのQuick CはOKだった。
0166デフォルトの名無しさん
2008/01/11(金) 17:07:32いくらライセンスで縛っても中古や譲渡は仕方ないと思うけど
複製し放題のソフトだと、譲渡不可のライセンスは有効じゃないかな
ただ最近はID/PASS入れさせたりするのが多いから、そういうのはライセンスで縛れないかもな
0167デフォルトの名無しさん
2008/01/13(日) 12:37:41ノートの調子が悪いので、新調を考えてるんだけど、MacのVMでWindows起動して
やってる人いる?
0168デフォルトの名無しさん
2008/01/13(日) 22:40:31開発環境が何に対応してるかによる。
大概は2000かXPだと思うが、Linuxってこともある。
>ノートの調子が悪いので、新調を考えてるんだけど、MacのVMでWindows起動して
>やってる人いる?
IDEって重たいの多いから、VMじゃあんまりやらないと思うけど。
0169デフォルトの名無しさん
2008/01/21(月) 01:56:010170デフォルトの名無しさん
2008/01/21(月) 02:58:240171デフォルトの名無しさん
2008/01/21(月) 03:01:17ほとんどが下請け奴隷
0172デフォルトの名無しさん
2008/01/21(月) 12:10:400173デフォルトの名無しさん
2008/01/21(月) 22:52:46大手メーカーの開発子会社
0174デフォルトの名無しさん
2008/01/22(火) 08:43:26でも、失敗すると、サ●ヨー携帯みたいになるんかなぁ。
0175デフォルトの名無しさん
2008/01/22(火) 10:26:010176デフォルトの名無しさん
2008/01/22(火) 19:22:08>>174
中身別の会社で作っててサン○ーの名前がついてるだけ
ってやつですか??
0177デフォルトの名無しさん
2008/01/27(日) 01:17:230178デフォルトの名無しさん
2008/02/10(日) 06:43:06以外にいいアイデアありますか?NMIがあれば、「ここを使ってた」 という情報を特定のセクタ
に残せるのですが、NMIは搭載されませんでした。
0179デフォルトの名無しさん
2008/02/10(日) 12:13:18FFも使うから別の手法がほしいってこと?
0180デフォルトの名無しさん
2008/02/10(日) 12:23:410181デフォルトの名無しさん
2008/02/10(日) 12:41:15電源断を挟んでも状態を継続するうまい方法はないですか、
ということではなかろうか。
0182デフォルトの名無しさん
2008/02/10(日) 12:45:33別にFROMと同じでいいだろ
ブロックごとで扱うのが嫌でEEPROMにしてるなら、
TLV形式にして、古いデータを無効データのTagにしてきゃ良い
初期化で無効で埋めるのを忘れずに
0183178
2008/02/10(日) 16:04:23無効で埋めるよりはFFで消してゆくほうが楽ですね。これ書いてて思ったんですが、
生でたまにbit化けしてたときのガードを書いてないの思い出しました。
0184デフォルトの名無しさん
2008/02/10(日) 16:17:480185デフォルトの名無しさん
2008/02/10(日) 16:27:16たぶんそこはみんな知ってると思うんだw
わからないのは「循環記憶」と呼ばれる処理の中身
>>181の言っている通りなら、アクティブなセクタの先頭バイトは
識別用のダミーとして必ず0xFFみたいにすればいいんじゃないのかな。
殺したいときは何もセクタ全部をイレースしなくてもそこに0x00でも書けばよいのでは。
0186デフォルトの名無しさん
2008/02/10(日) 16:29:17それを書く前に電源断したら?って話では?
0187デフォルトの名無しさん
2008/02/10(日) 16:50:09新しい「ここを使ってた」情報を書く
↓
データを格納
↓
古い「ここを使ってた」情報を消す
でいいんじゃね?
0188デフォルトの名無しさん
2008/02/10(日) 16:50:23ふつーにリングバッファのことじゃね?
0189178
2008/02/11(月) 05:02:15前回の状態を復元します。全体を平均に使うためにリング状に使うことを循環記憶と言いました。
00でなくFFを書いたのは、生と同じにしとけばFFの判定だけですむから。
>>187の手法で、最新の状態を書いた後に1個前をFFで消しているのが今の手法です。
ここを使ってた、ではなく状態そのものですが。
Flashではセクタを消したらFFになりますが、EEPではFFを書くのも00を書くのもデバイスに
かかる負担は同じなのでしょうかね?何となく、0のbitが少ないほうが確定が早いんじゃ、とか(w
>>188 メモリでリングバッファやる時はバッファそのものとライトポインタ・リードポインタ・滞留数は
別物ですよね。EEP上で同じ事やるとバッファと管理情報の更新に時間差が出るから、
メモリと同じには扱えないと思います。 あとリングバッファとの違いは滞留数=必ず1なので
管理情報もこの場合1個でいいです。
0190デフォルトの名無しさん
2008/02/11(月) 05:26:37わざわざ別の方法を考える必要はどこにある?
0191デフォルトの名無しさん
2008/02/11(月) 11:29:361バイト毎にも書き換えられるけど、バンク内のたとえば16バイトなら一気に書き換えられるとかさ
I2Cインターフェースのなら、だいたい統一されてる
で、結局やりたいのは書き換え回数が1万回のもので、
1時間に一回書き換えたら1年で寿命来るけど128箇所に分散したら64万回に出来て
実用的に書き換え回数の制限無しに出来るぞ
っていう皆がやってる事だろ?
方法としては、バンクの整数倍のセクター作って
1、順にセクターを使って書いては一つ前のセクターを消す
2、連番フィールドを持たせる(連番の代わりに時計情報でもOK)
の2つくらいしかない。
1の場合は起動時に頭からスキャンして1つ見つけたら検索終わり
2の場合は全部をスキャンして最大の連番と最小の連番を探す
最大-最小がフィールド数より大きいなら ラップアラウンドしてるとして最小を採用する
0192178
2008/02/11(月) 16:36:32>>191 2の手法は思いつきませんでした。1のほうがやっぱり簡単ですね。
うちのはバンク64byteで、セクタを16byteで、4回進めたら(次のバンクに移るので)前のバンク
を消す、ってやってるのですが、1.のようにセクタ1個ずつ書いて消してでもデバイスの負担
は同じでしょうか? バンクに対する確定待ちの回数が書き換え回数のことだと思ったので、
こうやったのですが、無駄に複雑にしただけかもしれないですね。
0193デフォルトの名無しさん
2008/02/11(月) 16:51:44たぶん一つの1バンク 64byte内の、1バイトでも書き換えたら
中間バッファに64byte読んでから全部消して、
1バイト置き換えて書くという動作になってるだろうと思うよ。
だからこういう使い方でバンクサイズ以下のセクターには意味がないんじゃないの?
>>191の2のアクセス方法は間違いだった。
連番は2づつ増やして偶数になるようにして LSB=1なら未書き込み。
先頭の連番を Xとしたら、残りの連番からXを引いた結果の
符号付で負数になる直前を採用するというのでいいと思う。
この方法なら、過去のデータに戻れるのと、
消さない分寿命が長くなるかもと期待出来るから、
フィールドが余ってるならこっちがいいと思うよ
0194178
2008/02/15(金) 05:44:13>中間バッファに64byte読んでから全部消して、
>1バイト置き換えて書くという動作になってるだろうと思うよ。
そのことは理解しています。データブックにある 「内部書き込み状態のシーケンスに入る」
というのがそれをやってる時だろうと理解してます。
>>192で言いたかったのは、「1個書いて1個消す」 手法だと、
あるバンクの書き換え(=消し書き)回数は、(bank=64,1回16byteで)
(write) (write) (write) (write) (次のbankのwrite)
(FFwr) (FFwr) (FFwr) (FFwr) で、次のbankを使うまでに8回消し書きになります。
「4個書いて次のbankに移ったら前のbankを消す」 手法だと、
(write) (write) (write) (write) (次のbankのwrite)
( FFで 64byte write ) で、次のbankを使うまでに5回の消し書きで済みます。
後の手法のほうがいくらかでもデバイスに優しいだろう、ということでした。
ハード屋さんに話したら、「百万回のデバイスなんだから、細かいこと気にスンナ!」でした(w
0195デフォルトの名無しさん
2008/03/07(金) 22:48:02>>194
100万回って何回なのか判ってるのかね
毎秒1回書き換えたなら100万秒って11日だぞ
2週間持たないんだぞ
0196デフォルトの名無しさん
2008/03/07(金) 22:52:160197デフォルトの名無しさん
2008/03/08(土) 02:43:53幾らなんでも、そこまで考え無しには言わんだろ
書き換えの契機はさほど頻繁には無くて
全面満遍なく使ってくれりゃ十分ってことなんじゃね
0198デフォルトの名無しさん
2008/03/08(土) 13:43:530199デフォルトの名無しさん
2008/03/09(日) 02:51:10です。キー操作は設置時の使い始めぐらいで、後は日に高々10回ぐらい自動で起動・電源断
(RTCに次回の起動時刻を書いて電源断) なので、
>>194の悪いほうで計算してもだいたい200年ぐらいでした。
0200デフォルトの名無しさん
2008/03/09(日) 05:39:440201デフォルトの名無しさん
2008/03/10(月) 18:36:460202デフォルトの名無しさん
2008/03/10(月) 18:55:01この前ベルト式のが動いてるのを見たよ。
あれって昭和のはじめだよな。たぶん。
俺達の作ったものが50年60年先にも、もしかして使われてるかもしれないとは考えておかないとな。
0203デフォルトの名無しさん
2008/03/10(月) 19:04:42まだまだよw
0204デフォルトの名無しさん
2008/03/10(月) 19:09:11ベルト式のなに?
0205デフォルトの名無しさん
2008/03/11(火) 01:56:410206デフォルトの名無しさん
2008/03/11(火) 08:08:500207デフォルトの名無しさん
2008/03/11(火) 10:05:01農機具でエンジンから脱穀機の動力伝達にベルト使ってるの実家でやってたの覚えてはいるけど
今ではコンバインだもんな。
0208デフォルトの名無しさん
2008/03/11(火) 21:10:320209デフォルトの名無しさん
2008/03/11(火) 21:37:190210デフォルトの名無しさん
2008/03/11(火) 21:42:380211デフォルトの名無しさん
2008/03/12(水) 08:44:51何の話をしてたんだよw
0212デフォルトの名無しさん
2008/03/12(水) 08:50:150213デフォルトの名無しさん
2008/03/12(水) 10:32:370214デフォルトの名無しさん
2008/03/12(水) 23:32:340215デフォルトの名無しさん
2008/03/14(金) 14:22:36>>208
が主張したいのはおおかたオルタネータ駆動だろw
つーか脱線しすぎ!
0216デフォルトの名無しさん
2008/03/19(水) 09:13:23ではない境界にあっても、石のアーキテクチャ上は大丈夫ですよね?
また、このデータを割り込みとメインループ両方から触るのですが、32bitレジスタでLD/ST
されるので、タスク側から触るときにも割り込みマスクせず触ってよい、と認識していますが
合ってますか?(16bitレジスタで分けてLD/STされるならマスク要、と考えました)
0217デフォルトの名無しさん
2008/03/19(水) 09:42:21H8は内部16ビットバスの8bitマイコンだから32bitデータは偶数から始まればよく
32bitデータでも4の倍数である必要はない。
2、
H8/500系ならメモリへの加算などが出来るのですが
H8/300系では 演算は基本的にレジスタです
ですから1ビットのフラグ処理や TASをアセンブラから使う場合を除いて
割り込み側で見る値をメイン側で書き換えるなら割り込み禁止が必要です。
0218デフォルトの名無しさん
2008/03/19(水) 09:53:34○割り込み側でも書く値をメイン側で書き換えるなら割り込み禁止が必要です。
両方から触るというのを双方から書き換えると読んだので、割り込み禁止が必要と書きました。
たとえばメイン側で
cnt++;
するのを割り込み側で見るだけの場合は、割り込み禁止する必要はありません。
cnt++は、
偶数番地から始まっていれば32bitレジスタにロードされ、
inc命令を実行してから STされます。
LD/STはそれぞれ2回のメモリアクセスになりますが、
その実行中に割り込めません。
0219デフォルトの名無しさん
2008/03/19(水) 10:41:03文法的には、テンプレートとネームスペース未対応?
0220デフォルトの名無しさん
2008/03/19(水) 11:04:00というケースでは割り込みマスク要りませんよね。
0221デフォルトの名無しさん
2008/03/20(木) 17:09:59・自分のプログラムのバグなのかコンパイラのバグなのかわからない
・他の仕事に応用できない糞開発ツールの独自世界を必死に学習している
・テキストエディタで書いたほうが効率的なのに糞UIツールを懸命に使っている
・糞開発ツールを批判すると「性格が悪いから糞ツールを批判するんだ」と言われる
糞だけど、政治的な理由で無理やり使わされているんですよね。
もう、あんな厨の作った糞ツールを我慢して使うのはやめましょう。
・糞開発ツールを部下に押し付ける上司の命令は無視しましょう。
上司は糞開発ツールが使われる実績を作ることであの会社のごきげんをとっているのです。
・あの糞開発ツール提供会社には「おたくの糞開発ツールは話にならない」と突き放しましょう。
バグレポートなどしてはいけません。改善要求などもってのほかです。
あの会社はあなたたちのことをテスター/モルモットとしか思っていません。
・あの会議で「糞開発ツールを使ったら生産性がxx%アップしました」
なんて話が出たら力強く机を叩き、会議室を出ましょう。
あの人たちは糞開発ツールをマンセーすることで立場を確保しているのです。
糞な開発ツールを糞だと言える、そんな当たり前の環境をみんなの力で取り戻しましょう。
0222デフォルトの名無しさん
2008/03/20(木) 17:11:370223デフォルトの名無しさん
2008/03/24(月) 11:54:460224デフォルトの名無しさん
2008/03/29(土) 04:44:4964180のpdfではどちらがLow/Highか明記されていませんが、Z80180のpdfを見ると、
偶数番地がLow、奇数番地がHigh と理解してよいようです。 ある機器の内部I/O初期化の所
; ;TIMER0=10MS
LD A,000H
OUT0 (0EH),A ; タイマーリロードレジスターチャネル 0
OUT0 (0CH),A ; タイマーデータレジスター チャネル 0L /20
LD A,0CH ; 12288KHZ/20=614400 /3072=200Hz:5ms
OUT0 (0FH),A ; タイマーリロードレジスターチャネル 0
OUT0 (0DH),A ; タイマーデータレジスター チャネル 0H /20
; ;TIMER1=120US FOR BUZZER
LD A,025H ;/37 12288KHZ/2500H=1297Hz
OUT0 (16H),A ; タイマーリロードレジスターチャネル 1L
OUT0 (14H),A ; タイマーデータレジスター チャネル 1 /20
LD A,00H
OUT0 (17H),A ; タイマーリロードレジスターチャネル 1H
OUT0 (15H),A ; タイマーデータレジスター チャネル 1 /20
このように書かれていました。 CH0のコメントからはCH0=0C00hで分周、と読めます。
CH1のコメントに2500hで分周と書いてありますが、Low側に25h、High側に00hを書いています。
ブザー音のピを作る値なのですが、/20無しで12.288MHz/2500h=1297Hzってのも??です。
これ、動いている機器のコードなんですけど、自分の目が信じられなくて聞いてみました。
私がどこか誤読してるのか? pdfにウソがあって、CH1は偶数番地がHigh-Byteなのか?
0225デフォルトの名無しさん
2008/03/29(土) 09:25:060226224
2008/03/29(土) 16:30:36分周比の式はΦ/20/リロードレジスタなんですよね。 このシステムも、Φ=12.288MHzなんですけど、
どこかで半分になって6.144をベースにしてるみたいだし、ホントワカランorz
0227デフォルトの名無しさん
2008/03/29(土) 22:51:570228224
2008/03/30(日) 05:35:39私が作った機器だとタッチトーンは3KHz前後が多かったので、思いこみがあったようです。
水晶が12MHzで、64180の中で半分になると理解すればよさそうですね。
CH0のほうも、コメントは5mSになってますが、インターバル処理のほうは10mSとコメント
されていました。
12.288MHzの石が生産中止になり、12.28MHzのものしかなくなるのだそうで、その影響を
調べてるとこなんです。uartの信号はあまり長いフレームでなければ(80キャラ以下)いけそう。
ソフトタイマが0.7%遅れるのは許容できなそうですよね。100mS毎とか1秒毎とかの処理が
いっぱいあるし。全体の処理もぎゅう詰めなので、CPUパワーが0.7%落ちただけで機能不全
を起こす処理が出そうで怖いのなんの・・・
0229デフォルトの名無しさん
2008/03/30(日) 13:19:37ポートに出力させて、DSOで見ればいいじゃん
0230デフォルトの名無しさん
2008/03/30(日) 13:52:49ことがあったようです。DSOが何か判りませんが、オシロみたいなもんですか?
0231デフォルトの名無しさん
2008/03/30(日) 14:07:24つ「デジタル・ストレージ・オシロ」
0232デフォルトの名無しさん
2008/03/31(月) 10:17:29TOUTをトグルで使ってるのか、割り込みかけてソフトでどっかのピンをトグルさせてるのか
どっちにしても 1/2は出力段階でされる。
だから、もしTimerの入力クロック段階で1/2されてるなら 4KHzって事になるぞ
0233デフォルトの名無しさん
2008/03/31(月) 18:03:16ただC4dip付近のトーンになるのが私的にはイクナイですね。
0234デフォルトの名無しさん
2008/04/02(水) 11:57:124KHz以下でないとね
0235デフォルトの名無しさん
2008/04/02(水) 23:13:24どんな方法があるんけ?
GW中の自由課題でLEDを光らせたいんです。
0236デフォルトの名無しさん
2008/04/02(水) 23:25:530237デフォルトの名無しさん
2008/04/02(水) 23:30:04基盤はどこで買えるのでしょうか?
予算の関係もあり、出来ればICEとか大がかりな装置は不要な物がいいのですが。
よろしくお願いします
0238デフォルトの名無しさん
2008/04/02(水) 23:46:59自分はどうやって計ってるんだ?
同じこと汁ヨロシ
0239デフォルトの名無しさん
2008/04/02(水) 23:57:00細かいことを言い出すときりがなくなるんだけど
CPU のクロックが10MHzから100MHz程度までの場合
1. 数マイクロ秒程度ならCPUのパイプラインのストール時間まで含めて
インストラクションのクロック数を求めて空ループ回る
2. それ以上10ミリ秒未満なら適当なハードウェアタイマの割り込みに頼る
3. それより長い場合OSに頼る
ってのが定石的な手法だと思われる
0240デフォルトの名無しさん
2008/04/03(木) 00:40:21たとえばこんなやつ?
ttp://www.rakuten.co.jp/tsukumo/435956/737054/
0241デフォルトの名無しさん
2008/04/03(木) 00:51:24秋月通商とかどう?
0242デフォルトの名無しさん
2008/04/03(木) 02:25:01無いようでいっぱいあったりする
http://akizukidenshi.com/
http://www.marutsu.co.jp/user/index.php
http://www.adwin.com/
http://www2.u-netsurf.ne.jp/~toyolinx/
0243237
2008/04/03(木) 07:36:33後でゆっくりリンク先見てみます(´ω`)
0244デフォルトの名無しさん
2008/04/03(木) 08:18:170245デフォルトの名無しさん
2008/04/03(木) 08:41:38サンハヤトとかが扱ってる分なら買えるんだろうけど
http://www.sunhayato.co.jp/products/list.php?l=2&id=02017
0246デフォルトの名無しさん
2008/04/03(木) 23:18:49今の会社で組み込みやらされそうなんですが、本を読んでも具体的に分からない。
割り込みとかスタートアップルーチンとか意味はわかるんだけど、いまいち内容がつかめない。
それと組み込みはCが主流らしいのですがC++も勉強したほうがいいんですか?
Cは一通り理解していて、C++はかじった程度なんですが・・・。
0247デフォルトの名無しさん
2008/04/03(木) 23:24:48まずは会社の人間に聞け
0248デフォルトの名無しさん
2008/04/03(木) 23:32:060249デフォルトの名無しさん
2008/04/04(金) 00:20:030250デフォルトの名無しさん
2008/04/04(金) 23:26:46うちの会社に発注しませんか?
あと、子会社で組込み初心者向けセミナーやってまっせ。
0251デフォルトの名無しさん
2008/04/05(土) 15:01:200252デフォルトの名無しさん
2008/04/05(土) 16:12:270253デフォルトの名無しさん
2008/04/05(土) 16:29:200254デフォルトの名無しさん
2008/04/05(土) 18:54:410255デフォルトの名無しさん
2008/04/05(土) 22:09:33絞らないけど
0256デフォルトの名無しさん
2008/04/06(日) 00:41:30自己確立の奥行きがないとな
0257デフォルトの名無しさん
2008/05/11(日) 04:21:5112.688MHzの水晶が製造中止になって、13MHz*ぐらい*のに変わるのだが、uartは
ずれないかな? とか ダイナミックループでタイミング取る処理ないかな?
とか聞いたことがあるので。
0258デフォルトの名無しさん
2008/05/11(日) 05:08:51bps次第じゃない?
計算したら?
0259デフォルトの名無しさん
2008/05/11(日) 08:36:56振動子: 水晶とか表面波フィルタ素子に電極をつけたもの
高精度の発振を起こすときに使用する受動素子
発振器: 持続したほぼ一定の周波数の交流を作る回路またはモジュール
振動子は単体で発振することはできない
コンピュータ関連で発振器と言う場合, 水晶振動子もしくは表面波フィルタ素子
を使用した発信回路を小型のパッケージに入れたものをさす場合が多い
0260257
2008/05/11(日) 15:36:21よらない発信回路を採用したが、水晶ほど正確なHzは出せない、ということなのでしょうね。
そういう発振器はどんな原理のものなのでしょうか?
0261デフォルトの名無しさん
2008/05/11(日) 17:05:26> たぶん水晶が高いので、水晶振動子によらない発信回路
いや、いくらなんでもそれはないと思うぞ…
100ppm 程度の水晶入った発信器なんて安いし…
表面波フィルタ使った奴だとさらに安いし…
今時、水晶とか表面波フィルタなんて周波数の設定思いの
ままだし…
ちょっとした回路あれば周波数なんて好きに合成できるし…
出荷用の調整とか考えたら、コイルとコンデンサと抵抗を
使った発振回路の方がはるかに割高
0262257
2008/05/11(日) 17:38:59なら解るけど、なんでアバウトになるの? ってお客に聞いたら、何とか・・・って説明もらった
のですが詳細は忘れてしまいました。量産用の基板だから一定のクロックを付けるので、
調整の効くようなクロックは付けないとおもいます。
0263デフォルトの名無しさん
2008/05/11(日) 17:58:08別になんでもいいんじゃない?なにか問題?
UARTなら、言ったとおりbps次第
1200bpsならぜんぜん関係ないけど、5Mbpsなら大問題じゃね?
0264デフォルトの名無しさん
2008/05/11(日) 21:10:32水晶振動子はバラ売りで100円以上〜400円くらいする
セラロックは20円〜40円
0265257
2008/05/12(月) 02:25:05水晶に比べると原理的に精度が劣るみたいですけど、その辺のことはヒットが多すぎて
見つけられませんでした。20円〜40円の奴の精度は0.5%くらいでしょうね。
内蔵タイマを使って1秒毎の処理とかあるのですが、0.0977%速くなるだけなので、そのまま
使える、とソフトを調査して報告したことがあります。
原理的になんで水晶より精度が劣るのか簡単に教えてくださいませ。
0266デフォルトの名無しさん
2008/05/12(月) 04:41:55セラミックで、温度変化に弱いんじゃなかったかと思う
0267デフォルトの名無しさん
2008/05/12(月) 04:45:33というか、セラロックは、ホビーレベルでは普通に使ってるが
温度変化が激しいと厳しいかもしれないな
0268257
2008/05/12(月) 17:03:110269デフォルトの名無しさん
2008/05/12(月) 17:32:24セラミックス=瀬戸物なんて、旧時代過ぎる発想だな。
この場合のセラミックスは金属酸化物などを高温で焼き固めたもの(焼結体)だね。
セラロックに使われるのは、チタン酸ジルコン酸鉛だね。
0270デフォルトの名無しさん
2008/05/12(月) 17:36:10LC発振回路なんかに比べればよっぽど安定しているよ。
0271デフォルトの名無しさん
2008/05/13(火) 04:09:54配合、焼結温度などをもの凄く正確に制御できるのでしょうね。天然素材に人工素材が
追いついて行く過程がこの分野でも見られるようで、興味深いです。
0272デフォルトの名無しさん
2008/05/13(火) 04:14:40目的のものを作るのじゃなく
作ってから選別するんじゃね?
0273デフォルトの名無しさん
2008/05/14(水) 03:05:080274デフォルトの名無しさん
2008/05/20(火) 04:29:34ttp://www.jaist.ac.jp/satellite/sate/tokyocampus.htm
東海大学専門職大学院組込み技術研究科組込み技術専攻(専門職学位課程)
ttp://www.u-tokai.ac.jp/kumikomi/
信州大学大学院工学研究科情報工学専攻組込み技術者育成コース(博士前期課程)
ttp://www.cs.shinshu-u.ac.jp/embedded/index.html
0275デフォルトの名無しさん
2008/05/20(火) 08:17:000276デフォルトの名無しさん
2008/07/10(木) 01:42:520277デフォルトの名無しさん
2008/07/12(土) 07:46:43質問が抽象的すぎ。
「組込み系で、ミドルウェア製品を多く出している企業」ってこと?
0278デフォルトの名無しさん
2008/07/12(土) 08:55:280279276
2008/07/12(土) 22:54:23すみません、抽象的でした。
>「組込み系で、ミドルウェア製品を多く出している企業」ってこと?
そうです。
自分の最近の夢は
組み込みソフト用ミドルウェアを拡販する会社を起業することです。
その参考のため。
0280デフォルトの名無しさん
2008/07/13(日) 00:10:310281デフォルトの名無しさん
2008/07/13(日) 00:15:20ミドルウェア、って一口にいってもいろいろあるからなあ。
ブラウザとかの比較的上の方ならACCESSとか富士通とかかなあ。
FSとかTCP/IPとか、比較的下の方ならOSベンダーが一緒に売ってる。
WindRiverとか。日本企業ならミスポとかイーソルとか。
0282276
2008/07/13(日) 11:30:40ありがとうございます。
大抵知っているところでした。
個人的には特出したところはないと思っていますが、違いますか?
なので、まだ入り込める余地があると妄想してます・・・・
まずは、uITRON4.0準拠OSを作ることから始めた方がよさそうですね。。。
以下、妄想しているもの。
TCP/IPプロトコルスタック
FFS(フラッシュファイルシステム)
組み込み向けGUIライブラリ
etc...
0283デフォルトの名無しさん
2008/07/13(日) 18:13:46とは思うけど、特出できるのか?
0284276
2008/07/13(日) 18:30:30正直なところ、できるかどうかは分かりません。
現在、一人でコツコツと作業を進めていますが
一人だと限界を感じてきています。。。
なので、如何に優秀な人材を確保できるのかにもよりますね。。。
0285デフォルトの名無しさん
2008/07/13(日) 18:48:10夢は寝てる間だけにしとけ
0286デフォルトの名無しさん
2008/07/14(月) 00:50:16> TCP/IPプロトコルスタック
> FFS(フラッシュファイルシステム)
> 組み込み向けGUIライブラリ
どれも一人だけでやるには無理があるよ。
全部一人でやろうとしたら20年はかかるぞ。
> FFS(フラッシュファイルシステム)
フラッシュだけなら簡単だろう、と思ってそうだが、ATA/ATAPIとFATの実装も必須。
場合によってはext3とかも。
0287デフォルトの名無しさん
2008/07/14(月) 03:00:09頑張れ。
優秀な技術者を20人も集めれば
大体5年で完成するぞ
0288276
2008/07/15(火) 00:22:0020年はかかりすぎだと思います。
3年あればできると思いますが、如何せん本業が忙しく(ry
フラッシュはその寿命を伸ばすことも考えないといけないので
他のストレージデバイスより難しいと考えています。
簡単とは思ってません。
>>287
優秀な人材、もしくは同志はどこに行けば
見つかるでしょうか。。。
0289276
2008/07/15(火) 00:27:05これじゃ、他力本願と言われても仕方ないか。
0290デフォルトの名無しさん
2008/07/15(火) 01:03:31最初の時点で、だ。
0291デフォルトの名無しさん
2008/07/15(火) 02:22:470292276
2008/07/15(火) 02:30:590293デフォルトの名無しさん
2008/07/15(火) 04:00:46すると、0のbitが増える方向へは重ね書きが可能ですね。 FF→FE→FCとか。
0294デフォルトの名無しさん
2008/07/15(火) 07:40:330295デフォルトの名無しさん
2008/07/15(火) 08:09:15|д゚)ジー
|彡サッ
0296デフォルトの名無しさん
2008/07/15(火) 20:06:010297デフォルトの名無しさん
2008/07/15(火) 23:48:57> 20年はかかりすぎだと思います。
> 3年あればできると思いますが、如何せん本業が忙しく(ry
どんだけ自信家なんだよww
つーか、
> TCP/IPプロトコルスタック
> 組み込み向けGUIライブラリ
↑このへんはどこまでサポートするつもり?
それによってだいぶコード量変わるし、テストの工数まで考えてる?
0298276
2008/07/16(水) 00:06:00確かにどこまでやるかで工数は大きく変わりますね。
TCP/IPプロトコルスタックは
ネットワーク層、トランスポート層をサポート予定。
物理層はユーザ作成関数として、ユーザカスタマイズとする。
アプリ層は、サンプルとして提供する。
297は組み込みソフト屋さんですか?
0299デフォルトの名無しさん
2008/07/16(水) 02:18:24DNSとかDHCPとかも忘れずに頼むわ
あとARP周りはシンプルだけど地味にトラブル多いから
マジ気合入れてテストしろよ
0300デフォルトの名無しさん
2008/07/16(水) 16:26:50いままでWindows系PCで作っていたTCPソケット通信を多用するアプリがあるのですが、これを組み込みBoxに移植してほしいという話があがっています。
そっち系の会社に投げればいいじゃん、というのはごもっともなのですが、カスタマイズが結構多い関係で、アプリ部分はコストが多少かかっても自社開発でメンテできるようにしろ、という指示がきています。
(ウチは組み込み系の技術者は今はいません)
基本的に、どこかの既存の開発ボード上で組んで、その開発ボードベースのハコに収めてプログラムを焼いて出荷、のようなイメージをしております。
要件としては
インターフェース
・Ehernet * 1必須
・ログ・オーディオファイル用外部記憶デバイス(CForUSBメモリ等) *1必須
・オーディオ制御&出力 *1 必須
・VGA出力 (できれば)
・シリアル(できれば)
・できればイーモバイルのUSB通信可能であること
OS・開発環境
・開発言語は問わず。LinuxでもTRON系でもOK。(一から勉強になるので問わない)
・一通りのネットワーク通信関係のライブラリ、開発環境が揃っていること(DHCPクライアント、TCPソケット通信、NTPクライアントなど)
・1秒単位でLANの常時通信コネクションで1Mbyte程のデータが送られてくるので、それを裁く程度の処理能力
生産要件
・少数ロット(1個単位)で入手可能なこと
・ある程度長期間での入手保証が見込めること(プログラム互換性を持つバージョンアップ可)
・できれば安価なほうが好ましい。Max単価10万円程度
要件みてればなんとなく想像できると思いますが、センサーのデータ収集用です。
そこにモニター用の画面と問題発生時のアラーム警報が必要です。(画面はhttpdで代用が利くかもしれません)
こんなような物で、オススメのプラットフォームはないでしょうか?
ざっと探したところ、下記あたりが要件を満たしていますが、扱ったことがないので評価がわかりません。コレの善し悪しや他のオススメあったら教えてください。
ttp://armadillo.atmark-techno.com/armadillo-500
0301デフォルトの名無しさん
2008/07/16(水) 16:35:43元々PCのLinux箱あたりにしたかったのですが、「プログラムはフラッシュに焼いてあるのと同等でないとダメ」と言われています。
(要はCF抜いたからプログラム起動しません、とかは不可。CFがないからログが保存されないとか、音源ファイルがないから音が鳴りませんは可。)
なので、組み込み系で探しているという状況です。
0302デフォルトの名無しさん
2008/07/16(水) 16:40:000303デフォルトの名無しさん
2008/07/16(水) 16:54:47(根本的にWindowsがお嫌いなユーザのようです)
「プログラムモジュール部分は不揮発性メモリ等に保持され、外部から容易に触れることができないこと。
またHDDやCF等の磁気メディア等、容易に書き換え可能なメディアでのプログラムモジュールの保持は不可」とされています。。。
0304300
2008/07/16(水) 16:56:36>>300・>>301・>>303 >>304は同一です。
遅れましたが>>302さん返答ありがとうございます。
0305デフォルトの名無しさん
2008/07/16(水) 17:04:480306デフォルトの名無しさん
2008/07/16(水) 17:11:04LinuxかBSD系の箱でいんじゃね?
0307デフォルトの名無しさん
2008/07/16(水) 21:33:26アルマジロは私のところのプロジェクトでも話題に上っているから、罷り間違うと使う羽目になりそうだが。
0308297
2008/07/16(水) 23:55:54> TCP/IPプロトコルスタックは
> ネットワーク層、トランスポート層をサポート予定。
> 物理層はユーザ作成関数として、ユーザカスタマイズとする。
> アプリ層は、サンプルとして提供する。
Socket、HTTPやFTPぐらいまではサポートしないと売れないと思うよ。
それか、よほど安いとか。
ちょっと突っ込み入れると、「物理層」はデバイスそのもので、ドライバはデータリンク層だな。
ドライバはサンプルで構わないが、アプリが「サンプル」扱いはきついかも。
> 297は組み込みソフト屋さんですか?
そう。最近はアプリの仕事が多いが。
0309デフォルトの名無しさん
2008/07/17(木) 00:10:58> ドライバはデータリンク層だな。
つまらん茶々だけど、ドライバってのは位置付けがイマイチ曖昧なんだけど、
おおむね、ネットワーク層からデータリンク層へのつなぎを担当する部分。
チップ側にIPオフローディング機能とか入ってくると、もう完全に、分けが
わからん位置付けになるんだわな、これが………
0310300
2008/07/17(木) 01:32:39元々PCアプリのため、リアルタイム性をミリSec単位で要求するようなことはないので、私もLinux系がいいのかなぁと漠然と思っています。
LinuxはPCサーバでは頻繁に使っているので設定・操作は問題ないです。
組み込み開発経験がまったくないので、何を重視すれば良いのかいまいち掴めていません。
>>307さん
玄箱は玄箱/HGを持っていまして、アレはシステムをHDDに書いてるからダメぢゃん、とおもっていたのですが、
wiki調べてみたら玄箱/PROはARM9ベースになってシステム用フラッシュメモリ載せてるんですね、安価な割におもしろそうです。
ただ、開発がほぼ初心者状態で一からやる関係上、できればご丁寧な開発キットが欲しいところです。
うーん、アルマジロは結構悪くない選択肢なんですかね。
組み込み関係の展示会にでも行って情報収集したいところですが、11月のようで。。。
0311デフォルトの名無しさん
2008/07/17(木) 01:56:52> Socket、HTTPやFTPぐらいまではサポートしないと売れないと思うよ。
> それか、よほど安いとか。
あるOSに付いているプロトコルスタックのアプリ層は
サンプルという扱いでした。
アプリ層もちょっと真面目に検討してみます。
でも、今本腰入れて作ろうと計画しているのはFFSだったり...
>>309
> チップ側にIPオフローディング機能とか入ってくると、もう完全に、分けが
> わからん位置付けになるんだわな、これが………
ミドルウェアとユーザカスタマイズ部(所謂ドライバ)との切り口は
イーサフレーム送受信レベルが妥当でしょうか?
0312デフォルトの名無しさん
2008/07/18(金) 03:21:23別にその手のものなら、幾らでも売ってる訳だが
それらに対する優位性って何?
>>309
おかげでレイヤでMIとMDがガッツリ別れてる
xBSDのドライバが書き辛いのなんの
>>310
OpenBLOCKSでよくね?
0313デフォルトの名無しさん
2008/07/18(金) 09:12:56> ミドルウェアとユーザカスタマイズ部(所謂ドライバ)との切り口は
> イーサフレーム送受信レベルが妥当でしょうか?
ミドルウェアってのは、通常、トランスポートの上にあるもんだと思うが…
ルータ作るとかってな仕事でもない限り, トランスポート以下を
つつくってのはまずないと思うぞ
そして出てくるfj世代の得意技
ソース読め!!!
>>312
> xBSDのドライバが書き辛いのなんの
バークレーの連中は、当初、IPオフローディグなんて考えても見なかったんだろうな
0314デフォルトの名無しさん
2008/07/18(金) 09:52:21LinuxBIOS とかどうですか?
http://www.ibm.com/developerworks/jp/linux/library/l-bios.html
0316デフォルトの名無しさん
2008/07/18(金) 10:04:5630年前にどうやってそんなものを予測しろと
0317300
2008/07/18(金) 19:15:07OpenBlocksは私も調べてみたんですが、オーディオがないんですよね。(音による警報制御が必須要件なんです)
またOpenBlocks266だと、アルマジロ-220あたりと大差ないのかなあ、と思ってしまうところです。
開発環境でOpenBlocksのほうがイイ!とかあれば是非情報頂きたいところです。
>>314さん
私はアプリ屋なので、ハードと開発環境をセットで提供してくれるものを探しています。
LinuxBIOSのような技術が私の求めるものを支えていることは察しますが、これを素で持ってきても、どう熱かったら良いのかわからない状況です。技量が低くてすいません。
0318デフォルトの名無しさん
2008/07/18(金) 20:57:46LED出力あたりをいぢってブザーでも付けるとか。
発売元か開発元に相談してみるといいかも。
0319デフォルトの名無しさん
2008/07/18(金) 22:48:03OpenBLOCKSってLinuxの開発環境がセットで提供されてなかったっけ?
つーか、そんなにPC並のスペックが欲しいなら
CONTECあたりの組み込み用PC使えば?
0320デフォルトの名無しさん
2008/07/18(金) 23:24:07これはパフォーマンス的にも問題あるかも
0321300
2008/07/19(土) 15:12:37>>318さん
なるほど、後付が可能なんですね。ハード関係はさっぱり知識がないので、そういうことすらわかってませんorz
>>319さん
アルマジロもOpenBlocksもLinuxベースで開発環境が提供されているようです。
開発環境についてはどっちのほうが良いのか見分けがつかないのです。。。
元々がPCベースで開発していたものなので色々てんこ盛りでやっておりまして、それを簡単に機能削減ができないのです。
CONTECを調べてみました。PCベースの機器なんですね。
ざっと調べた感じで、スペックは申し分ないのですが、>>303 にひっかかってしまいそうなのです。。。
>>320さん
blanca、ぱっと見では結構使えそうな気がします。ライブラリあたりはまだ拡張開発中なんでしょうかね
0322デフォルトの名無しさん
2008/07/19(土) 15:23:180323300
2008/07/19(土) 18:34:49実は先週アルマジロ-500の購入稟議かけたら、「要件満たしてるのはわかるけど他製品比較資料くらいもってこい、もっと安いのはないのか」と言われて困りましてこちらでご相談させて頂いた次第です。
色々な意見頂き、あまり選択肢も多くないということが確認できましたのでコレで試してみます。ありがとうございました。
0324デフォルトの名無しさん
2008/07/19(土) 19:10:090325デフォルトの名無しさん
2008/07/20(日) 22:49:08みなさん、どうやってます?
一般的な方法を知りたい。
0326デフォルトの名無しさん
2008/07/20(日) 23:03:29メール
0327デフォルトの名無しさん
2008/07/21(月) 00:08:15ケースバイケース。
普通はメッセージかイベントフラグだと思うけど。
0328デフォルトの名無しさん
2008/07/21(月) 00:41:06送信側でメモリを確保して
そのメモリのアドレスをメールボックへ送る。
受信側でメールを受け取りメモリを解放する。
0329デフォルトの名無しさん
2008/07/21(月) 17:11:00データキューと固定長メモリプールの組み合わせが、今ならいいと思う。
メールボックスは、メモリプロテクション仕様のものからは推奨されないから。
結構データキューって、uITRON3.0のメールボックスの一種の実装だと知らない人って
多かったりしない?
それから、スタンダードプロファイルにはないけど、メッセージバッファが使えるなら
データキュー+固定長メモリプールのようにやってくれるので、コードが少なくて書ける
と思うけど。
0330デフォルトの名無しさん
2008/07/22(火) 10:33:030331329
2008/07/23(水) 09:25:29個人的好き嫌いは、自由だけど、
データキューで送信待ちが発生するということは、それだけ、受信側のタスクが処理できない状況に
なっているわけですよね。キューが膨れ上がる状態ですね。
固定長メモリプールとの組合せの場合、結局、メールボックスで送信待ちにならないとしても、
固定長メモリプールの獲得時に待ちになってしまう状況になるので、50歩100歩のような。。。
0332325
2008/07/23(水) 23:17:4750歩100歩ではないような気がします。
送信側が受信側より優先度が高い場合
優先度の逆転が起こってしまいますよね。
その点、メールボックスの方が安全と言えないですか?
0333329
2008/07/24(木) 10:06:13それを優先度の逆転とはいいません。優先度逆転を議論するなら、セマフォおよびミューテックスですかね。
たしかに、送信側の優先度が高い場合は、メールボックスでは、送信一辺倒でひたすら送信する状態になる場合もありますね。
「安全」という言葉が出てきたので、あえて言うけど、
1)送信側が一方的に送信データ、つまりメールボックスが膨張していく状態
2)送信側が一方的に送信データが増えた場合に、ある程度のところで送信タスクがWaitされる状態
ではどちらが安全だろうか? すぐにわかる話だと思いますが
それから、私が言っているのは、MBX + MPF の場合と DTQ + MPF の場合の比較です。
かならず、固定長メモリプールとの組合せの場合のことです。
送信側は、固定長メモリプールから、一定のメモリを獲得、そのアドレスを
データキューあるいは、メールボックスで送る。
受信タスクは、データキュー、あるいは、メールボックスを受信、
そのアドレスから、該当メモリを参照し処理、処理が終わったら、
その該当メモリを固定長メモリプールに返却する。
という流れですね。
この場合にメールボックスが膨張する状況が起こったら、そのうち、固定長メモリ
プールが獲得不可になって、結局待ちになるから同じなんじゃないかという
ことですが、
お分かりになりましたか?
0334325
2008/07/25(金) 00:55:19真摯な回答ありがとうございます。
受信側がメッセージを処理しなければ送信側が待たされますよね。
受信側が処理中に受信側と送信側の中間の優先度を持つタスクへ
ディスパッチすることを優先度の逆転と言いませんか?
決して優先度の逆転がダメと言っている訳ではないです。
DTQ+MPFの場合、送信側が待たされる要因として
送信待ち、メモリブロック取得待ちの二つがありますよね。
一方、MBX+MPFの場合、メモリブロック取得待ちしかありません。
保守やデバッグを考えると後者を選択したくなります。
どちらが安全であるか説明していただきましたが
ちょっと理解できませんでした。。。
0335329
2008/07/25(金) 11:03:02受信側タスク −− 低プライオリティ
送信側タスク −− 高プライオリティ
それ以外のタスク −−中プライオリティ
この状況で、送信タスクがブロックされると、それ以外のタスクが動いてしまう。
これを優先度逆転と言えば、待ち条件になった場合のことをすべて優先度逆転という
ことになる。 言葉の問題なんであまりたいした問題でもないですが。。。
2)DTQ+MPFの保守性
MPFだけがwaitされる場合とDTQもしくはMPFがwaitされる場合とで保守するのが、難易度が
違うというご意見ですね。 理解しました。 私的には50歩100歩だと思っていますが、
3)どちらが安全かについて
1)送信側が一方的に送信データ、つまりメールボックスが膨張していく状態
2)送信側が一方的に送信データが増えた場合に、ある程度のところで送信タスクがWaitされる状態
安全でないとはどういうことかというと、いわゆるデッドロックをおこさないことだと考えればいいと
思っています。
1)の場合は、その送信タスクが占有するメモリプールであれば、問題は少ないが、共有のメモリプールの
場合にメモリを食いつぶして、場合によっては受信タスクもメモリ獲得待ちになりデッドロックに陥ります。
よくある実装として、それぞれのタスクが送信/受信を行うような場合はそうなります。
一方、2)の場合は、送信タスクが送信待ちでwaitになってもそのうち、受信タスクがDTQを受信し、送信タスクの
待ちが解除されます。
1)の場合はどこまで、メールボックスが増えていくことを考えないというところが非常に危ない設計の
ように私は思いますが。。。
0336デフォルトの名無しさん
2008/07/25(金) 16:13:50スタンダードプロファイルにはないけど、メッセージバッファ使うという手もあるかな。
0337デフォルトの名無しさん
2008/08/17(日) 01:40:54自分からテスト専門です、って宣言してる派遣テスターって何なの?
将来プログラマとかSEになりたい、とかならわかるけど。
向上心ないよね、頑固だし。
そういう派遣テスターって、仕様書は読めない、
テスト仕様書も作れない、テストプログラムも作れない
やれることは「テキトーにプログラムを触る」ことだけ。
俺は派遣プだけどさ、こういう派遣テスターがいると
派遣全体がバカにされるんだよ。
テスト専門派遣なんて氏んで欲しいよ、まったく。
今日も正社員の人が派遣テスターに仕様書を読んで
テスト仕様書を作ってください、って説教してたよ。
その派遣は頑固に「何故、仕様書が必要なんですか?」って
反論してたから、きっとテスト専門派遣テスターだな。
仕様書も読まず、テスト仕様書も作らず、ただテキトーに
プログラム触るだけで給料もらおうなんて頭おかしいんじゃねーの?
あ〜あ、あの派遣テスターが3ヵ月後に切られるまで、
仕様書も読まねーでテキトーにテストしたバグ票がまわってくんのかよ。
そんな糞なもん、読んで処理する派遣プの身にもなってくれよ。
うわ〜、しかもそいつが切られる3ヵ月以内に中間納品あるじゃねーか!
テスト仕様書もなしにテキトーにテストして納品か。
中間納品後にソッコウクレームでデスマ必至だな。俺の休みも返上かよ。
派遣専門テスターさんよ、少しは向上心持てよ!
頑固な性格直して仕様書読めよ!テスト仕様書作れよ!
0338デフォルトの名無しさん
2008/08/17(日) 02:05:51>頑固な性格直して仕様書読めよ!テスト仕様書作れよ!
性格とかじゃないだろ、単に仕事してないだけ
0339デフォルトの名無しさん
2008/08/19(火) 21:49:36とりあえず、数をこなしてソフトの品質は二の次な体質。
みなさんの会社はどうですか?
0340デフォルトの名無しさん
2008/08/19(火) 22:26:54お前には嫌気が差してきた。
類は友を呼ぶんだろうよ!
0341デフォルトの名無しさん
2008/08/19(火) 23:03:51テスターに適当にさわらせるテストなんて
最底辺会社がPCでやるならありえなくもないが
組み込みでそれやったら会社消滅だろ
ありえねー
0342デフォルトの名無しさん
2008/08/21(木) 01:55:07納品物が工場の現場の人間が使う端末だったりする場合は
アホに与えて観察することもある。
0343デフォルトの名無しさん
2008/08/21(木) 05:51:13派遣にやらせる必要は全くない
0344デフォルトの名無しさん
2008/08/21(木) 08:40:12それは納品物のテストじゃなく、そのアホの方のテスト
0345デフォルトの名無しさん
2008/08/23(土) 08:57:12「フールプルーフ」って言葉知ってるか?
アホが使っても大丈夫なように作んなきゃいけないものもあるんだよ。
アホは普通の人間には想像もつかない使い方をすることがある。
0346デフォルトの名無しさん
2008/08/23(土) 10:02:45「優先度」って言葉知ってるか?
アホが使っても大丈夫以前に仕様どおり動かなければお話にならないんだよ。
アホ開発チームは普通の人間には想像もつかない納品の仕方をすることがある。
0347デフォルトの名無しさん
2008/08/23(土) 19:57:10人命にかかわったりライン停止の危険をはらむ動作が
アホにはできないようにする必要があるんだよ
納期を守って人が死ぬのはもうカンベン
0348デフォルトの名無しさん
2008/08/23(土) 20:10:48ホームラン級バカ発見!
人命にかかわるシステムをテスト仕様書もなしに適当にテストなんてしねーよ
実際に人命にかかわるシステムの動作保証なんて経験したことない癖に
無茶苦茶な嘘を書くなよ、ボケが
0349デフォルトの名無しさん
2008/08/23(土) 20:15:44>納期を守って人が死ぬのはもうカンベン
アホのテストのせいで人が死ぬのはもっとカンベンだよw
0350デフォルトの名無しさん
2008/08/23(土) 21:02:03もうカンベンって、、、、何人か殺してんのかよ(((((゚д゚;))))))
0351デフォルトの名無しさん
2008/08/23(土) 21:11:43↑会社の存続が無理なのは当然として、業務上過失致死で刑務所もありえるよ
0352デフォルトの名無しさん
2008/09/08(月) 01:14:550353デフォルトの名無しさん
2008/09/09(火) 09:26:31原理上はPPPダイアルアップ
PHSカードと56kモデムは、やったことある。
むしろネットワークサービス層の選定・実装が問題じゃない?
0354デフォルトの名無しさん
2008/09/09(火) 13:47:24ありがとうです
>むしろネットワークサービス層の選定・実装が問題じゃない?
その辺はあまり問題にはしていないです。
CFのタイプにしろ、USBのタイプにしろ、どう制御するのかがまったくわからなくて
どうしようかと思っています。
USBのタイプは、USBのプロトコルから上は、いきなりATコマンド様に扱えるんでしょうかね?
0355デフォルトの名無しさん
2008/09/09(火) 18:19:42実装例としては Linux のものが参考になると思う。
もちろん、Linux のものから引っ張ってくるときは、
約束事には気をつけてな!
0356デフォルトの名無しさん
2008/09/09(火) 18:59:02thxです
約束事?。。。なんだろ
すいません、わかるように。。(手もみ
0357デフォルトの名無しさん
2008/09/09(火) 19:21:200358デフォルトの名無しさん
2008/09/09(火) 22:26:01>>357
xBSDにしろ
0359デフォルトの名無しさん
2008/10/15(水) 02:28:16汎用レジスタにアクセスしたいのですが、どうしたらよいですかね
#pragma inline_asmを使うとcode=asmcode指定が必要で、
デバッガがお利巧じゃないので、ソースリストがasmになって見づらい
#pragma global_register で変数にあてようとすると"Illegal register" のエラーがでます
そもそも、global_registerで出来るのかな
どなたかわかるかた、ご教示あれ
0360デフォルトの名無しさん
2008/10/15(水) 07:22:500361デフォルトの名無しさん
2008/10/15(水) 07:30:28renesasです。
0362デフォルトの名無しさん
2008/10/15(水) 08:40:240364デフォルトの名無しさん
2008/10/15(水) 16:25:330366デフォルトの名無しさん
2008/10/17(金) 02:56:42>デバッガがお利巧じゃないので、ソースリストがasmになって見づらい
ルネサスなら、こっちにしないとダメだったよ。必要な箇所は少量だと思われるので、
そこだけを別モジュールにしてASMで書いてCから呼び出すようにしたらいいとおもう。
0367359
2008/10/17(金) 03:28:10ありがとうございます
>そこだけを別モジュールにしてASMで書いてCから呼び出すようにしたらいいとおもう。
いまその方向で始めました
スピードはあまり要求されないのでCでまとめられたらよかったんですけどね
0368デフォルトの名無しさん
2008/10/17(金) 09:13:350369デフォルトの名無しさん
2008/10/17(金) 16:42:08キャリーをポートに出すのがCでは書けなくて若干速いんだよね。
0370デフォルトの名無しさん
2008/10/17(金) 17:45:090371デフォルトの名無しさん
2008/10/18(土) 02:15:45アセンブラで呼ぶことしか想定していないライブラリをつかうとか、
俺OS作っていてコンテキストスイッチ部分を書きたいとか…
0373デフォルトの名無しさん
2008/10/18(土) 13:55:54引数をレジスタ渡しにすればそのまま呼べたような気がするが。
0374359
2008/10/19(日) 01:41:37>引数をレジスタ渡しにすればそのまま呼べたような気がするが。
そう思って、#pragma global_register を使ったら"Illegal register"のエラーが出てしまってます。
0375359
2008/10/19(日) 08:40:14int a;
としたときは、コンパイルが通りますね
どうやら、R8-R14だとOKみたいです
制限がかかってるのかな
0376デフォルトの名無しさん
2008/10/19(日) 08:41:20ってかやらされてるんだろうな官僚に。何もやらないと要求されるから。
0377デフォルトの名無しさん
2008/10/19(日) 08:41:520379359
2008/10/19(日) 08:57:49ああ、なるほど!
R4は引数をレジスタ渡しにすればそのままってことですね
レジスタ渡しにすればR4に入る保証というのは、どこかで定義できるんでしょうかね
これは、処理系(コンパイラ)依存ですよね?
マニュアルをちょっとよく見てみないとですね
0381デフォルトの名無しさん
2008/10/27(月) 16:42:38やっていたのですが、今度組み込みを
やることになりました。
具体的に何をやるかまだわからないのですが、
おすすめの入門書はありますでしょうか?
0382デフォルトの名無しさん
2008/10/27(月) 20:35:130383デフォルトの名無しさん
2008/10/29(水) 03:12:24加算機とアンプ作っとけ
0384デフォルトの名無しさん
2008/12/04(木) 01:30:460385デフォルトの名無しさん
2008/12/04(木) 02:44:37(HDDに機器をつなげる:サーバー知識あれば尚可)
アパッチ、SQL、LINUX、でサーバー構築くらいはやったことあるのですが
どういった作業なのでしょうか?単純作業の繰り返しでしょうか?
0386デフォルトの名無しさん
2008/12/04(木) 03:38:13組み込み系PGではないな。設置と結線ならPGである必要もない。
0387デフォルトの名無しさん
2008/12/04(木) 07:57:57簡単な保守管理の設定なども行なってもらうけど肩書きはPGなんで宜しく、ってことだな。
0388デフォルトの名無しさん
2008/12/04(木) 08:14:30>>387 人数が少ないから全部やると思いますがw
0389デフォルトの名無しさん
2008/12/04(木) 10:20:21防犯カメラの設置と組み込みPGってぜんぜん領域が違うと思うんだけどな
なんか、テキトーな会社っぽいね
前にあったのは
会社:「どんなことをやってました?」
応募者:「基本ソフトのですね〜(ほにゃらら)」
会社:「うちはベーシックの技術者は募集してないんです」
応募者:「‥‥‥」
0390デフォルトの名無しさん
2008/12/04(木) 11:54:090391デフォルトの名無しさん
2008/12/04(木) 12:13:480392デフォルトの名無しさん
2008/12/04(木) 13:27:17なにか嫌なことがあったのか?w
おれは、「ping」を「ピング」と呼ぶ奴を信用しないがね
0393デフォルトの名無しさん
2008/12/04(木) 13:35:540394デフォルトの名無しさん
2008/12/04(木) 13:52:32「pinger」は造語だろ、pingerが「ピンガー」って読むから
「ping」を「ピング」とは読まない
1歩譲って「ピング」と言ってもいいけど、恥ずかしい人と思われることもあるから注意な
0395デフォルトの名無しさん
2008/12/04(木) 14:02:440396デフォルトの名無しさん
2008/12/04(木) 14:05:540397デフォルトの名無しさん
2008/12/04(木) 19:04:34>>390のことな、ほんとそうだな
0398デフォルトの名無しさん
2008/12/04(木) 21:00:070399デフォルトの名無しさん
2008/12/04(木) 21:38:13艦長 (ズコーー!)
0400デフォルトの名無しさん
2008/12/04(木) 22:06:06すいません、どこから手をつけてよいのか
皆目見当がつきません。
何を参考にすればよいでしょうか?
0401デフォルトの名無しさん
2008/12/04(木) 22:35:09秋月電子に行ってらっしゃい。
0402デフォルトの名無しさん
2008/12/04(木) 22:39:270403デフォルトの名無しさん
2008/12/04(木) 22:52:01ガソリンエンジンって自動車でいいんですか?、と同じ意味で。
0404デフォルトの名無しさん
2008/12/05(金) 00:39:44幾らなんでも、そりゃ例えが飛躍しすぎで伝わらんだろ
>>402
ペンティアムって 業務系でいいんですか?
くらいだろ
0405385 388 402
2008/12/05(金) 04:15:410406デフォルトの名無しさん
2008/12/05(金) 23:02:28あと、参考になりそうなネタ元
この辺の電子回路の教科書クラスでいいかも
http://www.amazon.co.jp/%E9%9B%BB%E5%AD%90%E5%9B%9E%E8%B7%AF/s/qid=1228485419/ref=sr_pg_2?ie=UTF8&rs=465610&keywords=%E9%9B%BB%E5%AD%90%E5%9B%9E%E8%B7%AF&rh=i%3Astripbooks%2Ck%3A%E9%9B%BB%E5%AD%90%E5%9B%9E%E8%B7%AF&page=2
http://www.amazon.co.jp/s/ref=nb_ss_b?__mk_ja_JP=%83J%83%5E%83J%83i&url=search-alias%3Dstripbooks&field-keywords=%83f%83W%83%5E%83%8B%89%F1%98H&x=0&y=0
その他、国公立大学・工学部の基礎レベルの講義資料も使えると思う
確か、東工大がそういった資料のネットでの公開に力を入れてたはず
0407デフォルトの名無しさん
2008/12/05(金) 23:52:39サイト見たのですがよく分かりません。
ご指導頂けないでしょうか。
0408デフォルトの名無しさん
2008/12/06(土) 00:05:53http://monoist.atmarkit.co.jp/fembedded/index/h8.html
たとえば、H8マイコンにC言語でプログラムした場合のPGと組み込み
についてどう解釈すればいいのでしょうか。
0409デフォルトの名無しさん
2008/12/06(土) 00:41:240410デフォルトの名無しさん
2008/12/06(土) 00:50:38車がどうとかは、別にどうでもいいんです。
0411デフォルトの名無しさん
2008/12/06(土) 01:04:56こちらが色々予想するのは無駄なことだ
0412デフォルトの名無しさん
2008/12/06(土) 01:31:370413デフォルトの名無しさん
2008/12/07(日) 18:01:27アックスとかウィンドリバーとか?
リナックスは組込みに強いと聞くけど
会社としてはあんまり聞かないよね
0414デフォルトの名無しさん
2008/12/07(日) 18:05:32つ ttp://www.emblix.org/m_list.html
0415デフォルトの名無しさん
2008/12/07(日) 18:32:41リアルタイム系では出る幕が無い
0416デフォルトの名無しさん
2008/12/07(日) 19:34:45でも、タダ
0417デフォルトの名無しさん
2008/12/07(日) 19:42:45無料つっても何も無いも同然だから人件費の方が高くなる
0418デフォルトの名無しさん
2008/12/07(日) 20:10:27人件費は、外注にかぶせればタダ
が、クライアントの脳内
0419デフォルトの名無しさん
2008/12/07(日) 20:51:43ネットにつなげるような仕様だとLinuxBOXのような物のほうがラクだと思うがな
電器ポットにLinux入れようとは思わないけど
0420デフォルトの名無しさん
2008/12/07(日) 21:00:03そんなとこ楽したいだけでlinuxを載せる理由にはならない
無知ほどlinuxと喚きたがるだけ
0421デフォルトの名無しさん
2008/12/07(日) 21:03:070422デフォルトの名無しさん
2008/12/07(日) 21:05:13とか、ソフトの都合が多いね。
linuxが出てるのは大体ソフト屋の発想。
それで完成するのは大抵産業ゴミ。
0423デフォルトの名無しさん
2008/12/07(日) 21:07:540424デフォルトの名無しさん
2008/12/07(日) 21:11:27そんな話してないだろ。
どこの誰さんですか?
0425デフォルトの名無しさん
2008/12/07(日) 21:12:090426デフォルトの名無しさん
2008/12/07(日) 21:13:29最初からCEやWindows Embedded使った方が楽。
Linuxはソフト作ってくれる奴が確保できない。
0427デフォルトの名無しさん
2008/12/07(日) 21:14:34信じられんよ
0428デフォルトの名無しさん
2008/12/07(日) 21:22:270429デフォルトの名無しさん
2008/12/07(日) 21:29:520430デフォルトの名無しさん
2008/12/07(日) 21:34:30大手なら金の力で乗り切れる場合もあるが、
中小で下手に関わると悲惨なことにしかならない。
0431デフォルトの名無しさん
2008/12/07(日) 21:38:13だがそれがいい。
0432デフォルトの名無しさん
2008/12/07(日) 21:59:40>それで完成するのは大抵産業ゴミ。
あるメーカのある民生品は、思いっきりlinuxだけどね。
ライセンス費のある組み込みOSは、民生品に入れるときついんじゃないのかね
0433デフォルトの名無しさん
2008/12/07(日) 22:17:13どっちかっつーと、こっちの幹事会員、A会員かと。
http://www.t-engine.org/japanese/member.html
純粋なソフト屋さんは数社しかないけど。
0434デフォルトの名無しさん
2008/12/07(日) 22:17:49そういう妄想はいくらでも吐けそうだよなw
何か明かせない理由でもあんのか?
0435デフォルトの名無しさん
2008/12/07(日) 22:21:59おもいっきりライセンス違反してて
明かすとしょっ引かれるから。
0436デフォルトの名無しさん
2008/12/07(日) 22:22:10いや、ネタ元にバレるとまずいから;
AV機器なんだけどね、英文字の日本の会社。
これ以上はかんべんしてくれ。
0437デフォルトの名無しさん
2008/12/07(日) 22:24:32別の物に丸ごとすげ変わった。
ってパターンだと明かせないわな。
0438デフォルトの名無しさん
2008/12/07(日) 22:28:30だからさ、そんな明かせない事例なんかここで出しても
お前の妄想と変わらんだろ。
0439デフォルトの名無しさん
2008/12/07(日) 22:35:49悪いが釣られないよ
組み込みlinuxを大量生産の民生品に使うケースもあるってことだ
0440デフォルトの名無しさん
2008/12/07(日) 22:42:19いやいや
絶対あるもん!
いやいや
・・・バカ?
0441デフォルトの名無しさん
2008/12/07(日) 22:49:47はいはい
0442デフォルトの名無しさん
2008/12/07(日) 22:50:33今どうしてるんだろう
0443デフォルトの名無しさん
2008/12/07(日) 22:53:02オレ的には、どうでもいいが
ttp://kaden.yahoo.co.jp/product/detail/002003009000/49475/urev_list/
ttp://homepage3.nifty.com/~mtok/prof/netjuke.html
0444デフォルトの名無しさん
2008/12/07(日) 22:56:10「もう2度と使わない」と悪態吐いてたろう
そういやLinksys GPL違反はどうなったんだろうな?
0445デフォルトの名無しさん
2008/12/07(日) 22:58:33アホか
0446デフォルトの名無しさん
2008/12/07(日) 23:04:08その時点でありえない。
NetBSDの方はまだ可能性がある。
0447デフォルトの名無しさん
2008/12/07(日) 23:27:43可能性があるつーか、
あっちこっちのネットワーク機器がNetBSDじゃん
0448デフォルトの名無しさん
2008/12/07(日) 23:36:21みたいな考え違いをするバカが多いんだよ。
0449デフォルトの名無しさん
2008/12/07(日) 23:50:30負けず劣らずユーザーも黒いけどね。
Linuxで組み込みは暗い話しか聞いた事がない。
あまり関わりたくないね。
0450デフォルトの名無しさん
2008/12/07(日) 23:50:57ソフト部は公開する必要ないよね
低レベルのソフト会社には恐くて丸投げできないけど
0451デフォルトの名無しさん
2008/12/08(月) 00:46:10なに逆ギレしてんだ?こいつw
0452デフォルトの名無しさん
2008/12/08(月) 02:53:050453デフォルトの名無しさん
2008/12/08(月) 11:27:090454デフォルトの名無しさん
2008/12/08(月) 11:46:17そうやってジャンル問わず探せば絶無なんてことはないし、
Linuxが使える状況なら使えばいいんでは
0455デフォルトの名無しさん
2008/12/08(月) 11:54:39どうしても使っていないと信じたい奴がひとりいるんだわさ
0456デフォルトの名無しさん
2008/12/08(月) 12:03:04起動がもっさりで有名になってしまったアレかw
0457デフォルトの名無しさん
2008/12/08(月) 15:24:11だから、コンセントを入れたときに既に起動させておいてスリープさせてる機器もあるけどね(笑)
0458デフォルトの名無しさん
2008/12/15(月) 11:27:1810年選手のFULLICEとヘボいデバッガしかないんだ…
何とかならないもんかなぁ…
0459デフォルトの名無しさん
2008/12/15(月) 12:03:58懐かしいなぁ>H8/500系
0460デフォルトの名無しさん
2008/12/15(月) 19:47:41デバッガなんかの世話になるヤワな体質の方をなんとかしたほうがいいと思うよマジで。
私見だがデバッガに頼る人っていうのはコードが汚いんだと思う。
十分可読的なコード書けば(もちろんデバッグは必要だが)デバッガなんていらん。
0461デフォルトの名無しさん
2008/12/15(月) 20:26:440462デフォルトの名無しさん
2008/12/15(月) 22:15:48規模によってだね。
小さくても、FPGAとかハードが絡むと、身の潔白を晴らすために必要。
0463デフォルトの名無しさん
2008/12/15(月) 23:10:46おまいと仕事したいぜ
おれの周りは動かないと全部ハードが悪いって思考停止する奴おおすぎ
こっちもハード確認用ファーム自前で用意して確認してるのに…
数時間後に同じハードを修正したといって渡すとちゃんと動き「やっぱりハードか」
ってどの口が言うって感じw
0464デフォルトの名無しさん
2008/12/16(火) 02:04:17同情するわw
いまやってるプロジェクトのチームは10数人の外人部隊だけど
トラブルがあると、全員が「オレか?」って自分のところを当たる
だから、解決も早い
力のある奴らってたいていそうだ
0465デフォルトの名無しさん
2008/12/16(火) 04:05:290466デフォルトの名無しさん
2008/12/17(水) 00:46:34それなりに経験あるなら
そうは言ってても、最低限、自分の責任範囲+αくらいは
裏でこっそりみるだろ
0467デフォルトの名無しさん
2008/12/17(水) 05:05:100468デフォルトの名無しさん
2008/12/17(水) 12:36:130469デフォルトの名無しさん
2008/12/17(水) 13:48:21それが他人のとこだったりしても。
0470デフォルトの名無しさん
2008/12/24(水) 09:26:12保守性なんか無いんじゃああああああああっ!
仕向け先ごとに別々の改造入ってるし
ああ、全部書き直したい・・・
0471デフォルトの名無しさん
2008/12/24(水) 11:23:18そこまで熟成してしまったら、同じものを一から再構成するのは
不可能でないかと思うわけで。
かと言って最初からそこまで考えて作る余裕もないんだよなあ。
0472デフォルトの名無しさん
2008/12/24(水) 12:42:30あれは売るためでもあるけど
0473デフォルトの名無しさん
2008/12/24(水) 15:09:29何も問題ないからねえ。
書いていないような所で微妙に変わっても、今回からそーいう仕様に
なりましたで終わりそうだし。
0474デフォルトの名無しさん
2008/12/24(水) 15:46:59上司「一部変更でみこんでいる期間で10数年分を書き直して完全に同じ動作するようにできるならやってもいいよ」
0475デフォルトの名無しさん
2008/12/24(水) 15:51:290476デフォルトの名無しさん
2008/12/24(水) 16:35:07当時の仕様に対してきっちりしていたってその後好き勝手な変更加わればめちゃくちゃになるよ。
0477デフォルトの名無しさん
2008/12/24(水) 16:58:37それまで、担当者は何人か変わっていますが、「好き勝手でない」レベルで
統一された保守がされていた感じがします。
マイコンが違うので当然ソースは全面変更なのですが、処理方法など、フシュウではなく、当初の
ものを踏襲してます。建前上、新規作成ですが、私的には流用と思っています。
私から、また担当が替わって、次の人が見たときは、勝手な変更が加えられたと思われるかも
しれませんが、...
0478デフォルトの名無しさん
2008/12/24(水) 17:39:120479デフォルトの名無しさん
2008/12/24(水) 20:28:09だからx86はいつまで経っても互換性の縛りから抜け出せない
0480デフォルトの名無しさん
2008/12/24(水) 21:02:340481デフォルトの名無しさん
2008/12/24(水) 21:07:040482デフォルトの名無しさん
2008/12/24(水) 21:16:09WindowsCEだとSH4とかARMとか色々あるんだが?
0483デフォルトの名無しさん
2008/12/24(水) 21:19:530484デフォルトの名無しさん
2008/12/24(水) 23:36:240485デフォルトの名無しさん
2008/12/25(木) 13:47:4516ビットモードという意味では起動時だけだな。
ていうか479は釣り。加算命令とか基本的な命令はレガシーかつ現役。
そういう命令の互換性が必要なんだし、遺物のような命令は使われなく
なってる(LOOPだとか)。
0486デフォルトの名無しさん
2008/12/26(金) 06:10:460487デフォルトの名無しさん
2008/12/26(金) 06:51:55セグメント関係は、メモリ管理でバリバリ使うよ。
OSの実装にもよるけど。
つーか、そろそろスレ違いだろ。
0488デフォルトの名無しさん
2008/12/26(金) 22:43:12LOOP とか遅い命令使ってもしゃーないしな。
0489デフォルトの名無しさん
2008/12/27(土) 08:33:04セグメントをメモリ管理でバリバリ使うOSって何?
セグメントは面倒なだけであまりメリットがないと思うんだよな。
32bit 以上のOSでは、初期化以外には使っていないっていうのは
俺も同じ認識なんだが。
8086/80186/80286みたいなアドレッシングできる範囲が実アドレス
空間より狭い場合にやむをえず使うって感じじゃないの?
0490デフォルトの名無しさん
2008/12/27(土) 08:44:080491デフォルトの名無しさん
2008/12/27(土) 10:12:57OS-2ってOS/2のこと? OS/2 もWarp からは32ビットなんで
セグメントは使ってなかったのでは。
すでにサポート終了したOSしか例がないんだったら、
現在はセグメントをバリバリ使ってプログラムするOSなんて
ないって結論でいいのかな。
0492デフォルトの名無しさん
2008/12/27(土) 11:06:55セグメントを使って管理していたとしても。
0493デフォルトの名無しさん
2008/12/27(土) 11:41:20x86の16ビットOSの場合、64Kを超えるプログラムを作る場合は
セグメントを意識せずにプログラムの作成はできないよ。
正確には、コードとデータそれぞれ64Kまで、それを超えると
コードは、セグメントの関数CALL、データはセグメントの切り替えが
必要になる。
ライブラリで覆い隠している場合はあるかもしれないが、OSだけが
管理すれば良いって話ではない。
0494デフォルトの名無しさん
2008/12/27(土) 11:57:22それは8086などの16ビットCPUに限定された話だろ。
今の話題は、セグメントレジスタを使ったプログラムをOSがするかどうかじゃないのか?
0495デフォルトの名無しさん
2008/12/27(土) 16:00:03拡張バージョンとかやってなかったっけ?
0496デフォルトの名無しさん
2008/12/27(土) 23:53:13アプリケーション側がメモリ管理にセグメントを使うかどうかって話なのか?
現状では普通アプリケーション側にセグメントをいじる権限は与えないのが普通だな。
0497デフォルトの名無しさん
2008/12/28(日) 12:19:100498デフォルトの名無しさん
2008/12/29(月) 03:09:32まず何から勉強したらいいのかな…
BootLoaderは何がいいのかな…
0499デフォルトの名無しさん
2008/12/29(月) 23:32:53GPLが気にならないならU-Bootでいいだろ
0500デフォルトの名無しさん
2008/12/30(火) 01:16:300502デフォルトの名無しさん
2009/01/17(土) 12:48:43usbMsgPtr = replybuf;
int i_adch;
int i_adcl;
double ret;
//ADC開始
DDRC = 0x00;
ADCSRA=0b11000111;
ADMUX= 0b01000101;
while((ADCSRA & 0x10)==0){;}
i_adcl=ADCL;
i_adch=ADCH;
ret = (ADCW>>2);
ADCSRA=0x96;
//ADC終了
このようなプログラムでAD変換を行っているのですが、低い値を取得した際にADCLの値(i_adcl)が246や255といったおかしい値になってしまいます。
例でいうと、70-47-32-17-4-246-7-3-239...といった具合です。
ノイズ源なども取り除いたのですが、値が突然暴走するのはプログラムに問題があるような気がします。
できれば0-1024でしっかり値をとりたいのですが、何か方法はありませんか?
使用チップはmega88で、環境はWinAVRを使用です。
0503デフォルトの名無しさん
2009/01/17(土) 13:01:05ちょっと1行ずつ何がしたいか解説して見ろ
i_adcl=ADCL;
i_adch=ADCH;
ret = (ADCW>>2);
何しとんの?
0504デフォルトの名無しさん
2009/01/17(土) 13:01:09>i_adcl=ADCL;
まず、ここに時差がある。
>i_adch=ADCH;
0505デフォルトの名無しさん
2009/01/17(土) 13:09:40確かにその部分は不要ですね・・・消します
>>504
時差があるとまずいでしょうか?
0506デフォルトの名無しさん
2009/01/17(土) 13:15:310x0FFF >i_adcl=ADCL;
0x1000 >i_adch=ADCH;
こうなる、ことがある。
0507デフォルトの名無しさん
2009/01/17(土) 13:17:52なるほど・・・とすると、同時性を確保するにはADCWだけ読み出せばよいのでしょうか?
しかし、ADCWを使って0-1024までの整数に表現する方法が分からないんです。
0508デフォルトの名無しさん
2009/01/17(土) 13:18:24フツーにソースの信号が実際に安定してないんじゃないの?
関係ないけどADCxと、その値をキャッシュしてる変数のビット幅って
それで一致してるの?
あと、504がたぶん言いたいことだと思うんだけど、(もし割り込みを使ってるなら)
サンプリングの間隔にもよるけど、2つのレジスタをアトミックに読み取るように
しないとまずいかもね。
今回の問題とは関係ないと思うけど。
0509デフォルトの名無しさん
2009/01/17(土) 13:20:24ソースはLEDを入力に使った距離センサーですし、値が低いときだけ暴走するので良く分からないです。
ノイズ源なども極力取り払いましたが・・・。
変数のビット幅は良く分かりません、参考にした本にはこれ以上のことが書いてなかったので良く分からないのですが、
少なくとも本の通りにやるとおかしな値になることだけは確かなんですよ・・・
0510デフォルトの名無しさん
2009/01/17(土) 13:23:59他の問題じゃないか?
0511デフォルトの名無しさん
2009/01/17(土) 13:25:56レジスタ名 bit7:0
ADCH ADC9 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2
ADCL ADC1 ADC0 - - - - - -
0512デフォルトの名無しさん
2009/01/17(土) 13:26:32uchar usbFunctionSetup(uchar data[8])
{
(上記のプログラム)
static uchar replybuf[8];
replybuf[0]=data[7];
replybuf[1]=ADCL;
replybuf[2]=ADCH;
replybuf[3]=ADCL + (ADCH<<8);
replybuf[4]=~(ADCW>>2);
replybuf[5]=i_adcl|i_adch;
replybuf[6]=data[6];
ADCSRA=0x96;
return 7;
}
今こんな状況で色々な値を読み出して比べているのですが、もしかしてそもそもuchar型で返していること自体に問題があるのでしょうか?
だとすると、どのようにすればuchar型にはめ込んで値を取得できますでしょうか?
0513デフォルトの名無しさん
2009/01/17(土) 13:29:33まあ一番可能性が高そうなのは、符号付1xビットのAD変換値の下位8ビットを、
unsigned charとして扱ってしまってるってところじゃないの?
ADCxはどう定義されてる?
0514デフォルトの名無しさん
2009/01/17(土) 13:34:43AD系の定義は、io.hの
#define ADCW _SFR_MEM16 (0x78)
#define ADCL _SFR_MEM8 (0x78)
#define ADCH _SFR_MEM8 (0x79)
という記述がありました。
数字から察するに16bit,8bit,8bitということなのでしょうか?
0515デフォルトの名無しさん
2009/01/17(土) 13:36:27なるほど。
となるとADCLだけじゃなく、ADCHの遷移とかもないとわからないな・・。
0516デフォルトの名無しさん
2009/01/17(土) 13:38:23上のを実際にPCで見て見るとこんな感じになりました。
buf[2](ADCH)が0のときにおかしな値を吐くことくらいは分かりましたが、他はなんとも・・・。
buf[1]= 35 buf[2]= 1 buf[3]= 35 buf[4]=183 buf[5]= 35
buf[1]= 40 buf[2]= 1 buf[3]= 40 buf[4]=181 buf[5]= 41
buf[1]= 83 buf[2]= 1 buf[3]= 83 buf[4]=171 buf[5]= 83
buf[1]= 26 buf[2]= 1 buf[3]= 26 buf[4]=185 buf[5]= 27
buf[1]=255 buf[2]= 0 buf[3]=255 buf[4]=192 buf[5]=255
buf[1]= 39 buf[2]= 1 buf[3]= 39 buf[4]=182 buf[5]= 39
buf[1]= 75 buf[2]= 1 buf[3]= 75 buf[4]=173 buf[5]= 75
buf[1]= 72 buf[2]= 1 buf[3]= 72 buf[4]=173 buf[5]= 73
buf[1]= 10 buf[2]= 1 buf[3]= 10 buf[4]=189 buf[5]= 11
buf[1]= 25 buf[2]= 1 buf[3]= 25 buf[4]=185 buf[5]= 25
buf[1]= 44 buf[2]= 1 buf[3]= 44 buf[4]=180 buf[5]= 45
0517デフォルトの名無しさん
2009/01/17(土) 13:40:32ちょっとまて、
コードが無茶苦茶だぞ
replybuf[3]=ADCL + (ADCH<<8);
replybuf[4]=~(ADCW>>2);
replybuf[5]=i_adcl|i_adch;
ADCSRA=0x96;
これらはほんとに正しいのか?
まるで意味判ってないだろ
こんなんでは質問しても時間の無駄
C言語仕様書とデータシート100回読み直して出直してこい
0518デフォルトの名無しさん
2009/01/17(土) 13:49:19なんだこれ見る限り、AD変換値は何も問題なさそうじゃん。
bug[1]がADCの下位8ビット、buf[2]が上位8ビットだよね?
ひょっとして「ビットの並びでどうやって数を表現するか?」から知らない人?
0519デフォルトの名無しさん
2009/01/17(土) 13:50:04buf[1]= 83 buf[2]= 1 -->83+256
buf[1]= 26 buf[2]= 1 -->26+256
buf[1]=255 buf[2]= 0 -->255+0
ばらつきはあるけど、別におかしくないんじゃないか?
0520デフォルトの名無しさん
2009/01/17(土) 13:53:24うっく・・・よく分からんです・・・
>>519
なるほど・・・!
ということは両方の値を足してやって、256を引けば良いということですか・・・
0521デフォルトの名無しさん
2009/01/17(土) 14:00:49(ADCH<<8);
これ、
ADCH=1 とか、ADCH=2
のとき、計算結果がどうなるかわかるか?
0522デフォルトの名無しさん
2009/01/17(土) 14:00:49お前には無理だ
>>516
これではテストにもならない
基本的なことが欠けている
例えばADCのようなレジスタをアトミックに参照する場合
一時変数を使うことがまず考えられる
uchar lo, hi;
lo = ADCL;
hi = ADCH;
//以後 lo hiを参照
buf[0] = lo;
buf[1] = hi;
wordが必要なら
uint16_t word = (hi<<8)|lo;
8ビットMCUはビットを意識できないとどうしようもないぞ
0523デフォルトの名無しさん
2009/01/17(土) 14:04:130524デフォルトの名無しさん
2009/01/17(土) 14:10:30ビットパターンの表を見て、今やっと上位ビットと下位ビットの意味を理解しました。
>>522
恐れ入ります。
本当はもっと勉強したいのですが、月曜に最終発表なのでとにかく少しでも進めないといけないんですよ。
でもおかげさまで参考になりました。値の取得は結構うまく出来てるようなので、ビット表とにらめっこしながら正しい値を取れるようにしてみます。
0525デフォルトの名無しさん
2009/01/17(土) 14:18:070526デフォルトの名無しさん
2009/01/17(土) 14:20:39逆切れしてる訳でもない奴を一方的に煽るのはちょっとみっともないぞ。
でもマイコン弄るのにバイナリによる整数表現も理解してないのは
かなりマズいのは確かだねw
0527デフォルトの名無しさん
2009/01/17(土) 14:20:57replybuf[6]=data[6];
・・わけわからん
あまり時間は無さそうだが、
変数名ぐらいはきちんと考えてつけた方がいいぞ
おれがこんなの受け取ったら作り直せと言うがなあ
一度tiny辺りのギリギリの環境で修行した方がいい
mega88はもったいない
0528デフォルトの名無しさん
2009/01/17(土) 14:26:29まだ1年なのでそれはきついっす。
>>526
ですよね。。
しかしこれだけでも少しは勉強になったので、次回以降は同じことでつまずかないようにします。
>>527
1から作る力がないんで、元々教授が作ったソースを改変して作ってるので、多分その名残だと思います。
USBで123456と送ると、612345にして返すとかいう単純なプログラムだった記憶があります
megaにしたのも「AD変換するならmegaのほうがいい」といわれて決めただけなので、入門どころか門前で土下座してるような状態です。
0529デフォルトの名無しさん
2009/01/18(日) 22:10:48ttp://www.technobahn.com/cgi-bin/news/read2?f=200901141509
0530デフォルトの名無しさん
2009/01/18(日) 23:32:32こんどはlinuxを潰す気か
0531デフォルトの名無しさん
2009/01/19(月) 20:21:20ナンマイダブナンマイダブ。
0532デフォルトの名無しさん
2009/01/19(月) 20:26:10組込み業界に法則発動してるんじゃね?ww
0533デフォルトの名無しさん
2009/01/19(月) 20:29:120534デフォルトの名無しさん
2009/01/22(木) 13:16:29データの取りこぼしがないようにDTCとDMAを
使おうと思ってます。
大筋でどんな感じにすればいいでしょうか?
0535デフォルトの名無しさん
2009/01/22(木) 15:16:140536デフォルトの名無しさん
2009/01/22(木) 15:52:24方針が確認できないじゃん。イックニか384くらいまでなら割り込みでも取りこぼさないし。
俺はふつうに割り込みで書いて、耐久性はringバッファのサイズで調整したぞ。
0537534
2009/01/22(木) 17:02:55参考までにリングバッファのサイズは
どれくらいまで大丈夫でしたでしょうか?
0538534
2009/01/22(木) 17:27:41リングバッファのサイズは256バイトです。
------------------------------------------------
INTDI //割り込み許可
ucW = SCI2.RDR;
SCI2.SSR.BIT.RDRF = 0;
if (uiSCI2_RecCount < MAX_REC_BUF) {
ucSCI2_RecBuf[uiSCI2_RecPut] = ucW;
uiSCI2_RecCount += 1;
uiSCI2_RecPut += 1;
if (uiSCI2_RecPut >= MAX_REC_BUF) {
uiSCI2_RecPut = 0;
}
}
INTEI //割り込み許可
------------------------------------------------
0539534
2009/01/22(木) 17:28:11INTDI //割り込み禁止
の間違いです。
0540デフォルトの名無しさん
2009/01/22(木) 18:20:240541デフォルトの名無しさん
2009/01/22(木) 18:34:500542デフォルトの名無しさん
2009/01/22(木) 18:35:570543デフォルトの名無しさん
2009/01/22(木) 19:01:33禁止にしない方向で
0544デフォルトの名無しさん
2009/01/22(木) 19:06:290545534
2009/01/22(木) 19:12:29とりあえず割り込み関数の中の割り込み禁止は無くしました。
が、やっぱり取りこぼしが発生しているみたいです。(;;)
受信したデータをmainループで回して処理していて、
その度にRecCount をデクリメントしてるんだけど、
処理が追いつかずにRecCountの値が
MAX_REC_BUFを超えてしまうんです。
これは、DMA&DTCを使っても同じことなんでしょうか・・・
0546デフォルトの名無しさん
2009/01/22(木) 19:14:31SCIの割り込みがかからないようにしてる?
0547534
2009/01/22(木) 19:18:52してます。
具体的には、こんな感じに。
-----------------------------------------------
INTDI
if(uiCH==0){
ucW = ucSCI0_RecBuf[uiSCI0_RecGet];
uiSCI0_RecCount -= 1;
uiSCI0_RecGet += 1;
if (uiSCI0_RecGet >= MAX_REC_BUF) {
uiSCI0_RecGet = 0;
}
}else{
ucW = ucSCI2_RecBuf[uiSCI2_RecGet];
uiSCI2_RecCount -= 1;
uiSCI2_RecGet += 1;
if (uiSCI2_RecGet >= MAX_REC_BUF) {
uiSCI2_RecGet = 0;
}
}
INTEI
-------------------------------------------
0548デフォルトの名無しさん
2009/01/22(木) 19:26:50uiSCI0_RecCount -= 1;
INTEI
って、感じかな?
それでだめなら、SCIのエラーを調べてみるとか
1CHだけで動かして処理が間違ってないか確認するとか
0549デフォルトの名無しさん
2009/01/22(木) 20:12:50#define MAX_REC_BUF 256
割り込み側:
ucSCI2_RecBuf [Put++ & & (MAX_REC_BUF-1)] = ucW;
メインルーチン側:
ucW = ucSCI2_RecBuf [Get++ & (MAX_REC_BUF-1)];
#define IsEmpty (Get == Put)
こんなんでいいのでは
0550デフォルトの名無しさん
2009/01/22(木) 20:35:080551デフォルトの名無しさん
2009/01/22(木) 20:42:03256バイトの間読まなかったらそれはリードの責任ということで
0552デフォルトの名無しさん
2009/01/22(木) 21:18:251つのバッファで受けようとすると予期しないことが起こる
2つのバッファで受けて、メインルーチンで順番に処理する
フロー制御する場合は割り込み側でバッファのポインタを見て行う
0553デフォルトの名無しさん
2009/01/22(木) 21:25:040554534
2009/01/22(木) 21:46:33試してみましたが、駄目でした。
片CHのみの動作は各ch共にOKで、
SCIエラーなどは発生していないです。
>>549さん
ご指摘のような感じにも書き直してみましたが、
状況変わらずです。
やはりメインルーチン側の読み取りが
追いつかないようです。
ちなみバッファは各ch用意しています。
外部からのシリアルデータは2つのCHに
常に同時に入ってくるような動作をするのが
ネックのような気もします。
0555デフォルトの名無しさん
2009/01/22(木) 21:50:18もしくはフロー制御は出来ないの?
0556デフォルトの名無しさん
2009/01/22(木) 21:54:150557デフォルトの名無しさん
2009/01/22(木) 21:59:00メインルーチンに処理が戻ってこないとかかね
もしそうなら見積もりが甘かったな
マイコンの選定からやり直しだ
0558デフォルトの名無しさん
2009/01/22(木) 22:09:49多分何も考えずにCに吐かせると、えらい無駄なコードになってるだろうから
0559デフォルトの名無しさん
2009/01/22(木) 22:10:32俺は恐らく>>534の書いたコードのアルゴリズムが根本的に下手なだけだとおもう。
「RecCount をデクリメント」なんて書いてる時点で変だと思う奴が誰もいないのかよ。
何かのフラグをメインでポーリングして1バイトずつチビチビ処理するような
コードになってるんだろうけど、そりゃそんなやり方じゃダメだろ。
デリミタ方式かSTX,ETXみたいなやり方かわからんけど、
一区切りのデータがバッファに入った時点で丸ごとバッファからデキューして
処理するように書かないと。
0560デフォルトの名無しさん
2009/01/22(木) 22:18:160561534
2009/01/23(金) 01:05:59>>555さん
動作クロックをあげたり、フロー制御を入れたりというのは
出来ないんです。
>>556さん
バッファのサイズはもっといろいろと試してみたいと思います。
>>557さん
メインに全く戻らないという訳ではないです。
ただ受信のピークに取りこぼしが発生しちゃっている感じですね。
>>558さん
アセンブラ・・・出来ることなら避けたいです・・・
>>559さん
ご指摘の通りでポーリングで回して
受信したデータを解析、処理させています。
決まったデリミタがなく、通信の長さがまちまちのものから、
必要な一部のデータだけ抜き取らないといけないので、
どう区切るかが難しいのですけども。
メインでちまちまとデータを解析するなら、DTC使おうが、
DMA使おうが状況は同じでしょうか?
>>560さん
そんなことはないです。
0562デフォルトの名無しさん
2009/01/23(金) 01:22:59だから一番誰でも思いつく単純でわかりやすい方法は、
少なくともデータの区切りかどうかの判定まではISRの中でやってしまうこと。
一区切りのデータを受信した時点で初めてフラグを立てるんだよ。
で通常ルーチンでバッファの中のひとまとまりのデータを解析すればいい。
0563デフォルトの名無しさん
2009/01/23(金) 01:28:030564デフォルトの名無しさん
2009/01/23(金) 04:00:23256というサイズは何から決めた?通信の1バーストがそれより短いことは確実?
バーストとバーストの間のお休みはどの位?
決まったデリミタが無い状況で何を手がかりに切り出してるの?
俺が書いたpgmでは、デリミタを認識して状態遷移する部分はメインループに書いたな。
割り込みはringに蓄積するのみ。遅いレートならメインループ1回に1文字取り出す方式でも
充分ついていったし。384なら、while(今ringに溜まってる分)取り出す方式のがいいかもだが、
2ch並行処理がぎくしゃくすると思うから、前者を奨めるなあ。
0565564
2009/01/23(金) 04:06:50for(;;)
if( uiSCI0_RecCount )
chtask0(); // CH0の取り出し・解析
if( uiSCI1_RecCount )
chtask1(); // CH1の取り出し・解析
}
3MHzの8085で、4.8Kを4CH同時に処理できたよ。38400でも割り込み間隔1/8でしょ。
32bit機で、clockが10倍ぐらいなら十分以上に余裕があるはず。
0566デフォルトの名無しさん
2009/01/23(金) 05:00:231バイトしか読んでないような気がするんだが、
なぜ FIFO が空になるまで読み出さない?
0567デフォルトの名無しさん
2009/01/23(金) 16:31:270568534
2009/01/23(金) 18:19:49シリアル受信部で一定の処理の後、
フラグを立て、そのフラグをメインループで
見て解析を行うように変更してみました。
しかしながら、片方のCHは動作してくれるものの、
もう片方はデータを取りこぼしてしまい
正常に動きません。
やはり、シリアルの受信をDMA、DTCで
バッファに格納しないとだめなのではないでしょうか?
(もし理解に誤りがありましたら、ご指摘ください。)
タクトタイムは1秒間に20回ほど、
1回につき両CHにそれぞれ240バイトほどの
データが送られてきます。
0569デフォルトの名無しさん
2009/01/23(金) 18:47:41通信エラーじゃなくて解析が間に合わないってこと?
0570534
2009/01/23(金) 18:54:36比較すると受信したバッファが飛び飛びに
なっているんです。
0571デフォルトの名無しさん
2009/01/23(金) 19:06:39速度化ロジックかすら分からないのだとしたら。
0572デフォルトの名無しさん
2009/01/23(金) 19:07:08速度かロジックか、ね。
0573デフォルトの名無しさん
2009/01/23(金) 19:36:080574534
2009/01/23(金) 20:00:01動作モードはモード2。
クロックモードは3(MD2=1、MD3=1)です。
送信元の速度は固定なので、速度は落とせないんです・・・
0575デフォルトの名無しさん
2009/01/23(金) 20:36:430576H.K
2009/01/23(金) 20:41:46#include<stdio.h>
main()
{
int x,ans;
char y;
printf("年号と年:");
scanf("%c%d",&y,&x); /*文字型*/
while(y=='m'||y=='t'||y=='s'||y=='h')
{
if(y=='m')
ans=1868+x-1;
else if(y=='t')
ans=1912+x-1;
else if(y=='s')
ans=1926+x-1;
else if(y=='h')
ans=1989+x-1;
printf("%d\n\n",ans);
printf("年号と年:");
scanf("%c%d",&y,&x);
}
printf("プログラムを終了します。");
}
までできているのですが、2回目にならず終了してしまうため直してください
。
0577デフォルトの名無しさん
2009/01/23(金) 20:46:300579デフォルトの名無しさん
2009/01/23(金) 20:56:030580デフォルトの名無しさん
2009/01/23(金) 21:12:280581デフォルトの名無しさん
2009/01/23(金) 22:11:37対向機の速度を変えられないならダミーを作ればいいじゃない。
Windowsにも相変わらず端末エミュレータがついているんだから。
0582デフォルトの名無しさん
2009/01/24(土) 00:47:110583デフォルトの名無しさん
2009/01/24(土) 03:09:01uiCHってどうなってんの?
両chでenqueueされたら、もちろん両chでdequeueしてるんだよね?
0584534
2009/01/24(土) 19:39:19シリアルの割り込み時に、まとめて受信する。
なんて出来ましたでしょうか?
>580
上に書いたのそんなに変わらないです。
>582
RecCountにVolatileはついてないですが、
同時にデータが入ってこなければ、ちゃんと動いているんですよね・・・
>583
メインループでCH1とCH2を交互に呼んでいるだけですよ。
0585デフォルトの名無しさん
2009/01/24(土) 19:49:24今の状況だと、割り込み処理が悪いのかデータ解析処理が悪いのかわからないので、
片CHをデータ処理しないで空読みだけして、
バッファの内容がおかしくならないかどうか確認してみては?
0586583
2009/01/24(土) 20:08:16>>547では各chバッファにデータが入っているかどうかを
main側がどのように判定しているのかが読み取れない。
>>547のコードをCH1(uiCHが0)とCH2(uiCHが0以外)で交互に呼ぶだけだったら、
とても正常に動くようには見えないよ。
0587デフォルトの名無しさん
2009/01/25(日) 03:53:36っていうふうに書いてあるのかな?
>>584 SH2のそのシリーズがどうかはワカラナイけど、シリアルがFIFOを持っていて、
FIFOに幾つ溜まるとRDRFが立つのか、その敷居値を設定するレジスタがある奴もある。
ここではふつうにFIFO無しで、1バイト受信があったらRDRFが立つシリーズだと思ってる。
SH2の型番書いてくれたら、ルネサスのサイトでマニュアル読めるのだが。FIFO付きかどうか
ここで答えてくれれば、つぶす方向がひとつ減るね。
INTDI/INTEIが必要なのは、割り込み処理の入り口・出口ではなくて、メインtask側で
それぞれのCHのRecCountを--する時だけだよ。そのことは解ってる?
ringbuffer[リードポインタ]からバイトread
INTDI
uiCHx.RecCount--;
INTEI
こういうふうに書くのがいちばん負荷が少ない。
0588534
2009/01/25(日) 11:31:39試してみたいと思います。
>586さん
547の前に
--------------------------------
if (uiSCI0_RecCount==0){
return(-1);
}
----------------------------
と書いてます。
>587さん
SH2-7144を使っています。
INTDI/INTEIに関しては、前にもご指摘をいただいたので、
・割り込みの入り口・出口にはなし
・RecCount--にだけ書く
はやっています。
0589デフォルトの名無しさん
2009/01/25(日) 13:13:27それだと、CH1が受信していないあいだは、CH2はチェックされないのだが。
0590534
2009/01/25(日) 13:18:34いや、当然CH2も同じようにチェックしてますよ。
0591デフォルトの名無しさん
2009/01/25(日) 13:56:35「547の前に書いている」と言っているが、いったいどういうコードになってるんだ?
こちらとしてはコードがバグってる可能性を疑っているのであって、
「当然正しく作ってますよ」的な説明では全く意味が無いのです。
もしコードのレビューが必要なら、できるだけ無加工なものをどこかに貼っておけば、誰かが見るでしょう。
0592534
2009/01/25(日) 14:46:38この関数をメインループの関数から呼び出して
コードを解析する流れとなっています。
0593534
2009/01/25(日) 14:47:44_UCHAR ucW;
if (ucCH==0){
if (uiSCI0_RecCount==0){
return(-1);
}
}else{
if (uiSCI2_RecCount==0) {
return(-1);
}
}
if(ucCH==0){
ucW = ucSCI0_RecBuf[uiSCI0_RecGet];
INTDI
uiSCI0_RecCount -= 1;
INTEI
uiSCI0_RecGet += 1;
if (uiSCI0_RecGet >= MAX_REC_BUF) {
uiSCI0_RecGet = 0;
}
}else{
ucW = ucSCI2_RecBuf[uiSCI2_RecGet];
INTDI
uiSCI2_RecCount -= 1;
INTEI
uiSCI2_RecGet += 1;
if (uiSCI2_RecGet >= MAX_REC_BUF) {
uiSCI2_RecGet = 0;
}
}
return(ucW);
}
0594デフォルトの名無しさん
2009/01/25(日) 15:15:55593のコードは自分のテキストエディタに貼って、自分の書いたコードと見比べてみるよ。
0595デフォルトの名無しさん
2009/01/25(日) 15:19:37if (uiSCI0_RecCount==0){
return(-1);
}
}else{
if (uiSCI2_RecCount==0) {
return(-1);
}
これは・・・いいのか?
0596デフォルトの名無しさん
2009/01/25(日) 15:26:41uiSCI0_RecCount と uiSCI2_RecCount をvolatileにしないと危ないが、
そこ以外は良さそうだ。
そもそもリングバッファのサイズは256で足りてるのだろうか。
enqueue側でオーバーフローした場合に検知できるようにしてみたら?
0597534
2009/01/25(日) 15:28:24はい。そのシリーズです。
>595さん
返り値が-1の時は解析処理を行わない。という風にしてます。
0598デフォルトの名無しさん
2009/01/25(日) 15:34:31ringに蓄積する方式でいい。 593の、int sio_rec(_UBYTE ucCH) をメインloopから呼ぶには
たぶん、ucCHを0かそれ以外で呼んでいるよね。上の方でCH0/CH1で使っていると書いてた
ように思うが、sio_rec()関数の中ではCH0でないとき、SCI2_xxxxxの資源を読んでいる。
ハードの接続条件をもう一度確認してみて。2CHというのは、CH0/CH1なの?CH0/CH2なの?
0599デフォルトの名無しさん
2009/01/25(日) 15:34:46そうじゃなくて
uiSCI0_RecCount==0
uiSCI2_RecCount!=0
になることはないってこと?
0600598
2009/01/25(日) 15:39:20それにしても関数の設計が冗長だな。なんでmainから呼ぶのに「このCHのデータ返してね」
と呼んで、しかも返却値に「無かったよ」とか作るんだ。>>565のように作ればイベントドリブン
な作りにできるし、「無かったよ」 なんていうリターンコードも無しにできるのに。
0601598
2009/01/25(日) 15:45:47(コードが似ていても)物理的に別ルーチンにしてあるよね?
それぞれのCH毎に、ライトポインタ・リードポインタ・RecCountを持っているよね?
ライトポインタの更新は割り込み側からのみ、リードポインタの更新はメインループ側からのみ
行っているよね? RecCountの更新については既に確認したけど。
0602598
2009/01/25(日) 15:56:57RecCountが0でないときのみ呼び出す形にするだけで、return(-1)が要らなくなる。
sio_rec1( )とsio_rec2( )に分けると引数のucCHが要らなくなるしそれを判定するif文も要らない。
残る本質はリードポインタ(RecGetがそうだよね?)からのgetとRecCount--だけになる。
コンパイラによっては-=1;と--;で違うコードを吐くものもあるので、減算は--;でやって欲しい。
また何か気が付いたら書く。チェックして欲しいコードは貼ってくれ。ちょっとお茶タイム。
0603598
2009/01/25(日) 16:38:06にも、もう一方のCHについては処理すべきデータがあるかもしれないわけだ。そちらは次の
メインループで引っかかると考えているのだろうが、そこに遅れが入り込む余地があるね。
呼び出し側で(565のように)RecCountを判定するのも、呼ばれ側で判定するのも、僅かな
タイミングの違いだけで同じ、と考えたみたいだけど・・・違うのかもしれない。
0604598
2009/01/25(日) 16:45:41おもう。この推測で合ってる? とりあえず、上で冗長と指摘した部分を刈り込んでみては?
sio_rec( )を呼び出す前にRecCountを判定する。sio_rec( )はRecCountがある(=非0)場合のみ
呼び出されるのだから、必ず減算処理をしてよい。CH0と2でルーチンを別にすれば引数も
それに対する判定も要らない。
0605デフォルトの名無しさん
2009/01/25(日) 16:51:230606598
2009/01/25(日) 17:31:070607デフォルトの名無しさん
2009/01/25(日) 18:32:31SCI2.SSR.BIT.RDRF = 0;
if (uiSCI2_RecCount < MAX_REC_BUF) {
ucSCI2_RecBuf[uiSCI2_RecPut] = ucW;
uiSCI2_RecCount += 1;
uiSCI2_RecPut += 1;
if (uiSCI2_RecPut >= MAX_REC_BUF) {
uiSCI2_RecPut = 0;
}
}
else
for(;;);
って、やってみたらどうよ。
0608598
2009/01/26(月) 03:22:33void rxrdy1(void) { /* CH1受信 int. */
ucSCI1_RecBuf[uiSCI1_RecPut] = SCI1.RDR; /* 1文字バッファリング */
SCI1.RDRF = 0; /* RXready flag reset */
uiSCI2_RecCount++; /* データカウント UP */
uiSCI1_RecPut = (uiSCI1_RecPut+1)&(sizeof ucSCI1_RecBuf-1); /* リングポインタ更新 */
} これだけですよ。ringバッファサイズを2**nにしておけば、ifで循環させなくてもいい。
一時変数ucWにRDRを読んでからringバッファに格納するコードも無駄ですよね。
受信エラー割り込みはベクタが別ですよね。そちらではエラーフラグをリセットしてますか?
内蔵RAMは8Kと思っていいですか? ringサイズを256にした理由をまだ回答もらってないけど
RAMが潤沢でないから、でいいのかな?
0609デフォルトの名無しさん
2009/01/26(月) 15:17:52>データが送られてきます。
0610534
2009/01/26(月) 15:21:39そして、微妙にレスポンスが悪くて申し訳ないです。
>597さん
>uiSCI0_RecCount と uiSCI2_RecCount をvolatileにしないと危ない
コードの変更を検討してみますね。
>そもそもリングバッファのサイズは256で足りてるのだろうか
非常にかつかつなので、足りてない可能性も否定出来ません。
現在は、512にしていますが、それでも両CHからの受信は出来ない状態です。
1024にすると本体RAM容量が潤沢でないこともあって、
動かなくなってしまいます。
>599さん
引数がCH==0の時は、uiSCI0_RecCountだけチェックして、
引数がCH!=0の時に、uiSCI2_RecCountをチェックしています。
>607さん
なるほど。バッファサイズが妥当なのかどうか、切り分けが出来ますね。
0611534
2009/01/26(月) 15:30:44たくさんのレス本当にありがとうございます。
>2CHというのは、CH0/CH1なの?CH0/CH2なの?
CH0 → SIO0使用
CH1 → SIO2使用
となっています。
>関数の設計が冗長だな
指摘されて、すごく勉強になっています。
コードが冗長部分も見直していきたいと思います。
>割り込み処理は、物理的に別ルーチンにしてあるよね?
はい。それぞれ別ルーチンで持っています。
>CH毎に、ライトポインタ・リードポインタ・RecCountを持っているよね?
はい。持っています。
>メイン側は、sio_rec( )の結果を(-1でない場合は)受信したバイトとして解析処理に渡すのだとおもう。この推測で合ってる?
はい。その通りです。
>受信エラー割り込みはベクタが別ですよね。
>そちらではエラーフラグをリセットしてますか?
はい。しています。
ここらへんは別ソフトでの動作実績があることと、
各CHの独立した動作で問題ないことから大丈夫だと思うんですが。
0612598
2009/01/26(月) 15:55:35>データが送られてきます。
いやこれは覚えていますが、その1回ごとの間のお休みがどの位、ってのはまだ未回答かと。
お休みが2mSぐらいだったりしたら、切れ目無しと変わらないし(w
1回240バイトほどで、「次が来るまでに解析処理が取り出し終わる程度に十分間隔が長ければ」
処理が間に合うんですよね。
>>611の回答からすると、ドライバ層は(多少冗長でも)だいじょぶっぽいですね。
するとメインの切り出しのほうを疑うべきじゃないかな。ringバッファにデータがあればそこから
バイトを取り出したあと、状態遷移をするような造りを、CH毎に書いてると思うのですが、
その辺はここに出すのはヤバいの? なんならメールで貰って見てあげてもいいよ。
0613デフォルトの名無しさん
2009/01/26(月) 16:05:07それとバッファサイズを256にしておけば、unsigned char宣言で
>if (uiSCI2_RecPut >= MAX_REC_BUF) {
>uiSCI2_RecPut = 0;
>}
こんな処理は必要なくなる。
0615613
2009/01/26(月) 18:13:22そんなことも分からん人がアドバイスしてていいのか?
0616デフォルトの名無しさん
2009/01/26(月) 18:38:020617デフォルトの名無しさん
2009/01/27(火) 00:29:27もしくは減らしたくなったときどうするんだろうな
0618デフォルトの名無しさん
2009/01/27(火) 03:36:29リングバッファ知らんの?
既に>>549でも指摘したが、バッファサイズを2の累乗にして
インデックスをそのバッファサイズ-1でマスクすると、
値はバッファの範囲(128なら0-127)を取る。
write : buf[pos++ & (BUFSIZE-1)] = data;
read : data = buf[pos++ & (BUFSIZE-1)];
posはBUFSIZEの範囲を表現できる型にしておく。
例えばBUFSIZEが1024ならposは16bit変数として宣言。
これ、リングバッファ作る時の常識ね。
0619598
2009/01/27(火) 04:00:48リングのmaskなら608の書き方で615と同じに最適化されますよ。
もうじき朝飯食って出勤だから、また534と話ができるのは午後になっちゃうんだよな。
とりあえず、612の最後の行のためにメアド入れとく。
0620デフォルトの名無しさん
2009/01/27(火) 04:01:51その「常識」とやらはリングバッファを知ってるかどうかとは関係ない。
明示的にラップさせたほうがバッファサイズの調整が柔軟にできるだろ。
2の累乗サイズに固定することにたいした意味は無い。
たまたまバッファサイズが2の累乗になっていれば、明示的にラップさせる
コードをコンパイラが最適化の一部としてマスクなりオーバーフロー任せなりに
することもできる、かもしれない。そんなことはほとんどの場合ではどうでも
いいだろう。
本当に数命令の違いに意味があるなら、目立つコメントでバッファサイズの
制約を記載すべきだ。えらそうに「常識」なんて言わずにな。
0621デフォルトの名無しさん
2009/01/27(火) 04:18:27ドザは常識が無い。
バカに組み込みが無理な好例と言えよう。
0622デフォルトの名無しさん
2009/01/27(火) 04:21:24どうもusbドライバをハックしたり、ファームフェアをアップするときに自作のカーネルを入れてようなんですけど。
0623デフォルトの名無しさん
2009/01/27(火) 06:05:53>>618はな、>>608が示した
> uiSCI1_RecPut = (uiSCI1_RecPut+1)&(sizeof ucSCI1_RecBuf-1); /* リングポインタ更新 */
これと同じ意味なんだよ。
たまたま、じゃねーの。
常識なんだよカス。
0624デフォルトの名無しさん
2009/01/27(火) 06:18:59ゲーム機がARM使ってるからlinuxで動かせるねってだけ。
0625デフォルトの名無しさん
2009/01/27(火) 06:45:37を試してみたいんですが、参考になるサイトが少ないです。
誰か知ってる人いませんか?
非同期のI2Cみたいな考え方でいいんでしょうか?
0626613
2009/01/27(火) 11:02:13データを取りこぼす原因としては
1)割り込みが間に合わずシリアルレジスタから読み込めなかった
2)データ処理が追いつかず受信バッファがフローした
のどちらかだと思うけど、今回は多分2)の方だよね
(本当は、そんなこと簡単に見極められるんだから>>534さんが調べて示さなきゃならんけど)
で、1回分の受信サイズを240として、2回分以上の512にバッファサイズを設定しても
取りこぼすってのは、根本的にデータ処理が間に合ってないということなので、
>>534さんがするべきことはとにかく高速化の1点。
なので高速化の一手法として>>613を書いたわけなんで、まぁ参考にしてください。
仮にレジスタ変数として使うことが出来たら今回のケースじゃ割込禁止/許可もいらんのじゃないか。
一度、コンパイル結果のアセンブリソースを見てみるといいよ。どういう無駄な処理が入ってるとか
すぐ分かるよ。
0627デフォルトの名無しさん
2009/01/27(火) 11:28:100628デフォルトの名無しさん
2009/01/27(火) 14:42:41話にならんレベル
0629デフォルトの名無しさん
2009/01/27(火) 15:18:47mainで取り出すほうは読み出しポインタ(_RecGet)をring状に使って読み出す。
どれだけringに滞留しているかのカウンタが_RecCountで、この変数だけが割り込みと
メインループ両方から更新される。
>>628 もうちょっと遊びたかったのに、534も呆れて逃げちゃったみたい。
0630デフォルトの名無しさん
2009/01/27(火) 16:21:490631534
2009/01/27(火) 16:38:10確信犯的にオーバーフローさせるとは。メモメモ。
状況に応じて使ってみたいです。
アセンブリコードも眺めながら、最適化やってみますね。
>616さん
なっていますよ。
解析の進行具合をフラグで持つようにしています。
>598さん
>その1回ごとの間のお休みがどの位か
お休みは短くて60msくらい、長ければ100msくらいでしょうか。
>メインの切り出しのほうを疑うべきじゃないかな。
なるほど。
コードの記載はもう少し冗長な部分を省いて、
それで解決出来なかった時にさせてください。
実は今日から1週間ほど治具を貸し出すことになってしまい、
今は十分なテストが出来ないんです。
治具が戻ってきたら、また結果を書かせていただこうと思いますので、
どうぞよろしくお願いいたします。
>627さん
>629さんのおっしゃっている内容で合っています。
0632598
2009/01/27(火) 17:42:300633534
2009/01/27(火) 17:55:46DMA、DTCの使用も試みているんですけど、
別の理由でまだうまく行きません。
DMA・・・受信は出来たけど、
解析処理ルーチンが未完成。
DTC・・・ベクタの設定とか書いてみたけど、
転送先に何も送られて来ず。
何か間違っているみたい。
>598さん
呆れてなんてないですよ。
一人で煮詰まった状態で作業しても捗らないですし、
とても参考になっています。
0634598
2009/01/28(水) 04:45:00石がSH2で38400が2CHなら、割り込みに食われる比率なんて屁みたいなもんだから、
今回はringバッファでいいと思うけどなあ・・・ 受信の物理層を速くしても、そこじゃないって
ことなら、アプリ層の改善は必須だし。
水晶は12.288とのことでしたが、RISC方式の説明の所には40MHz動作時・・・とかある。
SHで12M程度の動作のわけないなと感じてたが、実際の動作周波数はどの位?
0635598
2009/01/29(木) 15:09:34・フレームにタイマ張る。「頭」バイトを検出して「中身待ち」に遷移するときに、bitrate*フレーム長
から想定される時間*(1.5〜2.5)ぐらいのタイマを張り、break時には「頭待ち」へ戻す。
フレームの途中でコネクタが抜けるなどしたときの回復手順。
受信エラーバイトを含むフレームを捨てるようにしてある?
・コードがASCIIとかの、8bitの中でも限定された文字セットなら、受信エラー時の文字を
(FFとかの)使わない文字に変えてringに入れる。
・通信がバイナリとかで、8bit全ての文字を使うなら上の手法は使えないので、割り込みから
メインに伝えるイベントコードを16bitにして、0000〜00FFは受信バイト、80xxは受信エラー
のバイト、とかやる。
メイン側では、フレーム再構成の際に上記の「受信エラー文字」を読みとったら「頭待ち」へ
遷移する。
0636598
2009/01/29(木) 15:15:56「お休み時間」の2〜2.5倍ぐらいにするのが一般的。break時には 「受信したデータ」を消し
「受信無し」状態に戻る。( 状態は「頭待ち」 だが、受信済みデータも無し(=起動時と一緒) )
一般的な手法助言はこんなもんかと。あとは具体例が出されたら考える。
0637デフォルトの名無しさん
2009/01/29(木) 17:16:130638598
2009/01/30(金) 15:46:400639デフォルトの名無しさん
2009/02/01(日) 07:12:51メイン側からその変数を読み出したいのですが、
割り込みを停止せずにアトミックに読み出す方法はあるでしょうか?
割り込み間隔(割り込み中時間ではなく)は、
メイン側の1回の変数参照完了時間よりも長いと仮定します。
割り込み中のカウントはで32bit変数を+1インクリメント
する単純なものです。変数がオーバーフローしても特に処置なしです。
0640デフォルトの名無しさん
2009/02/01(日) 13:34:46この場合は単純な二度読みして一致しているかどうかでいいんじゃないの?
(チャタリング除去の場合は無駄だ〜なんていうとまた誰か発狂する奴が出そうだがw)
リトルエンディアンとして、読み出しの最初と最後に1バイト目(8〜15bit)を読んで、
一致していればアトミックに読めたと判断する。
もちろん2回のリードの間に256以上インクリメントされる可能性がある場合は
この方法は使えない。
0641デフォルトの名無しさん
2009/02/01(日) 13:59:10読み出しの前に割込禁止して読み出し、すぐ割込許可、で素直な手法だと思うが。
ringバッファの滞留数だったりしたら、32bitは「やりすぎ」だとおもう。16bitで充分。
8bitMCUということを考えたら、ringは256までにして8bitでもできるぞ。
それなら割込禁止とか考えないでもアトミックにできる。
0642デフォルトの名無しさん
2009/02/01(日) 14:35:03アトミックでない方法でカウンタを2回読み出して、
その値が一致するまで繰り返し読み出す。
一致したらその値が正解。
0643642
2009/02/01(日) 14:41:47>>641
起動後の時間をタイマ割り込みで例えば1msごとにカウントするなら、32bitくらい欲しい。
このタイマカウンタが1つあれば、個別用途のタイマはその差分で計れるしね。
0644デフォルトの名無しさん
2009/02/01(日) 16:36:35なかったから、その発送はなかったわ。
0645デフォルトの名無しさん
2009/02/01(日) 16:38:39そこから派生して時刻やインターバルがとれるのだから。
0646デフォルトの名無しさん
2009/02/01(日) 16:55:11気もするけど、ラッチがついてないHWカウンタやタイマは(場合によってはADCあたりも)
非同期的な更新を止めてアトミックに読むというのは物理的に不可能だからねえ。
0647デフォルトの名無しさん
2009/02/01(日) 20:35:430648デフォルトの名無しさん
2009/02/05(木) 12:05:26「エレキとソフトの間の作業」ってどんなですか?
やはりプログラム言語は使うのでよね?
0649デフォルトの名無しさん
2009/02/05(木) 12:52:57間ってさっぱりわからんが
0650デフォルトの名無しさん
2009/02/05(木) 13:11:03すいませんが、教えて頂けないでしょうか? m(__)m
0651デフォルトの名無しさん
2009/02/05(木) 13:12:48http://www.google.co.jp/search?hl=ja&q=%E3%82%A8%E3%83%AC%E3%82%AD&lr=&aq=f&oq=
0652デフォルトの名無しさん
2009/02/05(木) 13:43:080653デフォルトの名無しさん
2009/02/05(木) 14:36:38チップから割り込みが入らないからオシロで調べるとか、
デバドラ書くとかそんなんじゃね。
0654デフォルトの名無しさん
2009/02/05(木) 15:05:33応募する気なのかどうか分からないけど、意味が理解できないなら
無理だよ
概ね >>653 の通りだよ
0655デフォルトの名無しさん
2009/02/12(木) 22:42:37CodeWarriorの評価版でCソースをコンパイルしてARM9用の実行プログラムを
生成したいのですが、評価版のダウンロードページにある、どれを使えば
いいのでしょうか。(CodeWarrior for XXで分かれ、バージョンも9.2まである)
すみませんがお分かりの方、ご回答いただけると有り難いです。
0656デフォルトの名無しさん
2009/02/14(土) 09:02:53ざっと見たとこ、ARM9用はない希ガス。
FreeScaleに聞くほうが手っ取り早いんじゃね?
0657デフォルトの名無しさん
2009/02/14(土) 11:12:233千円ぐらいで
0658デフォルトの名無しさん
2009/02/14(土) 22:09:46何の環境?
開発環境なら、gcc+Emacsだと只だぞ。
0659デフォルトの名無しさん
2009/02/15(日) 05:33:420660デフォルトの名無しさん
2009/02/17(火) 03:17:48ありがとうございます!!!!
大昔に業務アプリケーション方面のCプログラミング経験があるぐらいで
ICEにさわる必要ができてしまいました。数年前の資料ではCodeWarrior
を使用しているようでしたが、評価版がよくわからないのでIAR(30日)
を試しました。が無礼九ポイントで停止しません;;
0661デフォルトの名無しさん
2009/02/17(火) 03:21:32設定はした(つもり)なのですが。泣きたい。
0662デフォルトの名無しさん
2009/02/17(火) 04:34:360663デフォルトの名無しさん
2009/02/17(火) 11:41:070664デフォルトの名無しさん
2009/02/17(火) 17:33:240665デフォルトの名無しさん
2009/02/17(火) 18:46:450666デフォルトの名無しさん
2009/02/21(土) 08:45:04CodeWarriorでARMだとi.MX用だと思うが
あのIDEってCodeWarrior用のJTAG Pod以外対応してないんじゃないのか?
あの製品の仕様はアプライドマイクロシステムズ時代から
買収されるたびに迷走してるんで、今はfreescale製のCPU以外は
最新版でサポートされてるか怪しいぞ
0667デフォルトの名無しさん
2009/02/25(水) 22:44:34組み込みプログラムの世界にいきたいのですが、
この世界は未経験でも雇ってくれるものなのでしょうか?
会社の規模や、給料にはこだわりませんが、スキルを身に付けたいのです・・
0668デフォルトの名無しさん
2009/02/25(水) 23:18:090669デフォルトの名無しさん
2009/02/25(水) 23:20:1225以下ならyes
0670デフォルトの名無しさん
2009/02/25(水) 23:21:01回路設計側は、ある意味良質な人材が激減してるよ
つか、プログラムもハードも目的を達成するための 1 手段
まぁ、がんがれ
0671デフォルトの名無しさん
2009/02/26(木) 01:35:21組み込みでもソフトよりFPGAとか扱えるようになったほうが、仕事あるんじゃね?
オレはソフト系だけど、来月から仕事はいってないわ
0672デフォルトの名無しさん
2009/02/26(木) 04:40:30首都圏にお住まいでしたら社内広告に出ている適職フェアにも
参加していますので、ぜひ脚をお運びください。
0673デフォルトの名無しさん
2009/02/26(木) 23:16:44組み込みソフトっつても、WindowsCE、ITRON、Linuxなどの組み込みOSです。
書籍だけならいっぱいあるけど。できれば実機が付いてて、実際に動かせるものがいいです。
WindowsCEのeBox-2は販売終了になってるし、、
興味があるのは、OSならWindowsCE、CPUならARMかSHあたりかな。
はじめはITRONのが判りやすいとは言われてるけど。
予算は3〜4万程度は出してもいいかなと思ってます。
0674デフォルトの名無しさん
2009/02/26(木) 23:20:063〜4万程度しか出せないならやめとけ
0675デフォルトの名無しさん
2009/02/27(金) 03:28:360676デフォルトの名無しさん
2009/02/27(金) 07:24:520677デフォルトの名無しさん
2009/02/27(金) 09:54:470678デフォルトの名無しさん
2009/02/27(金) 14:35:10ちょっと予算オーバーだけど
ttp://www.apnet.co.jp/product/ms104/ms104-sh2.html
0679デフォルトの名無しさん
2009/02/27(金) 14:45:262千円の投資でLinuxとGPIOとシリアルと有線・無線LANのお勉強ができるよ。
SHがやりたいならみついわボードかな。8千円ぐらい。
http://web.kyoto-inet.or.jp/people/takagaki/T-SH7706/T-SH7706.htm
ARMならストロベリーリナックス辺りで適当なの買えばいい。
0680デフォルトの名無しさん
2009/02/27(金) 20:02:120681デフォルトの名無しさん
2009/02/27(金) 20:05:51某氏が関わってるとは聞いてないけど
0682デフォルトの名無しさん
2009/02/28(土) 08:04:470683デフォルトの名無しさん
2009/02/28(土) 09:18:09これって完成してもまたアメリカに潰されるんでしょ?
0684デフォルトの名無しさん
2009/02/28(土) 10:09:350685デフォルトの名無しさん
2009/02/28(土) 16:27:180686デフォルトの名無しさん
2009/02/28(土) 17:20:40リアルタイムという定義をもうすこし勉強するよろし
0687デフォルトの名無しさん
2009/02/28(土) 22:01:10すでに製品が出ているわけだが。
http://www.esol.co.jp/embedded/et-kernel_multicore-edition.html
0688デフォルトの名無しさん
2009/02/28(土) 23:37:430689デフォルトの名無しさん
2009/02/28(土) 23:59:37ドライバはOS次第だな。
0690デフォルトの名無しさん
2009/03/01(日) 00:18:07通常 itron あたりだと, ハードを叩くタスクのコーディング規約的なもの
だけど, TCP/IP スタックとか, ファイルシステムとかの賢いライブラリが
既にあって, そのライブラリで使用可能な新規デバイスを動作させようと
思った場合は, そのライブラリのコーディング規約に従う必要がでてくる.
で, Unix とか Linux とか Windows とかのドライバ開発者は,
上記コーディング規約とか上位層用のインターフェースに従ったものを
作る必要が発生するため, 若干めんどうなことになる
だけど, 実質的にデバイスに対する制御は一緒だよ
0691デフォルトの名無しさん
2009/03/01(日) 01:14:15そういうのを「コーディング規約」とは言わんと思うが。
0692デフォルトの名無しさん
2009/03/01(日) 01:22:07API とも言いにくいよな. まぁ, それ的なものって事で許してくれ
0693デフォルトの名無しさん
2009/03/01(日) 03:54:36うるさいはげっが
0694デフォルトの名無しさん
2009/03/01(日) 04:37:50だいじょぶなのかな? とかいつも心配になる。余計なタイムアウト処理がついてくるような。
0695デフォルトの名無しさん
2009/03/01(日) 09:20:14コーディング規約というのは(ry
0696デフォルトの名無しさん
2009/03/01(日) 11:13:26ドライバインタフェースて言ってる。
これが一般的かどうかは知らんが。
>>694
それは違うと思うぞ。
0697デフォルトの名無しさん
2009/03/01(日) 11:47:20688だがありがとー。
タスクにするのか。制御するデバイスが外付けのADCやDACだったりすると特に大変だな。
ドライバタスクに制御が渡るまでの遅延がそのままLFPになるし。
0698デフォルトの名無しさん
2009/03/01(日) 11:48:510699デフォルトの名無しさん
2009/03/01(日) 12:34:20ならないでしょw
っていうか、遅延がLPFになっちゃうって根本的にHWの設計おかしいよ。
1バイトか4バイトか知らんけど、サンプリング毎に逐次的にPCのCPUが処理するHWなわけ?
工業高校の落ちこぼれでもそんな糞設計しないよ。
普通にバッファぐらい付けようよw
0700デフォルトの名無しさん
2009/03/01(日) 14:46:44その昔 FIFO すら付かない素の DAC 渡すアホなハードを渡してくれた奴がいた
これじゃ音が歪むって言って突っ返したがwW
0701デフォルトの名無しさん
2009/03/01(日) 16:54:05ああ。なんか俺が色々誤解していることが分かったwwwwwサンクス。
なお、俺はOSのドライバ開発をしたことないので質問したので、
ADCとDACの話は俺の想像であって、実際にある基板の話ではないよ。
PCの話は分からないけど、俺はSH+組込みOSのシステムを想像してた。
で、ワンチップマイコンで良くやるような、タイマ割り込みをトリガにした
周期的なデバイスへの直接制御を、tickに縛られる(しかも1tickはmsec単位?)
OSのタスクでどうやって実現するのだろうかと疑問に思ってた(^^;
だが、そもそもそういうことではなくて、OSを使うようなシステムものの仕事では
上のような処理はFIFOつきバッファを使ったりFPGAを使ったりして、
CPUのソフトウェアの影響を出来る限り排除するように設計されてるってことだな。
0702デフォルトの名無しさん
2009/03/01(日) 19:34:46そんなにスピードを求められない(tick単位で処理できればいい)デバイスの場合、ソフトで制御することもあるよ。
割り込みハンドラなら最優先で処理されるし、RTOSならタスクに優先度を細かくつけれるし。
0703デフォルトの名無しさん
2009/03/01(日) 22:26:11メガドライブですね?
0704デフォルトの名無しさん
2009/03/01(日) 23:24:31LIFOを頭に浮かべて、ああ、FIFOは待ち行列だったか・・と思い出すわけだ
これが非常にまわりくどい
最初からきゅーとか待ち行列と言って欲しい
0705デフォルトの名無しさん
2009/03/01(日) 23:45:340706デフォルトの名無しさん
2009/03/01(日) 23:45:40変な人だな。
それはひょっとして頭の中に「ところてん押し出し器」的な図式が
イメージできてないからじゃないの?
0707デフォルトの名無しさん
2009/03/01(日) 23:58:46うちら界隈だと、チップのマニュアルで FIFO 表記の方が多いから、
ハードで実現されてる奴はキューとはあんまり言わんな
0708デフォルトの名無しさん
2009/03/02(月) 11:03:20スタックとかキューというと実装が少し見える感じだ。
0709デフォルトの名無しさん
2009/03/02(月) 11:36:01FIFO=ところてん
LIFO=積み○○
とか
0710デフォルトの名無しさん
2009/03/02(月) 19:19:29LIFO=巾着式オナホール
0711デフォルトの名無しさん
2009/03/02(月) 19:49:310712デフォルトの名無しさん
2009/03/02(月) 20:01:450713710
2009/03/02(月) 20:08:370714デフォルトの名無しさん
2009/03/02(月) 21:01:48頭悪すぎないか。
0715デフォルトの名無しさん
2009/03/04(水) 04:17:02RTOSならやったことあるけど・・・
アセンブラも出来るけど・・・
0717デフォルトの名無しさん
2009/03/29(日) 14:08:280718あぼーん
NGNG0719デフォルトの名無しさん
2009/03/29(日) 14:17:15いまいくおー ε=ε=(っ・∀・)っ ゴーゴー♪
今、FPGAのカスタムCPU向けの派遣やってるんだけど
なんか、この業界って システムの分析とか設計とかインタフェ〜スも決めないでなぁなぁで仕事してるし
業界慣行違うなと・・・
社内試験もユ〜ザ〜向けドキュメントも 超いい加減で 楽で Indeed調査によると 給与もいいみたいだし・・・
0721デフォルトの名無しさん
2009/03/30(月) 09:37:08良くも悪くも「動けばOK」な面も、てそれは鯖も同じか。
0722デフォルトの名無しさん
2009/03/30(月) 11:03:06# とは言え、年齢がそれなりの人はそれなりの報酬のためにはそれなりに上流工程もこなせないと厳しいけど。
0723デフォルトの名無しさん
2009/03/30(月) 20:19:43外注募集してるとこないですかね?
当方、経験15年以上なんですが
0724デフォルトの名無しさん
2009/03/31(火) 10:34:32>722
0726デフォルトの名無しさん
2009/04/06(月) 06:41:27resetprgで、SP初期化・割禁の後、_INITSCT()でRAMにゼロまたはコードされた初期値を入れ、
それからHardwareSetup()を呼び出して内蔵レジスタ類の初期化という順序がお奨めらしい。
この順序である必然性みたいのはあるのでしょうか?
内蔵レジスタの設定に、入力クロックを2倍する設定とかもあるので、RAMの初期化は
レジスタ類初期化の後のほうがいいように思えるのですが。
0727デフォルトの名無しさん
2009/04/06(月) 06:44:450728デフォルトの名無しさん
2009/04/06(月) 07:12:430729デフォルトの名無しさん
2009/04/06(月) 07:25:26そこまでわかってるなら、必然性はない。
単にHardwareSetup()内でグローバル変数などが初期化済みになるようにしてるだけ。
0730726
2009/04/06(月) 09:01:15解ってやる分には後でもだいじょぶってことですね。 ありがとうございます。
0731デフォルトの名無しさん
2009/04/06(月) 12:20:26畏れ多い?
すぐにそんな気持ちは無くなるよ。ヒヒヒ
0732デフォルトの名無しさん
2009/04/06(月) 13:13:49オレも最初そうだった。
へうのやることは、「親切心でやってみた」程度に考えておいたらよいと思う。
付き合いが長くなると、気が利かなかったりする面も見えてくるが、片目をつぶって辛抱しなさい。
どおしても〜ダメだったら〜帰っておいで〜♪
0733デフォルトの名無しさん
2009/04/06(月) 14:10:260734デフォルトの名無しさん
2009/04/06(月) 14:47:280735デフォルトの名無しさん
2009/04/07(火) 04:29:09これをデフォのまま=増速せずに使ったら、何か利点があるんですか?
例えば消費電力が小さいとか・・・
0736デフォルトの名無しさん
2009/04/07(火) 16:33:380737デフォルトの名無しさん
2009/04/07(火) 22:05:07別に早い必要が無ければ早くする必要はない
0738735
2009/04/08(水) 05:20:44>>736 例えばH8S/2378の 23. クロック発振器 の章をよく読んでも、メリット・デメリット・電力等に
ついての言及が無いので聞いてみたのです。逆に低消費電力状態の説明の章にはクロック発振器
との関連は言及されていません。この記述がそうだよという箇所がありましたら示唆ください。
0739デフォルトの名無しさん
2009/04/08(水) 10:58:110740デフォルトの名無しさん
2009/04/08(水) 13:35:450741デフォルトの名無しさん
2009/04/08(水) 13:43:230742デフォルトの名無しさん
2009/04/08(水) 15:15:05DC特性の下の方に消費電流(max)の計算の仕方が書いてあるでしょ。
0743デフォルトの名無しさん
2009/04/08(水) 18:09:580744デフォルトの名無しさん
2009/04/08(水) 18:16:53でも、明確に何が作れるのかわかりません。
教えて得ろ胃人!
0745デフォルトの名無しさん
2009/04/08(水) 18:28:000746デフォルトの名無しさん
2009/04/08(水) 18:33:38f=33MHz,Vcc=3.6Vで計算してみたら
0747デフォルトの名無しさん
2009/04/08(水) 19:44:43まずは本読めよアホ
0748デフォルトの名無しさん
2009/04/08(水) 21:47:59Iccmax = 15 + 0.37 × Vcc × f
小学生でもできる計算じゃん
0749デフォルトの名無しさん
2009/04/08(水) 22:02:33こんなの
http://kumikomi.typepad.jp/jogai/cat4952416/index.html
0750デフォルトの名無しさん
2009/04/08(水) 23:17:05まずはこれを嫁。
http://www.cqpub.co.jp/interface/sample/200905/if05_036.pdf
0751デフォルトの名無しさん
2009/04/09(木) 04:41:33動作周波数依存で変わる部分は、消費電流の2.5%ぐらいと理解すればよさそうですね。
レジスタの設定なんかのとこは読むけど、電気的特性って標題見ただけでここは読まない
と決めてました。
0752デフォルトの名無しさん
2009/04/09(木) 09:20:10>746の条件を>748に入力したら約60mA、クロックを半分に落としたら約40mAで、
仮にクロックを1MHzにまで落としたら約16mAってことなんだけどねぇ。
それとも、15[mA]+0.37*Vcc[V]*f[MHz]って計算式の意味が判らないんだろうか。
0753デフォルトの名無しさん
2009/04/09(木) 17:02:33やっとわかった〜\(*o*)/ ありがとうございます。
その基本料金の15mAってところは、スリープのいくつかのモードで小さくするんですね?
周辺モジュールまで止めるか、クロックまで止めるか、とか。
0754デフォルトの名無しさん
2009/04/09(木) 17:04:160755デフォルトの名無しさん
2009/04/12(日) 04:42:14RAM16Kの2368シリーズのRAMアドレスは、00FF8000〜00FFBFFFだろうと思い、
ルネサスのサイトで2368シリーズのpdfを見たら、3.4 各動作モードのアドレスマップ の章の
アドレスが全て□OM:□□バイト □AM:□□バイト アドレスも□'□□□□□□ とかに
なっていて、確認できませんでした。 どなたか実際の数値を確認した人いらっしゃいますか?
2行目で合ってますか?
0756デフォルトの名無しさん
2009/04/12(日) 07:16:10そこに書いてないか?
0757デフォルトの名無しさん
2009/04/12(日) 07:52:41まぁ確認しといてやったけど、2ちゃんなんか信用しないでpdfをちゃんと見られる環境を作った方がいいよ。
2360F/2363/2365
リザーブ領域: H'FF4000-FF7FFF
内蔵RAM: H'FF8000-FFC000
0758デフォルトの名無しさん
2009/04/12(日) 07:54:18つーか>>756の言うように13章を参照せれ
0759デフォルトの名無しさん
2009/04/12(日) 07:56:210760755
2009/04/12(日) 08:09:50優しい人たちですね。 環境はXPhomeで、2378のpdfを落とした時は3章もふつうに見られた
んです。 vista向けにフォント更新しちゃったのかな? あ(*o*)adobe更新してないかも!
またまた質問です。このシリーズの石って、33MHzのと34MHzのとありますよね。
16.5888を2倍して33.1776で動かす場合は33MHz越えるから、34MHzのほう、ってことになりますか?
0761デフォルトの名無しさん
2009/04/12(日) 18:37:490762デフォルトの名無しさん
2009/04/13(月) 02:35:23幾らにつくのかな? と思いまして。ちなみに必要なのはメーカー要求のロットより2桁ぐらい
少ない数なので、最低ロットでまとめ買いな路線です。
0763デフォルトの名無しさん
2009/04/13(月) 04:18:040764デフォルトの名無しさん
2009/04/13(月) 07:31:060765デフォルトの名無しさん
2009/04/13(月) 11:56:37現在もっともポピュラーな開発言語はCですか?
また、電気工学の知識はどれくらい必要でしょうか?
0766デフォルトの名無しさん
2009/04/13(月) 13:55:090767デフォルトの名無しさん
2009/04/13(月) 15:28:35要求する。portxxは何の入力/出力って奴。それだけでも足りなくて、バスコントローラーの
設定なんかハード屋さんからいちいち聞く(w
0768デフォルトの名無しさん
2009/04/13(月) 17:53:46ポート表やバスコントローラの設定は、普通ハード屋がだすもんじゃね?
俺は毎回資料作って渡してるよ
0769デフォルトの名無しさん
2009/04/13(月) 18:44:10型番によっちゃ売れ筋でないのは廃盤になって
入手できなくなったりするから注意しろ。
0770デフォルトの名無しさん
2009/04/13(月) 22:14:410771デフォルトの名無しさん
2009/04/13(月) 23:20:25シーケンサって何?
0772デフォルトの名無しさん
2009/04/13(月) 23:25:18さて、Cとかはほんと軽く触った程度でポインタにはアドレスが入るということは理解しています。
組み込みのCって、UNIXのCプログラム(システムPG)とくらべてどう違うのでしょうか?
また、書籍で独学で、仕事もらえるレベルに到達することは可能でしょうか?
また、超お勧めの書籍を教えてください
0773デフォルトの名無しさん
2009/04/13(月) 23:30:18その程度すらやれないんだからお前に才能は無い
0774デフォルトの名無しさん
2009/04/13(月) 23:36:15もし社会人だったらクズですけど。
0775デフォルトの名無しさん
2009/04/14(火) 07:33:25の観点のほうで選ぶみたいですね。ハード屋さんがそう言ってました。
0776デフォルトの名無しさん
2009/04/14(火) 07:38:38> 組み込みのCって、UNIXのCプログラム(システムPG)とくらべてどう違うのでしょうか?
・標準関数が使えなかったりする
・マルチタスクや割込みを意識したプログラミングが必須
・メモリリーク厳禁
・デバッガがわりと貧弱
> また、書籍で独学で、仕事もらえるレベルに到達することは可能でしょうか?
無理。ただし、Cの仕事の経験があれば、雇ってくれる会社はある。
あとは、組込み技術者養成してる派遣会社で研修受けて、派遣で働くとか。
0777デフォルトの名無しさん
2009/04/14(火) 23:54:55ttp://nttxstore.jp/_II_MT12748043
こんなやつ
0778デフォルトの名無しさん
2009/04/15(水) 05:27:380779デフォルトの名無しさん
2009/04/15(水) 16:32:060780デフォルトの名無しさん
2009/04/15(水) 20:06:42よくわかったなw 感心したわ
0781デフォルトの名無しさん
2009/04/16(木) 13:15:44> ・メモリリーク厳禁
全部スタティックに置くからリークなんかしないお
でもたまにほかの変数を上書きしてしまったりするお
スタックのを上書きしたら変なところに飛ぶからすぐわかるお
>>779
わかってたけど野暮だからと思って書かないでおいたのに…
0782デフォルトの名無しさん
2009/04/16(木) 21:24:000783デフォルトの名無しさん
2009/04/17(金) 00:04:14つまりどういうことかと言うと、ヒープは使うときもある。だけど使わないときもある。
0784デフォルトの名無しさん
2009/04/17(金) 04:04:29誰に言わせてもその答えにしかならんだろうが、アホめ。
0785デフォルトの名無しさん
2009/04/17(金) 04:41:31君はバカだな
全然違うよ
ヒープは使うときもあるし、使わないときもある
0786デフォルトの名無しさん
2009/04/17(金) 06:04:50SHとH8の開発環境をひとつのマシンにつくりたいのですが
現在は、SH用のHEW4が入っています。
H8用は、HEW(1.0)がお客様からとりあえず支給されました。
HEWのツールチェインに、H8のコンパイラをいれるとかできるんでしょうか?
みなさんはどうしてます?
0787デフォルトの名無しさん
2009/04/17(金) 07:19:040788デフォルトの名無しさん
2009/04/17(金) 12:08:16簡単に実装出来て、値段が安く実績のあるメーカーが良いです。
値段は、1個500〜1500円の間で考えていますが、
エプソン・OKI等のLSIは1個〜購入可能?
そう言う所知っていません?
例 S1V30300等 とか?
http://www.epson.jp/device/semicon/product/speech_audio/index.htm#ac01
出来れば個人購入で、個人でも相手にしている所ありません?
最新でなくても良いです。
用途は、販売機等の「いらっしゃいませ〜」みたいなものです。
スレチ?
0789デフォルトの名無しさん
2009/04/17(金) 14:01:580790786
2009/04/17(金) 14:40:07ありがとうございます。
新しいバージョンに自動的になるわけですね。
なんか怖いな
コンパイラだけのインスコとかできるといいのになあ。
0791デフォルトの名無しさん
2009/04/19(日) 12:24:29スネークマ・・・いやなんでもない
0792デフォルトの名無しさん
2009/04/20(月) 19:38:12あれはR8Cだったかな?
0793デフォルトの名無しさん
2009/04/22(水) 07:03:230794デフォルトの名無しさん
2009/04/22(水) 07:05:000795デフォルトの名無しさん
2009/04/22(水) 07:43:060796デフォルトの名無しさん
2009/04/22(水) 10:43:040797デフォルトの名無しさん
2009/04/23(木) 17:02:33厨房 その調子でがんばれよ
0799デフォルトの名無しさん
2009/06/06(土) 04:28:45の引き合いが来ました。 36064のpdfをダウンして読みながらへうで雛形を書いています。
こんな小さい石までルネサス共通のアーキテクチャに合わせてERnになってるんですね(*o*)
文字列を渡すサブルーチンを見たら、void func(*src) { の中で、
MOV.W R0,R2 引数の文字列アドレス
L110: (doのラベル)
MOV.B @ER2+,R0L (*引数++のアドレッシング) ・・・となっていました。
前置きが長くてすいません。では質問: あれ?ER2の上位は?と気になったので聞きにきました。
この石ではアドレス空間は0〜FFFFですから、ERnの上位が何であってもメモリアドレスは
この空間にラップアラウンドしてアクセスされる、 と理解してよいですか?
初期化でEnを全部ゼロに、とかも考えたのですが、計算の一時記憶としてEnが使われたり
したらずっとゼロの保証はありませんよね。
0800デフォルトの名無しさん
2009/06/06(土) 04:39:22MOV.W または MOV.L #stackの末尾,SP
ORC.B #-128,CCR となっていますが、
リセットのときはIマスクは1であると書かれています。2行目の割禁命令はなぜ必要なのでしょう?
0801デフォルトの名無しさん
2009/06/06(土) 08:40:02上は無視される。
>>800
なにかの間違いで飛んできた時のためにおまじない。
0802800
2009/06/06(土) 16:39:130803800
2009/06/07(日) 03:52:00MOV.W #LWORD L76,R5 "abcde"のラベル
MOV.B #5,R4L
PUSH.W R6
MOV.W #LWORD _dst,R6
EEPMOV.B
POP.W R6
で、いちおうできるみたいですが、EEPMOV前後のR6のpush/popは何のためなんでしょう?
これと、string.hのmemcpy(dst,"abcde",5); 使って関数呼び出しでやるのとで、得失は
ありますか?
0804デフォルトの名無しさん
2009/06/12(金) 11:43:44単に、R6は破壊しないと言う呼び出し規約でもあるんじゃないの。
0805800
2009/06/13(土) 04:27:58この関数の入り口=遙か彼方の上の方でR6にある変数のアドレスを入れていました。
関数中で何度かアクセスする変数なので、最適化でこのようにしているようです。
ということは、EEPMOV.B 命令自体にはR6の保存云々は関係ないと理解できそうですね。
EEPMOV.W 命令の場合は、その後ろでR4をテストして、BNZ EEPMOV.Wのラベル が必要
ですよね? あ、はしゃいでお試しコード書いている間に、Tinyの企画自体がポシャりましたorz
0806デフォルトの名無しさん
2009/06/13(土) 10:11:55GCCって対応しているの?
現状スロット不正例外頻発してんだけど。
0807デフォルトの名無しさん
2009/06/13(土) 10:34:560808デフォルトの名無しさん
2009/06/13(土) 10:39:140809デフォルトの名無しさん
2009/06/13(土) 10:46:39気になるなら、sh.mdにパッチを当てるとか?
0810デフォルトの名無しさん
2009/06/13(土) 10:56:54あれ?じゃあ原因違うのかなぁ?
もう少し調べてみます。
ありがとう。
0811810
2009/06/13(土) 12:07:24jsr @r2
ldc r1,sr
ってのがいました...お騒がせして申し訳ない。
疑ってごめん >GCC
orz
0812デフォルトの名無しさん
2009/06/13(土) 12:26:410813デフォルトの名無しさん
2009/06/13(土) 14:26:168KBでやりくりしたぞ。
0814デフォルトの名無しさん
2009/06/13(土) 15:58:050815デフォルトの名無しさん
2009/06/26(金) 16:39:03呼び出す形に作ってなんとかしたぞ。スタックなんか128バイトぐらいしか使わなかった。
0816デフォルトの名無しさん
2009/07/14(火) 09:54:130817デフォルトの名無しさん
2009/07/16(木) 13:56:01対象年齢10才〜
0818デフォルトの名無しさん
2009/07/16(木) 20:39:51それ何?
Androidじゃないよな?
0819デフォルトの名無しさん
2009/07/16(木) 20:58:080820デフォルトの名無しさん
2009/07/16(木) 21:22:48なるほど、本当にあるのか
(実はtypoだと思ってた)
0821デフォルトの名無しさん
2009/08/15(土) 21:11:30なんかいい資料ないですか?
interfaceとかに書いてあるかな?
0822デフォルトの名無しさん
2009/08/16(日) 01:47:50なんのプロトコルスタック?
0823デフォルトの名無しさん
2009/08/16(日) 10:35:29ネットワーク関連ならなんでもいいっす
TCPとか好きです
0824デフォルトの名無しさん
2009/08/16(日) 12:02:590825デフォルトの名無しさん
2009/08/16(日) 16:21:41多分コード量見て嫌になるから。
0826デフォルトの名無しさん
2009/08/17(月) 03:34:44見るならBSDの方で
0827デフォルトの名無しさん
2009/08/17(月) 07:25:31BSDは糞だろLinux最高だバカヤロウ
A. 外部サイトへの突撃大好きな真性厨房
韓国突撃でお馴染みの自動保守
最近は自動焼人 ★として2ちゃんねるのボランティアにも精を出す日々
だがそんな彼にも、人間らしい部分はあったのだ…
名言集
『アパッチ砲はワシが作った』
『お前が規制系キャップ取れるか審査してやるよ』
『いつもサボってばかりのキャップがウゼえ』
『俺、100人規模の集団サイバーテロの主犯だったこともあるんだぜ』
『俺の経歴カックイイだろ?』
最近のニュース
8月15日の韓国突撃の際に歴史的大敗を喫する。ラジオでの敗戦宣言のときに声が震えていた
本人は体調不良と言っているが…
----------------------------------------------
この自動焼人 ★メールマガジンの配信停止をご希望される方は
http://qb5.2ch.net/test/read.cgi/sec2chd/1250169591/
にて自動焼人 ★までご連絡ください
0829デフォルトの名無しさん
2009/08/17(月) 20:14:120830デフォルトの名無しさん
2009/08/17(月) 20:24:090831デフォルトの名無しさん
2009/08/18(火) 00:21:57組み込みの人ってやけにキチガイ度が高いよね
他のキチガイとは何か臭いが違うというか・・
0832デフォルトの名無しさん
2009/08/19(水) 21:57:37学習用でプロトコルスタック廻りとデバイスドライバなら
絶対BSDの方がいい
Linuxのは汚くて”こうなってる筈”とあたりをつけられないと
ソースツリーの何処にあるか探しあてて中身をみただけで
気力が萎える可能性が高い
BSDは設計がガチガチな分、コードとソースツリーが読みやすい。
その分、新しいデバイスのドライバが書き辛いったらないが
0833デフォルトの名無しさん
2009/08/19(水) 22:05:06下手にlinuxのコードを参考にするとGPL厨がやってくる
0834デフォルトの名無しさん
2009/08/20(木) 00:39:34利用してはいけない
0835デフォルトの名無しさん
2009/09/08(火) 14:24:59どう書けばいいですか? ルネサスのcで石はH8/300H TINYです。
void cmdhoge(void) { /* hogeコマンド処理 */
register void (*funca)(void) = (void*)(0);
set_imask_ccr((_UBYTE)1);
(*funca)();
} これだと0番地へジャンプしちゃいますよね?
0836デフォルトの名無しさん
2009/09/08(火) 14:27:170837デフォルトの名無しさん
2009/09/08(火) 14:41:51こうだろ ((void (*)(void))(*((uint32_t const*)0)))() 常識的に考えて。
0838デフォルトの名無しさん
2009/09/08(火) 14:51:25他のエラーつぶしたらlst見てみます。
0839デフォルトの名無しさん
2009/09/08(火) 20:09:35せめてint const *にしてやれ。
0840デフォルトの名無しさん
2009/09/08(火) 20:21:24void (**funca)(void)=0;
(**funca)();
}
0841デフォルトの名無しさん
2009/09/09(水) 03:34:21話変わって、UWORD*UWORD→ULONGとULONG/UWORDの関数を↓のように書きました
_ul_mul_wd: ; ulong ul_mul_wd(ushort E0,ushort R0) {
mulxu.w e0,er0 ; return ulong(E0*R0)
rts ; cでwd*wdをするとわざわざMSWをクリヤするので。
_ul_div_wd: ; ulong ul_div_wd(ulong ER0,ushort R1) {
divxu.w r1,er0
sub.w e0,e0 ; return ER0 / R1
rts
短いから、関数にして呼ぶより、インライン展開したいのですが、マクロ定義をどのように
したらいいでしょうか? machine.h読んでも、__builtin_何とかばかりで、
機械語出させる定義みたいじゃなかったし。
0842デフォルトの名無しさん
2009/09/09(水) 04:19:44598: ((void (*)(void))(*((const*)0)))();
0A16 6B000000 MOV.W @0:16,R0
0A1A 5900 JMP @ER0
0843デフォルトの名無しさん
2009/09/09(水) 07:31:44#define ul_mul_wd(e0,r0) ((ulong)(e0)*(ushort)(r0))
#define ul_div_wd(er0,r1) ((ulong)(ushort)((ulong)(er0)/(ushort)(r1)))
この程度、アセンブラで書く必要無し。
てか除算はE0を0にしていいのか?戻り値がulongなのだが。
0844841
2009/09/09(水) 14:21:05131: void ul_div_wd_test(_UWORD f, _UWORD x) {// long/ushort 呼び出しtest
0234 _ul_div_wd_test: ; function: ul_div_wd_test
0234 5E000000 JSR @$sp_rgsv3$3:16
0238 0D85 MOV.W E0,R5
133: void sub(_UDWORD);
134: _UDWORD l;
135: nx = ul_mul_wd(f,x);
023A 5250 MULXU.W R5,ER0
023C 0F86 MOV.L ER0,ER6
136: l = ul_div_wd(nx,x);
023E 0D51 MOV.W R5,R1
0240 1771 EXTU.L ER1
0242 5E000000 JSR @$DIVUL$3:16
0246 1770 EXTU.L ER0
0248 01006B860000 MOV.L ER6,@_nx:16
137: sub(l);
024E 5E000000 JSR @_sub:16
138: }
0252 5A000000 JMP @$sprgld23$3:16
>てか・・・ 結果は16bitだと判っているからいいのです。32bitのほうが使い回しが、とか
考えて32bitにしたのですが、深い意味はありません。
0845デフォルトの名無しさん
2009/09/09(水) 15:08:260846841
2009/09/09(水) 15:38:51サイズ優先(レジスタ退避・回復をpush/popで・switch文高速化・シフト演算の高速化・
構造体代入式の高速化・四則演算、比較、代入式の高速化・ループ文での帰納変数削除・
ループ文での帰納変数削除、ループ展開)の全部にチェック付いてます。
たしかH8/300xで書いたときも、関数呼び出しならレジスタがはっきりしているから、という
理由で関数にしました。
0847デフォルトの名無しさん
2009/09/09(水) 16:03:580848841
2009/09/09(水) 16:09:280849デフォルトの名無しさん
2009/09/09(水) 16:42:470850デフォルトの名無しさん
2009/09/09(水) 19:49:230851841
2009/09/10(木) 04:57:15長いほうの精度に切り上げて演算する、とされていますので、間違ってはいないのですが、
32bit÷16bitだと判っている所で、せっかくDIVXU機械語があるのに使えないのがシャク
だなあ、と(w >>843の2行目の定義、私が実際に書いたのは↓です。確認のため:
#define ul_div_wd(er0,r1) ((_UDWORD)(_UWORD)((_UDWORD)(er0)/(_UWORD)(r1)))
0852841
2009/09/10(木) 05:11:47sfr wreg = 0xFFFFFF1F; // この辺の空間はレジスタとして扱える
wreg = メモリの変数;
P9DR.1 = wreg.0;
P9DR.0 = wreg.1;
P6DR.4 = wreg.4;
・・・ とかやってました。 ルネサスのcでTINYだとこれが使えないので、(続く)
0853841
2009/09/10(木) 05:19:43union {
unsigned char BYTE; /* Byte Access */
struct { /* Bit Access */
unsigned char B7:1; /* Bit 7 */
unsigned char B6:1; /* Bit 6 */
unsigned char B5:1; /* Bit 5 */
unsigned char B4:1; /* Bit 4 */
unsigned char B3:1; /* Bit 3 */
unsigned char B2:1; /* Bit 2 */
unsigned char B1:1; /* Bit 1 */
unsigned char B0:1; /* Bit 0 */
} BIT; /* */
} BITS; /* */
} t_wreg;
void portout(void) {
t_wreg wreg;
wreg.BITS.BYTE = メモリの変数;
IO.PDR6.BIT.B0 = wreg.BITS.BIT.B0; /* リレーn番*/
IO.PDR6.BIT.B1 = wreg.BITS.BIT.B1; /* リレーm番*/
・・・ のように書いたら、wregは適当なレジスタに割り振られて、bitロード、bitストア命令
を吐いてくれました。 もっとお奨めの手法ご存じでしたら示唆お願いします。
typedefの書き方が冗長な気もするのですが、typedef union { で書き始めていいものか
自信がなかったので、iodefineにあったtypedef struct をパクって書きました。
0854デフォルトの名無しさん
2009/09/10(木) 06:20:05ビットフィールドの位置は本来保障されないから使わない方がいいいよ
結果的に動けばいいってことみたいだからお好きにどうぞ
0855841
2009/09/10(木) 08:35:47できるようになっています。
>>854の2行目 では、portのある1bitにI/Oするのに、どのような手法がお奨めですか?
iodefine.h のようなファイルがメーカー提供になってるのは、メーカーお奨めってことかと
理解しています。portの名称はiodefine.h に従うとして、変数のほうは、右シフトで右端に
持ってきて1bitのportに出す、とかは考えつきますけど、bitロードが右端からになるだけで
シフト演算が余分だと思います。
0856デフォルトの名無しさん
2009/09/10(木) 11:52:59IO.PDR6.BYTE=メモリの変数;
DIVXUの使い方はソフトウェアマニュアルを確認してみれ
0857841
2009/09/10(木) 16:59:461bit単位で出したいんです。で、853のような手法を試してみました。
DIVXUの使い方はCPUマニュアルのインストラクションの章で見てます。ER/Rだと理解
しましたが違ってますか?cの構文でDIVXUを吐かせるやり方は無いので>>841を考えた
のですが、インライン展開できるマクロが書ければそうしたいです。
0858デフォルトの名無しさん
2009/09/10(木) 17:39:19ルネサスのコンパイラでasmのインライン展開やると扱いが面倒だから、お勧めしない。
0859デフォルトの名無しさん
2009/09/10(木) 17:45:35だめなら、論理演算とか駆使してportに書き込む回数を減らす。
0860デフォルトの名無しさん
2009/09/10(木) 19:55:10>32bit÷16bitって商が必ず16bitに収まるの?
質問してるの?
0861デフォルトの名無しさん
2009/09/10(木) 20:33:430862デフォルトの名無しさん
2009/09/10(木) 20:36:160864841
2009/09/11(金) 02:49:158bitに固めたりはしてます。それでも収まらないbitが出るのでしょうがないかと。
>>862 みたいな場面では使わないように気をつけてます。3200000/周波数(16000が最低)
とか、6桁の数を表示用にeditするときに1000で割って上下に分ける時に使っています。
石がチビ助で、クロックも16Mとか貧弱なので、除算がたくさん入るsprintfなんかを避ける
のが目的です。 >>843さんのやり方でMULXUのほうはたまたま出ましたが、
みなさんの意見を聞くと、どうやら関数呼び出しのほうが一般性があるようなので、実装は
>>841のように関数にしようとおもいます。相談にのってくださってありがとうございます。
machine.h を読むと、__builtinがASMを吐かせる予約語じゃないか、って気がしてきました。
LSIC80で_asm_c("ASMの機械語") って書くみたいに。どなたかその辺のこと知りませんか?
0865デフォルトの名無しさん
2009/09/11(金) 04:52:00#pragma endasm
__asm{}
0866デフォルトの名無しさん
2009/09/11(金) 19:52:12gccに変えろ
それで全て解決する
0867デフォルトの名無しさん
2009/09/12(土) 00:50:350868841
2009/09/12(土) 05:04:13>>865 その機能は使ってみたことありますけど、たしかいろいろ制約が多かったのです。
アセンブリソース吐かせてからそれをアセンブルしなければならないとか、分岐幅を
後から自分で修正してやらなければならないとか。これじゃコンパイラのソース中に記述
するだけという使い勝手にはならないや、となって諦めました。
組み込み関数の章(10.2.3)を読むと、これこれの機能だけを提供するとあって、その中に
MULXUとDIVXUは列挙されてなかったから、やはりインライン展開は諦めるべきなようです。
0869デフォルトの名無しさん
2009/09/13(日) 11:17:23フレームバッファかシリアルSPI形式でどっかで売ってませんかね
なるべく安く
0870デフォルトの名無しさん
2009/09/13(日) 20:08:390871デフォルトの名無しさん
2009/09/13(日) 20:30:050872デフォルトの名無しさん
2009/09/14(月) 04:34:550873869
2009/09/14(月) 19:04:13ここは素人しかいねえなあ
0874デフォルトの名無しさん
2009/09/14(月) 19:05:20自己紹介おつ
0875デフォルトの名無しさん
2009/09/15(火) 08:24:28時間がμSオーダーで長いようです。タイミングはsoftではなくハードで作っています。
softのコマンド体系なんかは同じです。
> ______ ________________
> Write |________|
> ___________
> Chip Enable_____| |______________
> __________
> Data ____/ |________________
>
> ↓↓↓↓
> ______ ________________
> Write |________|
> ___________
> Chip Enable_____| |______________
> ______________
> Data ____/ |____________
みたいにタイミングをずらしたい、ってハード屋さんが言ってるんですけど、
これはハード改造しかないよ、と返事するしかないでしょうか?
コマンドは、 *0xC0001 = 0xXX; で1文字ライトなんで、上の3本のラインを制御するような
ソフトは書いてないです。
0876デフォルトの名無しさん
2009/09/15(火) 08:30:51> ______ ________________
> Write |________|
> ___________
> Chip Enable_____| |______________
> __________
> Data ____/ |________________
>
> ↓↓↓↓
> ______ ________________
> Write |________|
> ___________
> Chip Enable_____| |______________
> ______________
> Data ____/ |____________
こんどはどうかな・・・
0877デフォルトの名無しさん
2009/09/15(火) 08:32:070878デフォルトの名無しさん
2009/09/15(火) 08:47:46ソフトで面倒見てないものを、ソフト修正でどうにか
出来るわけねえだろう。
0879デフォルトの名無しさん
2009/09/15(火) 08:54:030880875
2009/09/15(火) 11:06:33それにしても、互換デバイスを作るときって若干早めにしとくなら分かるのに、何でまた遅く
0881デフォルトの名無しさん
2009/09/15(火) 11:19:55「なぜか」って、聞けよ。
ソフトで幅いじる設定があるのを知ってるのかもしれないだろ。
0882デフォルトの名無しさん
2009/09/15(火) 11:43:30ARM7でOSを使わずにプログラムの動的ロード・アンロード(関数単位くらいでの入れ替え)を実現したいのですが、手法について参考になるURLか本があったら教えていただけないでしょうか。m(_ _)m
0883デフォルトの名無しさん
2009/09/15(火) 11:51:470884デフォルトの名無しさん
2009/09/15(火) 12:37:11あとはオーバレイセクションかな
0885デフォルトの名無しさん
2009/09/15(火) 14:37:00WAITの設定できるマイコン使ってるとか?
0886デフォルトの名無しさん
2009/09/16(水) 01:25:04WAITじゃHold timeはのばせないだろう。
0887875
2009/09/16(水) 03:26:29製造中止にされたデバイスがヒュンダイ、じゃなかったサムスンなんで、互換デバイスは
もっと怪しげなとこなんだろうなあ・・・ 安いの使えっていう縛りがあるのかと。
私にもメールで相談くれるぐらいで、呼ぶ金すら無さそうなんで、かわいそうに。
0888デフォルトの名無しさん
2009/09/16(水) 06:01:47そのCPUにLCDドライブの機能があって、
そのLCDがCPUから直接つながっていて、それを利用してLCDを制御しているなら、
あるいはレジスタでタイミングの変更とかできるかもしれないね
もし、そうでなくてCPUからLCDドライバみたいなものやFPGAとかを介してLCDがつながっているなら
ソフトではどうしようもないでしょうね
システムの構成がそれだけの情報ではわからないので、なんとも言えないと思う
0889875
2009/09/16(水) 16:34:05介してLCDデバイスにつながるようになってます。アドレスのLSBがレジスタ選択になって
いて、0がコマンド、1が表示データ(ASCII)。 私の 「だめでしょう」 という返事がまとも
だったらしいのが確認できました。 ありがとうございます。
0890デフォルトの名無しさん
2009/10/10(土) 16:24:00エラーフラグが立たないというバグが出ました。H8/2378 RAMは32KBあって余ってる。
上記char[48]の変数がほぼ末尾(後には使わない__errnoだけ)。
そこから10K以上離れてスタック。 cソース上はおかしな所無いってお客さんも言ってる。
どこから調べたもんか・・・参った。
0891デフォルトの名無しさん
2009/10/10(土) 16:37:180892デフォルトの名無しさん
2009/10/11(日) 03:15:100893890
2009/10/11(日) 04:21:00>>892 それはそうですね。見つかったらまた書きにきます。
0894デフォルトの名無しさん
2009/10/11(日) 04:26:230895890
2009/10/12(月) 04:45:31クロックは33MHz。メインループは15μSぐらいで回ってて、その中でエラーフラグを
立てたりしてる。お客さんはメインループ中で@ER6でアクセスしてるフラグのアドレスを
保持するER6が壊されるんじゃないか、って疑ってるんだけど、.lstファイルのgrep見ても
メイン以外の関数の入り口出口ではER4-ER6を退避・復元してる。
0896デフォルトの名無しさん
2009/10/12(月) 06:46:580897デフォルトの名無しさん
2009/10/12(月) 11:01:01それを疑うなら、ER6の値をチェックするコードをインラインアセンブラで書いて
確認すりゃいいんでないかい。
なんとなくrace conditionくさいので、コードに細工すると再現しなくなったり
するかもしれんが。
0898デフォルトの名無しさん
2009/10/12(月) 11:57:130899890
2009/10/13(火) 06:13:19>>896-897 そのアイデアはいいですね。お客様にすすめてみます。
メモリはデバック用のコマンドでも見れるようにはしておいたのですが、変更される瞬間
は捕まえられないですものね。
0900デフォルトの名無しさん
2009/10/13(火) 13:39:000901890
2009/10/13(火) 17:41:430902デフォルトの名無しさん
2009/10/13(火) 21:44:33> それをgrepで見つけられない
あのな、そうゆうのはおおむね grep では見つからない
バッファ御バーフローとか
スタック使いすぎとか
見つけること可能か、grep で?
0903デフォルトの名無しさん
2009/10/14(水) 01:11:560904890
2009/10/14(水) 03:12:16char wk[64]に sprintfしてて、ちょっとだけ長くなったその後ろがER6のpush場所でした。
もっと長くなると復帰アドレス飛ばして暴走リセットまで行くところでした。
grepの経過にそれらを見てるログが残ってたのに、スタックのサイズを気にしただけで
スタックの中身の並びまで思考が深入りせず流してました。
そこのchar[64]は、もともと%c,・・・みたいに固定だったのを、後から%sを含む編集を
付け足したデグレでした。皆さまお騒がせしました。
0905デフォルトの名無しさん
2009/10/15(木) 00:46:02ここでこの変数にこれが入って〜 で、そのあとこのif文にくるでしょ〜
ここがなんでか正になるんだけど〜 それは このif文の前に〜
この処理が入ってるのが原因じゃん! わかった!ありがと!
みたいな感じで説明途中で自己解決して帰るパターンとか多いよな。
0906デフォルトの名無しさん
2009/10/15(木) 01:30:25まあ、コードレビューってのは半ばそれが目的なのかもしれないが。
0907デフォルトの名無しさん
2009/10/15(木) 02:28:15あるあるw
0908890
2009/10/15(木) 03:50:01お客さんのほうが頭の回転が速くて先に見つけてくれちゃいましたが。
0909デフォルトの名無しさん
2009/10/15(木) 04:15:38>お客さんのほうが頭の回転が速くて先に見つけてくれちゃいましたが。
あなたと話をすることで、レビューになったんだよ
役に立ってないようで、実はすごく役に立ったんだと思うよ
たぶん、お客さんは感謝してると思う。
0910デフォルトの名無しさん
2009/10/15(木) 04:21:06オレは、「文字列」、「文字配列」、「文字値」、「文字」を違うものとして考えてるよ
0911デフォルトの名無しさん
2009/10/15(木) 22:35:46ただひたすらベシャリを聞かせていたというし
カーニハンもデバッグの一番の方法として、その辺のテディベアを捕まえて
ただひたすらコードの説明を聞かせていたというし
昔からある確立された手法であることは間違いない
0912デフォルトの名無しさん
2009/10/15(木) 23:31:13参考になった。今度サボテンに向かってしゃべってみるわ。
しかし、シュリーマンの相手してた浮浪者はいい迷惑だなww
0913デフォルトの名無しさん
2009/10/16(金) 10:00:20まずこれに向かって説明をしなさい、というテディベアが置いてあったとか。
0914デフォルトの名無しさん
2009/10/16(金) 10:04:430915デフォルトの名無しさん
2009/10/16(金) 17:28:00って、
構造体のアラインメントっていうか、
構造体のパッキングオフにしたり
できまつか?
0916デフォルトの名無しさん
2009/10/16(金) 17:46:07あるから、それじゃないか? ビットフィールド割付けを上/下からの選択もここにあるし。
0917デフォルトの名無しさん
2009/10/16(金) 18:33:140918デフォルトの名無しさん
2009/10/19(月) 10:11:02その内容からすると、どうもHEWってアラインメントを弄らないのが、ふつーみたいですね。
ダミーメンバー入れて構造体のパッキングをいじればおkですか?
0919デフォルトの名無しさん
2009/10/19(月) 10:59:23やってみて確認したら?
mapファイルもでるわけだし。
0920デフォルトの名無しさん
2009/10/19(月) 12:20:00{
char int8;
short int16;
};
struct fuga
{
short int16;
char int8;
};
構造体のint16のアドレスが奇数番地になってたら、h8/shだと実行時におかしくなるかも?
0921デフォルトの名無しさん
2009/10/19(月) 19:57:340922デフォルトの名無しさん
2009/10/19(月) 20:59:590923デフォルトの名無しさん
2009/10/19(月) 21:03:350924デフォルトの名無しさん
2009/10/19(月) 21:59:520925デフォルトの名無しさん
2009/10/19(月) 22:23:520926918
2009/10/20(火) 09:34:34ごめんなさい、社内の別のプロジェクトの人との会話中に出てきた話で、
自分SHの基板持ってないのでテストできません。。。
H8じゃなくてSH2でつ。
0927デフォルトの名無しさん
2009/10/20(火) 12:19:48だから、ビルドして、mapファイルみたらわかるんじゃね?
0928デフォルトの名無しさん
2009/10/22(木) 00:52:37#pragma pack で1か4(デフォルト)を指定できるみたいね。
境界をまたぐアクセスをした場合、バス サイクルを分割しないだろうから
BUSERR か、バイト順が入れ替わってしまうかのどちらかだろうね。
って、ハードウェア マニュアル嫁って話だな・・・
H8/SH で packed record は漢かも。
0929デフォルトの名無しさん
2009/10/23(金) 04:40:25してますから、割込とタスク両方のレベルから触っても割禁不要と理解していいですか?
ex):タスクレベルから、@ER4=flagのアドレスで、BCLR 6,@ER4
割込レベルから、@ER1=flagのアドレスで、BSET 6,@ER1
MOV マスク MOVのアーキテクチャだとBCLRの前後で割り込み禁止/解除が必要でした。
マイクロコードが実はMOV マスク MOVでやってたとかの心配はしなくていいですよね?
0930デフォルトの名無しさん
2009/10/23(金) 09:40:560931929
2009/10/23(金) 16:47:10「割り込みが入る」というのが 「割り込みベクタのアドレスに飛ぶ」 ことなら、命令実行後
のはずですよね。1命令の実行中に割り込みを受け付けるのは EEPMOV のような
くり返し系の命令だけ、と理解しています。
0932デフォルトの名無しさん
2009/10/23(金) 18:00:37パイプライン
0933929
2009/10/24(土) 05:10:00パイプライン機能があったとしたら、割り込みを受け付けるタイミングに制約があるのですか?
1命令の実行中というのはあり得ない、割り込みベクタのアドレスに飛ぶのは命令実行後、
パイプライン機能が先の番地の命令を先取りしていたとしても、分岐が起きた時点で
その実行結果は破棄されると理解していましたが、どこか間違っていますか?
0934デフォルトの名無しさん
2009/10/24(土) 08:00:300935デフォルトの名無しさん
2009/10/24(土) 16:19:210936デフォルトの名無しさん
2009/10/24(土) 16:50:28制御も比較的ラクだしね
0937デフォルトの名無しさん
2009/10/24(土) 17:44:19ありがとうございます
シリアルポートを操作するようなプログラムをアセンブリとC言語にて組もうと考えているんですが、
まずは何から学べばよいでしょうか?
0938デフォルトの名無しさん
2009/10/24(土) 17:45:080939デフォルトの名無しさん
2009/10/24(土) 18:00:15実はlinuxのカーネル内で組んであるシリアルポートへの通信プログラムでして、
これを勉強しようと思っているのですが、カーネルレベルということなので
何から学べばよいのかわからなくて
0940デフォルトの名無しさん
2009/10/24(土) 18:27:420941デフォルトの名無しさん
2009/10/24(土) 18:33:34linux0.01です。
0942デフォルトの名無しさん
2009/10/24(土) 20:45:28回り道をして、力尽きて、死にたいと申すか
まずはlinuxから離れよ
0943デフォルトの名無しさん
2009/10/25(日) 02:15:540944デフォルトの名無しさん
2009/10/25(日) 14:33:50その書き方なら、それはカーネルレベルの話ではない。
0945デフォルトの名無しさん
2009/10/25(日) 15:10:27マニュアルを読むのと、ネットで探すと参考になるプログラムがある
H8もSHもほとんど同じ
送信も受信も基本はレジスタを読み書きする。
回線アナライザがあると楽だけど、パソコンのターミナルソフトで見てもいい
オレは、tty.exeっていう簡単なターミナルソフトをよく使う。
0946デフォルトの名無しさん
2009/10/25(日) 17:36:150947デフォルトの名無しさん
2009/10/25(日) 19:11:50http://akizukidenshi.com/catalog/g/gK-01271/
完成品で5VのACアダプタとPCにRS232C(かUSBシリアル変換)
があるならすぐ使える。シリアル2ポートやethernetなどが付いてるし、
メモリ増設すれば格安でuCLinuxも動く。遅いけど。
メモリとか不要なら1チップのPICやAVRの方が単純でいい。
ただし書き込み環境が必要。
あくまでlinuxからシリアル使いたいだけならlinux板で聞いた方がいい。
0948デフォルトの名無しさん
2009/10/25(日) 22:15:32VSWTC 7
VREPRINT 12
VDISCARD 13
VWERASE 14
VLNEXT 15
VEOL2 16
これらについて載っているサイト等ありましたら教えて頂けないでしょうか?
0949デフォルトの名無しさん
2009/10/25(日) 22:32:350950デフォルトの名無しさん
2009/10/25(日) 22:33:180951デフォルトの名無しさん
2009/10/26(月) 02:48:21H8系はMOVでフラグが設定されますが、8085はADD/SUB、AND/OR/XOR など、
A-regに対する演算を実行した後だけ、ZやCやMなどのフラグが設定される。
MOVやpush/popでは、(POP PSWを除き) フラグは変化しない。
16bit演算(HL対象の)を実行しても、フラグは変化しない。 この理解で合っていますか?
0952デフォルトの名無しさん
2009/10/26(月) 03:16:21さっぱりわからん
0953デフォルトの名無しさん
2009/10/26(月) 08:26:09ttp://www.systemax.jp/doc/Z80_inst.html
0954デフォルトの名無しさん
2009/10/26(月) 09:34:12CP/M関係の海外サイトとか。
0955デフォルトの名無しさん
2009/10/26(月) 10:34:100956デフォルトの名無しさん
2009/10/27(火) 10:09:02セカンドソースは数え切れないほど。
狭いが、組み込み業界では、ほぼ世界標準のMCUだろ?
資料の集め方から修行をやり直せ!
0957デフォルトの名無しさん
2009/10/27(火) 12:00:270958デフォルトの名無しさん
2009/10/27(火) 12:20:32大体合っているよ。手元に8085のインストラクションセットがないなら、8080のインストラクションセットでもほぼ一緒。
ハードウェア周りと8085で追加されたインストラクション二つとクロック数程度しか違わない。
0959951
2009/10/28(水) 14:35:51大昔(1988年頃)には、雑誌に載ったチップの説明の青焼きを頼りにやってたのですが、
さすがにそれらも残ってなくて、うろ覚えになってたので、助かりました。
>>955 英語ばっかり引っかかるのイヤん。先頭の奴ざっと見たら沖のとほぼ同じでした。
0961デフォルトの名無しさん
2009/10/28(水) 16:00:210962デフォルトの名無しさん
2009/10/28(水) 18:06:320963デフォルトの名無しさん
2009/10/28(水) 18:26:190964デフォルトの名無しさん
2009/10/28(水) 18:26:46テレックス網は先日まで生きてたけど。
0965デフォルトの名無しさん
2009/10/28(水) 18:28:36いまでも使ってるよ
ただのキャラクタベースの端末
0966デフォルトの名無しさん
2009/10/30(金) 13:46:56AKI-H8/3069FフラッシュマイコンLANボード
http://akizukidenshi.com/catalog/g/gK-00168/
AKI-H8/3052LAN開発キット
http://akizukidenshi.com/catalog/g/gK-00211/
ネットワーク使ったプログラム動かしたり、
Linux動かしたりしてみたい。
3069はuClinuxを走らせてみた、というようなページが
いくつか見つかったが、3052は見当たらなかった。
入門本では3052と似た?3048がよく使われてるそうなので、
初心者はこっちの方が良い?
0967デフォルトの名無しさん
2009/10/30(金) 17:04:550968デフォルトの名無しさん
2009/10/31(土) 01:28:223069 で桶
0969デフォルトの名無しさん
2009/11/03(火) 07:41:20H8で動かしてみたいなら秋月のよりKane Bebeの方がいい。
標準で入ってるMESでも困ることはないと思うけどね。
0970デフォルトの名無しさん
2009/11/04(水) 08:03:34やっぱメモリがリニアに16M取れるのがでかかったな
0971デフォルトの名無しさん
2009/11/05(木) 18:03:36386以降が主流になるまでPC98勢辺りでは使えなかったgccが
X68000ではまっさきに動いたりUNIX系OSが移植されたり。
データレジスタ32bit、アドレスバス24bitだったから、
速度の問題を除けば今でも扱いやすい。
0972デフォルトの名無しさん
2009/11/05(木) 19:06:3968k色が濃かったのはH16なんじゃなかったっけ。
H32はGmicroで。
0973デフォルトの名無しさん
2009/11/06(金) 03:31:26IBM S/360の10tクラスの奴と、H8Sシリーズがほぼどっこいの能力だもんね。
目方で1千万分の1になってる(w
0974デフォルトの名無しさん
2009/11/07(土) 04:41:06手法を教えてもらった者です。送信ringには適用できたのですが、受信ringでは
受信ありを受信済みカウンタで判定している所が解決できなくてカウンタが残っていました。
今回、受信カウンタを不要にできました。このカウンタが無ければ割り込みとtaskで同じ資源を
触らないので割禁命令も不要になりすっきりしたコードにできました。
受信割り込み処理:ring[ライトポインタ++]=受信バイト;
読み出しtask処理: return ring[リードポインタ++];
「受信あり」の判定: if( ライトポインタ ^ リードポインタ )
サイクル数で2割位の改善になりました\(^o^)/3MHzの8bit石では嬉しいことです。
0975デフォルトの名無しさん
2009/11/09(月) 05:22:57読み出したらRXRDYのステータスbitは消えますが、受信データレジスタの内容は
消えませんよね?=2度読みとっても同じ値が読めますよね?
0976デフォルトの名無しさん
2009/11/09(月) 05:28:510977デフォルトの名無しさん
2009/11/09(月) 06:58:02アクセス禁止を期待してるのか?
0978デフォルトの名無しさん
2009/11/09(月) 07:22:41会社休んでいい?先週もう4日休んでるけど
おわたかな
0979デフォルトの名無しさん
2009/11/09(月) 07:35:22俺を会社に組み込むのは
どうやら無理だったようだな
なんつって
寝る
0980デフォルトの名無しさん
2009/11/09(月) 07:36:19読むことがトリガになるレジスタはあまり触らない方がいいね
まあ他人のことはどうでもいいんだが
0981デフォルトの名無しさん
2009/11/09(月) 11:19:07休むのならきちんと連絡すること。
また、きちんと診察を受けて必要なら診断書を書いてもらうこと。
それができないのなら、あんたは会社どころか社会にも不適合と言うことだ。
0983デフォルトの名無しさん
2009/11/10(火) 07:03:15せつないな
リモートのシステムをとかをやっていると、
こういうのが、けなげでいとおしく感じる。
0984デフォルトの名無しさん
2009/11/10(火) 08:46:48>砂などが付着している可能性が期待されている。
ワロタ
いつから付いたか判らんゴミも付着してるだろうし、
仮に付いたとして、どれがその砂か判るのかね
こういう胡散臭いのは勘弁
0985デフォルトの名無しさん
2009/11/10(火) 09:05:37こんなとこで馬鹿自慢するなよw
0986デフォルトの名無しさん
2009/11/10(火) 12:12:330987デフォルトの名無しさん
2009/11/10(火) 12:22:090988デフォルトの名無しさん
2009/11/10(火) 12:24:210989デフォルトの名無しさん
2009/11/10(火) 12:25:03いらないかと
0990デフォルトの名無しさん
2009/11/10(火) 12:36:350991デフォルトの名無しさん
2009/11/10(火) 12:37:290992デフォルトの名無しさん
2009/11/10(火) 12:38:490993デフォルトの名無しさん
2009/11/10(火) 12:39:020994デフォルトの名無しさん
2009/11/10(火) 12:39:480995デフォルトの名無しさん
2009/11/10(火) 12:40:290996デフォルトの名無しさん
2009/11/10(火) 12:41:360997デフォルトの名無しさん
2009/11/10(火) 12:42:260998デフォルトの名無しさん
2009/11/10(火) 12:43:430999デフォルトの名無しさん
2009/11/10(火) 12:44:121000デフォルトの名無しさん
2009/11/10(火) 12:44:2810011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。