●●●くみこの組み込み相談室1.0●●●

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
ハード寄りの話も大好物。
道具話も楽しくやれるならやってくらさい。
この世界は処理系依存はあたりまえだから、処理系明記するのを忘れないでよね!
過去ログ
●●●くみこの組み込み相談室●●●
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
2デフォルトの名無しさん:2007/10/03(水) 16:52:07
組み込みの皆さん、
Javaが貴方たちを救います。
Javaを信じてください。
3デフォルトの名無しさん:2007/10/03(水) 17:12:02
例え俺が信じたくても、周りが許さない。
もっとも、俺は信じないがな。
4デフォルトの名無しさん:2007/10/03(水) 21:31:16
前スレみてて思った。

前スレが落ちた後で、H8と M16が同じ会社になってしまったんだな
5デフォルトの名無しさん:2007/10/03(水) 22:20:52
スレタイに惹かれた。
6デフォルトの名無しさん:2007/10/03(水) 22:53:03
マスコットキャラみたいなのに魅力を感じられない。
もっと萌え系でおk
7デフォルトの名無しさん:2007/10/04(木) 00:49:30
軽さん乙
8デフォルトの名無しさん:2007/10/04(木) 04:34:50
を!くみこスレ復活ですか。俺もこっちのがしゃべりやすそう。
9デフォルトの名無しさん:2007/10/04(木) 06:21:34
キタ━━━(゚∀゚)━━━!!!!
10デフォルトの名無しさん:2007/10/04(木) 09:38:14
みんな大好きシリアルポート
11デフォルトの名無しさん:2007/10/04(木) 09:55:18
キライだよ。
12デフォルトの名無しさん:2007/10/04(木) 11:20:21
13デフォルトの名無しさん:2007/10/04(木) 11:32:01
14デフォルトの名無しさん:2007/10/04(木) 14:23:36
YouTube を自作のなんかに組み込みたいの? それにはFlash をサポートしないといけないよ。

それとも、単に自分のページからリンクしたいの?
15デフォルトの名無しさん:2007/10/04(木) 14:41:10
くみこみ機器って必ずウェブブラウザ持ってないといけないの?











ま、必ずWinを入れるよりはマシか。
16デフォルトの名無しさん:2007/10/04(木) 14:58:25
おまんこの組込予定はありますか?
17デフォルトの名無しさん:2007/10/04(木) 15:02:28
>>14
単に自分のページからリンクしたいよん
18デフォルトの名無しさん:2007/10/04(木) 15:07:15
その他の動画 ちょっと大きく見たい五つのファイブ動画は?
http://pc11.2ch.net/test/read.cgi/tech/1191223627/l50
19デフォルトの名無しさん:2007/10/04(木) 15:19:42
>>14 つまり、このフォームに自動送信させれば・・・

<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>
20デフォルトの名無しさん:2007/10/04(木) 15:21:39
21デフォルトの名無しさん:2007/10/04(木) 15:56:13
22デフォルトの名無しさん:2007/10/04(木) 16:57:02
SonyBMGノンストップ400曲
http://www.premiumtv.12gbfree.com/?RTV+4156/SonyBMG/MusicPresents
23デフォルトの名無しさん:2007/10/04(木) 18:10:35
SonyBMGノンストップ1000曲
http://www.premiumtv.12gbfree.com/?RTV+4177/SonyBMG/MusicPresents1000
24デフォルトの名無しさん:2007/10/04(木) 18:25:34
>>17  ごめん。悪いけど、スレ違いみたい。 
YouTubeの画像を自分のページからリンクしたって事なら

でも、続けたいなら、名前欄に数字とか捨てハンを入れてくれないかな?
よく判らないけど、 ttp://rimo.tv/tools/player.swf をダウンロードして逆コンパイルすればいいんじゃないの?
25デフォルトの名無しさん:2007/10/04(木) 18:33:27
続けるんじゃねーっての。
組み込み機器の開発のスレだっちゅーに。
26デフォルトの名無しさん:2007/10/04(木) 19:11:40
組み込みの話だからいーじゃん?
27デフォルトの名無しさん:2007/10/04(木) 21:01:57
本気で言ってるのか?
制御系のタイトルでは、現代制御理論がどうとかと騒ぎ
このタイトルでは、プログラムを組み込む話で騒ぐつもりか?
28デフォルトの名無しさん:2007/10/04(木) 21:44:26
VIP育ちのゆとらーの侵攻が専門板にとどめをさすのか?
29デフォルトの名無しさん:2007/10/04(木) 21:59:35
本気?ばーかじゃねーの?何に本気だっつーの?
30デフォルトの名無しさん:2007/10/04(木) 22:06:33
31デフォルトの名無しさん:2007/10/04(木) 22:24:42
windowsの関数電卓で
eの値を表示させるには
(直接手で2.71828...と入れるのはなしで)
どんな手順が簡単でしょうか?
32デフォルトの名無しさん:2007/10/04(木) 22:36:55
>>31
googleの電卓機能からコピペする
33デフォルトの名無しさん:2007/10/04(木) 22:38:28
>>15
むしろ、Webサーバが…………
34デフォルトの名無しさん:2007/10/04(木) 23:57:25
携帯とか電子レンジみたいな組込み機器の場合だと
Webクライアントを入れておく必要が結構あるけどね。

たいていの場合Webサーバの方をほしがられるよな。
35デフォルトの名無しさん:2007/10/05(金) 00:19:18
このスレTcl/Tkのスレとまぎらわしい・・・
36デフォルトの名無しさん:2007/10/05(金) 06:00:44
>>32
それも直接手で2.71828...と入れるのと同じなのでなしです
37デフォルトの名無しさん:2007/10/05(金) 07:23:43
[1] [INV] [ln] の3タッチはどう?
38デフォルトの名無しさん: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 つまり、機器を制御するために必要なマイクロプロセッサなどの分野です

39デフォルトの名無しさん:2007/10/05(金) 09:48:05
>>38
オープンと汎用って何?
40デフォルトの名無しさん:2007/10/05(金) 11:17:32
オープン>PC
汎用>メインフレーム
41デフォルトの名無しさん:2007/10/06(土) 04:39:29
LEDチカチカは制御系なら俺に聞いてもいいぜ(10)スレで
42デフォルトの名無しさん:2007/10/06(土) 10:25:22
>>37
出来ました
ありがとうございました
43デフォルトの名無しさん:2007/10/06(土) 13:22:15
このスレなつかしーw
44デフォルトの名無しさん:2007/10/06(土) 13:35:04
>>1の、北斗の拳のケンシロウみたいにこっち指差してる奴が「くみこ」なのか?
45デフォルトの名無しさん:2007/10/07(日) 23:49:16
>>44
初代スレの>>1が くみこ だったけど
あっという間に消えて、2代目スレからは制御系スレに引越しちまった

実際、住人も被ってたしな
46デフォルトの名無しさん:2007/10/12(金) 21:14:55
なつかし
47デフォルトの名無しさん:2007/10/12(金) 23:37:39
くいこみではないのねすまそ
48デフォルトの名無しさん:2007/10/15(月) 10:05:46
この板では自動改札の話題はないんですね
それとも生々しすぎて語れないとか
49デフォルトの名無しさん:2007/10/15(月) 10:37:14
そんなレベルの話題は制御系スレでやれよ
低レベルな奴だな
50デフォルトの名無しさん:2007/10/15(月) 10:46:24
まあ低レベルな所で頑張る人の為のスレだから。

ただプログラム板にあるんでプログラミングの話題が主になるでしょう。
個人で買えるというと PIC や H8/M16 あたりがメインかもね。
51デフォルトの名無しさん:2007/10/15(月) 10:47:22
>>48
スレ違い。ニュースの内容見てないの?
52デフォルトの名無しさん:2007/10/15(月) 10:50:08
LEDチカチカ野郎は来るなって
53デフォルトの名無しさん:2007/10/15(月) 10:59:19
まあ LEDチカチカは専用スレが 別の板にあるから

電気電子板の関連スレのご案内

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/
54デフォルトの名無しさん:2007/10/15(月) 14:02:48
はじめて書き込みをさせていただきます。
内容がこちらで間違っていればすみません。

VxWorksでの質問なのですが
例えばpingを応答待ち5秒、リトライ回数5回を行いたいのですが、
タスク内でpingを行うと
すぐに応答が返ってきたとしても、多少なりともタスクが止まると思っているのですが
合っていますでしょうか?

普通は別タスクを興すものなのでしょうか?
なにか良い方法ございましたらご教授お願いいたします。
55デフォルトの名無しさん:2007/10/15(月) 14:25:03
LEDチカチカ野郎は来るなって
56デフォルトの名無しさん:2007/10/15(月) 15:11:55
>>54
普通は別タスクを起こします
57デフォルトの名無しさん:2007/10/15(月) 23:01:48
Lチカ
58デフォルトの名無しさん:2007/10/20(土) 03:13:51
あるクロスリンカの入力制御文のコメント行: ;   XXX-9999 link 配置制御文 

リンクリストに表示されるそのコピーが、    ;   XXX-9999 link 配置制御*! 
に、なってた。エディタで見て「*!」だがコピペしたら「・」に変わった。

「文」のコードは95B6なのがなぜか9521に化けて、siftJISで9521は無いから変な文字に
なったらしいが、なんでこんなふつうの文字が化けるのか不思議。
59デフォルトの名無しさん:2007/10/20(土) 04:08:54
>>58
制御系スレと間違えてないか?
60デフォルトの名無しさん:2007/10/20(土) 12:19:09
>>58
文字コードがあっていないか対応していない上に
びっくりに意味があったとかそんなとこだろう
61デフォルトの名無しさん:2007/10/20(土) 23:01:50
>>60
いや、内容的にコレの続きかと
http://pc11.2ch.net/test/read.cgi/tech/1191408444/15
62デフォルトの名無しさん:2007/10/20(土) 23:29:53
>>61
そうなのか。つか、もう全部コメント英語で書けよ
日本語米がどーとかなんて、今やってることの本質じゃないだろに
6358:2007/10/21(日) 05:46:40
>>61 いや、それの続きではないです。NECの78xxxx系の8bitのクロスいじってて出ました。
本質のとこはふつうにできてます。ちょっとお茶目なリンカだなと思って(w
64デフォルトの名無しさん:2007/10/22(月) 01:14:51
【派遣ネガティブ根性チェック】

3つ以上、チェックがつけばアナタの性格はひん曲がっており、
ネガティブ負け組派遣人生を歩んでいます。

□派遣先正社員の作った糞開発ツールはたとえ腐っててもマンセーして使う
□派遣先の人事権のある社員の意見はたとえ間違っていてもマンセーする
□仕様とは正社員から口伝されるものだ
□耳で聞いた仕様を正確に覚えていないのは自分の責任だ
□昼食は必ず派遣先の社員と行くべきだ
□自分の仕事で問題が発生しても解決するのは派遣の仕事ではない
□自社で仕事なんてできるわけがない
□派遣労働の問題点の話題が出ると感情剥き出しにして反論する
□派遣労働の問題を指摘する人は嫌いだ
□派遣先には仕事だけでなくプライベートについてもグイグイ引っ張って欲しい
□奢ってくれる派遣先正社員を尊敬する
□自分の月額金額を知らないのは当然だ、単金を聞いてはいけない
□派遣先正社員より自分の生涯収入が低いのは当然だ
□チビは派遣先にかわいがってもらいやすいから派遣には有利だ
65デフォルトの名無しさん:2007/10/22(月) 12:31:44
コピペ君って馬鹿だな、まで読んだ。
66デフォルトの名無しさん:2007/10/24(水) 23:42:22
そんなばながー
67デフォルトの名無しさん:2007/10/26(金) 06:44:30
WDTを一度起動したら、ソフトでは止められない(=カウント停止ができない)という石を
使っちゃったんです。で、WDTはhaltを解除しないとも書いてある。アプリはhaltすることを
要求してる。これ、基本的に石の選定を間違った、ってことですよね?
68デフォルトの名無しさん:2007/10/26(金) 06:54:13
自分でリセットかければWDTも止まるんじゃないの?
69デフォルトの名無しさん:2007/10/26(金) 08:22:16
リセットじゃhaltしないですぐリセットから走っちゃう。割り込みや通信などが無いときは
haltしててね、っていう仕様なんです。(noiseフルな環境で動くので)
70デフォルトの名無しさん:2007/10/26(金) 08:41:58
じゃWDTでhaltが解除されないで正解じゃないの?

haltしてる間にWDTでリセットされたら困るでしょ?
71デフォルトの名無しさん:2007/10/26(金) 11:47:38
WDTが生かせないと暴走したときの回復手段が無いんです。外部から電源オンしかない。
WDTをソフトで止められる石ならhaltするとき止めてからhaltするけど。
72デフォルトの名無しさん:2007/10/26(金) 11:54:25
LEDチカチカ野郎は来るなって
73デフォルトの名無しさん:2007/10/26(金) 15:47:40
>>71
仕様が変なだけでしょ。
74デフォルトの名無しさん:2007/10/26(金) 18:39:16
そんな石はないと思うなw
仕様書の読み間違いじゃないの?
75デフォルトの名無しさん:2007/10/26(金) 18:57:53
μPD784038 っていうシリーズ。 12.4.2 注意事項
>(3)RUNビットは,いったんセット(1)するとソフトウエアではリセット(0)できません。
だそうです。
76デフォルトの名無しさん:2007/10/26(金) 19:04:21
WDTとhaltを両立させようとしてるのが間違ってるような?
77デフォルトの名無しさん:2007/10/26(金) 19:11:08
そんな石あるんだ。
まあ確かに暴走コードがWDT止めたら困るわけで、そう考えれば合理性はあるけど。

なら対策としては、WDT使うのやめて、空いてるタイマがあれば
そいつのカウントアップでリセットするようにするぐらいかね
78デフォルトの名無しさん:2007/10/26(金) 19:25:49
haltさせる前にWDT叩いて、WDTが起動する前にタイマー割り込みで
halt解除とかすれば、いいような気がするけど、
WDTの意味が無い?
79デフォルトの名無しさん:2007/10/27(土) 00:05:52
>>78
だな。
wdt使うならタイマで定期的に復帰させてクリアさせるしかないだろ。

つーか、そうしないと「いざ」というとき動くかどうか分からんだろ
80デフォルトの名無しさん:2007/10/27(土) 00:22:50
81デフォルトの名無しさん:2007/10/27(土) 00:38:40
コピペ君って馬鹿だな、まで読んだ。

なんか変なこと言ってる人がいるけど、HALT後タイマー(というか割り込み)
なんて使えるの?
それってHALTしてないってことで、語義矛盾じゃんw
82デフォルトの名無しさん:2007/10/27(土) 01:38:25
HALTして割り込みで再開ってのは省電力化でよくある手法
8375:2007/10/27(土) 05:10:58
なんかちょっと賑わってて嬉しいな。>>78,79 この石ならそういう手法しかないですよね。
H8なんかだとWDT止めてhaltするようにしましたけど。

>>81,82 今回は電力ではなくて、noiseが理由でした。石が5Vで動いてるのに、10cm位近く、
同じ箱の中で4KVの接/断がバタバタ・・・ 石もバスアクセスの度にノイズ出す。 もうね・・・
84デフォルトの名無しさん:2007/10/27(土) 06:21:50
>>82

>>81 は釣りだから相手しちゃダメ
85デフォルトの名無しさん:2007/10/27(土) 07:01:05
>>82
HALTのときってDRAMのリフレッシュは行われますか?
86デフォルトの名無しさん:2007/10/27(土) 12:05:53
>>83
だからそれならそもそもWDT使うのやめて、
通常のタイマ使ってWDTと同じことするようにすればすべて解決じゃん。
87デフォルトの名無しさん:2007/10/27(土) 13:58:25
>>85
データシート嫁
88デフォルトの名無しさん:2007/10/27(土) 17:06:32
>>82
>>84
つーか、話について来れなくなった制御理論クンじゃねーの?
89デフォルトの名無しさん:2007/10/29(月) 07:12:31
HOLTする前に一度リセットさせてWDTを解除すればいいんじゃないの?
90デフォルトの名無しさん:2007/10/29(月) 10:02:53
>>88
だとしたら実務経験が実に浅そうだな。彼は。
91デフォルトの名無しさん:2007/10/30(火) 00:24:56
大丈夫だよ
ここでの悔しさをバネにして頑張ってくれるさ
92デフォルトの名無しさん:2007/11/16(金) 15:17:37
FATか…めんどくせ…
93デフォルトの名無しさん:2007/11/19(月) 13:27:35
EEPROMにFFを書いた場合寿命には影響しないのでしょうか?
94デフォルトの名無しさん:2007/11/19(月) 14:15:33
メーカーに聞けばいいじゃん
95デフォルトの名無しさん:2007/11/19(月) 15:01:43
フラッシュ型だとページ消去でFFになっていて、書き込みは0を書き込めるだけなんだけどな
96デフォルトの名無しさん:2007/11/19(月) 17:06:08
玉コロ式マウスを掃除していて気になったことです。縦と横方向のローラーは判るのですが、
もう一つ、斜めの位置にローラーが付いています。これって何してるんでしょう?
97デフォルトの名無しさん:2007/11/19(月) 17:08:40
単に支えてるんじゃないの?
98デフォルトの名無しさん:2007/11/19(月) 23:45:16
支えているっつーか、押し付けてるのね。
9996:2007/11/20(火) 06:11:12
あ〜、玉の重さだけじゃ十分ではないからですね。納得。 じゃ、そのローラーは掃除不要ですね
100デフォルトの名無しさん:2007/11/20(火) 06:23:31
EEPROMも、原理的には1→0にするのが書き込みだと理解してます。
ページ毎に確定待ちの時間があるのが、ページ消去してから書き込む時間だと思います。

アプリで、サイクリックに使って記憶を残すものを書いていて、最新以外はFFを書いて消して
いるのですが、保証回数というのはページ消去の回数ではないかとおもいます。そうすると
FFを書いても書き込み回数には含まれるのか、全部FFのページを消去したときは実質NOPに
なるのではないか?と言う気もするし。 flashROMでFFだと消去が早いかどうか知りませんか?
101デフォルトの名無しさん:2007/11/20(火) 07:24:47
>>99
そのローラーの汚れが再付着というのは考えないのね
102デフォルトの名無しさん:2007/11/20(火) 09:31:52
>>100
ページ消去の回数に限界があるので
FFにFFを書くときにいちいち消去するコードは氏ね
103デフォルトの名無しさん:2007/11/20(火) 09:49:06
ソニータイマーの実装を研究してるんだよ。
104デフォルトの名無しさん:2007/11/20(火) 14:33:51
>>100
ええと、フラッシュタイプって事はページ単位消去だよね?
シリアルEE-PROMならバイト単位だけどさ、

ページ単位消去なら 消去したらFFになるんで、全部FFの場合は書き込まなくていい
書き込みは0しか書き込めないから、 1を書いて2を書いたら結果は0にな
だから書き込み回数=消去回数になる

シリアルEEPROMはバイト単位やってるんで、FFを書いても消してるのだろうから回数になるんだろうと思うよ
賢い回路が付いてて 現在FFでさらにFF書こうとしたら何もしないのかもしれないけど
そうかどうかはBUSY端子で確認してみたら?
105デフォルトの名無しさん:2007/11/20(火) 15:42:06
ご丁寧にありがとうございます。BUSY端子の立っている時間の違いで判別できそうですね。
たしかにシリアルEEPROMではあるバイトに1を書いて2を書いてもいいから、バイト毎に
消してるみたいですね。あれ?EEPROMでもページ(32か64バイト)があって、これをまたいで
書いてはだめよとか書かれてますけど、これはどういうことなのでしょう?
106デフォルトの名無しさん:2007/11/20(火) 17:38:56
シリアルEEPROMにもバングがあって、
そのバンク内なら一度に書き換えられる。つまり書き込み時間の短縮になる。
その弊害として、バンクを跨ぐ連続書き込みが出来ない。

という事は、
たぶん1バイト書き込みでも、実際はバンク単位に書き換えているのだろう。
内部的にはバンク内の内容をRAMに読み出してから消して、再度書き込んでるのだと思われる。
107デフォルトの名無しさん:2007/11/21(水) 01:14:41
>内部的にはバンク内の内容をRAMに読み出してから消して、再度書き込んでるのだと思われる。
これができるなら、(0xffで)消す必要がないと判断したら消さないんじゃないだろか。
108デフォルトの名無しさん:2007/11/21(水) 07:12:01
やってるのもあるだろうね。 BUSYで確認してみたらいいじゃない
109105:2007/11/21(水) 16:02:06
ご意見ありがとうございます。BUSYの時間を計って違いを見ると面白そうですね。
でも製品では5mSと、決められた時間待つようにしてるので、今回は遅かったようです。
次回のデバックのときやってみようとおもいます。
110デフォルトの名無しさん:2007/11/21(水) 23:24:22
>>109
え、時間見たいだけならパルス幅みてみりゃいいじゃん
111105:2007/11/22(木) 06:35:14
その手があったか。ハード屋さんに見てもらえばいいんだ。
112デフォルトの名無しさん:2007/11/22(木) 22:52:50
< `∀´> パルス幅くらい自分で見るニダ
113デフォルトの名無しさん: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
114デフォルトの名無しさん:2007/11/26(月) 03:04:22
いちおう突っ込んどく
>>113
それちがうw
115105:2007/11/26(月) 06:31:49
EEPのデータシート読み直したら、RDYは端子に出なくて、ステータスレジスタを読んで知る
仕様でした。今はライトの後の確定待ちに標準の数ミリwaitしてるだけなんですが、ちょっと
安全ではないかな、という気がしてます。
RDYbitを見て、書き込み中が消えるまで待つべきだったかな。
116デフォルトの名無しさん:2007/11/26(月) 07:12:56
昨日久しぶりに本屋行ったらレイアウト変更されてて
くみこ関連書籍専用コーナーが拡張されてた
そんなに需要増えてるのはなぜ?
117デフォルトの名無しさん:2007/11/26(月) 08:14:24
PICのおかげで趣味の人も増えてるんじゃないかな
118デフォルトの名無しさん:2007/11/26(月) 09:22:47
やっぱ画像重要(←それ拡張子の.PIC)
119115:2007/11/28(水) 05:24:04
RDYbitを見る手法にしても動作は同じでした。
循環書込のアドレス計算を間違えて、別の用途の場所を侵略してました。
120デフォルトの名無しさん:2007/11/29(木) 16:00:13
>>118
68ユーザーハッケソ
121デフォルトの名無しさん:2007/11/30(金) 13:29:50
すいませんが組み込みでLinux使います。
クロスコンパイルのバージョンを指定されたんだけど、
どこで落とせばいいのやら…
初心者ですいません。

GCC Version 4.0.4
Crosscompiler: mipsel-linux-uclibc-gcc
Linker:mipsel-linux-uclibc-g++

これだけもらったんですが、これだけで分かるんですかー??
122デフォルトの名無しさん:2007/11/30(金) 13:55:12
123デフォルトの名無しさん:2007/11/30(金) 16:51:52
わあ。ありがとう!くれくれ君ですいませんでした!
がんばります!
124デフォルトの名無しさん:2007/12/03(月) 12:16:03
H8/2378で、queがずれる現象に悩んでいます。複数の割込レベルからcall quewrit(&qcb,evt)
quewrit(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のときたまにずれてるんです。
125つづき:2007/12/03(月) 12:18:14
2378は、Ibitの他にEXRもあるのですが、Ibitを立てれば全部の割込禁止になりますよね?
両方maskするべきとすると、どちらが先、とかありますか?
126sage:2007/12/03(月) 13:27:03
>>124
そりゃずれて至極当然というか当たり前というか。。
127デフォルトの名無しさん:2007/12/03(月) 14:02:04
>>124
コピペに失敗してるみたいだね?
128125:2007/12/03(月) 14:33:23
割込モード2を使っているときは、CCRのIビットではなくEXRのI2〜I0のビットによって
割込が制御される、と書かれていました。ちょっと下位の石でIビットで制御してた奴を
コピペしたので、そこを誤解していたからのようです。
set_imask_ccr()の替わりに、or_exr(7)で禁止、and_exr(0)で許可とするのが正解みたい。
129デフォルトの名無しさん:2007/12/03(月) 15:24:15
>>128
それでいいのかよと言いたい。
130デフォルトの名無しさん:2007/12/03(月) 15:37:53
くみこねえさまならもっとしんみになっておしえてくれるってしんじてたのに〜(TT
131デフォルトの名無しさん:2007/12/03(月) 15:52:28
コピペ失敗君がかわいそうで
132125:2007/12/03(月) 17:57:13
>>129 ここにコピペするのはrpとかwpとかスペルはいいかげんに書いてます。
手法上まずい点があればご指摘ください。
133デフォルトの名無しさん:2007/12/04(火) 16:55:55
割り込みレベルの考慮をした方がいいのでは?
134125:2007/12/05(水) 05:31:16
使う割り込み同士の優先度を考慮して3,4,5を割り振ってます。
全部禁止にしたいときEXRを7にし、全部許可するとき0にしてます。
135デフォルトの名無しさん:2007/12/05(水) 13:22:46
割り込みの中でも0に戻してもいいの?大丈夫だと思ってるならいいんだけど。
136125:2007/12/05(水) 14:21:06
そうか(*o*) EXRのmaskレベルは受け付けた割り込みのレベルに書き換えられる、という所を
読み落としてました。割り込みの最後だけで使うならいいが、一般性があるように書くためには
7にする前にそのときのEXRのレベルを保存して、あとでその値に復元しないといけませんね。

ありがとうございます。これでもうちょい安全になります。
137デフォルトの名無しさん:2008/01/07(月) 16:29:16
PowerPC405でソフトウェアリセットをかけたいのですが、どなたかやり方ご存じないでしょうか?
コンパイル環境は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などで設定をしなくてはならないのでしょうか?

お手数ですが、皆様のご助力をあおげれば幸いです。
138デフォルトの名無しさん:2008/01/07(月) 16:35:30
>>137
データシート見たらいいんじゃないの?
139デフォルトの名無しさん:2008/01/07(月) 16:38:01
>>137
悪い、コーディングの仕方が分からないということか?
140デフォルトの名無しさん:2008/01/07(月) 16:51:58
>>137
DBCRへのアクセスの仕方はデータシート見るしかないじゃないかな?
141デフォルトの名無しさん:2008/01/07(月) 23:16:10
>>137
俺が弄ってる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と違ってチップに載せたベンダで
怪しげな拡張されてるってこともないし、ドキュメントはしっかり公開されてるだろ。
つーか、読もうともしないで弄るな
142デフォルトの名無しさん:2008/01/08(火) 07:05:55
sprintfの%-d ってのは、K&Rの説明だと左に揃える、となっているのですが、正の値のときに
+は付きませんね? 10を+10にするには自分で'+'をかぶせなきゃだめ?
143デフォルトの名無しさん:2008/01/08(火) 08:23:47
%+d
144137:2008/01/08(火) 10:10:24
レスありがとうございます
そうでした。「尋ねる前に読め」と教えられたはずなのに・・・未熟でした。
精進しますっ ありがとうございました>V<
145142:2008/01/08(火) 10:58:28
>>143 ありがとうございます。+なんてありなんですね。K&Rには載ってないの、グスン。
146デフォルトの名無しさん:2008/01/08(火) 11:29:47
組み込み関係あったのか
147142:2008/01/09(水) 14:57:28
3MHzの8085に組み込むんです。私はLSIC-85拾って来れたからいいけど、前の人は全ASM(w
148デフォルトの名無しさん:2008/01/09(水) 15:06:47
拾ってこれた...て
ちゃんと買わないで製品に組み込むコードの生成に使っていいんだっけ?
149デフォルトの名無しさん:2008/01/09(水) 17:47:42
あ、そんな怪しげなとこから拾ってきた訳じゃないです。
お客様のLIBにあったから、 「これ使っていいでしょ♪」 と言って貰ってきました。
150デフォルトの名無しさん:2008/01/10(木) 10:18:54
>>148 が言ってるのはライセンス的に、自分のところで買ったものでないと
まずいんじゃないかということだと思うのだが。
151デフォルトの名無しさん:2008/01/10(木) 20:02:59
使用許諾を取ってるんだから問題は無いだろう
152デフォルトの名無しさん:2008/01/10(木) 20:20:10
使用許諾ってこの場合エルエスアイジャパンから取らないといけないんじゃ?
153149:2008/01/11(金) 09:25:34
お客様はLSIジャパンから買ってるし、お客様の著作を書くのにそれを使うのだから、
私が使用許諾を取ることはないと思います。

私の著作を(例えばフリーソフトとか)書くのでしたら、私がLSIジャパンからパッケージを
買うべきですよね?
154デフォルトの名無しさん:2008/01/11(金) 10:51:21
>>153 シナの方でつか?
155デフォルトの名無しさん:2008/01/11(金) 11:07:43
組み込みの場合、CPUが特殊だったりして
クロスコンパイラはデバッガやらプローブと一緒に提供されることが
多いからそういう感覚になるのかもね。

まあ汎用のでも経費として出してもらうこともあるが。
156デフォルトの名無しさん:2008/01/11(金) 12:34:39
LSI-Cの使用許諾を読んだことは無いから正確なところはわからんが、
ソフトウェアの使用許諾って、特定の個人1人または特定のPC1台に縛り付けられるのが普通では?
例えば、1つの製品を開発するためでも、5人の開発者(≒5台のPC)がいれば5ライセンス必要かと・・・
157デフォルトの名無しさん:2008/01/11(金) 12:43:37
わからないなら言うな
158デフォルトの名無しさん:2008/01/11(金) 13:08:44
へいへい。
ちょろっとLSIJのサイト見てきてみましたよ。

http://www.lsi-j.co.jp/product/c80-36/index.html
>ご使用になるコンピュータの台数に合わせて必要なライセンス数をご購入いただけます

使用するコンピュータの台数によって必要なライセンス数が異なるってことだ。
これでおk?
159デフォルトの名無しさん:2008/01/11(金) 13:11:13
今時8085使うやつがいるってことが驚き
160デフォルトの名無しさん:2008/01/11(金) 13:45:37
ゲームソフトでも売り切ったソフトの場合中古として流通される事を妨げる事は出来ないと最高裁で認定された。

客もそのソフトでデバッグするというような事情があると別だろうけど
この場合、2人や2台で同時に使ってる訳じゃないのであれば、
法律的な争いになるとソフトメーカはたぶん不利だろう。
161デフォルトの名無しさん:2008/01/11(金) 13:55:48
実はそのお客様はちゃんとライセンス数を管理していて、
余ってるライセンスがあることを確認した上で使っていいという返事をした可能性もある
162デフォルトの名無しさん:2008/01/11(金) 14:02:09
買えば終わる話じゃないか
163デフォルトの名無しさん:2008/01/11(金) 14:04:13
ライセンス数に関係なくソフトの貸借なんて認められてないから
もらって帰るなんて出来ないよ。
>>149さんが客先に出向いてその場で作業を行うのはOK。
164デフォルトの名無しさん:2008/01/11(金) 14:09:58
Hが昔、貸借?出きるようなライセンスをやってたような?
165デフォルトの名無しさん:2008/01/11(金) 15:52:00
今後使わないことを条件に、他人に譲渡してもOKだったり、ダメだったり。
自分の記憶では、昔、EPSONのBASICやDOSはダメ、MicrosoftのQuick CはOKだった。
166デフォルトの名無しさん:2008/01/11(金) 17:07:32
ゲームソフトのようにコピープロテクトしてるような商品なら
いくらライセンスで縛っても中古や譲渡は仕方ないと思うけど
複製し放題のソフトだと、譲渡不可のライセンスは有効じゃないかな

ただ最近はID/PASS入れさせたりするのが多いから、そういうのはライセンスで縛れないかもな
167デフォルトの名無しさん:2008/01/13(日) 12:37:41
開発に使ってるOSってなに?2000?
ノートの調子が悪いので、新調を考えてるんだけど、MacのVMでWindows起動して
やってる人いる?
168デフォルトの名無しさん:2008/01/13(日) 22:40:31
>>167

開発環境が何に対応してるかによる。
大概は2000かXPだと思うが、Linuxってこともある。

>ノートの調子が悪いので、新調を考えてるんだけど、MacのVMでWindows起動して
>やってる人いる?

IDEって重たいの多いから、VMじゃあんまりやらないと思うけど。
169デフォルトの名無しさん:2008/01/21(月) 01:56:01
組み込み系の最大手ってどこなんですか?
170デフォルトの名無しさん:2008/01/21(月) 02:58:24
無理して話題を振らなくてもいいよ
171デフォルトの名無しさん:2008/01/21(月) 03:01:17
>>169
ほとんどが下請け奴隷
172デフォルトの名無しさん:2008/01/21(月) 12:10:40
奴隷契約書にサインするバカ経営者がいるから注意した方がいいよ。
173デフォルトの名無しさん:2008/01/21(月) 22:52:46
>>169
大手メーカーの開発子会社
174デフォルトの名無しさん:2008/01/22(火) 08:43:26
大手メーカー側もあるんじゃね?

でも、失敗すると、サ●ヨー携帯みたいになるんかなぁ。
175デフォルトの名無しさん:2008/01/22(火) 10:26:01
モトローラとかどうよ
176デフォルトの名無しさん:2008/01/22(火) 19:22:08
日立とか三菱とか東芝とかNECとかならどの企業になるんでしょうかね?

>>174
中身別の会社で作っててサン○ーの名前がついてるだけ
ってやつですか??
177デフォルトの名無しさん:2008/01/27(日) 01:17:23
立川駅周辺に多いよねw
178デフォルトの名無しさん:2008/02/10(日) 06:43:06
EEPROMに循環記憶を書いてるんですけど、Flashみたいに、「書いたら前の所をFFで消す」
以外にいいアイデアありますか?NMIがあれば、「ここを使ってた」 という情報を特定のセクタ
に残せるのですが、NMIは搭載されませんでした。
179デフォルトの名無しさん:2008/02/10(日) 12:13:18
>>178
FFも使うから別の手法がほしいってこと?
180デフォルトの名無しさん:2008/02/10(日) 12:23:41
「循環記憶」でググってもそれらしい意味が出てこないのですが。。
181デフォルトの名無しさん:2008/02/10(日) 12:41:15
同じ所を繰り返し使わないように、リングバッファ状にメモリを使いたいのだけど、
電源断を挟んでも状態を継続するうまい方法はないですか、
ということではなかろうか。
182デフォルトの名無しさん:2008/02/10(日) 12:45:33
>>181
別にFROMと同じでいいだろ

ブロックごとで扱うのが嫌でEEPROMにしてるなら、
TLV形式にして、古いデータを無効データのTagにしてきゃ良い

初期化で無効で埋めるのを忘れずに
183178:2008/02/10(日) 16:04:23
あ、いろいろすいません。FFは「無し」の意味で使います。生だとたいがいFFだから、初期に
無効で埋めるよりはFFで消してゆくほうが楽ですね。これ書いてて思ったんですが、
生でたまにbit化けしてたときのガードを書いてないの思い出しました。
184デフォルトの名無しさん:2008/02/10(日) 16:17:48
「ここを使ってた」情報をどこかに残せばいいじゃん
185デフォルトの名無しさん:2008/02/10(日) 16:27:16
>>183
たぶんそこはみんな知ってると思うんだw
わからないのは「循環記憶」と呼ばれる処理の中身

>>181の言っている通りなら、アクティブなセクタの先頭バイトは
識別用のダミーとして必ず0xFFみたいにすればいいんじゃないのかな。

殺したいときは何もセクタ全部をイレースしなくてもそこに0x00でも書けばよいのでは。
186デフォルトの名無しさん:2008/02/10(日) 16:29:17
>>184
それを書く前に電源断したら?って話では?
187デフォルトの名無しさん:2008/02/10(日) 16:50:09
>>186
新しい「ここを使ってた」情報を書く

データを格納

古い「ここを使ってた」情報を消す

でいいんじゃね?
188デフォルトの名無しさん:2008/02/10(日) 16:50:23
>>185
ふつーにリングバッファのことじゃね?
189178:2008/02/11(月) 05:02:15
>>185 181でだいたい合ってます。生/自分で書いた情報混在で、FFじゃない所を探して
前回の状態を復元します。全体を平均に使うためにリング状に使うことを循環記憶と言いました。
00でなくFFを書いたのは、生と同じにしとけばFFの判定だけですむから。
>>187の手法で、最新の状態を書いた後に1個前をFFで消しているのが今の手法です。
ここを使ってた、ではなく状態そのものですが。

Flashではセクタを消したらFFになりますが、EEPではFFを書くのも00を書くのもデバイスに
かかる負担は同じなのでしょうかね?何となく、0のbitが少ないほうが確定が早いんじゃ、とか(w

>>188 メモリでリングバッファやる時はバッファそのものとライトポインタ・リードポインタ・滞留数は
別物ですよね。EEP上で同じ事やるとバッファと管理情報の更新に時間差が出るから、
メモリと同じには扱えないと思います。 あとリングバッファとの違いは滞留数=必ず1なので
管理情報もこの場合1個でいいです。
190デフォルトの名無しさん:2008/02/11(月) 05:26:37
今の手法で何が問題なの?
わざわざ別の方法を考える必要はどこにある?
191デフォルトの名無しさん:2008/02/11(月) 11:29:36
シリアルEEPROMなら、だいたいバンクみたいなのがあるよね。
1バイト毎にも書き換えられるけど、バンク内のたとえば16バイトなら一気に書き換えられるとかさ
I2Cインターフェースのなら、だいたい統一されてる

で、結局やりたいのは書き換え回数が1万回のもので、
1時間に一回書き換えたら1年で寿命来るけど128箇所に分散したら64万回に出来て
実用的に書き換え回数の制限無しに出来るぞ 
っていう皆がやってる事だろ?

方法としては、バンクの整数倍のセクター作って
1、順にセクターを使って書いては一つ前のセクターを消す
2、連番フィールドを持たせる(連番の代わりに時計情報でもOK)
の2つくらいしかない。

 1の場合は起動時に頭からスキャンして1つ見つけたら検索終わり
 2の場合は全部をスキャンして最大の連番と最小の連番を探す
  最大-最小がフィールド数より大きいなら ラップアラウンドしてるとして最小を採用する
192178:2008/02/11(月) 16:36:32
>>190 自分が思いついたのが陳腐な手法だったら改善したいと思ったからです。

>>191 2の手法は思いつきませんでした。1のほうがやっぱり簡単ですね。
うちのはバンク64byteで、セクタを16byteで、4回進めたら(次のバンクに移るので)前のバンク
を消す、ってやってるのですが、1.のようにセクタ1個ずつ書いて消してでもデバイスの負担
は同じでしょうか? バンクに対する確定待ちの回数が書き換え回数のことだと思ったので、
こうやったのですが、無駄に複雑にしただけかもしれないですね。
193デフォルトの名無しさん:2008/02/11(月) 16:51:44
>>192
たぶん一つの1バンク 64byte内の、1バイトでも書き換えたら
中間バッファに64byte読んでから全部消して、
1バイト置き換えて書くという動作になってるだろうと思うよ。

だからこういう使い方でバンクサイズ以下のセクターには意味がないんじゃないの?

>>191の2のアクセス方法は間違いだった。
連番は2づつ増やして偶数になるようにして LSB=1なら未書き込み。
先頭の連番を Xとしたら、残りの連番からXを引いた結果の
符号付で負数になる直前を採用するというのでいいと思う。

この方法なら、過去のデータに戻れるのと、
消さない分寿命が長くなるかもと期待出来るから、
フィールドが余ってるならこっちがいいと思うよ
194178:2008/02/15(金) 05:44:13
>たぶん一つの1バンク 64byte内の、1バイトでも書き換えたら
>中間バッファに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
195デフォルトの名無しさん:2008/03/07(金) 22:48:02
ちょ、これ放置されてんのかよ

>>194
100万回って何回なのか判ってるのかね
毎秒1回書き換えたなら100万秒って11日だぞ
2週間持たないんだぞ
196デフォルトの名無しさん:2008/03/07(金) 22:52:16
くみこというより木津千里だろ
197デフォルトの名無しさん:2008/03/08(土) 02:43:53
>>195
幾らなんでも、そこまで考え無しには言わんだろ

書き換えの契機はさほど頻繁には無くて
全面満遍なく使ってくれりゃ十分ってことなんじゃね
198デフォルトの名無しさん:2008/03/08(土) 13:43:53
考えなしに物を言ってるのはたぶん195の方でしょw
199デフォルトの名無しさん:2008/03/09(日) 02:51:10
>>195 書き換えのトリガーは人間のキー操作(タイマ予約とか、CH設定とか)と、起動・電源断
です。キー操作は設置時の使い始めぐらいで、後は日に高々10回ぐらい自動で起動・電源断
(RTCに次回の起動時刻を書いて電源断) なので、
>>194の悪いほうで計算してもだいたい200年ぐらいでした。
200デフォルトの名無しさん:2008/03/09(日) 05:39:44
その頃には自由の女神は砂漠に埋まってるな
201デフォルトの名無しさん:2008/03/10(月) 18:36:46
200年くらいじゃ猿が支配するのは無理だろう
202デフォルトの名無しさん:2008/03/10(月) 18:55:01
でも40年くらい前の装置が今でも平気で使われているんだよな。

この前ベルト式のが動いてるのを見たよ。
あれって昭和のはじめだよな。たぶん。

俺達の作ったものが50年60年先にも、もしかして使われてるかもしれないとは考えておかないとな。
203デフォルトの名無しさん:2008/03/10(月) 19:04:42
こないだ、DOSアプリ、AX→DOS/Vの移植をした。
まだまだよw
204デフォルトの名無しさん:2008/03/10(月) 19:09:11
>>202
ベルト式のなに?
205デフォルトの名無しさん:2008/03/11(火) 01:56:41
技の1号
206デフォルトの名無しさん:2008/03/11(火) 08:08:50
工場の動力伝達かなぁ?
207デフォルトの名無しさん:2008/03/11(火) 10:05:01
昔はモータやらエンジンは高価だったからノコや旋盤やらを上からベルトで駆動してたって奴か?

農機具でエンジンから脱穀機の動力伝達にベルト使ってるの実家でやってたの覚えてはいるけど
今ではコンバインだもんな。
208デフォルトの名無しさん:2008/03/11(火) 21:10:32
自動車エンジンは今でも動力伝達にベルトを使用してますが何か。
209デフォルトの名無しさん:2008/03/11(火) 21:37:19
それ駆動軸じゃないし
210デフォルトの名無しさん:2008/03/11(火) 21:42:38
えーと、どこかに駆動軸限定と言う書き込みはありましたでしょうか。
211デフォルトの名無しさん:2008/03/12(水) 08:44:51
>>210
何の話をしてたんだよw
212デフォルトの名無しさん:2008/03/12(水) 08:50:15
ファンベルトだろ。
213デフォルトの名無しさん:2008/03/12(水) 10:32:37
横置きエンジンのファンはほとんど電動だしな
214デフォルトの名無しさん:2008/03/12(水) 23:32:34
その場合はオルタネータだけを回すからオルタネータベルトって言う罠。
215デフォルトの名無しさん:2008/03/14(金) 14:22:36
ファンドルネCVTはたしかにベルト駆動だが

>>208
が主張したいのはおおかたオルタネータ駆動だろw




つーか脱線しすぎ!
216デフォルトの名無しさん:2008/03/19(水) 09:13:23
H8/2378で、ルネサスのcコンパイラ使ってます。longのデータがxxxxx6番地で、4の倍数
ではない境界にあっても、石のアーキテクチャ上は大丈夫ですよね?

また、このデータを割り込みとメインループ両方から触るのですが、32bitレジスタでLD/ST
されるので、タスク側から触るときにも割り込みマスクせず触ってよい、と認識していますが
合ってますか?(16bitレジスタで分けてLD/STされるならマスク要、と考えました)
217デフォルトの名無しさん:2008/03/19(水) 09:42:21
1、
H8は内部16ビットバスの8bitマイコンだから32bitデータは偶数から始まればよく
32bitデータでも4の倍数である必要はない。

2、
H8/500系ならメモリへの加算などが出来るのですが
H8/300系では 演算は基本的にレジスタです
ですから1ビットのフラグ処理や TASをアセンブラから使う場合を除いて
割り込み側で見る値をメイン側で書き換えるなら割り込み禁止が必要です。
218デフォルトの名無しさん:2008/03/19(水) 09:53:34
書き間違えた。

○割り込み側でも書く値をメイン側で書き換えるなら割り込み禁止が必要です。

両方から触るというのを双方から書き換えると読んだので、割り込み禁止が必要と書きました。


たとえばメイン側で
cnt++;
するのを割り込み側で見るだけの場合は、割り込み禁止する必要はありません。
cnt++は、
偶数番地から始まっていれば32bitレジスタにロードされ、
inc命令を実行してから STされます。
LD/STはそれぞれ2回のメモリアクセスになりますが、
その実行中に割り込めません。
219デフォルトの名無しさん:2008/03/19(水) 10:41:03
HEWって未だにSTL未対応なんでしょうか?

文法的には、テンプレートとネームスペース未対応?
220デフォルトの名無しさん:2008/03/19(水) 11:04:00
>>218 ありがとうございます。割り込み側では++/--するが、メイン側では = n; しかやらない
というケースでは割り込みマスク要りませんよね。
221デフォルトの名無しさん:2008/03/20(木) 17:09:59
このスレの住人なら知っていますね、あの糞開発ツールのことを

・自分のプログラムのバグなのかコンパイラのバグなのかわからない
・他の仕事に応用できない糞開発ツールの独自世界を必死に学習している
・テキストエディタで書いたほうが効率的なのに糞UIツールを懸命に使っている
・糞開発ツールを批判すると「性格が悪いから糞ツールを批判するんだ」と言われる

糞だけど、政治的な理由で無理やり使わされているんですよね。
もう、あんな厨の作った糞ツールを我慢して使うのはやめましょう。

・糞開発ツールを部下に押し付ける上司の命令は無視しましょう。
 上司は糞開発ツールが使われる実績を作ることであの会社のごきげんをとっているのです。
・あの糞開発ツール提供会社には「おたくの糞開発ツールは話にならない」と突き放しましょう。
 バグレポートなどしてはいけません。改善要求などもってのほかです。
 あの会社はあなたたちのことをテスター/モルモットとしか思っていません。
・あの会議で「糞開発ツールを使ったら生産性がxx%アップしました」
 なんて話が出たら力強く机を叩き、会議室を出ましょう。
 あの人たちは糞開発ツールをマンセーすることで立場を確保しているのです。

糞な開発ツールを糞だと言える、そんな当たり前の環境をみんなの力で取り戻しましょう。
222デフォルトの名無しさん:2008/03/20(木) 17:11:37
コピペ君って馬鹿だな、まで読んだ。
223デフォルトの名無しさん:2008/03/24(月) 11:54:46
コピペ警備員はえー
224デフォルトの名無しさん:2008/03/29(土) 04:44:49
HD64180のタイマについて質問です。タイマリロードレジスタ:CH0=0Eh,0Fh CH1=16h,17hで、
64180の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なのか?
225デフォルトの名無しさん:2008/03/29(土) 09:25:06
コメントが間違っているんじゃないのかな 12.288E6/($25)/20/2 で 8.3 KHz 出力じゃないの?
226224:2008/03/29(土) 16:30:36
8KHzじゃピの音には聞こえないので、それは無いですね。64180のタイマはΦ÷20しかないし。
分周比の式はΦ/20/リロードレジスタなんですよね。 このシステムも、Φ=12.288MHzなんですけど、
どこかで半分になって6.144をベースにしてるみたいだし、ホントワカランorz
227デフォルトの名無しさん:2008/03/29(土) 22:51:57
8kHzてふつーに聴けるでしょ?
228224:2008/03/30(日) 05:35:39
計算し直してみました。レジスタの設定値信じるなら、8KHzしかありえないですね。
私が作った機器だとタッチトーンは3KHz前後が多かったので、思いこみがあったようです。
水晶が12MHzで、64180の中で半分になると理解すればよさそうですね。
CH0のほうも、コメントは5mSになってますが、インターバル処理のほうは10mSとコメント
されていました。

12.288MHzの石が生産中止になり、12.28MHzのものしかなくなるのだそうで、その影響を
調べてるとこなんです。uartの信号はあまり長いフレームでなければ(80キャラ以下)いけそう。
ソフトタイマが0.7%遅れるのは許容できなそうですよね。100mS毎とか1秒毎とかの処理が
いっぱいあるし。全体の処理もぎゅう詰めなので、CPUパワーが0.7%落ちただけで機能不全
を起こす処理が出そうで怖いのなんの・・・
229デフォルトの名無しさん:2008/03/30(日) 13:19:37
>>228
ポートに出力させて、DSOで見ればいいじゃん
230デフォルトの名無しさん:2008/03/30(日) 13:52:49
そうですね。空きポートに1か0を書くコードが残っているので、過去にもそうやって確認した
ことがあったようです。DSOが何か判りませんが、オシロみたいなもんですか?
231デフォルトの名無しさん:2008/03/30(日) 14:07:24
>>230
つ「デジタル・ストレージ・オシロ」
232デフォルトの名無しさん:2008/03/31(月) 10:17:29
HD64180の資料なんてどっかにしまいこんでしまったけど
TOUTをトグルで使ってるのか、割り込みかけてソフトでどっかのピンをトグルさせてるのか
どっちにしても 1/2は出力段階でされる。

だから、もしTimerの入力クロック段階で1/2されてるなら 4KHzって事になるぞ
233デフォルトの名無しさん:2008/03/31(月) 18:03:16
>>232 トグルで1/2になるのを忘れていました。4KHzならちょい高めだが聞こえますね。
ただC4dip付近のトーンになるのが私的にはイクナイですね。
234デフォルトの名無しさん:2008/04/02(水) 11:57:12
確かに8KHzあたりが聞き取り難くなってる人はいるから8KHzは使わないだろな
4KHz以下でないとね
235デフォルトの名無しさん:2008/04/02(水) 23:13:24
ある一定の時間ループを回し続けたいんですが
どんな方法があるんけ?
GW中の自由課題でLEDを光らせたいんです。
236デフォルトの名無しさん:2008/04/02(水) 23:25:53
while(!TimeOut){}
237デフォルトの名無しさん:2008/04/02(水) 23:30:04
組み込み系をかじりたいのですが、雑誌InterFaceの付録に付いてくるような
基盤はどこで買えるのでしょうか?
予算の関係もあり、出来ればICEとか大がかりな装置は不要な物がいいのですが。

よろしくお願いします
238デフォルトの名無しさん:2008/04/02(水) 23:46:59
>>235
自分はどうやって計ってるんだ?
同じこと汁ヨロシ
239デフォルトの名無しさん:2008/04/02(水) 23:57:00
>>235
細かいことを言い出すときりがなくなるんだけど
CPU のクロックが10MHzから100MHz程度までの場合

1. 数マイクロ秒程度ならCPUのパイプラインのストール時間まで含めて
インストラクションのクロック数を求めて空ループ回る
2. それ以上10ミリ秒未満なら適当なハードウェアタイマの割り込みに頼る
3. それより長い場合OSに頼る

ってのが定石的な手法だと思われる
240デフォルトの名無しさん:2008/04/03(木) 00:40:21
>237
たとえばこんなやつ?
ttp://www.rakuten.co.jp/tsukumo/435956/737054/
241デフォルトの名無しさん:2008/04/03(木) 00:51:24
>>237
秋月通商とかどう?
242デフォルトの名無しさん:2008/04/03(木) 02:25:01
243237:2008/04/03(木) 07:36:33
サンクス、出勤中なんで見れないが14時間後くらいには帰宅出来ると思うので
後でゆっくりリンク先見てみます(´ω`)
244デフォルトの名無しさん:2008/04/03(木) 08:18:17
MCUのメーカーが直に評価ボード出してるケースも多いんじゃない?
245デフォルトの名無しさん:2008/04/03(木) 08:41:38
でもそういうのは代理店とお付き合い無いと買いにくいんだろね。
サンハヤトとかが扱ってる分なら買えるんだろうけど
http://www.sunhayato.co.jp/products/list.php?l=2&id=02017
246デフォルトの名無しさん:2008/04/03(木) 23:18:49
あの、組み込みってどうやって勉強すればいいんでしょうか。
今の会社で組み込みやらされそうなんですが、本を読んでも具体的に分からない。
割り込みとかスタートアップルーチンとか意味はわかるんだけど、いまいち内容がつかめない。

それと組み込みはCが主流らしいのですがC++も勉強したほうがいいんですか?
Cは一通り理解していて、C++はかじった程度なんですが・・・。
247デフォルトの名無しさん:2008/04/03(木) 23:24:48
>>246
まずは会社の人間に聞け
248デフォルトの名無しさん:2008/04/03(木) 23:32:06
とりあえず教育用のキットを買ってくるんだ
249デフォルトの名無しさん:2008/04/04(金) 00:20:03
とりあえず俺に授業料の前納汁w
250デフォルトの名無しさん:2008/04/04(金) 23:26:46
>>246

うちの会社に発注しませんか?
あと、子会社で組込み初心者向けセミナーやってまっせ。
251デフォルトの名無しさん:2008/04/05(土) 15:01:20
ぼったくるの?
252デフォルトの名無しさん:2008/04/05(土) 16:12:27
非常にリーズナブル、良心的価格で教えますよ
253デフォルトの名無しさん:2008/04/05(土) 16:29:20
幼稚園児レベルの教育が受けられて幸せ?
254デフォルトの名無しさん:2008/04/05(土) 18:54:41
幼稚園入園前レベルには。
255デフォルトの名無しさん:2008/04/05(土) 22:09:33
ていうかセミナーだけでかなり絞れるな
絞らないけど
256デフォルトの名無しさん:2008/04/06(日) 00:41:30
勢いで行ける世界&
自己確立の奥行きがないとな
257デフォルトの名無しさん:2008/05/11(日) 04:21:51
振動子と発振器ってどう違うんですか?
12.688MHzの水晶が製造中止になって、13MHz*ぐらい*のに変わるのだが、uartは
ずれないかな? とか ダイナミックループでタイミング取る処理ないかな?
とか聞いたことがあるので。
258デフォルトの名無しさん:2008/05/11(日) 05:08:51
>>257
bps次第じゃない?
計算したら?
259デフォルトの名無しさん:2008/05/11(日) 08:36:56
>>257
振動子: 水晶とか表面波フィルタ素子に電極をつけたもの
高精度の発振を起こすときに使用する受動素子
発振器: 持続したほぼ一定の周波数の交流を作る回路またはモジュール

振動子は単体で発振することはできない

コンピュータ関連で発振器と言う場合, 水晶振動子もしくは表面波フィルタ素子
を使用した発信回路を小型のパッケージに入れたものをさす場合が多い
260257:2008/05/11(日) 15:36:21
>>259 ありがとう、それで少し想像がつきました。たぶん水晶が高いので、水晶振動子に
よらない発信回路を採用したが、水晶ほど正確なHzは出せない、ということなのでしょうね。
そういう発振器はどんな原理のものなのでしょうか?
261デフォルトの名無しさん:2008/05/11(日) 17:05:26
>>260
> たぶん水晶が高いので、水晶振動子によらない発信回路

いや、いくらなんでもそれはないと思うぞ…
100ppm 程度の水晶入った発信器なんて安いし…
表面波フィルタ使った奴だとさらに安いし…
今時、水晶とか表面波フィルタなんて周波数の設定思いの
ままだし…
ちょっとした回路あれば周波数なんて好きに合成できるし…

出荷用の調整とか考えたら、コイルとコンデンサと抵抗を
使った発振回路の方がはるかに割高
262257:2008/05/11(日) 17:38:59
資料が見つかりました。12.288MHz-->12.3MHzの代品 でした。 現代の素子のほうが正確
なら解るけど、なんでアバウトになるの? ってお客に聞いたら、何とか・・・って説明もらった
のですが詳細は忘れてしまいました。量産用の基板だから一定のクロックを付けるので、
調整の効くようなクロックは付けないとおもいます。
263デフォルトの名無しさん:2008/05/11(日) 17:58:08
>>262
別になんでもいいんじゃない?なにか問題?
UARTなら、言ったとおりbps次第
1200bpsならぜんぜん関係ないけど、5Mbpsなら大問題じゃね?
264デフォルトの名無しさん:2008/05/11(日) 21:10:32
いわゆるセラロックにしたんでしょ。
水晶振動子はバラ売りで100円以上〜400円くらいする
セラロックは20円〜40円
265257:2008/05/12(月) 02:25:05
uartは4.8Kなんでだいじょうぶです。セラロックぐぐってみました。それみたいです。
水晶に比べると原理的に精度が劣るみたいですけど、その辺のことはヒットが多すぎて
見つけられませんでした。20円〜40円の奴の精度は0.5%くらいでしょうね。

内蔵タイマを使って1秒毎の処理とかあるのですが、0.0977%速くなるだけなので、そのまま
使える、とソフトを調査して報告したことがあります。
原理的になんで水晶より精度が劣るのか簡単に教えてくださいませ。
266デフォルトの名無しさん:2008/05/12(月) 04:41:55
>>265
セラミックで、温度変化に弱いんじゃなかったかと思う
267デフォルトの名無しさん:2008/05/12(月) 04:45:33
>>265
というか、セラロックは、ホビーレベルでは普通に使ってるが
温度変化が激しいと厳しいかもしれないな
268257:2008/05/12(月) 17:03:11
ありがとうございます。セトモノなのに、温度が上がると柔らかくなるんですかね・・・
269デフォルトの名無しさん:2008/05/12(月) 17:32:24
>>268
セラミックス=瀬戸物なんて、旧時代過ぎる発想だな。
この場合のセラミックスは金属酸化物などを高温で焼き固めたもの(焼結体)だね。
セラロックに使われるのは、チタン酸ジルコン酸鉛だね。
270デフォルトの名無しさん:2008/05/12(月) 17:36:10
ついでに言えば、結晶体である水晶に比べるから不安定なのであって、
LC発振回路なんかに比べればよっぽど安定しているよ。
271デフォルトの名無しさん:2008/05/13(火) 04:09:54
焼結体で、結晶と比べて数桁のオーダー程度の精度にできる、ということは粉の細かさや
配合、焼結温度などをもの凄く正確に制御できるのでしょうね。天然素材に人工素材が
追いついて行く過程がこの分野でも見られるようで、興味深いです。
272デフォルトの名無しさん:2008/05/13(火) 04:14:40
>>271
目的のものを作るのじゃなく
作ってから選別するんじゃね?
273デフォルトの名無しさん:2008/05/14(水) 03:05:08
それだと歩留まりが問題になりそう・・・
274デフォルトの名無しさん:2008/05/20(火) 04:29:34
北陸先端科学技術大学院大学情報科学研究科組込みシステムコース(博士前期課程、博士後期課程)
ttp://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
275デフォルトの名無しさん:2008/05/20(火) 08:17:00
コピペ君って馬鹿だな、まで読んだ。
276デフォルトの名無しさん:2008/07/10(木) 01:42:52
ミドルウェアが強い企業ってどこなのでしょうか?
277デフォルトの名無しさん:2008/07/12(土) 07:46:43
>>276

質問が抽象的すぎ。
「組込み系で、ミドルウェア製品を多く出している企業」ってこと?
278デフォルトの名無しさん:2008/07/12(土) 08:55:28
ACCESSて一時期のGoogleショックからは立ち直ったのか。
279276:2008/07/12(土) 22:54:23
>>277
すみません、抽象的でした。
>「組込み系で、ミドルウェア製品を多く出している企業」ってこと?
そうです。

自分の最近の夢は
組み込みソフト用ミドルウェアを拡販する会社を起業することです。
その参考のため。
280デフォルトの名無しさん:2008/07/13(日) 00:10:31
それくらい自分で調べられん奴が起業してもろくなことにならんと思うが・・・
281デフォルトの名無しさん:2008/07/13(日) 00:15:20
>>279

ミドルウェア、って一口にいってもいろいろあるからなあ。
ブラウザとかの比較的上の方ならACCESSとか富士通とかかなあ。
FSとかTCP/IPとか、比較的下の方ならOSベンダーが一緒に売ってる。
WindRiverとか。日本企業ならミスポとかイーソルとか。
282276:2008/07/13(日) 11:30:40
>>279
ありがとうございます。
大抵知っているところでした。
個人的には特出したところはないと思っていますが、違いますか?
なので、まだ入り込める余地があると妄想してます・・・・


まずは、uITRON4.0準拠OSを作ることから始めた方がよさそうですね。。。
以下、妄想しているもの。

TCP/IPプロトコルスタック
FFS(フラッシュファイルシステム)
組み込み向けGUIライブラリ
etc...

283デフォルトの名無しさん:2008/07/13(日) 18:13:46
>特出したところはないと

とは思うけど、特出できるのか?
284276:2008/07/13(日) 18:30:30
>>283
正直なところ、できるかどうかは分かりません。

現在、一人でコツコツと作業を進めていますが
一人だと限界を感じてきています。。。
なので、如何に優秀な人材を確保できるのかにもよりますね。。。

285デフォルトの名無しさん:2008/07/13(日) 18:48:10
すでに他力本願か
夢は寝てる間だけにしとけ
286デフォルトの名無しさん:2008/07/14(月) 00:50:16
>>282

> TCP/IPプロトコルスタック
> FFS(フラッシュファイルシステム)
> 組み込み向けGUIライブラリ

どれも一人だけでやるには無理があるよ。
全部一人でやろうとしたら20年はかかるぞ。


> FFS(フラッシュファイルシステム)

フラッシュだけなら簡単だろう、と思ってそうだが、ATA/ATAPIとFATの実装も必須。
場合によってはext3とかも。
287デフォルトの名無しさん:2008/07/14(月) 03:00:09
>>284
頑張れ。
優秀な技術者を20人も集めれば
大体5年で完成するぞ
288276:2008/07/15(火) 00:22:00
>>286
20年はかかりすぎだと思います。
3年あればできると思いますが、如何せん本業が忙しく(ry

フラッシュはその寿命を伸ばすことも考えないといけないので
他のストレージデバイスより難しいと考えています。
簡単とは思ってません。

>>287
優秀な人材、もしくは同志はどこに行けば
見つかるでしょうか。。。
289276:2008/07/15(火) 00:27:05
本業(組み込みソフト開発)が忙しいので出来ませんと言い訳してます。
これじゃ、他力本願と言われても仕方ないか。
290デフォルトの名無しさん:2008/07/15(火) 01:03:31
これじゃ、どころか
最初の時点で、だ。
291デフォルトの名無しさん:2008/07/15(火) 02:22:47
フラッシュROMにFFを書き込む場合、その書き込みによって寿命を縮めますか?
292276:2008/07/15(火) 02:30:59
eraseに回数制限があります。
293デフォルトの名無しさん:2008/07/15(火) 04:00:46
1のbitに1を書く分には寿命に影響しない、と理解していいですか?
すると、0のbitが増える方向へは重ね書きが可能ですね。 FF→FE→FCとか。
294デフォルトの名無しさん:2008/07/15(火) 07:40:33
nand flushについて調べてみるといいよ
295デフォルトの名無しさん:2008/07/15(火) 08:09:15
>>294
|д゚)ジー
|彡サッ
296デフォルトの名無しさん:2008/07/15(火) 20:06:01
>>276 確かに一理あるかもな。成功したときに雇ってくれ。
297デフォルトの名無しさん:2008/07/15(火) 23:48:57
>>288

> 20年はかかりすぎだと思います。
> 3年あればできると思いますが、如何せん本業が忙しく(ry

どんだけ自信家なんだよww

つーか、
> TCP/IPプロトコルスタック
> 組み込み向けGUIライブラリ

↑このへんはどこまでサポートするつもり?
それによってだいぶコード量変わるし、テストの工数まで考えてる?

298276:2008/07/16(水) 00:06:00
>>297
確かにどこまでやるかで工数は大きく変わりますね。
TCP/IPプロトコルスタックは
ネットワーク層、トランスポート層をサポート予定。
物理層はユーザ作成関数として、ユーザカスタマイズとする。
アプリ層は、サンプルとして提供する。

297は組み込みソフト屋さんですか?


299デフォルトの名無しさん:2008/07/16(水) 02:18:24
>>298
DNSとかDHCPとかも忘れずに頼むわ

あとARP周りはシンプルだけど地味にトラブル多いから
マジ気合入れてテストしろよ
300デフォルトの名無しさん: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
301デフォルトの名無しさん:2008/07/16(水) 16:35:43
追記です
元々PCのLinux箱あたりにしたかったのですが、「プログラムはフラッシュに焼いてあるのと同等でないとダメ」と言われています。
(要はCF抜いたからプログラム起動しません、とかは不可。CFがないからログが保存されないとか、音源ファイルがないから音が鳴りませんは可。)

なので、組み込み系で探しているという状況です。
302デフォルトの名無しさん:2008/07/16(水) 16:40:00
追記を無視すればWindowsCEなんだが
303デフォルトの名無しさん:2008/07/16(水) 16:54:47
Windows XP Embeded、プログラムがVC++でやってましたので、WindowsCEは真っ先に検討したのですが、NGでしたorz
(根本的にWindowsがお嫌いなユーザのようです)
「プログラムモジュール部分は不揮発性メモリ等に保持され、外部から容易に触れることができないこと。
またHDDやCF等の磁気メディア等、容易に書き換え可能なメディアでのプログラムモジュールの保持は不可」とされています。。。
304300:2008/07/16(水) 16:56:36
すいません、この板はIDが付かないんですね
>>300>>301>>303 >>304は同一です。

遅れましたが>>302さん返答ありがとうございます。
305デフォルトの名無しさん:2008/07/16(水) 17:04:48
じゃあBBR-4MGでも買いあさっておけば?
306デフォルトの名無しさん:2008/07/16(水) 17:11:04
シビアなリアルタイム物じゃないみたいだし
LinuxかBSD系の箱でいんじゃね?
307デフォルトの名無しさん:2008/07/16(水) 21:33:26
玄箱とかどうよ。
アルマジロは私のところのプロジェクトでも話題に上っているから、罷り間違うと使う羽目になりそうだが。
308297:2008/07/16(水) 23:55:54
>>298
> TCP/IPプロトコルスタックは
> ネットワーク層、トランスポート層をサポート予定。
> 物理層はユーザ作成関数として、ユーザカスタマイズとする。
> アプリ層は、サンプルとして提供する。

Socket、HTTPやFTPぐらいまではサポートしないと売れないと思うよ。
それか、よほど安いとか。
ちょっと突っ込み入れると、「物理層」はデバイスそのもので、ドライバはデータリンク層だな。
ドライバはサンプルで構わないが、アプリが「サンプル」扱いはきついかも。


> 297は組み込みソフト屋さんですか?

そう。最近はアプリの仕事が多いが。
309デフォルトの名無しさん:2008/07/17(木) 00:10:58
>>308
> ドライバはデータリンク層だな。

つまらん茶々だけど、ドライバってのは位置付けがイマイチ曖昧なんだけど、
おおむね、ネットワーク層からデータリンク層へのつなぎを担当する部分。

チップ側にIPオフローディング機能とか入ってくると、もう完全に、分けが
わからん位置付けになるんだわな、これが………
310300:2008/07/17(木) 01:32:39
>>306さん
元々PCアプリのため、リアルタイム性をミリSec単位で要求するようなことはないので、私もLinux系がいいのかなぁと漠然と思っています。
LinuxはPCサーバでは頻繁に使っているので設定・操作は問題ないです。
組み込み開発経験がまったくないので、何を重視すれば良いのかいまいち掴めていません。

>>307さん
玄箱は玄箱/HGを持っていまして、アレはシステムをHDDに書いてるからダメぢゃん、とおもっていたのですが、
wiki調べてみたら玄箱/PROはARM9ベースになってシステム用フラッシュメモリ載せてるんですね、安価な割におもしろそうです。
ただ、開発がほぼ初心者状態で一からやる関係上、できればご丁寧な開発キットが欲しいところです。

うーん、アルマジロは結構悪くない選択肢なんですかね。
組み込み関係の展示会にでも行って情報収集したいところですが、11月のようで。。。
311デフォルトの名無しさん:2008/07/17(木) 01:56:52
>>308
> Socket、HTTPやFTPぐらいまではサポートしないと売れないと思うよ。
> それか、よほど安いとか。
あるOSに付いているプロトコルスタックのアプリ層は
サンプルという扱いでした。
アプリ層もちょっと真面目に検討してみます。
でも、今本腰入れて作ろうと計画しているのはFFSだったり...

>>309
> チップ側にIPオフローディング機能とか入ってくると、もう完全に、分けが
> わからん位置付けになるんだわな、これが………
ミドルウェアとユーザカスタマイズ部(所謂ドライバ)との切り口は
イーサフレーム送受信レベルが妥当でしょうか?


312デフォルトの名無しさん:2008/07/18(金) 03:21:23
>>297
別にその手のものなら、幾らでも売ってる訳だが
それらに対する優位性って何?

>>309
おかげでレイヤでMIとMDがガッツリ別れてる
xBSDのドライバが書き辛いのなんの

>>310
OpenBLOCKSでよくね?
313デフォルトの名無しさん:2008/07/18(金) 09:12:56
>>311
> ミドルウェアとユーザカスタマイズ部(所謂ドライバ)との切り口は
> イーサフレーム送受信レベルが妥当でしょうか?

ミドルウェアってのは、通常、トランスポートの上にあるもんだと思うが…
ルータ作るとかってな仕事でもない限り, トランスポート以下を
つつくってのはまずないと思うぞ

そして出てくるfj世代の得意技
ソース読め!!!

>>312
> xBSDのドライバが書き辛いのなんの
バークレーの連中は、当初、IPオフローディグなんて考えても見なかったんだろうな
314デフォルトの名無しさん:2008/07/18(金) 09:52:21
315314:2008/07/18(金) 09:53:20
>>303 X
>>300
アンカーミスです すいません。
316デフォルトの名無しさん:2008/07/18(金) 10:04:56
>バークレーの連中は、当初、IPオフローディグなんて考えても見なかったんだろう

30年前にどうやってそんなものを予測しろと
317300:2008/07/18(金) 19:15:07
>>312さん
OpenBlocksは私も調べてみたんですが、オーディオがないんですよね。(音による警報制御が必須要件なんです)
またOpenBlocks266だと、アルマジロ-220あたりと大差ないのかなあ、と思ってしまうところです。
開発環境でOpenBlocksのほうがイイ!とかあれば是非情報頂きたいところです。

>>314さん
私はアプリ屋なので、ハードと開発環境をセットで提供してくれるものを探しています。
LinuxBIOSのような技術が私の求めるものを支えていることは察しますが、これを素で持ってきても、どう熱かったら良いのかわからない状況です。技量が低くてすいません。
318デフォルトの名無しさん:2008/07/18(金) 20:57:46
>>317
LED出力あたりをいぢってブザーでも付けるとか。
発売元か開発元に相談してみるといいかも。
319デフォルトの名無しさん:2008/07/18(金) 22:48:03
>>317
OpenBLOCKSってLinuxの開発環境がセットで提供されてなかったっけ?
つーか、そんなにPC並のスペックが欲しいなら
CONTECあたりの組み込み用PC使えば?
320デフォルトの名無しさん:2008/07/18(金) 23:24:07
blanca ってあれからどうなったんでしょ?
これはパフォーマンス的にも問題あるかも
321300:2008/07/19(土) 15:12:37
皆様、色々ご意見ありがとうございます
>>318さん
なるほど、後付が可能なんですね。ハード関係はさっぱり知識がないので、そういうことすらわかってませんorz

>>319さん
アルマジロもOpenBlocksもLinuxベースで開発環境が提供されているようです。
開発環境についてはどっちのほうが良いのか見分けがつかないのです。。。

元々がPCベースで開発していたものなので色々てんこ盛りでやっておりまして、それを簡単に機能削減ができないのです。
CONTECを調べてみました。PCベースの機器なんですね。
ざっと調べた感じで、スペックは申し分ないのですが、>>303 にひっかかってしまいそうなのです。。。

>>320さん
blanca、ぱっと見では結構使えそうな気がします。ライブラリあたりはまだ拡張開発中なんでしょうかね
322デフォルトの名無しさん:2008/07/19(土) 15:23:18
こいつはいつまでグズグズしてんだ?2〜3種類くらいさっさと取り寄せろよノロマ野郎
323300:2008/07/19(土) 18:34:49
すいません、これで最後で消えます。
実は先週アルマジロ-500の購入稟議かけたら、「要件満たしてるのはわかるけど他製品比較資料くらいもってこい、もっと安いのはないのか」と言われて困りましてこちらでご相談させて頂いた次第です。
色々な意見頂き、あまり選択肢も多くないということが確認できましたのでコレで試してみます。ありがとうございました。
324デフォルトの名無しさん:2008/07/19(土) 19:10:09
新入社員か
325デフォルトの名無しさん:2008/07/20(日) 22:49:08
uITRON4.0準拠OSでタスク間通信をやろうと思うのだけれど
みなさん、どうやってます?
一般的な方法を知りたい。
326デフォルトの名無しさん:2008/07/20(日) 23:03:29
>>325
メール
327デフォルトの名無しさん:2008/07/21(月) 00:08:15
>>325

ケースバイケース。
普通はメッセージかイベントフラグだと思うけど。
328デフォルトの名無しさん:2008/07/21(月) 00:41:06
メールだな。
送信側でメモリを確保して
そのメモリのアドレスをメールボックへ送る。
受信側でメールを受け取りメモリを解放する。

329デフォルトの名無しさん:2008/07/21(月) 17:11:00
>>325
データキューと固定長メモリプールの組み合わせが、今ならいいと思う。
メールボックスは、メモリプロテクション仕様のものからは推奨されないから。
結構データキューって、uITRON3.0のメールボックスの一種の実装だと知らない人って
多かったりしない?
それから、スタンダードプロファイルにはないけど、メッセージバッファが使えるなら
データキュー+固定長メモリプールのようにやってくれるので、コードが少なくて書ける
と思うけど。
330デフォルトの名無しさん:2008/07/22(火) 10:33:03
データキユーって送信時に待たされる可能性あるからなぁ。個人的にはメールボックスを勧める。
331329:2008/07/23(水) 09:25:29
>>330
個人的好き嫌いは、自由だけど、

データキューで送信待ちが発生するということは、それだけ、受信側のタスクが処理できない状況に
なっているわけですよね。キューが膨れ上がる状態ですね。

固定長メモリプールとの組合せの場合、結局、メールボックスで送信待ちにならないとしても、
固定長メモリプールの獲得時に待ちになってしまう状況になるので、50歩100歩のような。。。
332325:2008/07/23(水) 23:17:47
>>331
50歩100歩ではないような気がします。
送信側が受信側より優先度が高い場合
優先度の逆転が起こってしまいますよね。
その点、メールボックスの方が安全と言えないですか?

333329:2008/07/24(木) 10:06:13
>>332
それを優先度の逆転とはいいません。優先度逆転を議論するなら、セマフォおよびミューテックスですかね。
たしかに、送信側の優先度が高い場合は、メールボックスでは、送信一辺倒でひたすら送信する状態になる場合もありますね。

「安全」という言葉が出てきたので、あえて言うけど、
1)送信側が一方的に送信データ、つまりメールボックスが膨張していく状態
2)送信側が一方的に送信データが増えた場合に、ある程度のところで送信タスクがWaitされる状態

ではどちらが安全だろうか? すぐにわかる話だと思いますが

それから、私が言っているのは、MBX + MPF の場合と DTQ + MPF の場合の比較です。
かならず、固定長メモリプールとの組合せの場合のことです。

送信側は、固定長メモリプールから、一定のメモリを獲得、そのアドレスを
データキューあるいは、メールボックスで送る。

受信タスクは、データキュー、あるいは、メールボックスを受信、
そのアドレスから、該当メモリを参照し処理、処理が終わったら、
その該当メモリを固定長メモリプールに返却する。
という流れですね。

この場合にメールボックスが膨張する状況が起こったら、そのうち、固定長メモリ
プールが獲得不可になって、結局待ちになるから同じなんじゃないかという
ことですが、

お分かりになりましたか?



334325:2008/07/25(金) 00:55:19
>>333
真摯な回答ありがとうございます。

受信側がメッセージを処理しなければ送信側が待たされますよね。
受信側が処理中に受信側と送信側の中間の優先度を持つタスクへ
ディスパッチすることを優先度の逆転と言いませんか?
決して優先度の逆転がダメと言っている訳ではないです。

DTQ+MPFの場合、送信側が待たされる要因として
送信待ち、メモリブロック取得待ちの二つがありますよね。
一方、MBX+MPFの場合、メモリブロック取得待ちしかありません。
保守やデバッグを考えると後者を選択したくなります。

どちらが安全であるか説明していただきましたが
ちょっと理解できませんでした。。。



335329:2008/07/25(金) 11:03:02
1)優先度逆転について
  受信側タスク −− 低プライオリティ
  送信側タスク −− 高プライオリティ
  それ以外のタスク −−中プライオリティ

  この状況で、送信タスクがブロックされると、それ以外のタスクが動いてしまう。
  これを優先度逆転と言えば、待ち条件になった場合のことをすべて優先度逆転という
  ことになる。 言葉の問題なんであまりたいした問題でもないですが。。。
2)DTQ+MPFの保守性
  MPFだけがwaitされる場合とDTQもしくはMPFがwaitされる場合とで保守するのが、難易度が
  違うというご意見ですね。 理解しました。 私的には50歩100歩だと思っていますが、
  
3)どちらが安全かについて
  1)送信側が一方的に送信データ、つまりメールボックスが膨張していく状態
  2)送信側が一方的に送信データが増えた場合に、ある程度のところで送信タスクがWaitされる状態
安全でないとはどういうことかというと、いわゆるデッドロックをおこさないことだと考えればいいと
思っています。
1)の場合は、その送信タスクが占有するメモリプールであれば、問題は少ないが、共有のメモリプールの
場合にメモリを食いつぶして、場合によっては受信タスクもメモリ獲得待ちになりデッドロックに陥ります。
よくある実装として、それぞれのタスクが送信/受信を行うような場合はそうなります。
一方、2)の場合は、送信タスクが送信待ちでwaitになってもそのうち、受信タスクがDTQを受信し、送信タスクの
待ちが解除されます。

1)の場合はどこまで、メールボックスが増えていくことを考えないというところが非常に危ない設計の
ように私は思いますが。。。

 
336デフォルトの名無しさん:2008/07/25(金) 16:13:50
>MPFだけがwaitされる場合とDTQもしくはMPFがwaitされる場合とで保守するのが、難易度が違うというご意見ですね。
スタンダードプロファイルにはないけど、メッセージバッファ使うという手もあるかな。
337デフォルトの名無しさん:2008/08/17(日) 01:40:54
【頑固】派遣テスターの人格問題【向上心ゼロ】

自分からテスト専門です、って宣言してる派遣テスターって何なの?

将来プログラマとかSEになりたい、とかならわかるけど。
向上心ないよね、頑固だし。
そういう派遣テスターって、仕様書は読めない、
テスト仕様書も作れない、テストプログラムも作れない
やれることは「テキトーにプログラムを触る」ことだけ。

俺は派遣プだけどさ、こういう派遣テスターがいると
派遣全体がバカにされるんだよ。
テスト専門派遣なんて氏んで欲しいよ、まったく。

今日も正社員の人が派遣テスターに仕様書を読んで
テスト仕様書を作ってください、って説教してたよ。
その派遣は頑固に「何故、仕様書が必要なんですか?」って
反論してたから、きっとテスト専門派遣テスターだな。
仕様書も読まず、テスト仕様書も作らず、ただテキトーに
プログラム触るだけで給料もらおうなんて頭おかしいんじゃねーの?

あ〜あ、あの派遣テスターが3ヵ月後に切られるまで、
仕様書も読まねーでテキトーにテストしたバグ票がまわってくんのかよ。
そんな糞なもん、読んで処理する派遣プの身にもなってくれよ。
うわ〜、しかもそいつが切られる3ヵ月以内に中間納品あるじゃねーか!
テスト仕様書もなしにテキトーにテストして納品か。
中間納品後にソッコウクレームでデスマ必至だな。俺の休みも返上かよ。

派遣専門テスターさんよ、少しは向上心持てよ!
頑固な性格直して仕様書読めよ!テスト仕様書作れよ!
338デフォルトの名無しさん:2008/08/17(日) 02:05:51
>>337
>頑固な性格直して仕様書読めよ!テスト仕様書作れよ!
性格とかじゃないだろ、単に仕事してないだけ
339デフォルトの名無しさん:2008/08/19(火) 21:49:36
うちの会社の開発プロセスに嫌気が差してきた。
とりあえず、数をこなしてソフトの品質は二の次な体質。
みなさんの会社はどうですか?
340デフォルトの名無しさん:2008/08/19(火) 22:26:54
マ板でやれクソが。
お前には嫌気が差してきた。
類は友を呼ぶんだろうよ!
341デフォルトの名無しさん:2008/08/19(火) 23:03:51
スレ違い
テスターに適当にさわらせるテストなんて
最底辺会社がPCでやるならありえなくもないが
組み込みでそれやったら会社消滅だろ
ありえねー
342デフォルトの名無しさん:2008/08/21(木) 01:55:07
>>341
納品物が工場の現場の人間が使う端末だったりする場合は
アホに与えて観察することもある。
343デフォルトの名無しさん:2008/08/21(木) 05:51:13
そのアホは臨時に短期に雇うバイトで十分だろ
派遣にやらせる必要は全くない
344デフォルトの名無しさん:2008/08/21(木) 08:40:12
>>342
それは納品物のテストじゃなく、そのアホの方のテスト
345デフォルトの名無しさん:2008/08/23(土) 08:57:12
>>344

「フールプルーフ」って言葉知ってるか?
アホが使っても大丈夫なように作んなきゃいけないものもあるんだよ。
アホは普通の人間には想像もつかない使い方をすることがある。
346デフォルトの名無しさん:2008/08/23(土) 10:02:45
>>345
「優先度」って言葉知ってるか?
アホが使っても大丈夫以前に仕様どおり動かなければお話にならないんだよ。
アホ開発チームは普通の人間には想像もつかない納品の仕方をすることがある。

347デフォルトの名無しさん:2008/08/23(土) 19:57:10
>>346
人命にかかわったりライン停止の危険をはらむ動作が
アホにはできないようにする必要があるんだよ
納期を守って人が死ぬのはもうカンベン
348デフォルトの名無しさん:2008/08/23(土) 20:10:48
>>347
ホームラン級バカ発見!
人命にかかわるシステムをテスト仕様書もなしに適当にテストなんてしねーよ

実際に人命にかかわるシステムの動作保証なんて経験したことない癖に
無茶苦茶な嘘を書くなよ、ボケが
349デフォルトの名無しさん:2008/08/23(土) 20:15:44
>>347
>納期を守って人が死ぬのはもうカンベン
アホのテストのせいで人が死ぬのはもっとカンベンだよw
350デフォルトの名無しさん:2008/08/23(土) 21:02:03
>>347
もうカンベンって、、、、何人か殺してんのかよ(((((゚д゚;))))))
351デフォルトの名無しさん:2008/08/23(土) 21:11:43
テスト仕様書無しでテストして納品しました、バグのせいで人が死にました

↑会社の存続が無理なのは当然として、業務上過失致死で刑務所もありえるよ
352デフォルトの名無しさん:2008/09/08(月) 01:14:55
組み込みで、イーモバイルとかを使った通信を実装した方っています?
353デフォルトの名無しさん:2008/09/09(火) 09:26:31
>>352
原理上はPPPダイアルアップ
PHSカードと56kモデムは、やったことある。

むしろネットワークサービス層の選定・実装が問題じゃない?
354デフォルトの名無しさん:2008/09/09(火) 13:47:24
>>353
ありがとうです
>むしろネットワークサービス層の選定・実装が問題じゃない?
その辺はあまり問題にはしていないです。
CFのタイプにしろ、USBのタイプにしろ、どう制御するのかがまったくわからなくて
どうしようかと思っています。
USBのタイプは、USBのプロトコルから上は、いきなりATコマンド様に扱えるんでしょうかね?
355デフォルトの名無しさん:2008/09/09(火) 18:19:42
>>354
実装例としては Linux のものが参考になると思う。
もちろん、Linux のものから引っ張ってくるときは、
約束事には気をつけてな!
356デフォルトの名無しさん:2008/09/09(火) 18:59:02
>>355
thxです
約束事?。。。なんだろ
すいません、わかるように。。(手もみ
357デフォルトの名無しさん:2008/09/09(火) 19:21:20
丸ごと持ってくるとGPL縛りにかかる
358デフォルトの名無しさん:2008/09/09(火) 22:26:01
>>356
>>357
xBSDにしろ
359デフォルトの名無しさん:2008/10/15(水) 02:28:16
SH2+HEW なんですが
汎用レジスタにアクセスしたいのですが、どうしたらよいですかね

#pragma inline_asmを使うとcode=asmcode指定が必要で、
デバッガがお利巧じゃないので、ソースリストがasmになって見づらい
#pragma global_register で変数にあてようとすると"Illegal register" のエラーがでます
そもそも、global_registerで出来るのかな

どなたかわかるかた、ご教示あれ
360デフォルトの名無しさん:2008/10/15(水) 07:22:50
gcc?
361デフォルトの名無しさん:2008/10/15(水) 07:30:28
>>360
renesasです。
362デフォルトの名無しさん:2008/10/15(水) 08:40:24
gccの方がレジスタアクセスは簡単だよ。
363359:2008/10/15(水) 10:57:37
>>362
お客さんの指定なんです
364デフォルトの名無しさん:2008/10/15(水) 16:25:33
サンプルコードを書いて、ルネサスに聞いた方がいいんじゃないの?
365359:2008/10/15(水) 19:44:12
>>364
そういうのアリなんですかね?
調べてみます
366デフォルトの名無しさん:2008/10/17(金) 02:56:42
>>359 俺も同じ体験したよ。
>デバッガがお利巧じゃないので、ソースリストがasmになって見づらい
ルネサスなら、こっちにしないとダメだったよ。必要な箇所は少量だと思われるので、
そこだけを別モジュールにしてASMで書いてCから呼び出すようにしたらいいとおもう。
367359:2008/10/17(金) 03:28:10
>>366
ありがとうございます
>そこだけを別モジュールにしてASMで書いてCから呼び出すようにしたらいいとおもう。
いまその方向で始めました
スピードはあまり要求されないのでCでまとめられたらよかったんですけどね
368デフォルトの名無しさん:2008/10/17(金) 09:13:35
そもそも、具体的にどういう動作をさせたかったのかに興味あり。
369デフォルトの名無しさん:2008/10/17(金) 16:42:08
ポート叩くのに、ROTX(L/R)系の命令を使いたかったのだと思う。
キャリーをポートに出すのがCでは書けなくて若干速いんだよね。
370デフォルトの名無しさん:2008/10/17(金) 17:45:09
スタックポインタ?
371デフォルトの名無しさん:2008/10/18(土) 02:15:45
Rnをさわらなきゃいけない状況つうのがあんまし想像できないなあ。
アセンブラで呼ぶことしか想定していないライブラリをつかうとか、
俺OS作っていてコンテキストスイッチ部分を書きたいとか…
372359:2008/10/18(土) 04:47:08
>>368
>>371
ユーザープログラムモードで、
プログラム上からROMの書き換えをするのに、Rnを触らないといけないんです
373デフォルトの名無しさん:2008/10/18(土) 13:55:54
ああ、あれか。

引数をレジスタ渡しにすればそのまま呼べたような気がするが。




374359:2008/10/19(日) 01:41:37
>>373
>引数をレジスタ渡しにすればそのまま呼べたような気がするが。
そう思って、#pragma global_register を使ったら"Illegal register"のエラーが出てしまってます。
375359:2008/10/19(日) 08:40:14
#pragma global_register(a=R8)
int a;

としたときは、コンパイルが通りますね
どうやら、R8-R14だとOKみたいです
制限がかかってるのかな
376デフォルトの名無しさん:2008/10/19(日) 08:41:20
>>575 だな、スケールが小さいな。もっとあるだろうに。

ってかやらされてるんだろうな官僚に。何もやらないと要求されるから。
377デフォルトの名無しさん:2008/10/19(日) 08:41:52
↑gobaku
378359:2008/10/19(日) 08:51:03
>>376
乙ですw
379359:2008/10/19(日) 08:57:49
よくみたら、>>374は、>>373の答えになってなかったかも;
ああ、なるほど!
R4は引数をレジスタ渡しにすればそのままってことですね
レジスタ渡しにすればR4に入る保証というのは、どこかで定義できるんでしょうかね
これは、処理系(コンパイラ)依存ですよね?
マニュアルをちょっとよく見てみないとですね
380359:2008/10/19(日) 09:47:24
>>375
自己レス
マニュアルに書いてありました;

>>373
やっぱり、それでいけるかもしれません
ありがとうございます
381デフォルトの名無しさん:2008/10/27(月) 16:42:38
今までオープン系業務システムの開発を
やっていたのですが、今度組み込みを
やることになりました。
具体的に何をやるかまだわからないのですが、
おすすめの入門書はありますでしょうか?
382デフォルトの名無しさん:2008/10/27(月) 20:35:13
何をやるかわかってから聞けよ
383デフォルトの名無しさん:2008/10/29(水) 03:12:24
>>381
加算機とアンプ作っとけ
384デフォルトの名無しさん:2008/12/04(木) 01:30:46
アンプってどうやってつくるの?
385デフォルトの名無しさん:2008/12/04(木) 02:44:37
すみません 防犯カメラの設置および組み込みPGの募集ってあったのですが
(HDDに機器をつなげる:サーバー知識あれば尚可)
アパッチ、SQL、LINUX、でサーバー構築くらいはやったことあるのですが
どういった作業なのでしょうか?単純作業の繰り返しでしょうか?
386デフォルトの名無しさん:2008/12/04(木) 03:38:13
かっこでくくると判りやすいな。(防犯カメラの設置および組み込み)PGの募集。
組み込み系PGではないな。設置と結線ならPGである必要もない。
387デフォルトの名無しさん:2008/12/04(木) 07:57:57
要は、普段は防犯カメラの設置をやってもらうが必要によってサーバの設定などの運用や
簡単な保守管理の設定なども行なってもらうけど肩書きはPGなんで宜しく、ってことだな。
388デフォルトの名無しさん:2008/12/04(木) 08:14:30
>>386 まあ、インストールと設定(ファームウェア)の領域ですかね?
>>387 人数が少ないから全部やると思いますがw
389デフォルトの名無しさん:2008/12/04(木) 10:20:21
>>385
防犯カメラの設置と組み込みPGってぜんぜん領域が違うと思うんだけどな
なんか、テキトーな会社っぽいね
前にあったのは
会社:「どんなことをやってました?」
応募者:「基本ソフトのですね〜(ほにゃらら)」
会社:「うちはベーシックの技術者は募集してないんです」
応募者:「‥‥‥」

390デフォルトの名無しさん:2008/12/04(木) 11:54:09
OSを「基本ソフト」と呼ぶ奴を俺は信用しない
391デフォルトの名無しさん:2008/12/04(木) 12:13:48
基本ソフト、たまにハード
392デフォルトの名無しさん:2008/12/04(木) 13:27:17
>>390
なにか嫌なことがあったのか?w
おれは、「ping」を「ピング」と呼ぶ奴を信用しないがね
393デフォルトの名無しさん:2008/12/04(木) 13:35:54
pingerは何て読むの?
394デフォルトの名無しさん:2008/12/04(木) 13:52:32
>>393
「pinger」は造語だろ、pingerが「ピンガー」って読むから
「ping」を「ピング」とは読まない
1歩譲って「ピング」と言ってもいいけど、恥ずかしい人と思われることもあるから注意な
395デフォルトの名無しさん:2008/12/04(木) 14:02:44
じゃあ、bomberは?
396デフォルトの名無しさん:2008/12/04(木) 14:05:54
こういうどうでもいいことをいきがってくだらないこだわり見せる人のが恥ずかしいな。
397デフォルトの名無しさん:2008/12/04(木) 19:04:34
>>396
>>390のことな、ほんとそうだな
398デフォルトの名無しさん:2008/12/04(木) 21:00:07
ピングーとポングー
399デフォルトの名無しさん:2008/12/04(木) 21:38:13
ソナー員 「艦長!敵艦が"ピングー"を打ってきました!」
艦長 (ズコーー!)
400デフォルトの名無しさん:2008/12/04(木) 22:06:06
>>383
すいません、どこから手をつけてよいのか
皆目見当がつきません。
何を参考にすればよいでしょうか?
401デフォルトの名無しさん:2008/12/04(木) 22:35:09
>>400
秋月電子に行ってらっしゃい。
402デフォルトの名無しさん:2008/12/04(木) 22:39:27
PICマイコンって 組み込み系でいいんですか?
403デフォルトの名無しさん:2008/12/04(木) 22:52:01
愚問。
ガソリンエンジンって自動車でいいんですか?、と同じ意味で。
404デフォルトの名無しさん:2008/12/05(金) 00:39:44
>>403
幾らなんでも、そりゃ例えが飛躍しすぎで伝わらんだろ

>>402
ペンティアムって 業務系でいいんですか?

くらいだろ
405385 388 402:2008/12/05(金) 04:15:41
回答ありがとうございました 参考に勉強します
406デフォルトの名無しさん:2008/12/05(金) 23:02:28
>>405
あと、参考になりそうなネタ元

この辺の電子回路の教科書クラスでいいかも
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

その他、国公立大学・工学部の基礎レベルの講義資料も使えると思う
確か、東工大がそういった資料のネットでの公開に力を入れてたはず
407デフォルトの名無しさん:2008/12/05(金) 23:52:39
>>401
サイト見たのですがよく分かりません。
ご指導頂けないでしょうか。
408デフォルトの名無しさん:2008/12/06(土) 00:05:53
>>406 どうも 参考にします。
http://monoist.atmarkit.co.jp/fembedded/index/h8.html
たとえば、H8マイコンにC言語でプログラムした場合のPGと組み込み
についてどう解釈すればいいのでしょうか。
409デフォルトの名無しさん:2008/12/06(土) 00:41:24
何が知りたいんだおまえは
410デフォルトの名無しさん:2008/12/06(土) 00:50:38
>>409 >>385の作業を具体的に知りたいんです。範囲がどうのこうのとか
車がどうとかは、別にどうでもいいんです。
411デフォルトの名無しさん:2008/12/06(土) 01:04:56
説明できなくもないが、まずはその会社に問い合わせなさい
こちらが色々予想するのは無駄なことだ
412デフォルトの名無しさん:2008/12/06(土) 01:31:37
あ わかりました。どうもです。
413デフォルトの名無しさん:2008/12/07(日) 18:01:27
日本で有名な組込み屋さんってどこになるのかな
アックスとかウィンドリバーとか?

リナックスは組込みに強いと聞くけど
会社としてはあんまり聞かないよね
414デフォルトの名無しさん:2008/12/07(日) 18:05:32
415デフォルトの名無しさん:2008/12/07(日) 18:32:41
linuxはいい加減な処理しかできないし動かすだけで余計なコストも掛かる
リアルタイム系では出る幕が無い
416デフォルトの名無しさん:2008/12/07(日) 19:34:45
>>415
でも、タダ
417デフォルトの名無しさん:2008/12/07(日) 19:42:45
いやだから最初から選択肢に入らない
無料つっても何も無いも同然だから人件費の方が高くなる
418デフォルトの名無しさん:2008/12/07(日) 20:10:27
>>417
人件費は、外注にかぶせればタダ
が、クライアントの脳内
419デフォルトの名無しさん:2008/12/07(日) 20:51:43
作るモノにもよるんじゃない?
ネットにつなげるような仕様だとLinuxBOXのような物のほうがラクだと思うがな
電器ポットにLinux入れようとは思わないけど
420デフォルトの名無しさん:2008/12/07(日) 21:00:03
NICのドライバ部分なんてPICにもあるから
そんなとこ楽したいだけでlinuxを載せる理由にはならない
無知ほどlinuxと喚きたがるだけ
421デフォルトの名無しさん:2008/12/07(日) 21:03:07
規模の話をしたつもりだったんだが、そんなにLinuxを毛嫌いする必要あるのかな
422デフォルトの名無しさん:2008/12/07(日) 21:05:13
〜のソフトがlinuxでしか動かない、
とか、ソフトの都合が多いね。
linuxが出てるのは大体ソフト屋の発想。
それで完成するのは大抵産業ゴミ。
423デフォルトの名無しさん:2008/12/07(日) 21:07:54
そして車輪の再発明
424デフォルトの名無しさん:2008/12/07(日) 21:11:27
>>421
そんな話してないだろ。
どこの誰さんですか?
425デフォルトの名無しさん:2008/12/07(日) 21:12:09
なにか都合が悪かった?
426デフォルトの名無しさん:2008/12/07(日) 21:13:29
経験から言えばLinuxが動かせる規模なら
最初からCEやWindows Embedded使った方が楽。
Linuxはソフト作ってくれる奴が確保できない。
427デフォルトの名無しさん:2008/12/07(日) 21:14:34
意味不明な理由でGPLになるしなあ
信じられんよ
428デフォルトの名無しさん:2008/12/07(日) 21:22:27
意味不明でGPLとか、それはあんまりだ
429デフォルトの名無しさん:2008/12/07(日) 21:29:52
NetBSDがアップを始めました
430デフォルトの名無しさん:2008/12/07(日) 21:34:30
Linuxを使っていいのは趣味レベルまで。
大手なら金の力で乗り切れる場合もあるが、
中小で下手に関わると悲惨なことにしかならない。
431デフォルトの名無しさん:2008/12/07(日) 21:38:13
このスレはシビアですね。
だがそれがいい。
432デフォルトの名無しさん:2008/12/07(日) 21:59:40
>>422
>それで完成するのは大抵産業ゴミ。
あるメーカのある民生品は、思いっきりlinuxだけどね。
ライセンス費のある組み込みOSは、民生品に入れるときついんじゃないのかね
433デフォルトの名無しさん:2008/12/07(日) 22:17:13
>>413

どっちかっつーと、こっちの幹事会員、A会員かと。
http://www.t-engine.org/japanese/member.html

純粋なソフト屋さんは数社しかないけど。
434デフォルトの名無しさん:2008/12/07(日) 22:17:49
>>432
そういう妄想はいくらでも吐けそうだよなw
何か明かせない理由でもあんのか?
435デフォルトの名無しさん:2008/12/07(日) 22:21:59
明かせない理由はずばり、
おもいっきりライセンス違反してて
明かすとしょっ引かれるから。
436デフォルトの名無しさん:2008/12/07(日) 22:22:10
>>434
いや、ネタ元にバレるとまずいから;
AV機器なんだけどね、英文字の日本の会社。
これ以上はかんべんしてくれ。
437デフォルトの名無しさん:2008/12/07(日) 22:24:32
当初Linuxで計画してたのが見事頓挫して、
別の物に丸ごとすげ変わった。
ってパターンだと明かせないわな。
438デフォルトの名無しさん:2008/12/07(日) 22:28:30
>>436
だからさ、そんな明かせない事例なんかここで出しても
お前の妄想と変わらんだろ。
439デフォルトの名無しさん:2008/12/07(日) 22:35:49
>>438
悪いが釣られないよ
組み込みlinuxを大量生産の民生品に使うケースもあるってことだ
440デフォルトの名無しさん:2008/12/07(日) 22:42:19
絶対あるもん!
いやいや
絶対あるもん!
いやいや

・・・バカ?
441デフォルトの名無しさん:2008/12/07(日) 22:49:47
明かせない理由→バレるとまずい
はいはい
442デフォルトの名無しさん:2008/12/07(日) 22:50:33
昔linux組み込んだルーターでライセンス問題になって大騒ぎしたことがあったよなあ…
今どうしてるんだろう
443デフォルトの名無しさん:2008/12/07(日) 22:53:02
どうしても、ないことにしたいらしいw
オレ的には、どうでもいいが

ttp://kaden.yahoo.co.jp/product/detail/002003009000/49475/urev_list/
ttp://homepage3.nifty.com/~mtok/prof/netjuke.html
444デフォルトの名無しさん:2008/12/07(日) 22:56:10
>>442
「もう2度と使わない」と悪態吐いてたろう

そういやLinksys GPL違反はどうなったんだろうな?
445デフォルトの名無しさん:2008/12/07(日) 22:58:33
糞煮程度デカイならそりゃ何だって作れるだろ
アホか
446デフォルトの名無しさん:2008/12/07(日) 23:04:08
linuxはドライバが強制GPL。
その時点でありえない。
NetBSDの方はまだ可能性がある。
447デフォルトの名無しさん:2008/12/07(日) 23:27:43
>>446
可能性があるつーか、
あっちこっちのネットワーク機器がNetBSDじゃん
448デフォルトの名無しさん:2008/12/07(日) 23:36:21
某NASや一部のPDAの例外のせいで組み込み=Linux
みたいな考え違いをするバカが多いんだよ。
449デフォルトの名無しさん:2008/12/07(日) 23:50:30
その某PDAのSDドライバは黒いという話が・・・。
負けず劣らずユーザーも黒いけどね。
Linuxで組み込みは暗い話しか聞いた事がない。
あまり関わりたくないね。
450デフォルトの名無しさん:2008/12/07(日) 23:50:57
ドライバ部分はGPLにしたがって公開しなきゃいけないけど
ソフト部は公開する必要ないよね
低レベルのソフト会社には恐くて丸投げできないけど
451デフォルトの名無しさん:2008/12/08(月) 00:46:10
>>445
なに逆ギレしてんだ?こいつw
452デフォルトの名無しさん:2008/12/08(月) 02:53:05
低レベルなスレだと>>450の言う低レベルがどんな意味を持つのか分かりにくいな
453デフォルトの名無しさん:2008/12/08(月) 11:27:09
Linux積んでる民生機器といえば東芝RDシリーズがそうだが?
454デフォルトの名無しさん:2008/12/08(月) 11:46:17
何をいきがりたいのか知らんけど、
そうやってジャンル問わず探せば絶無なんてことはないし、
Linuxが使える状況なら使えばいいんでは
455デフォルトの名無しさん:2008/12/08(月) 11:54:39
>>454
どうしても使っていないと信じたい奴がひとりいるんだわさ
456デフォルトの名無しさん:2008/12/08(月) 12:03:04
>>453
起動がもっさりで有名になってしまったアレかw
457デフォルトの名無しさん:2008/12/08(月) 15:24:11
>>456
だから、コンセントを入れたときに既に起動させておいてスリープさせてる機器もあるけどね(笑)
458デフォルトの名無しさん:2008/12/15(月) 11:27:18
H8/500系を使い続けなければいけないんだ…
10年選手のFULLICEとヘボいデバッガしかないんだ…

何とかならないもんかなぁ…
459デフォルトの名無しさん:2008/12/15(月) 12:03:58
>>458
懐かしいなぁ>H8/500系
460デフォルトの名無しさん:2008/12/15(月) 19:47:41
>>458
デバッガなんかの世話になるヤワな体質の方をなんとかしたほうがいいと思うよマジで。
私見だがデバッガに頼る人っていうのはコードが汚いんだと思う。
十分可読的なコード書けば(もちろんデバッグは必要だが)デバッガなんていらん。
461デフォルトの名無しさん:2008/12/15(月) 20:26:44
保守性のあるコード書くのって難しいよね。
462デフォルトの名無しさん:2008/12/15(月) 22:15:48
>>460
規模によってだね。
小さくても、FPGAとかハードが絡むと、身の潔白を晴らすために必要。
463デフォルトの名無しさん:2008/12/15(月) 23:10:46
>>462
おまいと仕事したいぜ
おれの周りは動かないと全部ハードが悪いって思考停止する奴おおすぎ
こっちもハード確認用ファーム自前で用意して確認してるのに…
数時間後に同じハードを修正したといって渡すとちゃんと動き「やっぱりハードか」
ってどの口が言うって感じw
464デフォルトの名無しさん:2008/12/16(火) 02:04:17
>>463
同情するわw
いまやってるプロジェクトのチームは10数人の外人部隊だけど
トラブルがあると、全員が「オレか?」って自分のところを当たる
だから、解決も早い
力のある奴らってたいていそうだ
465デフォルトの名無しさん:2008/12/16(火) 04:05:29
それは・・・普通じゃないチームだな。脊髄反射で 「俺ではない」 が出るのが一般的だよな
466デフォルトの名無しさん:2008/12/17(水) 00:46:34
>>465
それなりに経験あるなら
そうは言ってても、最低限、自分の責任範囲+αくらいは
裏でこっそりみるだろ
467デフォルトの名無しさん:2008/12/17(水) 05:05:10
うちはそれだな。
468デフォルトの名無しさん:2008/12/17(水) 12:36:13
風の中のすぅ〜ばるぅ〜♪
469デフォルトの名無しさん:2008/12/17(水) 13:48:21
自分のとこチェックしてデバッグしてるうちに原因が特定できることあるしな。
それが他人のとこだったりしても。
470デフォルトの名無しさん:2008/12/24(水) 09:26:12
10数年前からベース変えずに色々な人間が書き加えてるようなソースに
保守性なんか無いんじゃああああああああっ!
仕向け先ごとに別々の改造入ってるし

ああ、全部書き直したい・・・
471デフォルトの名無しさん:2008/12/24(水) 11:23:18
>>470
そこまで熟成してしまったら、同じものを一から再構成するのは
不可能でないかと思うわけで。

かと言って最初からそこまで考えて作る余裕もないんだよなあ。

472デフォルトの名無しさん:2008/12/24(水) 12:42:30
OSなどは0から書き直したりしてるよね
あれは売るためでもあるけど
473デフォルトの名無しさん:2008/12/24(水) 15:09:29
OSなんかはマニュアルちゃんとしてりゃ、それに合わせておけば
何も問題ないからねえ。

書いていないような所で微妙に変わっても、今回からそーいう仕様に
なりましたで終わりそうだし。
474デフォルトの名無しさん:2008/12/24(水) 15:46:59
>>470
上司「一部変更でみこんでいる期間で10数年分を書き直して完全に同じ動作するようにできるならやってもいいよ」
475デフォルトの名無しさん:2008/12/24(水) 15:51:29
雛形が相当ひどかったのでは?
476デフォルトの名無しさん:2008/12/24(水) 16:35:07
その後10数年分の変更を見込んだ雛形なんて作れないだろ。
当時の仕様に対してきっちりしていたってその後好き勝手な変更加わればめちゃくちゃになるよ。
477デフォルトの名無しさん:2008/12/24(水) 16:58:37
実際OS(カーネル)書いていますが、元ネタは、10年くらい前のやつ。
それまで、担当者は何人か変わっていますが、「好き勝手でない」レベルで
統一された保守がされていた感じがします。

マイコンが違うので当然ソースは全面変更なのですが、処理方法など、フシュウではなく、当初の
ものを踏襲してます。建前上、新規作成ですが、私的には流用と思っています。

私から、また担当が替わって、次の人が見たときは、勝手な変更が加えられたと思われるかも
しれませんが、...

478デフォルトの名無しさん:2008/12/24(水) 17:39:12
アセンブラ?
479デフォルトの名無しさん:2008/12/24(水) 20:28:09
Windowsの深層部にはx86の超レガシーな命令が使われてるらしいね
だからx86はいつまで経っても互換性の縛りから抜け出せない
480デフォルトの名無しさん:2008/12/24(水) 21:02:34
Windowsはx86以外にも出てたんだがな
481デフォルトの名無しさん:2008/12/24(水) 21:07:04
えっ、そうなの?
482デフォルトの名無しさん:2008/12/24(水) 21:16:09
WindowsNTにはAlpha MIPS PowerPCで動くものもあったし
WindowsCEだとSH4とかARMとか色々あるんだが?
483デフォルトの名無しさん:2008/12/24(水) 21:19:53
そもそもブートする時以外に「レガシーな」命令なんて使ってるの?w
484デフォルトの名無しさん:2008/12/24(水) 23:36:24
移植性ってあったの?
485デフォルトの名無しさん:2008/12/25(木) 13:47:45
>>483
16ビットモードという意味では起動時だけだな。

ていうか479は釣り。加算命令とか基本的な命令はレガシーかつ現役。
そういう命令の互換性が必要なんだし、遺物のような命令は使われなく
なってる(LOOPだとか)。
486デフォルトの名無しさん:2008/12/26(金) 06:10:46
セグメントのあたりも初期化以外に使われないのが色々ありそうだが。

487デフォルトの名無しさん:2008/12/26(金) 06:51:55
>>486

セグメント関係は、メモリ管理でバリバリ使うよ。
OSの実装にもよるけど。

つーか、そろそろスレ違いだろ。
488デフォルトの名無しさん:2008/12/26(金) 22:43:12
折角高速化を期待してアセンブリ言語で書いてるのに
LOOP とか遅い命令使ってもしゃーないしな。
489デフォルトの名無しさん:2008/12/27(土) 08:33:04
>>487

セグメントをメモリ管理でバリバリ使うOSって何?

セグメントは面倒なだけであまりメリットがないと思うんだよな。
32bit 以上のOSでは、初期化以外には使っていないっていうのは
俺も同じ認識なんだが。

8086/80186/80286みたいなアドレッシングできる範囲が実アドレス
空間より狭い場合にやむをえず使うって感じじゃないの?
490デフォルトの名無しさん:2008/12/27(土) 08:44:08
OS-2
491デフォルトの名無しさん:2008/12/27(土) 10:12:57
>>490

OS-2ってOS/2のこと? OS/2 もWarp からは32ビットなんで
セグメントは使ってなかったのでは。

すでにサポート終了したOSしか例がないんだったら、
現在はセグメントをバリバリ使ってプログラムするOSなんて
ないって結論でいいのかな。
492デフォルトの名無しさん:2008/12/27(土) 11:06:55
そりゃぁ、「プログラムするOS」なんてないだろ。
セグメントを使って管理していたとしても。
493デフォルトの名無しさん:2008/12/27(土) 11:41:20
それは誤解ですね。

x86の16ビットOSの場合、64Kを超えるプログラムを作る場合は
セグメントを意識せずにプログラムの作成はできないよ。

正確には、コードとデータそれぞれ64Kまで、それを超えると
コードは、セグメントの関数CALL、データはセグメントの切り替えが
必要になる。

ライブラリで覆い隠している場合はあるかもしれないが、OSだけが
管理すれば良いって話ではない。
494デフォルトの名無しさん:2008/12/27(土) 11:57:22
>>493
それは8086などの16ビットCPUに限定された話だろ。
今の話題は、セグメントレジスタを使ったプログラムをOSがするかどうかじゃないのか?
495デフォルトの名無しさん:2008/12/27(土) 16:00:03
Linuxの何かで、32ビットモードで実メモリ4Gオーバーを扱えるようにした
拡張バージョンとかやってなかったっけ?
496デフォルトの名無しさん:2008/12/27(土) 23:53:13
もしかして、OS がメモリ管理にセグメントを使うって話じゃなくて、
アプリケーション側がメモリ管理にセグメントを使うかどうかって話なのか?
現状では普通アプリケーション側にセグメントをいじる権限は与えないのが普通だな。
497デフォルトの名無しさん:2008/12/28(日) 12:19:10
じゃなくて、セグメントを利用した2次元アドレッシングを活用してるかどうか、という話。
498デフォルトの名無しさん:2008/12/29(月) 03:09:32
NetBSDやLinuxの移植って難しいよね…
まず何から勉強したらいいのかな…
BootLoaderは何がいいのかな…
499デフォルトの名無しさん:2008/12/29(月) 23:32:53
>>498
GPLが気にならないならU-Bootでいいだろ
500デフォルトの名無しさん:2008/12/30(火) 01:16:30
ありがと、まずはU-Bootの移植頑張ってみる
501 【小吉】 【215円】 :2009/01/01(木) 02:40:43
あけおめ!ただいまクロスコンパイル環境を構築中!
502デフォルトの名無しさん:2009/01/17(土) 12:48:43
static uchar replybuf[8];
usbMsgPtr = 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を使用です。
503デフォルトの名無しさん:2009/01/17(土) 13:01:05
コードが判らない
ちょっと1行ずつ何がしたいか解説して見ろ

i_adcl=ADCL;
i_adch=ADCH;
ret = (ADCW>>2);
何しとんの?
504デフォルトの名無しさん:2009/01/17(土) 13:01:09
>>502
>i_adcl=ADCL;
まず、ここに時差がある。
>i_adch=ADCH;
505デフォルトの名無しさん:2009/01/17(土) 13:09:40
>>503
確かにその部分は不要ですね・・・消します

>>504
時差があるとまずいでしょうか?
506デフォルトの名無しさん:2009/01/17(土) 13:15:31
↓adcの遷移はリニア
0x0FFF >i_adcl=ADCL;
0x1000 >i_adch=ADCH;

こうなる、ことがある。
507デフォルトの名無しさん:2009/01/17(土) 13:17:52
>>506
なるほど・・・とすると、同時性を確保するにはADCWだけ読み出せばよいのでしょうか?
しかし、ADCWを使って0-1024までの整数に表現する方法が分からないんです。
508デフォルトの名無しさん:2009/01/17(土) 13:18:24
>>502
フツーにソースの信号が実際に安定してないんじゃないの?

関係ないけどADCxと、その値をキャッシュしてる変数のビット幅って
それで一致してるの?

あと、504がたぶん言いたいことだと思うんだけど、(もし割り込みを使ってるなら)
サンプリングの間隔にもよるけど、2つのレジスタをアトミックに読み取るように
しないとまずいかもね。
今回の問題とは関係ないと思うけど。
509デフォルトの名無しさん:2009/01/17(土) 13:20:24
>>508
ソースはLEDを入力に使った距離センサーですし、値が低いときだけ暴走するので良く分からないです。
ノイズ源なども極力取り払いましたが・・・。

変数のビット幅は良く分かりません、参考にした本にはこれ以上のことが書いてなかったので良く分からないのですが、
少なくとも本の通りにやるとおかしな値になることだけは確かなんですよ・・・
510デフォルトの名無しさん:2009/01/17(土) 13:23:59
データシートによるとADCLを読み出したらADCHを読み出すまでは値は変化しないらしいぞ。
他の問題じゃないか?
511デフォルトの名無しさん:2009/01/17(土) 13:25:56
これか、
レジスタ名 bit7:0
ADCH ADC9 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2
ADCL ADC1 ADC0 - - - - - -
512デフォルトの名無しさん:2009/01/17(土) 13:26:32
情報が小出しになってしまって申し訳ないです。

uchar 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型にはめ込んで値を取得できますでしょうか?
513デフォルトの名無しさん:2009/01/17(土) 13:29:33
>>509
まあ一番可能性が高そうなのは、符号付1xビットのAD変換値の下位8ビットを、
unsigned charとして扱ってしまってるってところじゃないの?

ADCxはどう定義されてる?
514デフォルトの名無しさん:2009/01/17(土) 13:34:43
>>513
AD系の定義は、io.hの

#define ADCW _SFR_MEM16 (0x78)
#define ADCL _SFR_MEM8 (0x78)
#define ADCH _SFR_MEM8 (0x79)

という記述がありました。
数字から察するに16bit,8bit,8bitということなのでしょうか?
515デフォルトの名無しさん:2009/01/17(土) 13:36:27
>>510
なるほど。
となるとADCLだけじゃなく、ADCHの遷移とかもないとわからないな・・。
516デフォルトの名無しさん:2009/01/17(土) 13:38:23
>>515
上のを実際に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
517デフォルトの名無しさん:2009/01/17(土) 13:40:32
>>512
ちょっとまて、
コードが無茶苦茶だぞ

replybuf[3]=ADCL + (ADCH<<8);
replybuf[4]=~(ADCW>>2);
replybuf[5]=i_adcl|i_adch;
ADCSRA=0x96;
これらはほんとに正しいのか?
まるで意味判ってないだろ
こんなんでは質問しても時間の無駄
C言語仕様書とデータシート100回読み直して出直してこい
518デフォルトの名無しさん:2009/01/17(土) 13:49:19
>>516
なんだこれ見る限り、AD変換値は何も問題なさそうじゃん。

bug[1]がADCの下位8ビット、buf[2]が上位8ビットだよね?
ひょっとして「ビットの並びでどうやって数を表現するか?」から知らない人?
519デフォルトの名無しさん:2009/01/17(土) 13:50:04
>>516
buf[1]= 83 buf[2]= 1 -->83+256
buf[1]= 26 buf[2]= 1 -->26+256
buf[1]=255 buf[2]= 0 -->255+0
ばらつきはあるけど、別におかしくないんじゃないか?
520デフォルトの名無しさん:2009/01/17(土) 13:53:24
>>518
うっく・・・よく分からんです・・・

>>519
なるほど・・・!
ということは両方の値を足してやって、256を引けば良いということですか・・・
521デフォルトの名無しさん:2009/01/17(土) 14:00:49
>>520
(ADCH<<8);

これ、
ADCH=1 とか、ADCH=2
のとき、計算結果がどうなるかわかるか?
522デフォルトの名無しさん: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はビットを意識できないとどうしようもないぞ
523デフォルトの名無しさん:2009/01/17(土) 14:04:13
お前等やさしいなw
524デフォルトの名無しさん:2009/01/17(土) 14:10:30
>>521
ビットパターンの表を見て、今やっと上位ビットと下位ビットの意味を理解しました。

>>522
恐れ入ります。
本当はもっと勉強したいのですが、月曜に最終発表なのでとにかく少しでも進めないといけないんですよ。
でもおかげさまで参考になりました。値の取得は結構うまく出来てるようなので、ビット表とにらめっこしながら正しい値を取れるようにしてみます。
525デフォルトの名無しさん:2009/01/17(土) 14:18:07
学生か? 悪いことは言わないから一年やり直せ。
526デフォルトの名無しさん:2009/01/17(土) 14:20:39
まあそう必要以上に煽るなよ。
逆切れしてる訳でもない奴を一方的に煽るのはちょっとみっともないぞ。

でもマイコン弄るのにバイナリによる整数表現も理解してないのは
かなりマズいのは確かだねw
527デフォルトの名無しさん:2009/01/17(土) 14:20:57
replybuf[0]=data[7];
replybuf[6]=data[6];
・・わけわからん
あまり時間は無さそうだが、
変数名ぐらいはきちんと考えてつけた方がいいぞ
おれがこんなの受け取ったら作り直せと言うがなあ

一度tiny辺りのギリギリの環境で修行した方がいい
mega88はもったいない
528デフォルトの名無しさん:2009/01/17(土) 14:26:29
>>525
まだ1年なのでそれはきついっす。

>>526
ですよね。。
しかしこれだけでも少しは勉強になったので、次回以降は同じことでつまずかないようにします。

>>527
1から作る力がないんで、元々教授が作ったソースを改変して作ってるので、多分その名残だと思います。
USBで123456と送ると、612345にして返すとかいう単純なプログラムだった記憶があります
megaにしたのも「AD変換するならmegaのほうがいい」といわれて決めただけなので、入門どころか門前で土下座してるような状態です。
529デフォルトの名無しさん:2009/01/18(日) 22:10:48
Linuxがどうとかって話があったよな
ttp://www.technobahn.com/cgi-bin/news/read2?f=200901141509
530デフォルトの名無しさん:2009/01/18(日) 23:32:32
Palmに飽き足らず、
こんどはlinuxを潰す気か
531デフォルトの名無しさん:2009/01/19(月) 20:21:20
Linuxに法則発動か。
ナンマイダブナンマイダブ。
532デフォルトの名無しさん:2009/01/19(月) 20:26:10
上の方じゃcharにword押し込んでるのに指摘しない人ばっかだし。
組込み業界に法則発動してるんじゃね?ww
533デフォルトの名無しさん:2009/01/19(月) 20:29:12
小出しにされたから
534デフォルトの名無しさん:2009/01/22(木) 13:16:29
SH2で2chのシリアル受信を同時に行いたいんです。

データの取りこぼしがないようにDTCとDMAを
使おうと思ってます。
大筋でどんな感じにすればいいでしょうか?
535デフォルトの名無しさん:2009/01/22(木) 15:16:14
ブー
536デフォルトの名無しさん:2009/01/22(木) 15:52:24
>>534 H8系はたくさんやってるから助言はできるとおもうが、レートを書いてくれないことには
方針が確認できないじゃん。イックニか384くらいまでなら割り込みでも取りこぼさないし。
俺はふつうに割り込みで書いて、耐久性はringバッファのサイズで調整したぞ。
537534:2009/01/22(木) 17:02:55
ボーレートは38400です。
参考までにリングバッファのサイズは
どれくらいまで大丈夫でしたでしょうか?
538534: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    //割り込み許可
------------------------------------------------
539534:2009/01/22(木) 17:28:11
連投すみません。

INTDI  //割り込み禁止

の間違いです。
540デフォルトの名無しさん:2009/01/22(木) 18:20:24
384なら普通に割り込みで問題ないと思う
541デフォルトの名無しさん:2009/01/22(木) 18:34:50
割り込み突入時は割り込み禁止状態だよ。
542デフォルトの名無しさん:2009/01/22(木) 18:35:57
SH2だと割り込みレベルで考えなきゃいけないんだった。
543デフォルトの名無しさん:2009/01/22(木) 19:01:33
多重割り込みしないと取りこぼすよ
禁止にしない方向で
544デフォルトの名無しさん:2009/01/22(木) 19:06:29
割り込み以外のところで長めの割り込み禁止があったら、地獄行きだろうな?
545534:2009/01/22(木) 19:12:29
みんなありがとう!
とりあえず割り込み関数の中の割り込み禁止は無くしました。
が、やっぱり取りこぼしが発生しているみたいです。(;;)

受信したデータをmainループで回して処理していて、
その度にRecCount をデクリメントしてるんだけど、
処理が追いつかずにRecCountの値が
MAX_REC_BUFを超えてしまうんです。
これは、DMA&DTCを使っても同じことなんでしょうか・・・
546デフォルトの名無しさん:2009/01/22(木) 19:14:31
RecCount をデクリメントしてるところで
SCIの割り込みがかからないようにしてる?
547534:2009/01/22(木) 19:18:52
>546さん
してます。
具体的には、こんな感じに。

-----------------------------------------------
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
-------------------------------------------
548デフォルトの名無しさん:2009/01/22(木) 19:26:50
INTDI
uiSCI0_RecCount -= 1;
INTEI
って、感じかな?
それでだめなら、SCIのエラーを調べてみるとか
1CHだけで動かして処理が間違ってないか確認するとか
549デフォルトの名無しさん:2009/01/22(木) 20:12:50
RecCountっているの?

#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)
こんなんでいいのでは
550デフォルトの名無しさん:2009/01/22(木) 20:35:08
それだとPutがGetを追い越さない判定が必要?
551デフォルトの名無しさん:2009/01/22(木) 20:42:03
追い越してもいい作り
256バイトの間読まなかったらそれはリードの責任ということで
552デフォルトの名無しさん:2009/01/22(木) 21:18:25
それと、受信割り込みが2つあるなら>>549のセットも2つ用意するべき
1つのバッファで受けようとすると予期しないことが起こる
2つのバッファで受けて、メインルーチンで順番に処理する
フロー制御する場合は割り込み側でバッファのポインタを見て行う
553デフォルトの名無しさん:2009/01/22(木) 21:25:04
フロー制御するなら、別にカウンタがいるのでは?
554534:2009/01/22(木) 21:46:33
>>548さん
試してみましたが、駄目でした。
片CHのみの動作は各ch共にOKで、
SCIエラーなどは発生していないです。

>>549さん
ご指摘のような感じにも書き直してみましたが、
状況変わらずです。
やはりメインルーチン側の読み取りが
追いつかないようです。
ちなみバッファは各ch用意しています。

外部からのシリアルデータは2つのCHに
常に同時に入ってくるような動作をするのが
ネックのような気もします。
555デフォルトの名無しさん:2009/01/22(木) 21:50:18
マイコンの動作クロックは上げられないの?
もしくはフロー制御は出来ないの?
556デフォルトの名無しさん:2009/01/22(木) 21:54:15
もしくは受信バッファのサイズを大きくしてみるとか?
557デフォルトの名無しさん:2009/01/22(木) 21:59:00
追いつかないってことは割り込みが連続で発生して
メインルーチンに処理が戻ってこないとかかね
もしそうなら見積もりが甘かったな
マイコンの選定からやり直しだ
558デフォルトの名無しさん:2009/01/22(木) 22:09:49
せめて割り込み部分はアセンブラでギチギチに書いてクロックを稼ぐ
多分何も考えずにCに吐かせると、えらい無駄なコードになってるだろうから
559デフォルトの名無しさん:2009/01/22(木) 22:10:32
なんか論点ズレてると思うんだよね。

俺は恐らく>>534の書いたコードのアルゴリズムが根本的に下手なだけだとおもう。
「RecCount をデクリメント」なんて書いてる時点で変だと思う奴が誰もいないのかよ。

何かのフラグをメインでポーリングして1バイトずつチビチビ処理するような
コードになってるんだろうけど、そりゃそんなやり方じゃダメだろ。

デリミタ方式かSTX,ETXみたいなやり方かわからんけど、
一区切りのデータがバッファに入った時点で丸ごとバッファからデキューして
処理するように書かないと。
560デフォルトの名無しさん:2009/01/22(木) 22:18:16
最適化してコンパイルしてなかったとか?
561534:2009/01/23(金) 01:05:59
皆さん、アドバイスありがとうございます!
>>555さん
動作クロックをあげたり、フロー制御を入れたりというのは
出来ないんです。
>>556さん
バッファのサイズはもっといろいろと試してみたいと思います。
>>557さん
メインに全く戻らないという訳ではないです。
ただ受信のピークに取りこぼしが発生しちゃっている感じですね。
>>558さん
アセンブラ・・・出来ることなら避けたいです・・・
>>559さん
ご指摘の通りでポーリングで回して
受信したデータを解析、処理させています。

決まったデリミタがなく、通信の長さがまちまちのものから、
必要な一部のデータだけ抜き取らないといけないので、
どう区切るかが難しいのですけども。

メインでちまちまとデータを解析するなら、DTC使おうが、
DMA使おうが状況は同じでしょうか?
>>560さん
そんなことはないです。
562デフォルトの名無しさん:2009/01/23(金) 01:22:59
>>561
だから一番誰でも思いつく単純でわかりやすい方法は、
少なくともデータの区切りかどうかの判定まではISRの中でやってしまうこと。

一区切りのデータを受信した時点で初めてフラグを立てるんだよ。
で通常ルーチンでバッファの中のひとまとまりのデータを解析すればいい。
563デフォルトの名無しさん:2009/01/23(金) 01:28:03
2CH分のデータ解析処理を同時に動くように工夫した方がいいような。
564デフォルトの名無しさん:2009/01/23(金) 04:00:23
他の割り込みは使ってる?タイマとか。SCIの割り込みレベルを最優先にしてる?
256というサイズは何から決めた?通信の1バーストがそれより短いことは確実?
バーストとバーストの間のお休みはどの位?
決まったデリミタが無い状況で何を手がかりに切り出してるの?

俺が書いたpgmでは、デリミタを認識して状態遷移する部分はメインループに書いたな。
割り込みはringに蓄積するのみ。遅いレートならメインループ1回に1文字取り出す方式でも
充分ついていったし。384なら、while(今ringに溜まってる分)取り出す方式のがいいかもだが、
2ch並行処理がぎくしゃくすると思うから、前者を奨めるなあ。
565564:2009/01/23(金) 04:06:50
こんな感じ:
for(;;)
 if( uiSCI0_RecCount )
  chtask0();  // CH0の取り出し・解析
 if( uiSCI1_RecCount )
  chtask1();  // CH1の取り出し・解析
}
3MHzの8085で、4.8Kを4CH同時に処理できたよ。38400でも割り込み間隔1/8でしょ。
32bit機で、clockが10倍ぐらいなら十分以上に余裕があるはず。
566デフォルトの名無しさん:2009/01/23(金) 05:00:23
>>538
1バイトしか読んでないような気がするんだが、
なぜ FIFO が空になるまで読み出さない?
567デフォルトの名無しさん:2009/01/23(金) 16:31:27
解析が始まると終了するまで処理続けてるとか?
568534:2009/01/23(金) 18:19:49
皆さんから頂いたアドバイスに基づいて、
シリアル受信部で一定の処理の後、
フラグを立て、そのフラグをメインループで
見て解析を行うように変更してみました。

しかしながら、片方のCHは動作してくれるものの、
もう片方はデータを取りこぼしてしまい
正常に動きません。

やはり、シリアルの受信をDMA、DTCで
バッファに格納しないとだめなのではないでしょうか?
(もし理解に誤りがありましたら、ご指摘ください。)

タクトタイムは1秒間に20回ほど、
1回につき両CHにそれぞれ240バイトほどの
データが送られてきます。
569デフォルトの名無しさん:2009/01/23(金) 18:47:41
データを取りこぼしてしまいって、
通信エラーじゃなくて解析が間に合わないってこと?
570534:2009/01/23(金) 18:54:36
受信したバッファとラインモニタの内容を
比較すると受信したバッファが飛び飛びに
なっているんです。
571デフォルトの名無しさん:2009/01/23(金) 19:06:39
試しにシリアルの速度落としてみれば?
速度化ロジックかすら分からないのだとしたら。
572デフォルトの名無しさん:2009/01/23(金) 19:07:08
>>571
速度かロジックか、ね。
573デフォルトの名無しさん:2009/01/23(金) 19:36:08
マイコンの動作クロックが気になる。
574534:2009/01/23(金) 20:00:01
水晶が12.288Mhzで
動作モードはモード2。
クロックモードは3(MD2=1、MD3=1)です。

送信元の速度は固定なので、速度は落とせないんです・・・
575デフォルトの名無しさん:2009/01/23(金) 20:36:43
取りこぼすCHの割り込み優先順位を上げてみる。
576H.K:2009/01/23(金) 20:41:46
[5]
#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回目にならず終了してしまうため直してください
577デフォルトの名無しさん:2009/01/23(金) 20:46:30
嫌です
578534:2009/01/23(金) 20:50:36
>>575さん
CH1を優先すれば、CH2が取りこぼれ
CH2を優先すれば、CH1が・・・
579デフォルトの名無しさん:2009/01/23(金) 20:56:03
>>566の指摘が正解かも?
580デフォルトの名無しさん:2009/01/23(金) 21:12:28
割り込み処理をいじって負荷が掛かるようになったんじゃないの?
581デフォルトの名無しさん:2009/01/23(金) 22:11:37
>>578
対向機の速度を変えられないならダミーを作ればいいじゃない。
Windowsにも相変わらず端末エミュレータがついているんだから。
582デフォルトの名無しさん:2009/01/24(土) 00:47:11
RecCountにvolatileつけないとコードによっては最適化でとんでもないことになってるかも?
583デフォルトの名無しさん:2009/01/24(土) 03:09:01
>>547
uiCHってどうなってんの?
両chでenqueueされたら、もちろん両chでdequeueしてるんだよね?
584534:2009/01/24(土) 19:39:19
>579
シリアルの割り込み時に、まとめて受信する。
なんて出来ましたでしょうか?
>580
上に書いたのそんなに変わらないです。
>582
RecCountにVolatileはついてないですが、
同時にデータが入ってこなければ、ちゃんと動いているんですよね・・・
>583
メインループでCH1とCH2を交互に呼んでいるだけですよ。
585デフォルトの名無しさん:2009/01/24(土) 19:49:24
割り込み処理中にSCI2.SSR.BIT.RDRFが再度立つ可能性がある。
今の状況だと、割り込み処理が悪いのかデータ解析処理が悪いのかわからないので、
片CHをデータ処理しないで空読みだけして、
バッファの内容がおかしくならないかどうか確認してみては?
586583:2009/01/24(土) 20:08:16
>>584
>>547では各chバッファにデータが入っているかどうかを
main側がどのように判定しているのかが読み取れない。
>>547のコードをCH1(uiCHが0)とCH2(uiCHが0以外)で交互に呼ぶだけだったら、
とても正常に動くようには見えないよ。
587デフォルトの名無しさん:2009/01/25(日) 03:53:36
だな。>>565みたいに、それぞれのCHのringにデータがあるときは切り出し処理をする、
っていうふうに書いてあるのかな?

>>584 SH2のそのシリーズがどうかはワカラナイけど、シリアルがFIFOを持っていて、
FIFOに幾つ溜まるとRDRFが立つのか、その敷居値を設定するレジスタがある奴もある。
ここではふつうにFIFO無しで、1バイト受信があったらRDRFが立つシリーズだと思ってる。
SH2の型番書いてくれたら、ルネサスのサイトでマニュアル読めるのだが。FIFO付きかどうか
ここで答えてくれれば、つぶす方向がひとつ減るね。

INTDI/INTEIが必要なのは、割り込み処理の入り口・出口ではなくて、メインtask側で
それぞれのCHのRecCountを--する時だけだよ。そのことは解ってる?
ringbuffer[リードポインタ]からバイトread
INTDI
uiCHx.RecCount--;
INTEI
こういうふうに書くのがいちばん負荷が少ない。
588534:2009/01/25(日) 11:31:39
>585さん
試してみたいと思います。
>586さん
547の前に
--------------------------------
  if (uiSCI0_RecCount==0){
     return(-1);
}
----------------------------
と書いてます。
>587さん
SH2-7144を使っています。

INTDI/INTEIに関しては、前にもご指摘をいただいたので、
・割り込みの入り口・出口にはなし
・RecCount--にだけ書く
はやっています。
589デフォルトの名無しさん:2009/01/25(日) 13:13:27
>>588
それだと、CH1が受信していないあいだは、CH2はチェックされないのだが。
590534:2009/01/25(日) 13:18:34
>589さん
いや、当然CH2も同じようにチェックしてますよ。
591デフォルトの名無しさん:2009/01/25(日) 13:56:35
>>590
「547の前に書いている」と言っているが、いったいどういうコードになってるんだ?
こちらとしてはコードがバグってる可能性を疑っているのであって、
「当然正しく作ってますよ」的な説明では全く意味が無いのです。
もしコードのレビューが必要なら、できるだけ無加工なものをどこかに貼っておけば、誰かが見るでしょう。
592534:2009/01/25(日) 14:46:38
とりあえず、547の関数全部書いて見ますね。
この関数をメインループの関数から呼び出して
コードを解析する流れとなっています。
593534:2009/01/25(日) 14:47:44
int sio_rec(_UBYTE ucCH){
_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);
}
594デフォルトの名無しさん:2009/01/25(日) 15:15:55
>>588 MyDocumentsに rjj09b0026_sh7144.pdf があった。 このシリーズでいいよね?
593のコードは自分のテキストエディタに貼って、自分の書いたコードと見比べてみるよ。
595デフォルトの名無しさん:2009/01/25(日) 15:19:37
>>593
if (uiSCI0_RecCount==0){
return(-1);
}
}else{
if (uiSCI2_RecCount==0) {
return(-1);
}
これは・・・いいのか?
596デフォルトの名無しさん:2009/01/25(日) 15:26:41
>>593
uiSCI0_RecCount と uiSCI2_RecCount をvolatileにしないと危ないが、
そこ以外は良さそうだ。

そもそもリングバッファのサイズは256で足りてるのだろうか。
enqueue側でオーバーフローした場合に検知できるようにしてみたら?
597534:2009/01/25(日) 15:28:24
>594さん
はい。そのシリーズです。
>595さん
返り値が-1の時は解析処理を行わない。という風にしてます。
598デフォルトの名無しさん:2009/01/25(日) 15:34:31
pdfの、SCIのとこざっと読んだ。FIFOは無いタイプ。だからRDRFの度に1バイト読み取り、
ringに蓄積する方式でいい。 593の、int sio_rec(_UBYTE ucCH) をメインloopから呼ぶには
たぶん、ucCHを0かそれ以外で呼んでいるよね。上の方でCH0/CH1で使っていると書いてた
ように思うが、sio_rec()関数の中ではCH0でないとき、SCI2_xxxxxの資源を読んでいる。
ハードの接続条件をもう一度確認してみて。2CHというのは、CH0/CH1なの?CH0/CH2なの?
599デフォルトの名無しさん:2009/01/25(日) 15:34:46
>>597
そうじゃなくて
uiSCI0_RecCount==0
uiSCI2_RecCount!=0
になることはないってこと?
600598:2009/01/25(日) 15:39:20
おお、俺以外にも暇人が多数。>>597 良かったね。

それにしても関数の設計が冗長だな。なんでmainから呼ぶのに「このCHのデータ返してね」
と呼んで、しかも返却値に「無かったよ」とか作るんだ。>>565のように作ればイベントドリブン
な作りにできるし、「無かったよ」 なんていうリターンコードも無しにできるのに。
601598:2009/01/25(日) 15:45:47
割り込み処理は、CH毎に別個に用意してるよね?=ベクタが指すルーチンは
(コードが似ていても)物理的に別ルーチンにしてあるよね?
それぞれのCH毎に、ライトポインタ・リードポインタ・RecCountを持っているよね?
ライトポインタの更新は割り込み側からのみ、リードポインタの更新はメインループ側からのみ
行っているよね? RecCountの更新については既に確認したけど。
602598:2009/01/25(日) 15:56:57
まだ「冗長」というだけで間違いは見つからないが、とりあえず、呼び出すときに各CHの
RecCountが0でないときのみ呼び出す形にするだけで、return(-1)が要らなくなる。
sio_rec1( )とsio_rec2( )に分けると引数のucCHが要らなくなるしそれを判定するif文も要らない。
残る本質はリードポインタ(RecGetがそうだよね?)からのgetとRecCount--だけになる。
コンパイラによっては-=1;と--;で違うコードを吐くものもあるので、減算は--;でやって欲しい。
また何か気が付いたら書く。チェックして欲しいコードは貼ってくれ。ちょっとお茶タイム。
603598:2009/01/25(日) 16:38:06
>>599の指摘について考えてみた。どちらかのCHについてreturn(-1);を返す条件が成立した時
にも、もう一方のCHについては処理すべきデータがあるかもしれないわけだ。そちらは次の
メインループで引っかかると考えているのだろうが、そこに遅れが入り込む余地があるね。

呼び出し側で(565のように)RecCountを判定するのも、呼ばれ側で判定するのも、僅かな
タイミングの違いだけで同じ、と考えたみたいだけど・・・違うのかもしれない。
604598:2009/01/25(日) 16:45:41
メイン側は、sio_rec( )の結果を(-1でない場合は)受信したバイトとして解析処理に渡すのだと
おもう。この推測で合ってる? とりあえず、上で冗長と指摘した部分を刈り込んでみては?
sio_rec( )を呼び出す前にRecCountを判定する。sio_rec( )はRecCountがある(=非0)場合のみ
呼び出されるのだから、必ず減算処理をしてよい。CH0と2でルーチンを別にすれば引数も
それに対する判定も要らない。
605デフォルトの名無しさん:2009/01/25(日) 16:51:23
1レスにまとめて書いてくれよ
606598:2009/01/25(日) 17:31:07
もう就寝時間・・・あとは明日未明にです。お休みなさいZZz.・・・
607デフォルトの名無しさん:2009/01/25(日) 18:32:31
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;
}
}
else
for(;;);
って、やってみたらどうよ。
608598:2009/01/26(月) 03:22:33
私の、製品になっている(確認済みの)割り込み処理は:
void 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が潤沢でないから、でいいのかな?
609デフォルトの名無しさん:2009/01/26(月) 15:17:52
>1回につき両CHにそれぞれ240バイトほどの
>データが送られてきます。
610534: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さん
なるほど。バッファサイズが妥当なのかどうか、切り分けが出来ますね。
611534:2009/01/26(月) 15:30:44
>598さん
たくさんのレス本当にありがとうございます。

>2CHというのは、CH0/CH1なの?CH0/CH2なの?
CH0 → SIO0使用
CH1 → SIO2使用
となっています。

>関数の設計が冗長だな
指摘されて、すごく勉強になっています。
コードが冗長部分も見直していきたいと思います。

>割り込み処理は、物理的に別ルーチンにしてあるよね?
はい。それぞれ別ルーチンで持っています。

>CH毎に、ライトポインタ・リードポインタ・RecCountを持っているよね?
はい。持っています。

>メイン側は、sio_rec( )の結果を(-1でない場合は)受信したバイトとして解析処理に渡すのだとおもう。この推測で合ってる?
はい。その通りです。

>受信エラー割り込みはベクタが別ですよね。
>そちらではエラーフラグをリセットしてますか?
はい。しています。
ここらへんは別ソフトでの動作実績があることと、
各CHの独立した動作で問題ないことから大丈夫だと思うんですが。
612598:2009/01/26(月) 15:55:35
>1回につき両CHにそれぞれ240バイトほどの
>データが送られてきます。
いやこれは覚えていますが、その1回ごとの間のお休みがどの位、ってのはまだ未回答かと。
お休みが2mSぐらいだったりしたら、切れ目無しと変わらないし(w
1回240バイトほどで、「次が来るまでに解析処理が取り出し終わる程度に十分間隔が長ければ」
処理が間に合うんですよね。

>>611の回答からすると、ドライバ層は(多少冗長でも)だいじょぶっぽいですね。
するとメインの切り出しのほうを疑うべきじゃないかな。ringバッファにデータがあればそこから
バイトを取り出したあと、状態遷移をするような造りを、CH毎に書いてると思うのですが、
その辺はここに出すのはヤバいの? なんならメールで貰って見てあげてもいいよ。
613デフォルトの名無しさん:2009/01/26(月) 16:05:07
とりあえずポインタとカウンタ変数、計6つ?をregisterにしとき。
それとバッファサイズを256にしておけば、unsigned char宣言で
>if (uiSCI2_RecPut >= MAX_REC_BUF) {
>uiSCI2_RecPut = 0;
>}
こんな処理は必要なくなる。
614598:2009/01/26(月) 18:07:06
>>534 613は信じちゃダメだよ。 今日はもう寝ます。また明日未明Zzz・・・
615613:2009/01/26(月) 18:13:22
は?なんでだよ。255(0xff)をインクリメントしたらオーバーフローして0(0x00)になるだろうが。
そんなことも分からん人がアドバイスしてていいのか?
616デフォルトの名無しさん:2009/01/26(月) 18:38:02
データ解析後の処理って、データ解析処理と平行して処理できるようになってる?
617デフォルトの名無しさん:2009/01/27(火) 00:29:27
>>613は後でバッファサイズを増やしたくなったとき、
もしくは減らしたくなったときどうするんだろうな
618デフォルトの名無しさん:2009/01/27(火) 03:36:29
>>617
リングバッファ知らんの?
既に>>549でも指摘したが、バッファサイズを2の累乗にして
インデックスをそのバッファサイズ-1でマスクすると、
値はバッファの範囲(128なら0-127)を取る。
write : buf[pos++ & (BUFSIZE-1)] = data;
read : data = buf[pos++ & (BUFSIZE-1)];
posはBUFSIZEの範囲を表現できる型にしておく。
例えばBUFSIZEが1024ならposは16bit変数として宣言。
これ、リングバッファ作る時の常識ね。
619598:2009/01/27(火) 04:00:48
リングのmaskのことじゃないよ。>レジスタにしとき。←その6つはメモリであるべきでしょ。
リングのmaskなら608の書き方で615と同じに最適化されますよ。
もうじき朝飯食って出勤だから、また534と話ができるのは午後になっちゃうんだよな。
とりあえず、612の最後の行のためにメアド入れとく。
620デフォルトの名無しさん:2009/01/27(火) 04:01:51
>>618
その「常識」とやらはリングバッファを知ってるかどうかとは関係ない。

明示的にラップさせたほうがバッファサイズの調整が柔軟にできるだろ。
2の累乗サイズに固定することにたいした意味は無い。

たまたまバッファサイズが2の累乗になっていれば、明示的にラップさせる
コードをコンパイラが最適化の一部としてマスクなりオーバーフロー任せなりに
することもできる、かもしれない。そんなことはほとんどの場合ではどうでも
いいだろう。

本当に数命令の違いに意味があるなら、目立つコメントでバッファサイズの
制約を記載すべきだ。えらそうに「常識」なんて言わずにな。
621デフォルトの名無しさん:2009/01/27(火) 04:18:27
Linuxerにとっては常識。
ドザは常識が無い。
バカに組み込みが無理な好例と言えよう。
622デフォルトの名無しさん:2009/01/27(火) 04:21:24
nintendo ds と psp でlinux動かしたり出来るみたいですけどこれも組み込みなんでしょうか?
どうもusbドライバをハックしたり、ファームフェアをアップするときに自作のカーネルを入れてようなんですけど。
623デフォルトの名無しさん:2009/01/27(火) 06:05:53
>>620
>>618はな、>>608が示した
> uiSCI1_RecPut = (uiSCI1_RecPut+1)&(sizeof ucSCI1_RecBuf-1); /* リングポインタ更新 */

これと同じ意味なんだよ。
たまたま、じゃねーの。
常識なんだよカス。
624デフォルトの名無しさん:2009/01/27(火) 06:18:59
>>622
ゲーム機がARM使ってるからlinuxで動かせるねってだけ。
625デフォルトの名無しさん:2009/01/27(火) 06:45:37
LINとかの1線インターフェース(GND線含めて2本)
を試してみたいんですが、参考になるサイトが少ないです。
誰か知ってる人いませんか?
非同期のI2Cみたいな考え方でいいんでしょうか?
626613:2009/01/27(火) 11:02:13
>>534
データを取りこぼす原因としては
1)割り込みが間に合わずシリアルレジスタから読み込めなかった
2)データ処理が追いつかず受信バッファがフローした
のどちらかだと思うけど、今回は多分2)の方だよね
(本当は、そんなこと簡単に見極められるんだから>>534さんが調べて示さなきゃならんけど)

で、1回分の受信サイズを240として、2回分以上の512にバッファサイズを設定しても
取りこぼすってのは、根本的にデータ処理が間に合ってないということなので、
>>534さんがするべきことはとにかく高速化の1点。

なので高速化の一手法として>>613を書いたわけなんで、まぁ参考にしてください。
仮にレジスタ変数として使うことが出来たら今回のケースじゃ割込禁止/許可もいらんのじゃないか。
一度、コンパイル結果のアセンブリソースを見てみるといいよ。どういう無駄な処理が入ってるとか
すぐ分かるよ。
627デフォルトの名無しさん:2009/01/27(火) 11:28:10
uiSCI1_RecPut はどこで更新されるの?
628デフォルトの名無しさん:2009/01/27(火) 14:42:41
このスレ人は居るみたいだけど
話にならんレベル
629デフォルトの名無しさん:2009/01/27(火) 15:18:47
>>627 ringの書き込みポインタだから、受信割り込み処理の中。そこだけでいい。
mainで取り出すほうは読み出しポインタ(_RecGet)をring状に使って読み出す。
どれだけringに滞留しているかのカウンタが_RecCountで、この変数だけが割り込みと
メインループ両方から更新される。

>>628 もうちょっと遊びたかったのに、534も呆れて逃げちゃったみたい。
630デフォルトの名無しさん:2009/01/27(火) 16:21:49
DTC、DMA使っても同じ結果になるじゃないの、今回の場合?
631534:2009/01/27(火) 16:38:10
>613,626さん
確信犯的にオーバーフローさせるとは。メモメモ。
状況に応じて使ってみたいです。
アセンブリコードも眺めながら、最適化やってみますね。

>616さん
なっていますよ。
解析の進行具合をフラグで持つようにしています。

>598さん
>その1回ごとの間のお休みがどの位か
お休みは短くて60msくらい、長ければ100msくらいでしょうか。

>メインの切り出しのほうを疑うべきじゃないかな。
なるほど。
コードの記載はもう少し冗長な部分を省いて、
それで解決出来なかった時にさせてください。

実は今日から1週間ほど治具を貸し出すことになってしまい、
今は十分なテストが出来ないんです。
治具が戻ってきたら、また結果を書かせていただこうと思いますので、
どうぞよろしくお願いいたします。

>627さん
>629さんのおっしゃっている内容で合っています。
632598:2009/01/27(火) 17:42:30
おお、よかった。まだ呆れられてはいなかったか。ではまた明朝Zzz・・・
633534:2009/01/27(火) 17:55:46
>630さん
DMA、DTCの使用も試みているんですけど、
別の理由でまだうまく行きません。

DMA・・・受信は出来たけど、
    解析処理ルーチンが未完成。
DTC・・・ベクタの設定とか書いてみたけど、
    転送先に何も送られて来ず。
    何か間違っているみたい。

>598さん
呆れてなんてないですよ。
一人で煮詰まった状態で作業しても捗らないですし、
とても参考になっています。
634598:2009/01/28(水) 04:45:00
DMAは、受信する長さがきっちり決まってないと使えないよね。その辺はだいじょうぶなの?
石がSH2で38400が2CHなら、割り込みに食われる比率なんて屁みたいなもんだから、
今回はringバッファでいいと思うけどなあ・・・ 受信の物理層を速くしても、そこじゃないって
ことなら、アプリ層の改善は必須だし。

水晶は12.288とのことでしたが、RISC方式の説明の所には40MHz動作時・・・とかある。
SHで12M程度の動作のわけないなと感じてたが、実際の動作周波数はどの位?
635598:2009/01/29(木) 15:09:34
メインタスク側で受信フレームを再構成するときの常套手段:
・フレームにタイマ張る。「頭」バイトを検出して「中身待ち」に遷移するときに、bitrate*フレーム長
 から想定される時間*(1.5〜2.5)ぐらいのタイマを張り、break時には「頭待ち」へ戻す。
 フレームの途中でコネクタが抜けるなどしたときの回復手順。

受信エラーバイトを含むフレームを捨てるようにしてある?
・コードがASCIIとかの、8bitの中でも限定された文字セットなら、受信エラー時の文字を
 (FFとかの)使わない文字に変えてringに入れる。
・通信がバイナリとかで、8bit全ての文字を使うなら上の手法は使えないので、割り込みから
 メインに伝えるイベントコードを16bitにして、0000〜00FFは受信バイト、80xxは受信エラー
 のバイト、とかやる。
メイン側では、フレーム再構成の際に上記の「受信エラー文字」を読みとったら「頭待ち」へ
遷移する。
636598:2009/01/29(木) 15:15:56
「尻尾」文字を検出したら、「頭」とは違う長さのタイマを張り、「回線切れ」 を監視する。
「お休み時間」の2〜2.5倍ぐらいにするのが一般的。break時には 「受信したデータ」を消し
「受信無し」状態に戻る。( 状態は「頭待ち」 だが、受信済みデータも無し(=起動時と一緒) )

一般的な手法助言はこんなもんかと。あとは具体例が出されたら考える。
637デフォルトの名無しさん:2009/01/29(木) 17:16:13
以上、2ch無料サポートセンターでした
638598:2009/01/30(金) 15:46:40
んま〜、なんとフォローのいいこと♪ 534さんが出てこないのは、そうとう悩んでるな
639デフォルトの名無しさん:2009/02/01(日) 07:12:51
8bitMCUで、割り込みルーチン内で32bit変数をカウントし、
メイン側からその変数を読み出したいのですが、
割り込みを停止せずにアトミックに読み出す方法はあるでしょうか?

割り込み間隔(割り込み中時間ではなく)は、
メイン側の1回の変数参照完了時間よりも長いと仮定します。
割り込み中のカウントはで32bit変数を+1インクリメント
する単純なものです。変数がオーバーフローしても特に処置なしです。
640デフォルトの名無しさん:2009/02/01(日) 13:34:46
>>639
この場合は単純な二度読みして一致しているかどうかでいいんじゃないの?
(チャタリング除去の場合は無駄だ〜なんていうとまた誰か発狂する奴が出そうだがw)

リトルエンディアンとして、読み出しの最初と最後に1バイト目(8〜15bit)を読んで、
一致していればアトミックに読めたと判断する。

もちろん2回のリードの間に256以上インクリメントされる可能性がある場合は
この方法は使えない。
641デフォルトの名無しさん:2009/02/01(日) 13:59:10
>>640 の手法に感動した。 でも、>>639 の必然性は何なのだろうか?
読み出しの前に割込禁止して読み出し、すぐ割込許可、で素直な手法だと思うが。
ringバッファの滞留数だったりしたら、32bitは「やりすぎ」だとおもう。16bitで充分。
8bitMCUということを考えたら、ringは256までにして8bitでもできるぞ。
それなら割込禁止とか考えないでもアトミックにできる。
642デフォルトの名無しさん:2009/02/01(日) 14:35:03
>>639
アトミックでない方法でカウンタを2回読み出して、
その値が一致するまで繰り返し読み出す。
一致したらその値が正解。
643642:2009/02/01(日) 14:41:47
ごめん、リロードせず書いたら既出だった。

>>641
起動後の時間をタイマ割り込みで例えば1msごとにカウントするなら、32bitくらい欲しい。
このタイマカウンタが1つあれば、個別用途のタイマはその差分で計れるしね。
644デフォルトの名無しさん:2009/02/01(日) 16:36:35
起動後の時間が必要な場合もあるのか〜。俺の作ったのは 「時刻」 か、インターバルしか
なかったから、その発送はなかったわ。
645デフォルトの名無しさん:2009/02/01(日) 16:38:39
RTCと起動後の時間だけあればいい。
そこから派生して時刻やインターバルがとれるのだから。
646デフォルトの名無しさん:2009/02/01(日) 16:55:11
まあ起動後の時間云々はちょっと例外的というかなんかシュールな例えのような
気もするけど、ラッチがついてないHWカウンタやタイマは(場合によってはADCあたりも)
非同期的な更新を止めてアトミックに読むというのは物理的に不可能だからねえ。
647デフォルトの名無しさん:2009/02/01(日) 20:35:43
タイマーの割り込み許可を一時的に止めるとか?
648デフォルトの名無しさん:2009/02/05(木) 12:05:26
組み込み系の募集広告で「エレキとソフトの間の作業をお任せします」と記載
「エレキとソフトの間の作業」ってどんなですか?
やはりプログラム言語は使うのでよね?
649デフォルトの名無しさん:2009/02/05(木) 12:52:57
エレキとソフト両方判る人募集ってとこか?
間ってさっぱりわからんが
650デフォルトの名無しさん:2009/02/05(木) 13:11:03
因みに私はエレキの意味も分りません。
すいませんが、教えて頂けないでしょうか? m(__)m
651デフォルトの名無しさん:2009/02/05(木) 13:12:48
652デフォルトの名無しさん:2009/02/05(木) 13:43:08
エレキって、回路図とか読めますかってことでは?
653デフォルトの名無しさん:2009/02/05(木) 14:36:38
エレキてつまりハード(回路)屋かな?

チップから割り込みが入らないからオシロで調べるとか、
デバドラ書くとかそんなんじゃね。
654デフォルトの名無しさん:2009/02/05(木) 15:05:33
>>648
応募する気なのかどうか分からないけど、意味が理解できないなら
無理だよ

概ね >>653 の通りだよ
655デフォルトの名無しさん:2009/02/12(木) 22:42:37
初心者以前の者です。質問させて下さい。
CodeWarriorの評価版でCソースをコンパイルしてARM9用の実行プログラムを
生成したいのですが、評価版のダウンロードページにある、どれを使えば
いいのでしょうか。(CodeWarrior for XXで分かれ、バージョンも9.2まである)
すみませんがお分かりの方、ご回答いただけると有り難いです。
656デフォルトの名無しさん:2009/02/14(土) 09:02:53
>>655

ざっと見たとこ、ARM9用はない希ガス。
FreeScaleに聞くほうが手っ取り早いんじゃね?
657デフォルトの名無しさん:2009/02/14(土) 11:12:23
ARMで安い環境ないですか
3千円ぐらいで
658デフォルトの名無しさん:2009/02/14(土) 22:09:46
>>657

何の環境?
開発環境なら、gcc+Emacsだと只だぞ。
659デフォルトの名無しさん:2009/02/15(日) 05:33:42
親戚のガキをぶん殴ってDSを取り上げれば0円だぞ?
660デフォルトの名無しさん:2009/02/17(火) 03:17:48
>>656
ありがとうございます!!!!
大昔に業務アプリケーション方面のCプログラミング経験があるぐらいで
ICEにさわる必要ができてしまいました。数年前の資料ではCodeWarrior
を使用しているようでしたが、評価版がよくわからないのでIAR(30日)
を試しました。が無礼九ポイントで停止しません;;
661デフォルトの名無しさん:2009/02/17(火) 03:21:32
660です。ICEは別製品を使っています。マニュアルに書いてあるとおりの
設定はした(つもり)なのですが。泣きたい。
662デフォルトの名無しさん:2009/02/17(火) 04:34:36
情報を小出しにする奴は市ね
663デフォルトの名無しさん:2009/02/17(火) 11:41:07
一人で存分に泣いた後、上司にしかられてまた泣けばいい。
664デフォルトの名無しさん:2009/02/17(火) 17:33:24
ごめんな、H8系なら助言できることは多々あるのだが・・・
665デフォルトの名無しさん:2009/02/17(火) 18:46:45
無礼九ポイントを通過してないのでは?
666デフォルトの名無しさん:2009/02/21(土) 08:45:04
>>661
CodeWarriorでARMだとi.MX用だと思うが
あのIDEってCodeWarrior用のJTAG Pod以外対応してないんじゃないのか?

あの製品の仕様はアプライドマイクロシステムズ時代から
買収されるたびに迷走してるんで、今はfreescale製のCPU以外は
最新版でサポートされてるか怪しいぞ
667デフォルトの名無しさん:2009/02/25(水) 22:44:34
電気系大学卒業で現在回路設計をやっているものですが、

組み込みプログラムの世界にいきたいのですが、
この世界は未経験でも雇ってくれるものなのでしょうか?
会社の規模や、給料にはこだわりませんが、スキルを身に付けたいのです・・
668デフォルトの名無しさん:2009/02/25(水) 23:18:09
規模や給料にこだわり無いなら探せばあるだろ。
669デフォルトの名無しさん:2009/02/25(水) 23:20:12
>>667
25以下ならyes
670デフォルトの名無しさん:2009/02/25(水) 23:21:01
>>667
回路設計側は、ある意味良質な人材が激減してるよ
つか、プログラムもハードも目的を達成するための 1 手段

まぁ、がんがれ
671デフォルトの名無しさん:2009/02/26(木) 01:35:21
>>667
組み込みでもソフトよりFPGAとか扱えるようになったほうが、仕事あるんじゃね?
オレはソフト系だけど、来月から仕事はいってないわ
672デフォルトの名無しさん:2009/02/26(木) 04:40:30
弊社では経験の有無を問わず広く技術者を募集しています。
首都圏にお住まいでしたら社内広告に出ている適職フェアにも
参加していますので、ぜひ脚をお運びください。
673デフォルトの名無しさん:2009/02/26(木) 23:16:44
組み込みソフトの勉強したいんですけど、何かいい教材ないでしょうか?
組み込みソフトっつても、WindowsCE、ITRON、Linuxなどの組み込みOSです。
書籍だけならいっぱいあるけど。できれば実機が付いてて、実際に動かせるものがいいです。
WindowsCEのeBox-2は販売終了になってるし、、
興味があるのは、OSならWindowsCE、CPUならARMかSHあたりかな。
はじめはITRONのが判りやすいとは言われてるけど。
予算は3〜4万程度は出してもいいかなと思ってます。
674デフォルトの名無しさん:2009/02/26(木) 23:20:06
そんなもん勉強して何がしたんだよ
3〜4万程度しか出せないならやめとけ
675デフォルトの名無しさん:2009/02/27(金) 03:28:36
WindowsCEもLinuxも環境が整いすぎているから、動かしただけで満足して終わる可能性は高い。
676デフォルトの名無しさん:2009/02/27(金) 07:24:52
ドライバとか低い所に手を出さない限りPCとほとんど同じだからなあ…
677デフォルトの名無しさん:2009/02/27(金) 09:54:47
まぁそんなこと聞いてくる時点で組込みへの適正 0 に近いって事を自覚しろ。
678デフォルトの名無しさん:2009/02/27(金) 14:35:10
>>673

ちょっと予算オーバーだけど
ttp://www.apnet.co.jp/product/ms104/ms104-sh2.html
679デフォルトの名無しさん:2009/02/27(金) 14:45:26
とりあえずFonでいいよ。
2千円の投資でLinuxとGPIOとシリアルと有線・無線LANのお勉強ができるよ。

SHがやりたいならみついわボードかな。8千円ぐらい。
http://web.kyoto-inet.or.jp/people/takagaki/T-SH7706/T-SH7706.htm
ARMならストロベリーリナックス辺りで適当なの買えばいい。
680デフォルトの名無しさん:2009/02/27(金) 20:02:12
ARMならCQの付録基板待ちでいいじゃない、どんな出来かわからないけどw
681デフォルトの名無しさん:2009/02/27(金) 20:05:51
今回は誰がやってるんだろう。
某氏が関わってるとは聞いてないけど
682デフォルトの名無しさん:2009/02/28(土) 08:04:47
EZ-ARM7よりスペック上で価格がどんなことになるのか楽しみだわ
683デフォルトの名無しさん:2009/02/28(土) 09:18:09
ttp://eetimes.jp/article/22824/index.html
これって完成してもまたアメリカに潰されるんでしょ?
684デフォルトの名無しさん:2009/02/28(土) 10:09:35
TRON関係者の被害妄想を加速させないでください。
685デフォルトの名無しさん:2009/02/28(土) 16:27:18
リアルタイム性を出すのって難しいよね
686デフォルトの名無しさん:2009/02/28(土) 17:20:40
>>685
リアルタイムという定義をもうすこし勉強するよろし
687デフォルトの名無しさん:2009/02/28(土) 22:01:10
>>683

すでに製品が出ているわけだが。
http://www.esol.co.jp/embedded/et-kernel_multicore-edition.html
688デフォルトの名無しさん:2009/02/28(土) 23:37:43
俺はOSなしの仕事ばかりなんで、ドライバ開発者の仕事が逆に見えないんだけど、ある程度OSレベルでインターフェースが決まってて、その中身をコーティングする感じなの?
689デフォルトの名無しさん:2009/02/28(土) 23:59:37
>>688
ドライバはOS次第だな。
690デフォルトの名無しさん:2009/03/01(日) 00:18:07
>>688
通常 itron あたりだと, ハードを叩くタスクのコーディング規約的なもの

だけど, TCP/IP スタックとか, ファイルシステムとかの賢いライブラリが
既にあって, そのライブラリで使用可能な新規デバイスを動作させようと
思った場合は, そのライブラリのコーディング規約に従う必要がでてくる.

で, Unix とか Linux とか Windows とかのドライバ開発者は,
上記コーディング規約とか上位層用のインターフェースに従ったものを
作る必要が発生するため, 若干めんどうなことになる

だけど, 実質的にデバイスに対する制御は一緒だよ
691デフォルトの名無しさん:2009/03/01(日) 01:14:15
>>690

そういうのを「コーディング規約」とは言わんと思うが。
692デフォルトの名無しさん:2009/03/01(日) 01:22:07
>>691
API とも言いにくいよな. まぁ, それ的なものって事で許してくれ
693デフォルトの名無しさん:2009/03/01(日) 03:54:36
>>691
うるさいはげっが
694デフォルトの名無しさん:2009/03/01(日) 04:37:50
コーリングコンベンションのことかな? 俺もOS無しばっかりなので、ドライバ層がタスクで
だいじょぶなのかな? とかいつも心配になる。余計なタイムアウト処理がついてくるような。
695デフォルトの名無しさん:2009/03/01(日) 09:20:14
>>690
コーディング規約というのは(ry
696デフォルトの名無しさん:2009/03/01(日) 11:13:26
>>692
ドライバインタフェースて言ってる。
これが一般的かどうかは知らんが。

>>694
それは違うと思うぞ。
697デフォルトの名無しさん:2009/03/01(日) 11:47:20
>>689-690
688だがありがとー。
タスクにするのか。制御するデバイスが外付けのADCやDACだったりすると特に大変だな。
ドライバタスクに制御が渡るまでの遅延がそのままLFPになるし。
698デフォルトの名無しさん:2009/03/01(日) 11:48:51
LPF、ローパスフィルタだ…すまん。
699デフォルトの名無しさん:2009/03/01(日) 12:34:20
>>697
ならないでしょw
っていうか、遅延がLPFになっちゃうって根本的にHWの設計おかしいよ。
1バイトか4バイトか知らんけど、サンプリング毎に逐次的にPCのCPUが処理するHWなわけ?
工業高校の落ちこぼれでもそんな糞設計しないよ。
普通にバッファぐらい付けようよw
700デフォルトの名無しさん:2009/03/01(日) 14:46:44
>>697 じゃないんだが
その昔 FIFO すら付かない素の DAC 渡すアホなハードを渡してくれた奴がいた
これじゃ音が歪むって言って突っ返したがwW
701デフォルトの名無しさん:2009/03/01(日) 16:54:05
>>699
ああ。なんか俺が色々誤解していることが分かったwwwwwサンクス。
なお、俺はOSのドライバ開発をしたことないので質問したので、
ADCとDACの話は俺の想像であって、実際にある基板の話ではないよ。
PCの話は分からないけど、俺はSH+組込みOSのシステムを想像してた。

で、ワンチップマイコンで良くやるような、タイマ割り込みをトリガにした
周期的なデバイスへの直接制御を、tickに縛られる(しかも1tickはmsec単位?)
OSのタスクでどうやって実現するのだろうかと疑問に思ってた(^^;

だが、そもそもそういうことではなくて、OSを使うようなシステムものの仕事では
上のような処理はFIFOつきバッファを使ったりFPGAを使ったりして、
CPUのソフトウェアの影響を出来る限り排除するように設計されてるってことだな。
702デフォルトの名無しさん:2009/03/01(日) 19:34:46
>>701

そんなにスピードを求められない(tick単位で処理できればいい)デバイスの場合、ソフトで制御することもあるよ。
割り込みハンドラなら最優先で処理されるし、RTOSならタスクに優先度を細かくつけれるし。
703デフォルトの名無しさん:2009/03/01(日) 22:26:11
>>700
メガドライブですね?
704デフォルトの名無しさん:2009/03/01(日) 23:24:31
FIFOと言われると、FirstInが何のことなのか判らなくなる時がある
LIFOを頭に浮かべて、ああ、FIFOは待ち行列だったか・・と思い出すわけだ
これが非常にまわりくどい
最初からきゅーとか待ち行列と言って欲しい
705デフォルトの名無しさん:2009/03/01(日) 23:45:34
俺的にはスタック、キューって言ってくれないとわかんない
706デフォルトの名無しさん:2009/03/01(日) 23:45:40
>>704
変な人だな。
それはひょっとして頭の中に「ところてん押し出し器」的な図式が
イメージできてないからじゃないの?
707デフォルトの名無しさん:2009/03/01(日) 23:58:46
>>704
うちら界隈だと、チップのマニュアルで FIFO 表記の方が多いから、
ハードで実現されてる奴はキューとはあんまり言わんな
708デフォルトの名無しさん:2009/03/02(月) 11:03:20
[FL]I[FL]O のほうが抽象的な感じだな。
スタックとかキューというと実装が少し見える感じだ。
709デフォルトの名無しさん:2009/03/02(月) 11:36:01
ここは古典的に
FIFO=ところてん
LIFO=積み○○
とか
710デフォルトの名無しさん:2009/03/02(月) 19:19:29
FIFO=貫通式オナホール
LIFO=巾着式オナホール
711デフォルトの名無しさん:2009/03/02(月) 19:49:31
おまえ生きてて恥ずかしくないか?
712デフォルトの名無しさん:2009/03/02(月) 20:01:45
ワラタw
713710:2009/03/02(月) 20:08:37
『奥が深い』とはまさにこのことよ。
714デフォルトの名無しさん:2009/03/02(月) 21:01:48
全然たとえとして成立してないと思うけど。
頭悪すぎないか。
715デフォルトの名無しさん:2009/03/04(水) 04:17:02
>>710のチンコが着脱式であると仮定すれば無理な話でも無いな
716デフォルトの名無しさん:2009/03/29(日) 13:26:03 BE:1249790786-2BP(1028)
41歳から 組み込みエンジニアって ありでつか?
RTOSならやったことあるけど・・・ 
アセンブラも出来るけど・・・
717デフォルトの名無しさん:2009/03/29(日) 14:08:28
ありかって聞いてる時点で駄目なんじゃね?それなりのキャリアがあればありかなしかなんて自分でわかると思うけど。
718あぼーん:あぼーん
あぼーん
719デフォルトの名無しさん:2009/03/29(日) 14:17:15
>>718
いまいくおー ε=ε=(っ・∀・)っ ゴーゴー♪
720デフォルトの名無しさん:2009/03/29(日) 22:08:25 BE:1249791168-2BP(1028)
ここ10年鯖系やってたんだ
今、FPGAのカスタムCPU向けの派遣やってるんだけど
なんか、この業界って システムの分析とか設計とかインタフェ〜スも決めないでなぁなぁで仕事してるし
業界慣行違うなと・・・
社内試験もユ〜ザ〜向けドキュメントも 超いい加減で 楽で Indeed調査によると 給与もいいみたいだし・・・
721デフォルトの名無しさん:2009/03/30(月) 09:37:08
人手が常に足りてないからぬるいんだよ。
良くも悪くも「動けばOK」な面も、てそれは鯖も同じか。
722デフォルトの名無しさん:2009/03/30(月) 11:03:06
弊社では、年齢経験を問わず広くエンジニアを募集しております。適職フェアで、是非お会いしましょう。
# とは言え、年齢がそれなりの人はそれなりの報酬のためにはそれなりに上流工程もこなせないと厳しいけど。
723デフォルトの名無しさん:2009/03/30(月) 20:19:43
リク板じゃないからちょっと板違いかもですが
外注募集してるとこないですかね?
当方、経験15年以上なんですが
724デフォルトの名無しさん:2009/03/31(火) 10:34:32
>>723
>722
725723:2009/03/31(火) 10:47:21
>>724
トン
726デフォルトの名無しさん:2009/04/06(月) 06:41:27
へうでH8S/2000シリーズ使っての質問です。

resetprgで、SP初期化・割禁の後、_INITSCT()でRAMにゼロまたはコードされた初期値を入れ、
それからHardwareSetup()を呼び出して内蔵レジスタ類の初期化という順序がお奨めらしい。
この順序である必然性みたいのはあるのでしょうか?

内蔵レジスタの設定に、入力クロックを2倍する設定とかもあるので、RAMの初期化は
レジスタ類初期化の後のほうがいいように思えるのですが。
727デフォルトの名無しさん:2009/04/06(月) 06:44:45
sageで書いてしまったorz・・・上げます
728デフォルトの名無しさん:2009/04/06(月) 07:12:43
うぜえなこいつ
729デフォルトの名無しさん:2009/04/06(月) 07:25:26
>>726
そこまでわかってるなら、必然性はない。
単にHardwareSetup()内でグローバル変数などが初期化済みになるようにしてるだけ。
730726:2009/04/06(月) 09:01:15
ああ、なるほど。そういう配慮もあり得ますね。なんかへうが出したとこ触るのって畏れ多くて(w
解ってやる分には後でもだいじょぶってことですね。 ありがとうございます。
731デフォルトの名無しさん:2009/04/06(月) 12:20:26
>>730
畏れ多い?
すぐにそんな気持ちは無くなるよ。ヒヒヒ
732デフォルトの名無しさん:2009/04/06(月) 13:13:49
>>730
オレも最初そうだった。
へうのやることは、「親切心でやってみた」程度に考えておいたらよいと思う。
付き合いが長くなると、気が利かなかったりする面も見えてくるが、片目をつぶって辛抱しなさい。

どおしても〜ダメだったら〜帰っておいで〜♪
733デフォルトの名無しさん:2009/04/06(月) 14:10:26
妹よ〜
734デフォルトの名無しさん:2009/04/06(月) 14:47:28
たまには三人で酒でも飲もうや
735デフォルトの名無しさん:2009/04/07(火) 04:29:09
H8Sから上のシリーズって、入力クロックを増速するレジスタがありますよね。
これをデフォのまま=増速せずに使ったら、何か利点があるんですか?
例えば消費電力が小さいとか・・・
736デフォルトの名無しさん:2009/04/07(火) 16:33:38
ハードウェアマニュアルをよく読みませう。
737デフォルトの名無しさん:2009/04/07(火) 22:05:07
クロックが遅ければ消費電流が少ない
別に早い必要が無ければ早くする必要はない
738735:2009/04/08(水) 05:20:44
>>737 ありがとです。 実際クロック2倍で消費電流も2倍になるのでしょうか?

>>736 例えばH8S/2378の 23. クロック発振器 の章をよく読んでも、メリット・デメリット・電力等に
ついての言及が無いので聞いてみたのです。逆に低消費電力状態の説明の章にはクロック発振器
との関連は言及されていません。この記述がそうだよという箇所がありましたら示唆ください。
739デフォルトの名無しさん:2009/04/08(水) 10:58:11
なぜメーカに聞かない
740デフォルトの名無しさん:2009/04/08(水) 13:35:45
ユーザーじゃなくても答えてもらえますか?
741デフォルトの名無しさん:2009/04/08(水) 13:43:23
二倍じゃないし、使用状況によるとしか書けないだろ
742デフォルトの名無しさん:2009/04/08(水) 15:15:05
>>738
DC特性の下の方に消費電流(max)の計算の仕方が書いてあるでしょ。
743デフォルトの名無しさん:2009/04/08(水) 18:09:58
>>742 そこ見てみました。ワケワカメ(w
744デフォルトの名無しさん:2009/04/08(水) 18:16:53
インターフェース5月号をかって、組み込みについて勉強したいです。

でも、明確に何が作れるのかわかりません。
教えて得ろ胃人!
745デフォルトの名無しさん:2009/04/08(水) 18:28:00
くみこさんキスしていい?
746デフォルトの名無しさん:2009/04/08(水) 18:33:38
>>743
f=33MHz,Vcc=3.6Vで計算してみたら
747デフォルトの名無しさん:2009/04/08(水) 19:44:43
>>744
まずは本読めよアホ
748デフォルトの名無しさん:2009/04/08(水) 21:47:59
データシート見ると

Iccmax = 15 + 0.37 × Vcc × f

小学生でもできる計算じゃん
749デフォルトの名無しさん:2009/04/08(水) 22:02:33
750デフォルトの名無しさん:2009/04/08(水) 23:17:05
751デフォルトの名無しさん:2009/04/09(木) 04:41:33
>>748 やっと見つけた。そこにたどりつく前に挫折してました(w
動作周波数依存で変わる部分は、消費電流の2.5%ぐらいと理解すればよさそうですね。
レジスタの設定なんかのとこは読むけど、電気的特性って標題見ただけでここは読まない
と決めてました。
752デフォルトの名無しさん:2009/04/09(木) 09:20:10
ここまで馬鹿だといっそ清清しいな。
>746の条件を>748に入力したら約60mA、クロックを半分に落としたら約40mAで、
仮にクロックを1MHzにまで落としたら約16mAってことなんだけどねぇ。

それとも、15[mA]+0.37*Vcc[V]*f[MHz]って計算式の意味が判らないんだろうか。
753デフォルトの名無しさん:2009/04/09(木) 17:02:33
15mA+0.37*3.3*33-->55.29 15mA+0.37*3.3*16.5-->35.15 1MHzだと0.37*3.3が1ぐらいか。
やっとわかった〜\(*o*)/ ありがとうございます。
その基本料金の15mAってところは、スリープのいくつかのモードで小さくするんですね?
周辺モジュールまで止めるか、クロックまで止めるか、とか。
754デフォルトの名無しさん:2009/04/09(木) 17:04:16
みんな優しいな
755デフォルトの名無しさん:2009/04/12(日) 04:42:14
H8S/2378シリーズのアドレス空間は、内蔵RAM00FF4000〜00FFBFFFです。(RAM32K)
RAM16Kの2368シリーズのRAMアドレスは、00FF8000〜00FFBFFFだろうと思い、
ルネサスのサイトで2368シリーズのpdfを見たら、3.4 各動作モードのアドレスマップ の章の
アドレスが全て□OM:□□バイト □AM:□□バイト アドレスも□'□□□□□□ とかに
なっていて、確認できませんでした。 どなたか実際の数値を確認した人いらっしゃいますか?
2行目で合ってますか?
756デフォルトの名無しさん:2009/04/12(日) 07:16:10
もっと後の方に内蔵RAMの章があるだろう。
そこに書いてないか?
757デフォルトの名無しさん:2009/04/12(日) 07:52:41
それフォントの問題だよな。Windowsのpdfリーダーは用意出来ないんか?
まぁ確認しといてやったけど、2ちゃんなんか信用しないでpdfをちゃんと見られる環境を作った方がいいよ。

2360F/2363/2365
リザーブ領域: H'FF4000-FF7FFF
内蔵RAM: H'FF8000-FFC000
758デフォルトの名無しさん:2009/04/12(日) 07:54:18
-FFBFFFの間違い。
つーか>>756の言うように13章を参照せれ
759デフォルトの名無しさん:2009/04/12(日) 07:56:21
なんどもごめん、よく見たら18章だった。
760755:2009/04/12(日) 08:09:50
>>756-759 ありがとうございます。18章で確認できました。ホントここは2chとは思えない位
優しい人たちですね。 環境はXPhomeで、2378のpdfを落とした時は3章もふつうに見られた
んです。 vista向けにフォント更新しちゃったのかな? あ(*o*)adobe更新してないかも!

またまた質問です。このシリーズの石って、33MHzのと34MHzのとありますよね。
16.5888を2倍して33.1776で動かす場合は33MHz越えるから、34MHzのほう、ってことになりますか?
761デフォルトの名無しさん:2009/04/12(日) 18:37:49
どうせなら、35MHzにしてみたら
762デフォルトの名無しさん:2009/04/13(月) 02:35:23
まあ、ハイスペック側を使う分には制約が少ないのは分かりますが、この1MHzの違いが
幾らにつくのかな? と思いまして。ちなみに必要なのはメーカー要求のロットより2桁ぐらい
少ない数なので、最低ロットでまとめ買いな路線です。
763デフォルトの名無しさん:2009/04/13(月) 04:18:04
クロックに影響されるSIOなどの部分や消費電力が無視できる環境ならどうだっていいよ
764デフォルトの名無しさん:2009/04/13(月) 07:31:06
CPU一個の値段が\50ぐらい違うとかないですか?
765デフォルトの名無しさん:2009/04/13(月) 11:56:37
サーバー運用管理者ですが、くみこみにいきたいと考えています。

現在もっともポピュラーな開発言語はCですか?
また、電気工学の知識はどれくらい必要でしょうか?
766デフォルトの名無しさん:2009/04/13(月) 13:55:09
本屋にでも行って最低限の知識を得てからにしてくれ
767デフォルトの名無しさん:2009/04/13(月) 15:28:35
>>765 cとASMが半々ぐらいかな。俺は電気も電子も皆無。回路図渡されても、port表は別に
要求する。portxxは何の入力/出力って奴。それだけでも足りなくて、バスコントローラーの
設定なんかハード屋さんからいちいち聞く(w
768デフォルトの名無しさん:2009/04/13(月) 17:53:46
>>767
ポート表やバスコントローラの設定は、普通ハード屋がだすもんじゃね?
俺は毎回資料作って渡してるよ
769デフォルトの名無しさん:2009/04/13(月) 18:44:10
>>762
型番によっちゃ売れ筋でないのは廃盤になって
入手できなくなったりするから注意しろ。
770デフォルトの名無しさん:2009/04/13(月) 22:14:41
量産するんじゃなくて職人の手による一品モノならシーケンサで充分
771デフォルトの名無しさん:2009/04/13(月) 23:20:25
>>770

シーケンサって何?
772デフォルトの名無しさん:2009/04/13(月) 23:25:18
ACCESSとかSQLとかDBアプリはインとアウトがわかれば全て作れるレベルです。
さて、Cとかはほんと軽く触った程度でポインタにはアドレスが入るということは理解しています。

組み込みのCって、UNIXのCプログラム(システムPG)とくらべてどう違うのでしょうか?
また、書籍で独学で、仕事もらえるレベルに到達することは可能でしょうか?

また、超お勧めの書籍を教えてください
773デフォルトの名無しさん:2009/04/13(月) 23:30:18
ガタガタ言ってないで本屋へ行って何冊か買ってこい
その程度すらやれないんだからお前に才能は無い
774デフォルトの名無しさん:2009/04/13(月) 23:36:15
学生さんなのでしょう。勉強は誰かが教えてくれると思ってるんでしょ。
もし社会人だったらクズですけど。
775デフォルトの名無しさん:2009/04/14(火) 07:33:25
>>769-770 少ないけどいちおう量産品です。でも、石1個が高いか安いかより、無くならないか
の観点のほうで選ぶみたいですね。ハード屋さんがそう言ってました。
776デフォルトの名無しさん:2009/04/14(火) 07:38:38
>>772

> 組み込みのCって、UNIXのCプログラム(システムPG)とくらべてどう違うのでしょうか?

・標準関数が使えなかったりする
・マルチタスクや割込みを意識したプログラミングが必須
・メモリリーク厳禁
・デバッガがわりと貧弱


> また、書籍で独学で、仕事もらえるレベルに到達することは可能でしょうか?


無理。ただし、Cの仕事の経験があれば、雇ってくれる会社はある。
あとは、組込み技術者養成してる派遣会社で研修受けて、派遣で働くとか。
777デフォルトの名無しさん:2009/04/14(火) 23:54:55
778デフォルトの名無しさん:2009/04/15(水) 05:27:38
柑橘類の一種じゃなかったのか・・・
779デフォルトの名無しさん:2009/04/15(水) 16:32:06
それはシークヮーサーw
780デフォルトの名無しさん:2009/04/15(水) 20:06:42
>>779
よくわかったなw 感心したわ
781デフォルトの名無しさん:2009/04/16(木) 13:15:44
>>776
> ・メモリリーク厳禁
全部スタティックに置くからリークなんかしないお
でもたまにほかの変数を上書きしてしまったりするお
スタックのを上書きしたら変なところに飛ぶからすぐわかるお

>>779
わかってたけど野暮だからと思って書かないでおいたのに…
782デフォルトの名無しさん:2009/04/16(木) 21:24:00
ヒープするときもあるべ
783デフォルトの名無しさん:2009/04/17(金) 00:04:14
いやいや、生まれついたときから組み込みの仕事をやってた僕に言わせればそうじゃないんだなぁ。
つまりどういうことかと言うと、ヒープは使うときもある。だけど使わないときもある。
784デフォルトの名無しさん:2009/04/17(金) 04:04:29
>>783
誰に言わせてもその答えにしかならんだろうが、アホめ。
785デフォルトの名無しさん:2009/04/17(金) 04:41:31
>>783
君はバカだな
全然違うよ
ヒープは使うときもあるし、使わないときもある
786デフォルトの名無しさん:2009/04/17(金) 06:04:50
ちょっと質問です。

SHとH8の開発環境をひとつのマシンにつくりたいのですが
現在は、SH用のHEW4が入っています。
H8用は、HEW(1.0)がお客様からとりあえず支給されました。
HEWのツールチェインに、H8のコンパイラをいれるとかできるんでしょうか?
みなさんはどうしてます?
787デフォルトの名無しさん:2009/04/17(金) 07:19:04
788デフォルトの名無しさん:2009/04/17(金) 12:08:16
組込みで、音声ICチップをさがしています。
簡単に実装出来て、値段が安く実績のあるメーカーが良いです。

値段は、1個500〜1500円の間で考えていますが、

エプソン・OKI等のLSIは1個〜購入可能?
そう言う所知っていません?
例 S1V30300等 とか?
http://www.epson.jp/device/semicon/product/speech_audio/index.htm#ac01

出来れば個人購入で、個人でも相手にしている所ありません?
最新でなくても良いです。

用途は、販売機等の「いらっしゃいませ〜」みたいなものです。
スレチ?
789デフォルトの名無しさん:2009/04/17(金) 14:01:58
アキバへ行っちゃったほうが早いような・・・
790786:2009/04/17(金) 14:40:07
>>787
ありがとうございます。
新しいバージョンに自動的になるわけですね。
なんか怖いな
コンパイラだけのインスコとかできるといいのになあ。

791デフォルトの名無しさん:2009/04/19(日) 12:24:29
>>784
スネークマ・・・いやなんでもない
792デフォルトの名無しさん:2009/04/20(月) 19:38:12
共存させると嫌なことが起こったような...
あれはR8Cだったかな?
793デフォルトの名無しさん:2009/04/22(水) 07:03:23
FIFOとLIFOのちがいがわかるようになったぼくはすごいですか?
794デフォルトの名無しさん:2009/04/22(水) 07:05:00
えらいねぇ〜よちよち
795デフォルトの名無しさん:2009/04/22(水) 07:43:06
>>710読んで解った気になってるんじゃないだろうな。
796デフォルトの名無しさん:2009/04/22(水) 10:43:04
コーナリングの基本はSIFOだ
797デフォルトの名無しさん:2009/04/23(木) 17:02:33
つまり前戯はネチネチやるってことですね?
798デフォルトの名無しさん:2009/04/24(金) 21:49:54 BE:1275828277-2BP(1028)
>>793
厨房 その調子でがんばれよ
799デフォルトの名無しさん:2009/06/06(土) 04:28:45
1.5ヶ月ぶりにまともな質問です。H8/300H TinyシリーズにH8Sで書いたソフトを移植する仕事
の引き合いが来ました。 36064のpdfをダウンして読みながらへうで雛形を書いています。
こんな小さい石までルネサス共通のアーキテクチャに合わせてERnになってるんですね(*o*)

文字列を渡すサブルーチンを見たら、void func(*src) { の中で、
   MOV.W   R0,R2    引数の文字列アドレス
L110:     (doのラベル)
   MOV.B   @ER2+,R0L (*引数++のアドレッシング)   ・・・となっていました。

前置きが長くてすいません。では質問: あれ?ER2の上位は?と気になったので聞きにきました。
この石ではアドレス空間は0〜FFFFですから、ERnの上位が何であってもメモリアドレスは
この空間にラップアラウンドしてアクセスされる、 と理解してよいですか?

初期化でEnを全部ゼロに、とかも考えたのですが、計算の一時記憶としてEnが使われたり
したらずっとゼロの保証はありませんよね。
800デフォルトの名無しさん:2009/06/06(土) 04:39:22
もう1個:H8系の石のパワーONリセット処理は、
  MOV.W または MOV.L  #stackの末尾,SP
  ORC.B            #-128,CCR    となっていますが、
リセットのときはIマスクは1であると書かれています。2行目の割禁命令はなぜ必要なのでしょう?
801デフォルトの名無しさん:2009/06/06(土) 08:40:02
>>799
上は無視される。

>>800
なにかの間違いで飛んできた時のためにおまじない。
802800:2009/06/06(土) 16:39:13
ありがとうございます。 対照的にすごく簡潔な答
803800:2009/06/07(日) 03:52:00
TinyでEEPMOVができるかお試しコード書きました。 _builtin_eepmov(dst,"abcde",5) のコードが
    MOV.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); 使って関数呼び出しでやるのとで、得失は
ありますか?
804デフォルトの名無しさん:2009/06/12(金) 11:43:44
>>803
単に、R6は破壊しないと言う呼び出し規約でもあるんじゃないの。
805800:2009/06/13(土) 04:27:58
関数中で破壊しないという規約はありませんでしたが、その目で読んでいったら解りました。
この関数の入り口=遙か彼方の上の方でR6にある変数のアドレスを入れていました。
関数中で何度かアクセスする変数なので、最適化でこのようにしているようです。
ということは、EEPMOV.B 命令自体にはR6の保存云々は関係ないと理解できそうですね。
EEPMOV.W 命令の場合は、その後ろでR4をテストして、BNZ EEPMOV.Wのラベル が必要
ですよね? あ、はしゃいでお試しコード書いている間に、Tinyの企画自体がポシャりましたorz
806デフォルトの名無しさん:2009/06/13(土) 10:11:55
SH2の遅延スロット不当命令って型番によって仕様が変わってるようだけど、
GCCって対応しているの?
現状スロット不正例外頻発してんだけど。
807デフォルトの名無しさん:2009/06/13(土) 10:34:56
ldc r0,sr?
808デフォルトの名無しさん:2009/06/13(土) 10:39:14
それ。
809デフォルトの名無しさん:2009/06/13(土) 10:46:39
cならinlineアセンブラとか使わない限りsrさわるコードは生成されないと思う。
気になるなら、sh.mdにパッチを当てるとか?
810デフォルトの名無しさん:2009/06/13(土) 10:56:54
>スロット不正例外
あれ?じゃあ原因違うのかなぁ?

もう少し調べてみます。
ありがとう。
811810:2009/06/13(土) 12:07:24
ディスパッチャに思いっきり、
jsr @r2
ldc r1,sr
ってのがいました...お騒がせして申し訳ない。

疑ってごめん >GCC


orz
812デフォルトの名無しさん:2009/06/13(土) 12:26:41
ram8kbじゃ、地獄見るんじゃないの?
813デフォルトの名無しさん:2009/06/13(土) 14:26:16
どれへのレスなんだろう?4800のuart4CHの合流なんてのを8085で書いたときには、
8KBでやりくりしたぞ。
814デフォルトの名無しさん:2009/06/13(土) 15:58:05
スタックの切り替えとかないOSなしならね。
815デフォルトの名無しさん:2009/06/26(金) 16:39:03
うん、俺素っ裸大好きだし。4CH分の取り出し処理を、「タスク」 もどきに書いてmainから
呼び出す形に作ってなんとかしたぞ。スタックなんか128バイトぐらいしか使わなかった。
816デフォルトの名無しさん:2009/07/14(火) 09:54:13
Arduinoも組み込み系ですか?
817デフォルトの名無しさん:2009/07/16(木) 13:56:01
レゴと同じ玩具。
対象年齢10才〜
818デフォルトの名無しさん:2009/07/16(木) 20:39:51
>>816-817
それ何?
Androidじゃないよな?
819デフォルトの名無しさん:2009/07/16(木) 20:58:08
ググレカスとしか
820デフォルトの名無しさん:2009/07/16(木) 21:22:48
>>819
なるほど、本当にあるのか
(実はtypoだと思ってた)
821デフォルトの名無しさん:2009/08/15(土) 21:11:30
プロトコルスタック実装してみたいんだけど
なんかいい資料ないですか?

interfaceとかに書いてあるかな?
822デフォルトの名無しさん:2009/08/16(日) 01:47:50
>>821
なんのプロトコルスタック?
823デフォルトの名無しさん:2009/08/16(日) 10:35:29
>>822
ネットワーク関連ならなんでもいいっす
TCPとか好きです
824デフォルトの名無しさん:2009/08/16(日) 12:02:59
やる気が無いならやめてしまえ
825デフォルトの名無しさん:2009/08/16(日) 16:21:41
とりあえずLinuxとかの実装見てみろ。
多分コード量見て嫌になるから。
826デフォルトの名無しさん:2009/08/17(月) 03:34:44
linuxのソースは当てにしない方がいい
見るならBSDの方で
827デフォルトの名無しさん:2009/08/17(月) 07:25:31
>>826
BSDは糞だろLinux最高だバカヤロウ
828222.248.109.70:2009/08/17(月) 17:45:39
Q. 自動保守#K9K?_D[L とは一体何なのか?
A. 外部サイトへの突撃大好きな真性厨房

韓国突撃でお馴染みの自動保守
最近は自動焼人 ★として2ちゃんねるのボランティアにも精を出す日々
だがそんな彼にも、人間らしい部分はあったのだ…

名言集
『アパッチ砲はワシが作った』
『お前が規制系キャップ取れるか審査してやるよ』
『いつもサボってばかりのキャップがウゼえ』
『俺、100人規模の集団サイバーテロの主犯だったこともあるんだぜ』
『俺の経歴カックイイだろ?』

最近のニュース
 8月15日の韓国突撃の際に歴史的大敗を喫する。ラジオでの敗戦宣言のときに声が震えていた
 本人は体調不良と言っているが…


----------------------------------------------
この自動焼人 ★メールマガジンの配信停止をご希望される方は
http://qb5.2ch.net/test/read.cgi/sec2chd/1250169591/
にて自動焼人 ★までご連絡ください
829デフォルトの名無しさん:2009/08/17(月) 20:14:12
コピペ君って馬鹿だな、まで読んだ。
830デフォルトの名無しさん:2009/08/17(月) 20:24:09
ボキュは馬鹿なコピペ君です、まで読んだ。
831デフォルトの名無しさん:2009/08/18(火) 00:21:57
そのコピペにレスする馬鹿は?
組み込みの人ってやけにキチガイ度が高いよね
他のキチガイとは何か臭いが違うというか・・
832デフォルトの名無しさん:2009/08/19(水) 21:57:37
>>827
学習用でプロトコルスタック廻りとデバイスドライバなら
絶対BSDの方がいい

Linuxのは汚くて”こうなってる筈”とあたりをつけられないと
ソースツリーの何処にあるか探しあてて中身をみただけで
気力が萎える可能性が高い

BSDは設計がガチガチな分、コードとソースツリーが読みやすい。
その分、新しいデバイスのドライバが書き辛いったらないが
833デフォルトの名無しさん:2009/08/19(水) 22:05:06
ライセンスの問題もある
下手にlinuxのコードを参考にするとGPL厨がやってくる
834デフォルトの名無しさん:2009/08/20(木) 00:39:34
Linuxは来年カルト認定される可能性があるので
利用してはいけない
835デフォルトの名無しさん:2009/09/08(火) 14:24:59
0番地にリセット処理のベクタがあるとき、そのアドレスにジャンプするのは、cで
どう書けばいいですか? ルネサスのcで石はH8/300H TINYです。
void cmdhoge(void) {  /* hogeコマンド処理 */
 register void (*funca)(void) = (void*)(0);
 set_imask_ccr((_UBYTE)1);
 (*funca)();
} これだと0番地へジャンプしちゃいますよね?
836デフォルトの名無しさん:2009/09/08(火) 14:27:17
age忘れすいません
837デフォルトの名無しさん:2009/09/08(火) 14:41:51
>>835
こうだろ ((void (*)(void))(*((uint32_t const*)0)))() 常識的に考えて。
838デフォルトの名無しさん:2009/09/08(火) 14:51:25
uint32t無しで、const*でコンパイルは通りました。ありがとうございます。
他のエラーつぶしたらlst見てみます。
839デフォルトの名無しさん:2009/09/08(火) 20:09:35
const *だけかよw
せめてint const *にしてやれ。
840デフォルトの名無しさん:2009/09/08(火) 20:21:24
void cmdhoge(void) {
void (**funca)(void)=0;
(**funca)();
}
841デフォルトの名無しさん:2009/09/09(水) 03:34:21
あ〜そういうのもありか。ありがとです。*が2個以上になると頭がついてかない(w

話変わって、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_何とかばかりで、
機械語出させる定義みたいじゃなかったし。
842デフォルトの名無しさん:2009/09/09(水) 04:19:44
>>837-840 .lstではこうなっていました。@0:16だから、0番地にあるアドレスにJMPしてますね。
598:    ((void (*)(void))(*((const*)0)))();
0A16  6B000000    MOV.W   @0:16,R0
0A1A  5900       JMP     @ER0
843デフォルトの名無しさん:2009/09/09(水) 07:31:44
>>841
#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なのだが。
844841:2009/09/09(水) 14:21:05
MULXUは出ますね。DIVXUが出ずにulongの割り算を呼ぶコードが出てます。
131: 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にしたのですが、深い意味はありません。
845デフォルトの名無しさん:2009/09/09(水) 15:08:26
最適化オプションとかはつけてる?
846841:2009/09/09(水) 15:38:51
ビルド−standard tool chain−コンパイラ の最適化タグで、
サイズ優先(レジスタ退避・回復をpush/popで・switch文高速化・シフト演算の高速化・
構造体代入式の高速化・四則演算、比較、代入式の高速化・ループ文での帰納変数削除・
ループ文での帰納変数削除、ループ展開)の全部にチェック付いてます。

たしかH8/300xで書いたときも、関数呼び出しならレジスタがはっきりしているから、という
理由で関数にしました。
847デフォルトの名無しさん:2009/09/09(水) 16:03:58
何かの条件あるとコンパイラが割り算命令を使わないとかかも?
848841:2009/09/09(水) 16:09:28
う〜ん、それがはっきりしないから、やっぱり関数呼び出しのが確実ですよね。
849デフォルトの名無しさん:2009/09/09(水) 16:42:47
$DIVUL$3ってのを調べてみたら
850デフォルトの名無しさん:2009/09/09(水) 19:49:23
32bit÷16bitだから
851841:2009/09/10(木) 04:57:15
$DIVUL$3は、ulongER0÷ulongER1です。cの標準の仕様ではulong÷ushotは、両方
長いほうの精度に切り上げて演算する、とされていますので、間違ってはいないのですが、
32bit÷16bitだと判っている所で、せっかくDIVXU機械語があるのに使えないのがシャク
だなあ、と(w >>843の2行目の定義、私が実際に書いたのは↓です。確認のため:
#define ul_div_wd(er0,r1) ((_UDWORD)(_UWORD)((_UDWORD)(er0)/(_UWORD)(r1)))
852841:2009/09/10(木) 05:11:47
H8/300xのとき、メモリのbitのあちこちをportのあちこちに出力するコードを書くのに、
sfr wreg = 0xFFFFFF1F; // この辺の空間はレジスタとして扱える
  wreg = メモリの変数;
  P9DR.1 = wreg.0;
  P9DR.0 = wreg.1;
  P6DR.4 = wreg.4;
  ・・・ とかやってました。 ルネサスのcでTINYだとこれが使えないので、(続く)
853841:2009/09/10(木) 05:19:43
typedef struct {
union {
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 をパクって書きました。
854デフォルトの名無しさん:2009/09/10(木) 06:20:05
gccならunionのタグは省略できるよ
ビットフィールドの位置は本来保障されないから使わない方がいいいよ
結果的に動けばいいってことみたいだからお好きにどうぞ
855841:2009/09/10(木) 08:35:47
gccじゃないんですけど、コンパイルオプションでビットフィールドが右から/左からを選択
できるようになっています。

>>854の2行目 では、portのある1bitにI/Oするのに、どのような手法がお奨めですか?
iodefine.h のようなファイルがメーカー提供になってるのは、メーカーお奨めってことかと
理解しています。portの名称はiodefine.h に従うとして、変数のほうは、右シフトで右端に
持ってきて1bitのportに出す、とかは考えつきますけど、bitロードが右端からになるだけで
シフト演算が余分だと思います。
856デフォルトの名無しさん:2009/09/10(木) 11:52:59
何がやりたいのか分からないけど、適当に
IO.PDR6.BYTE=メモリの変数;

DIVXUの使い方はソフトウェアマニュアルを確認してみれ
857841:2009/09/10(木) 16:59:46
>>856 それじゃ8bitパラレルの出力でしょ。メモリのbitのあちこちをportのbitのあちこちに
1bit単位で出したいんです。で、853のような手法を試してみました。

DIVXUの使い方はCPUマニュアルのインストラクションの章で見てます。ER/Rだと理解
しましたが違ってますか?cの構文でDIVXUを吐かせるやり方は無いので>>841を考えた
のですが、インライン展開できるマクロが書ければそうしたいです。
858デフォルトの名無しさん:2009/09/10(木) 17:39:19
32bit÷16bitって商が必ず16bitに収まるの?

ルネサスのコンパイラでasmのインライン展開やると扱いが面倒だから、お勧めしない。
859デフォルトの名無しさん:2009/09/10(木) 17:45:35
メモリのbitのあちこちをportのbitのあちこちなら、ポートの割付見直したら?
だめなら、論理演算とか駆使してportに書き込む回数を減らす。
860デフォルトの名無しさん:2009/09/10(木) 19:55:10
>>858
>32bit÷16bitって商が必ず16bitに収まるの?
質問してるの?
861デフォルトの名無しさん:2009/09/10(木) 20:33:43
疑問を投げかけたとか?
862デフォルトの名無しさん:2009/09/10(木) 20:36:16
まぁ 1 で割る可能性があることを考えれば収まらないよね
863860:2009/09/10(木) 20:50:35
>>862
そうだよねJK
864841:2009/09/11(金) 02:49:15
私はハード作らないんで、port割付はハード屋さんが見直してます。8個並んだリレーは
8bitに固めたりはしてます。それでも収まらないbitが出るのでしょうがないかと。

>>862 みたいな場面では使わないように気をつけてます。3200000/周波数(16000が最低)
とか、6桁の数を表示用にeditするときに1000で割って上下に分ける時に使っています。
石がチビ助で、クロックも16Mとか貧弱なので、除算がたくさん入るsprintfなんかを避ける
のが目的です。 >>843さんのやり方でMULXUのほうはたまたま出ましたが、
みなさんの意見を聞くと、どうやら関数呼び出しのほうが一般性があるようなので、実装は
>>841のように関数にしようとおもいます。相談にのってくださってありがとうございます。

machine.h を読むと、__builtinがASMを吐かせる予約語じゃないか、って気がしてきました。
LSIC80で_asm_c("ASMの機械語") って書くみたいに。どなたかその辺のこと知りませんか?
865デフォルトの名無しさん:2009/09/11(金) 04:52:00
#pragma asm
#pragma endasm

__asm{}
866デフォルトの名無しさん:2009/09/11(金) 19:52:12
そろそろうぜえな
gccに変えろ
それで全て解決する
867デフォルトの名無しさん:2009/09/12(土) 00:50:35
んでvolatileつけるの忘れて最適化に巻き込まれて無駄に悩むと。

868841:2009/09/12(土) 05:04:13
gccって、へうにタダでついてくる奴と替えられるんですか?

>>865 その機能は使ってみたことありますけど、たしかいろいろ制約が多かったのです。
アセンブリソース吐かせてからそれをアセンブルしなければならないとか、分岐幅を
後から自分で修正してやらなければならないとか。これじゃコンパイラのソース中に記述
するだけという使い勝手にはならないや、となって諦めました。

組み込み関数の章(10.2.3)を読むと、これこれの機能だけを提供するとあって、その中に
MULXUとDIVXUは列挙されてなかったから、やはりインライン展開は諦めるべきなようです。
869デフォルトの名無しさん:2009/09/13(日) 11:17:23
QVGAかVGAのLCDを使いたいのですが
フレームバッファかシリアルSPI形式でどっかで売ってませんかね
なるべく安く

870デフォルトの名無しさん:2009/09/13(日) 20:08:39
なるべく安くの基準となる金額をまず書け
871デフォルトの名無しさん:2009/09/13(日) 20:30:05
1枚1000円くらいでお願いします
872デフォルトの名無しさん:2009/09/14(月) 04:34:55
何枚買うかで違うんじゃないの?
873869:2009/09/14(月) 19:04:13
自己解決した
ここは素人しかいねえなあ
874デフォルトの名無しさん:2009/09/14(月) 19:05:20
>>873
自己紹介おつ
875デフォルトの名無しさん:2009/09/15(火) 08:24:28
LCDデバイスを変えたら表示しなくなりました。データブックによるとsetup/holdなんかの
時間がμSオーダーで長いようです。タイミングはsoftではなくハードで作っています。
softのコマンド体系なんかは同じです。
>        ______ ________________
>   Write   |________|
>           ___________
> Chip Enable_____| |______________
>            __________
>    Data  ____/ |________________
>
> ↓↓↓↓
>        ______ ________________
>   Write   |________|
>           ___________
> Chip Enable_____| |______________
>           ______________
>    Data ____/ |____________

みたいにタイミングをずらしたい、ってハード屋さんが言ってるんですけど、
これはハード改造しかないよ、と返事するしかないでしょうか?
コマンドは、 *0xC0001 = 0xXX; で1文字ライトなんで、上の3本のラインを制御するような
ソフトは書いてないです。
876デフォルトの名無しさん:2009/09/15(火) 08:30:51
あ〜!おもいっきりずれてるorz Dataの線をChip Enableより少し後まで引っ張りたいんです。
>         ______     ________________
>   Write     |________|
>           ___________
> Chip Enable_____|     |______________
>            __________
>    Data  ____/     |________________
>
> ↓↓↓↓
>         ______     ________________
>   Write |________|
>           ___________
> Chip Enable_____|      |______________
>           ______________
>    Data ____/       |____________
こんどはどうかな・・・
877デフォルトの名無しさん:2009/09/15(火) 08:32:07
あ〜もう!イヤン
878デフォルトの名無しさん:2009/09/15(火) 08:47:46
コマンド送るタイミングをずらすとかならともかく、
ソフトで面倒見てないものを、ソフト修正でどうにか
出来るわけねえだろう。

879デフォルトの名無しさん:2009/09/15(火) 08:54:03
LCDコントローラ(?)の出力タイミングをいじるレジスタがあったりしてな。
880875:2009/09/15(火) 11:06:33
>>878 そうですよね。私もそう思うんですけど、ハード屋さんがなぜかsoftでとか言うもんで・・
それにしても、互換デバイスを作るときって若干早めにしとくなら分かるのに、何でまた遅く
881デフォルトの名無しさん:2009/09/15(火) 11:19:55
>>880
「なぜか」って、聞けよ。
ソフトで幅いじる設定があるのを知ってるのかもしれないだろ。
882デフォルトの名無しさん:2009/09/15(火) 11:43:30
ちょっと質問させていただけますでしょうか。
ARM7でOSを使わずにプログラムの動的ロード・アンロード(関数単位くらいでの入れ替え)を実現したいのですが、手法について参考になるURLか本があったら教えていただけないでしょうか。m(_ _)m
883デフォルトの名無しさん:2009/09/15(火) 11:51:47
関数ポインタとかでできるんじゃないの?
884デフォルトの名無しさん:2009/09/15(火) 12:37:11
gccで言う-fPIC
あとはオーバレイセクションかな
885デフォルトの名無しさん:2009/09/15(火) 14:37:00
>>880
WAITの設定できるマイコン使ってるとか?
886デフォルトの名無しさん:2009/09/16(水) 01:25:04
>>885
WAITじゃHold timeはのばせないだろう。
887875:2009/09/16(水) 03:26:29
>>881 あ、もちろんハード屋さんには正直に話してますよ。
製造中止にされたデバイスがヒュンダイ、じゃなかったサムスンなんで、互換デバイスは
もっと怪しげなとこなんだろうなあ・・・ 安いの使えっていう縛りがあるのかと。
私にもメールで相談くれるぐらいで、呼ぶ金すら無さそうなんで、かわいそうに。
888デフォルトの名無しさん:2009/09/16(水) 06:01:47
>>887
そのCPUにLCDドライブの機能があって、
そのLCDがCPUから直接つながっていて、それを利用してLCDを制御しているなら、
あるいはレジスタでタイミングの変更とかできるかもしれないね

もし、そうでなくてCPUからLCDドライバみたいなものやFPGAとかを介してLCDがつながっているなら
ソフトではどうしようもないでしょうね

システムの構成がそれだけの情報ではわからないので、なんとも言えないと思う
889875:2009/09/16(水) 16:34:05
あ、ごめんなさい。後者のほうです。メモリ空間C0000とC0001へのI/Oがチップセレクトを
介してLCDデバイスにつながるようになってます。アドレスのLSBがレジスタ選択になって
いて、0がコマンド、1が表示データ(ASCII)。 私の 「だめでしょう」 という返事がまとも
だったらしいのが確認できました。 ありがとうございます。
890デフォルトの名無しさん:2009/10/10(土) 16:24:00
2年ぐらい経った製品で、char[48]の所に28文字以上入ってると、ずっと若いアドレスの
エラーフラグが立たないというバグが出ました。H8/2378 RAMは32KBあって余ってる。
上記char[48]の変数がほぼ末尾(後には使わない__errnoだけ)。
そこから10K以上離れてスタック。 cソース上はおかしな所無いってお客さんも言ってる。
どこから調べたもんか・・・参った。
891デフォルトの名無しさん:2009/10/10(土) 16:37:18
char[48]を参照してる所とエラーフラグの因果関係を調べりゃいいんじゃないの
892デフォルトの名無しさん:2009/10/11(日) 03:15:10
28文字以上が条件なのかもしれんけど、バグはどっか別の場所だよ
893890:2009/10/11(日) 04:21:00
レスありがとです。 >>891 それは真っ先にgrepすることですが、因果関係は見つかりません。
>>892 それはそうですね。見つかったらまた書きにきます。
894デフォルトの名無しさん:2009/10/11(日) 04:26:23
処理が間に合ってないとか?
895890:2009/10/12(月) 04:45:31
uart3本のうち2本は4.8K、1本が115Kだけど、uartのほうで支障が出たことはないの。
クロックは33MHz。メインループは15μSぐらいで回ってて、その中でエラーフラグを
立てたりしてる。お客さんはメインループ中で@ER6でアクセスしてるフラグのアドレスを
保持するER6が壊されるんじゃないか、って疑ってるんだけど、.lstファイルのgrep見ても
メイン以外の関数の入り口出口ではER4-ER6を退避・復元してる。
896デフォルトの名無しさん:2009/10/12(月) 06:46:58
ICEなりJTAGなりで、メモリウォッチはできないの?
897デフォルトの名無しさん:2009/10/12(月) 11:01:01
>>895
それを疑うなら、ER6の値をチェックするコードをインラインアセンブラで書いて
確認すりゃいいんでないかい。

なんとなくrace conditionくさいので、コードに細工すると再現しなくなったり
するかもしれんが。
898デフォルトの名無しさん:2009/10/12(月) 11:57:13
エラーフラグ(@ER6)を割り込みで書き換えてるとか
899890:2009/10/13(火) 06:13:19
>>898 それはありませんね。全部タスクレベルでやってます。

>>896-897 そのアイデアはいいですね。お客様にすすめてみます。
メモリはデバック用のコマンドでも見れるようにはしておいたのですが、変更される瞬間
は捕まえられないですものね。
900デフォルトの名無しさん:2009/10/13(火) 13:39:00
じゃ、参照される前にエラーフラグをどっかでクリアしてるのでは?
901890:2009/10/13(火) 17:41:43
それがいちばん疑われるのですが、それをgrepで見つけられないのがグヤジイんですよね
902デフォルトの名無しさん:2009/10/13(火) 21:44:33
>>901
> それをgrepで見つけられない
あのな、そうゆうのはおおむね grep では見つからない
バッファ御バーフローとか
スタック使いすぎとか
見つけること可能か、grep で?
903デフォルトの名無しさん:2009/10/14(水) 01:11:56
エラーフラグは参照したけど、速攻でエラー状態が消えてるとか
904890:2009/10/14(水) 03:12:16
愚痴聞いてくれてありがと。見つかりました。マ板よりこっちのが親切な人多いですね。
char wk[64]に sprintfしてて、ちょっとだけ長くなったその後ろがER6のpush場所でした。
もっと長くなると復帰アドレス飛ばして暴走リセットまで行くところでした。
grepの経過にそれらを見てるログが残ってたのに、スタックのサイズを気にしただけで
スタックの中身の並びまで思考が深入りせず流してました。

そこのchar[64]は、もともと%c,・・・みたいに固定だったのを、後から%sを含む編集を
付け足したデグレでした。皆さまお騒がせしました。
905デフォルトの名無しさん:2009/10/15(木) 00:46:02
ちょっとバグ取り手伝ってもらおうと思って聞きに行ったときに

ここでこの変数にこれが入って〜 で、そのあとこのif文にくるでしょ〜
ここがなんでか正になるんだけど〜 それは このif文の前に〜
この処理が入ってるのが原因じゃん! わかった!ありがと!

みたいな感じで説明途中で自己解決して帰るパターンとか多いよな。
906デフォルトの名無しさん:2009/10/15(木) 01:30:25
人に説明するとその種の問題は見つかりやすいね。
まあ、コードレビューってのは半ばそれが目的なのかもしれないが。
907デフォルトの名無しさん:2009/10/15(木) 02:28:15
>>905
あるあるw
908890:2009/10/15(木) 03:50:01
まさにそれを念頭に置いてここに書きに来ました。
お客さんのほうが頭の回転が速くて先に見つけてくれちゃいましたが。
909デフォルトの名無しさん:2009/10/15(木) 04:15:38
>>908
>お客さんのほうが頭の回転が速くて先に見つけてくれちゃいましたが。
あなたと話をすることで、レビューになったんだよ
役に立ってないようで、実はすごく役に立ったんだと思うよ
たぶん、お客さんは感謝してると思う。
910デフォルトの名無しさん:2009/10/15(木) 04:21:06
>>904
オレは、「文字列」、「文字配列」、「文字値」、「文字」を違うものとして考えてるよ
911デフォルトの名無しさん:2009/10/15(木) 22:35:46
シュリーマンが外国語を勉強していたときも、その辺の浮浪者を捕まえて
ただひたすらベシャリを聞かせていたというし
カーニハンもデバッグの一番の方法として、その辺のテディベアを捕まえて
ただひたすらコードの説明を聞かせていたというし
昔からある確立された手法であることは間違いない
912デフォルトの名無しさん:2009/10/15(木) 23:31:13
>>911

参考になった。今度サボテンに向かってしゃべってみるわ。
しかし、シュリーマンの相手してた浮浪者はいい迷惑だなww
913デフォルトの名無しさん:2009/10/16(金) 10:00:20
アメリカのとある大学の計算機センターでは、センター職員に話をする前に、
まずこれに向かって説明をしなさい、というテディベアが置いてあったとか。
914デフォルトの名無しさん:2009/10/16(金) 10:04:43
と、「プログラミング作法」に書いてあった
915デフォルトの名無しさん:2009/10/16(金) 17:28:00
HEW
って、

構造体のアラインメントっていうか、
構造体のパッキングオフにしたり
できまつか?
916デフォルトの名無しさん:2009/10/16(金) 17:46:07
ビルド−H8...Standard Toolchain−CPU タグの下に、メンバの境界調整数を1とする、ってのが
あるから、それじゃないか? ビットフィールド割付けを上/下からの選択もここにあるし。
917デフォルトの名無しさん:2009/10/16(金) 18:33:14
アドレスエラーにならないように気をつけた方がいい
918デフォルトの名無しさん:2009/10/19(月) 10:11:02
d>>916 >>917

その内容からすると、どうもHEWってアラインメントを弄らないのが、ふつーみたいですね。

ダミーメンバー入れて構造体のパッキングをいじればおkですか?
919デフォルトの名無しさん:2009/10/19(月) 10:59:23
>>918
やってみて確認したら?
mapファイルもでるわけだし。
920デフォルトの名無しさん:2009/10/19(月) 12:20:00
struct hoge
{
char int8;
short int16;
};
struct fuga
{
short int16;
char int8;
};
構造体のint16のアドレスが奇数番地になってたら、h8/shだと実行時におかしくなるかも?
921デフォルトの名無しさん:2009/10/19(月) 19:57:34
offsetofマクロでメンバの相対位置を確かめてみたら。
922デフォルトの名無しさん:2009/10/19(月) 20:59:59
なんでここはH8の話ばっかりなの?
923デフォルトの名無しさん:2009/10/19(月) 21:03:35
何か問題でも?
924デフォルトの名無しさん:2009/10/19(月) 21:59:52
H8を使っている無能がよく質問に来るだけという話
925デフォルトの名無しさん:2009/10/19(月) 22:23:52
日本はH8人口が一番多いから
926918:2009/10/20(火) 09:34:34
d & ゴメソ >>919 >>920 >>921

ごめんなさい、社内の別のプロジェクトの人との会話中に出てきた話で、
自分SHの基板持ってないのでテストできません。。。

H8じゃなくてSH2でつ。
927デフォルトの名無しさん:2009/10/20(火) 12:19:48
>>926
だから、ビルドして、mapファイルみたらわかるんじゃね?
928デフォルトの名無しさん:2009/10/22(木) 00:52:37
コンパイラ パッケージ 9.01 のマニュアルによるとコンパイラ オプションと
#pragma pack で1か4(デフォルト)を指定できるみたいね。

境界をまたぐアクセスをした場合、バス サイクルを分割しないだろうから
BUSERR か、バイト順が入れ替わってしまうかのどちらかだろうね。
って、ハードウェア マニュアル嫁って話だな・・・

H8/SH で packed record は漢かも。
929デフォルトの名無しさん:2009/10/23(金) 04:40:25
H8 H8S で、メモリのBSET/BCLRがありますね。あれってASMレベルで1命令でアクセス
してますから、割込とタスク両方のレベルから触っても割禁不要と理解していいですか?
ex):タスクレベルから、@ER4=flagのアドレスで、BCLR 6,@ER4
  割込レベルから、@ER1=flagのアドレスで、BSET 6,@ER1

MOV マスク MOVのアーキテクチャだとBCLRの前後で割り込み禁止/解除が必要でした。
マイクロコードが実はMOV マスク MOVでやってたとかの心配はしなくていいですよね?
930デフォルトの名無しさん:2009/10/23(金) 09:40:56
BCLR/BSETの命令実行中に割り込みが入ったら、どこに戻ってくるの?
931929:2009/10/23(金) 16:47:10
その命令の次、ですよね。 >命令実行中に 「割込要因が起きる」ことはあるでしょうが、
「割り込みが入る」というのが 「割り込みベクタのアドレスに飛ぶ」 ことなら、命令実行後
のはずですよね。1命令の実行中に割り込みを受け付けるのは EEPMOV のような
くり返し系の命令だけ、と理解しています。
932デフォルトの名無しさん:2009/10/23(金) 18:00:37
>>931
パイプライン
933929:2009/10/24(土) 05:10:00
H8にはなかった。H8Sは23xxシリーズ使ってますが、パイプライン機能は無かったような。
パイプライン機能があったとしたら、割り込みを受け付けるタイミングに制約があるのですか?
1命令の実行中というのはあり得ない、割り込みベクタのアドレスに飛ぶのは命令実行後、
パイプライン機能が先の番地の命令を先取りしていたとしても、分岐が起きた時点で
その実行結果は破棄されると理解していましたが、どこか間違っていますか?
934デフォルトの名無しさん:2009/10/24(土) 08:00:30
ちゃんとわかってるじゃん
935デフォルトの名無しさん:2009/10/24(土) 16:19:21
シリアルポートはどういうところで使われているのでしょうか
936デフォルトの名無しさん:2009/10/24(土) 16:50:28
USBが無かった時代はシリアルで繋いでたという程度のモノだよ
制御も比較的ラクだしね
937デフォルトの名無しさん:2009/10/24(土) 17:44:19
>>936
ありがとうございます

シリアルポートを操作するようなプログラムをアセンブリとC言語にて組もうと考えているんですが、
まずは何から学べばよいでしょうか?
938デフォルトの名無しさん:2009/10/24(土) 17:45:08
通信だけならCで20行ほどで組める
939デフォルトの名無しさん:2009/10/24(土) 18:00:15
>>938
実はlinuxのカーネル内で組んであるシリアルポートへの通信プログラムでして、
これを勉強しようと思っているのですが、カーネルレベルということなので
何から学べばよいのかわからなくて
940デフォルトの名無しさん:2009/10/24(土) 18:27:42
情報の小出しはイラっとくるな
941デフォルトの名無しさん:2009/10/24(土) 18:33:34
>>940
linux0.01です。
942デフォルトの名無しさん:2009/10/24(土) 20:45:28
なるほど
回り道をして、力尽きて、死にたいと申すか
まずはlinuxから離れよ
943デフォルトの名無しさん:2009/10/25(日) 02:15:54
シリアルの送信だけするところから始めたら
944デフォルトの名無しさん:2009/10/25(日) 14:33:50
>>939
その書き方なら、それはカーネルレベルの話ではない。
945デフォルトの名無しさん:2009/10/25(日) 15:10:27
>>939
マニュアルを読むのと、ネットで探すと参考になるプログラムがある
H8もSHもほとんど同じ
送信も受信も基本はレジスタを読み書きする。

回線アナライザがあると楽だけど、パソコンのターミナルソフトで見てもいい
オレは、tty.exeっていう簡単なターミナルソフトをよく使う。
946デフォルトの名無しさん:2009/10/25(日) 17:36:15
なるほど、昨日書店に行きまして組み込み系の書籍をざっと見てきたので、近々わかりやすい書籍を二冊ほど買ってこようと思います。
947デフォルトの名無しさん:2009/10/25(日) 19:11:50
とりあえずH8は色々試せるからこれがいいんじゃないかね。
http://akizukidenshi.com/catalog/g/gK-01271/
完成品で5VのACアダプタとPCにRS232C(かUSBシリアル変換)
があるならすぐ使える。シリアル2ポートやethernetなどが付いてるし、
メモリ増設すれば格安でuCLinuxも動く。遅いけど。

メモリとか不要なら1チップのPICやAVRの方が単純でいい。
ただし書き込み環境が必要。

あくまでlinuxからシリアル使いたいだけならlinux板で聞いた方がいい。
948デフォルトの名無しさん:2009/10/25(日) 22:15:32
termiosの特殊制御文字でわからない特殊文字が幾つかあるのですが、
VSWTC 7
VREPRINT 12
VDISCARD 13
VWERASE 14
VLNEXT 15
VEOL2 16
これらについて載っているサイト等ありましたら教えて頂けないでしょうか?
949デフォルトの名無しさん:2009/10/25(日) 22:32:35
950デフォルトの名無しさん:2009/10/25(日) 22:33:18
えーと、海外のサイト渡り歩いていたら見つけました。お手数かけました。
951デフォルトの名無しさん:2009/10/26(月) 02:48:21
沖電気の80C85のデータシートは見ましたが、フラグの立ち方が明記されていません。

H8系はMOVでフラグが設定されますが、8085はADD/SUB、AND/OR/XOR など、
A-regに対する演算を実行した後だけ、ZやCやMなどのフラグが設定される。
MOVやpush/popでは、(POP PSWを除き) フラグは変化しない。
16bit演算(HL対象の)を実行しても、フラグは変化しない。 この理解で合っていますか?
952デフォルトの名無しさん:2009/10/26(月) 03:16:21
もう一度質問を読み返せ
さっぱりわからん
953デフォルトの名無しさん:2009/10/26(月) 08:26:09
z80だけど、参考にしてみたら
ttp://www.systemax.jp/doc/Z80_inst.html
954デフォルトの名無しさん:2009/10/26(月) 09:34:12
8085の資料がどっかにないの?
CP/M関係の海外サイトとか。
955デフォルトの名無しさん:2009/10/26(月) 10:34:10
"8085 instruction set" でぐぐってみるぐらいのことは
956デフォルトの名無しさん:2009/10/27(火) 10:09:02
8085? 海外では、もっとも使われているマイクロコントローラーじゃんか?
セカンドソースは数え切れないほど。
狭いが、組み込み業界では、ほぼ世界標準のMCUだろ?

資料の集め方から修行をやり直せ!
957デフォルトの名無しさん:2009/10/27(火) 12:00:27
それは8051でないかい。

958デフォルトの名無しさん:2009/10/27(火) 12:20:32
>>951
大体合っているよ。手元に8085のインストラクションセットがないなら、8080のインストラクションセットでもほぼ一緒。
ハードウェア周りと8085で追加されたインストラクション二つとクロック数程度しか違わない。
959951:2009/10/28(水) 14:35:51
>>958 ありがとうございます。
大昔(1988年頃)には、雑誌に載ったチップの説明の青焼きを頼りにやってたのですが、
さすがにそれらも残ってなくて、うろ覚えになってたので、助かりました。

>>955 英語ばっかり引っかかるのイヤん。先頭の奴ざっと見たら沖のとほぼ同じでした。
960955:2009/10/28(水) 14:41:44
>>959
え?最初のリンクで、ちゃんとフラグの変化まで表に出てるじゃん
961デフォルトの名無しさん:2009/10/28(水) 16:00:21
フラグがどうなると変わるか知りたいとか?
962デフォルトの名無しさん:2009/10/28(水) 18:06:32
1990年代にttyはどのような使われ方をしていたのでしょうか?
963デフォルトの名無しさん:2009/10/28(水) 18:26:19
またお前か
964デフォルトの名無しさん:2009/10/28(水) 18:26:46
テレタイプ(ライタ)は、90年代にはほとんど動く化石だろ。
テレックス網は先日まで生きてたけど。
965デフォルトの名無しさん:2009/10/28(水) 18:28:36
>>962
いまでも使ってるよ
ただのキャラクタベースの端末
966デフォルトの名無しさん:2009/10/30(金) 13:46:56
マイコンの勉強するなら、どっちのボードが良い?

AKI-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がよく使われてるそうなので、
初心者はこっちの方が良い?
967デフォルトの名無しさん:2009/10/30(金) 17:04:55
H8にLinuxは荷が重いな
968デフォルトの名無しさん:2009/10/31(土) 01:28:22
3048 は止めといた方が良かったと思う
3069 で桶
969デフォルトの名無しさん:2009/11/03(火) 07:41:20
uCLinuxは大変だよ。いろんな意味で。H8に限らず。
H8で動かしてみたいなら秋月のよりKane Bebeの方がいい。
標準で入ってるMESでも困ることはないと思うけどね。
970デフォルトの名無しさん:2009/11/04(水) 08:03:34
しかしH8ってすげーな
やっぱメモリがリニアに16M取れるのがでかかったな
971デフォルトの名無しさん:2009/11/05(木) 18:03:36
前身の68000が時代の流れに結構耐えたのもそのせい。
386以降が主流になるまでPC98勢辺りでは使えなかったgccが
X68000ではまっさきに動いたりUNIX系OSが移植されたり。
データレジスタ32bit、アドレスバス24bitだったから、
速度の問題を除けば今でも扱いやすい。
972デフォルトの名無しさん:2009/11/05(木) 19:06:39
H8にはH16とH32という兄弟がいて、
68k色が濃かったのはH16なんじゃなかったっけ。
H32はGmicroで。
973デフォルトの名無しさん:2009/11/06(金) 03:31:26
大型とはどの位のものを言うのですか?という質問に、だいたい10t以上、という時代の
IBM S/360の10tクラスの奴と、H8Sシリーズがほぼどっこいの能力だもんね。
目方で1千万分の1になってる(w
974デフォルトの名無しさん:2009/11/07(土) 04:41:06
前々スレ辺り?で、「リングバッファの滞留数を知るのに、リード・ライトポインタから計算する」
手法を教えてもらった者です。送信ringには適用できたのですが、受信ringでは
受信ありを受信済みカウンタで判定している所が解決できなくてカウンタが残っていました。

今回、受信カウンタを不要にできました。このカウンタが無ければ割り込みとtaskで同じ資源を
触らないので割禁命令も不要になりすっきりしたコードにできました。
 受信割り込み処理:ring[ライトポインタ++]=受信バイト;
 読み出しtask処理: return ring[リードポインタ++];
「受信あり」の判定: if( ライトポインタ ^ リードポインタ )

サイクル数で2割位の改善になりました\(^o^)/3MHzの8bit石では嬉しいことです。
975デフォルトの名無しさん:2009/11/09(月) 05:22:57
8251の動作について質問です。RXRDYによる割り込み処理で、受信データレジスタを
読み出したらRXRDYのステータスbitは消えますが、受信データレジスタの内容は
消えませんよね?=2度読みとっても同じ値が読めますよね?
976デフォルトの名無しさん:2009/11/09(月) 05:28:51
駄目だったような
977デフォルトの名無しさん:2009/11/09(月) 06:58:02
仮に消えるとしてどんな値になって欲しいんだ?
アクセス禁止を期待してるのか?
978デフォルトの名無しさん:2009/11/09(月) 07:22:41
うつ病がひどいです
会社休んでいい?先週もう4日休んでるけど
おわたかな
979デフォルトの名無しさん:2009/11/09(月) 07:35:22
よくないつっても休むけどね
俺を会社に組み込むのは
どうやら無理だったようだな
なんつって
寝る
980デフォルトの名無しさん:2009/11/09(月) 07:36:19
ちなみに
読むことがトリガになるレジスタはあまり触らない方がいいね
まあ他人のことはどうでもいいんだが
981デフォルトの名無しさん:2009/11/09(月) 11:19:07
>>979
休むのならきちんと連絡すること。
また、きちんと診察を受けて必要なら診断書を書いてもらうこと。
それができないのなら、あんたは会社どころか社会にも不適合と言うことだ。
982975:2009/11/09(月) 15:11:27
>>976-977 2度目に読んだ値とxorして0を作ろうと思ったんですけど(w
ちゃんと読むのは1度にします。ごめんなさい。
983デフォルトの名無しさん:2009/11/10(火) 07:03:15
ttp://sankei.jp.msn.com/science/science/091109/scn0911092150002-n1.htm
せつないな
リモートのシステムをとかをやっていると、
こういうのが、けなげでいとおしく感じる。
984デフォルトの名無しさん:2009/11/10(火) 08:46:48
>岩石採取は失敗したとみられているが、着陸時に舞い上がった
>砂などが付着している可能性が期待されている。

ワロタ
いつから付いたか判らんゴミも付着してるだろうし、
仮に付いたとして、どれがその砂か判るのかね
こういう胡散臭いのは勘弁
985デフォルトの名無しさん:2009/11/10(火) 09:05:37
>>984
こんなとこで馬鹿自慢するなよw
986デフォルトの名無しさん:2009/11/10(火) 12:12:33
悪魔の証明?
987デフォルトの名無しさん:2009/11/10(火) 12:22:09
そろそろ次すれたてれ
988デフォルトの名無しさん:2009/11/10(火) 12:24:21
次スレは http://pc12.2ch.net/test/read.cgi/tech/1173483031/l50 でいいんじゃね?
989デフォルトの名無しさん:2009/11/10(火) 12:25:03
2年で1スレだし
いらないかと
990デフォルトの名無しさん:2009/11/10(火) 12:36:35
了解
991デフォルトの名無しさん:2009/11/10(火) 12:37:29
ume
992デフォルトの名無しさん:2009/11/10(火) 12:38:49
ume
993デフォルトの名無しさん:2009/11/10(火) 12:39:02
ume
994デフォルトの名無しさん:2009/11/10(火) 12:39:48
ume
995デフォルトの名無しさん:2009/11/10(火) 12:40:29
ume
996デフォルトの名無しさん:2009/11/10(火) 12:41:36
ume
997デフォルトの名無しさん:2009/11/10(火) 12:42:26
ume
998デフォルトの名無しさん:2009/11/10(火) 12:43:43
ume
999デフォルトの名無しさん:2009/11/10(火) 12:44:12
ume
1000デフォルトの名無しさん:2009/11/10(火) 12:44:28
ume
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。