組み込みやらされそうなんだけどどんな勉強すれば?
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/03/10(土) 08:30:310153デフォルトの名無しさん
2007/04/24(火) 22:13:12安いけどちゃんと仕事するから精鋭なのであって、普通に金取ったら
相対的に並になるじゃないか。それにどうしても支払いは高級な
仕事の方に傾斜配分しないといけないから高くするのは中々難しい。
0154デフォルトの名無しさん
2007/04/25(水) 03:47:521.5倍の年収なんだし。
0155デフォルトの名無しさん
2007/04/29(日) 21:36:46実質シングルタスクのプログラムを動かしています。
実質シングルタスクなのに、どういうわけだか大域変数が多いです。
いや、別にいいんですが…。
0156デフォルトの名無しさん
2007/04/30(月) 01:14:23タスク1つだけならコンテキスト考えなくていいからな。
0157デフォルトの名無しさん
2007/05/01(火) 20:58:06マルチタスクだと、欲張ってメモリ取りすぎるとOSもろとも落ちる。
0158デフォルトの名無しさん
2007/05/02(水) 00:16:370159デフォルトの名無しさん
2007/05/02(水) 00:57:470160デフォルトの名無しさん
2007/05/02(水) 02:48:380161デフォルトの名無しさん
2007/05/04(金) 01:33:0964MBのメモリしか無いのに、500MBの仮想領域が有っても、128MBのメモリ確保した瞬間にほとんどの処理は、64MBのメモリに仮想記憶の読み書きを延々と行うだけ。
0162デフォルトの名無しさん
2007/05/04(金) 02:03:550163デフォルトの名無しさん
2007/05/04(金) 10:35:34出したくないとか。並列にタスクが走って途中で潰しあうより、先行タスクが
先に必ず完結することを保証するとか・・・
0164デフォルトの名無しさん
2007/05/04(金) 12:04:34ああ、OSに任せた方がよっぽどマトモな処理をしてもらえるものを、
わざわざ自前で持って、無理矢理こじつける程度には安心出来るなw
0165デフォルトの名無しさん
2007/05/04(金) 13:28:030166デフォルトの名無しさん
2007/05/04(金) 16:17:28組み込み用だとヒープはあんまり使わんトコも多いし、絶対使わない所もある。
不定なサイズが欲しいならファイル方式の管理がいいかもな
0167デフォルトの名無しさん
2007/05/04(金) 19:38:390168158
2007/05/04(金) 22:25:42全部使うかどうか分からないけどとりあえず一応確保だけしておきたい、
というのが仮想記憶APIの主立った需要
0169デフォルトの名無しさん
2007/05/05(土) 08:36:50でもさ、メモリが潤沢ならそういう仮想記憶APIも存在意義を見いだせるだろうけど、組み込みのメモリなんて最小限だよ。
必要な分だけを確実に取れて必要なときに使えないと意味が無い。
API的に割り当てましたって反応が欲しい訳じゃないし。
0170デフォルトの名無しさん
2007/05/05(土) 13:19:39スワップアウトされない領域を確保することは出来る。
ロックしすぎると一般領域でスラッシングが起こって全体のパフォーマンスは劇的に下がる。
いくら組み込みといえども、リアルタイム性が必要なメモリ量は最小限にする必要があるし、
そのおおよそのサイズは統計的、経験的に把握できるはずだから、
おそらくそれに応じた適切かつ最小限のサイズがメモリ量の仕様になるはずだとは思う。
ただ、俺の経験上は仮想記憶で利用する外部記憶(=HDD)を組み込みとして
使用すること自体が稀、というかそれこそタコ仕様な気がする。
HDD内蔵の組み込み案件があるのってどんな用途だ?
0171デフォルトの名無しさん
2007/05/05(土) 13:45:330172デフォルトの名無しさん
2007/05/05(土) 14:12:01mallocだと決まった大きさ単位でメモリを確保するからもったいない。
なんかいい方法ないかね。
0173デフォルトの名無しさん
2007/05/05(土) 14:18:49それぞれにキーを割り当てて、データベース的にやったらどう?
ISAM B木で管理すれば高速でしょ
0174デフォルトの名無しさん
2007/05/05(土) 16:49:30webブラウザーでも作ってるのか?
それにリアルタイム性って必要か?
0175デフォルトの名無しさん
2007/05/05(土) 18:36:31ポインタ直結より早いアクセス方法なんてあるのか?
0176デフォルトの名無しさん
2007/05/05(土) 18:40:03超大量に確保したり開放するコストの方が普通は大きいだろ
0177デフォルトの名無しさん
2007/05/06(日) 00:11:11なんか途中でずれたこと言ってる香具師いるけど、
malloc的な記憶管理をする場合で数十バイト単位と確定してるなら
メモリブロック毎にで1バイトのオーバーヘッドで済む。
下位7ビットをブロックサイズにして最上位ビットを空きフラグに使う。
性能ははさほど無いがCPUによってはmallocよりは性能が出る可能性もある。
それでもオーバーヘッドが気になるならオブジェクトの管理方法を考え直せ。
0178デフォルトの名無しさん
2007/05/06(日) 02:08:180179デフォルトの名無しさん
2007/05/06(日) 07:29:58リスト構造で管理してたから、解放・確保の処理時間が我慢出来る範囲だったのかもしれない。
そのメモリの内容や目的によって、適切な実装は違ってくるだろうね。
0180デフォルトの名無しさん
2007/05/06(日) 07:34:44短期の検証では問題なくても、長期の検証で不具合出そう。
ケチケチにメモリ使おうとすると結局自前かあ。
0181デフォルトの名無しさん
2007/05/06(日) 07:48:12だから、メモリ管理とカブッテルやんけという事になるのだろう。
目的が電話帳のようなものなら、BTreeなんても悪くないけどな
0182デフォルトの名無しさん
2007/05/06(日) 09:15:220183デフォルトの名無しさん
2007/05/06(日) 14:13:49固定長にする場合でも可変長部分(ケチれるはずの部分な)の
未使用の長さの平均がブロックあたりの無駄になってくる。
普通freeは指定されたブロックを空きにして
場合によって前後の空きブロックと連結するだけだから割に高速なんだけど、
mallocは十分なサイズの空きブロックのスキャンが入るから
どうしても多少の時間が掛かる。
空きブロックの管理にバイナリサーチが使えれば多少速くなるかも知れないけど、
多分freeは遅くなるね。
断片化度合いによってヒープの性能は変わってくるが
一般的な使用の場合断片化はそうそう進まない。
過去に開放されるサイズよりも割り当てサイズが大きくなる傾向がある局面で
断片化が進みやすい。
# Stringの連結が乱発してるような状態だね。だから駄目なjavaコードはgcが多発する
大量に確保した後に一括して開放でいいんだったら単純伸長型も悪くない。
結局パフォーマンスを優先したいなら
細切れのメモリ管理は可能な限り避けることを進める。
無駄にnewすることはなるべく避けて
可能な限り大オブジェクトを使うようにするといい。
あとは実メモリどっさり積んで利用効率を気にしないか、
ハイスペックなCPU+RAMにして処理速度を気にしないかだな。
0184デフォルトの名無しさん
2007/05/06(日) 14:30:31それには free の引数にサイズを渡す必要があるが・・
あと、固定長の大量の要求があるのなら、最初から、サイズ毎にリンクリストの出発点を別に管理しておけばいい
0185デフォルトの名無しさん
2007/05/06(日) 18:33:150186デフォルトの名無しさん
2007/05/06(日) 19:04:190187デフォルトの名無しさん
2007/05/06(日) 21:46:43組み込みを勉強がてらやってみようと思ってます。
C,C++は少しだけやったことがあるので、これらの言語を用いて
勉強したいのですが、自宅で行うにはどのようなものを
購入すればよいのでしょうか?
0188デフォルトの名無しさん
2007/05/06(日) 22:19:38組み込みのためならどっちかというとgccのがいいかな?
普通はCPUメーカーかボードメーカーが開発キット出してるよな。
0189デフォルトの名無しさん
2007/05/06(日) 23:05:58bccを無料というのはいいんだが、gcc(GPL系のモノ)を無料というのにはすごく抵抗がある。
GPLの無料ってのは正にタダより高いものはないのタダだからなぁ。
0190デフォルトの名無しさん
2007/05/06(日) 23:35:41お金と時間が余ってるなら H8とかM16Cのボード買って、何か作ったらどう?
0191デフォルトの名無しさん
2007/05/07(月) 23:11:55限られたメモリ容量で厳しいからなんか無い?って話しだし。
公開したりして、GPLに基づいた要求に対応する手間のコストが高いしなあ。
0192デフォルトの名無しさん
2007/05/08(火) 01:00:00ほとんど静的か自動変数にして動的な割り当ては構造体の配列でやった。
あと、mallocを使うようなランタイムライブラリは一切使わなかった。
どっちみちI/O全部自前だしOSの難解な癖とか無い分意外にデバッグも楽だった。
0193デフォルトの名無しさん
2007/05/08(火) 06:09:34>>191
freeでサイズ指定するのが問題ないなら、空き領域だけリンクで管理して
利用時は管理領域を無くせばいい
0194172
2007/05/08(火) 12:44:13ときどき大きいとい
0195デフォルトの名無しさん
2007/05/08(火) 12:58:22Q1 どの程度のサイズのが多くて、滅多に無い大きいのはどの程度なの?
Q2 その領域のサイズはアプリ側は把握しているの?
Q3 Q2がyesなら、free の引数にサイズを付ける事は出来る?
0196デフォルトの名無しさん
2007/05/09(水) 16:42:470197デフォルトの名無しさん
2007/05/09(水) 19:27:291)共有サブルーチンとして実装
2)タスクとして実装
する方法があるようですが、
1)の場合、デバイスドライバを排他制御して実行する場合、
『アプリケーションのタスクが優先度順に実行して、
デバイスドライバのサービス順がFIFOである場合、
排他制御システムコールが使えない』
らしいのですが、これってどうしてですか?
0198デフォルトの名無しさん
2007/05/09(水) 21:29:55っ J#
0199デフォルトの名無しさん
2007/05/10(木) 10:46:25コンパイラ使う分には問題ねえっす。
GPLなライブラリはともかく。
0200デフォルトの名無しさん
2007/05/10(木) 17:18:10独立行政法人 情報処理推進機構(略称:IPA、理事長:藤原 武平太)は、
組込みシステムの情報セキュリティ対策を推進するため、7分野(RFID 、ICカード、
情報家電、携帯電話、金融端末(ATM)、自動車搭載機器カーナビ、自動車搭載機器ETC)
の組込みシステムを対象として、製品のライフサイクルを考慮した
セキュリティ技術マップを策定し、「組込みシステムの脅威と対策に関する
セキュリティ技術マップの調査報告書」として2007年5月10日(木)より、
IPAのウェブサイトで公開しました。
0201デフォルトの名無しさん
2007/05/13(日) 23:59:14いるのですが
メイン関数からディスパッチャの関数をコールして、
その関数を抜けるといきなり、アイドルが実行される〜
なんで?これってどういうことですか?
コールしたつもりないけど.....
0202デフォルトの名無しさん
2007/05/14(月) 23:24:380203デフォルトの名無しさん
2007/05/15(火) 07:21:07だったら、書き換わったスタックに保存されてるリターンアドレスに飛ぶのが当然
0204デフォルトの名無しさん
2007/05/15(火) 10:12:370205デフォルトの名無しさん
2007/05/15(火) 10:13:59ちっ、マルチかよ糞が。
0206デフォルトの名無しさん
2007/05/15(火) 12:07:43コルーチンで説明する。 コルーチンの切り替えルーチンは
var GateSP:Integer;
function CoGate(var eax:Integer):integer;
asm
mov eax,[eax]
push eax
Xchg GateSp,esp;
pop eax
end;
コルーチンの起動ルーチンは
type PtProcedure=procedure ;
procedure CoSetup(var eax;edx:PtProcedure);
asm
mov GateSp,eax;
mov eax,0
push eax
Xchg GateSp,esp;
jmp edx
end;
0207デフォルトの名無しさん
2007/05/15(火) 12:10:11起動される簡単なルーチン
procedure MyProg;
var i:Integer;
begin
allocConsole;
i:=0;
while true do begin
writeln('MyProg ',CoGate(i));
inc(i);
end;
end;
起動するルーチンは フォームにメモと、ボタンを貼り付けて
var Stack:array[0..2000] of integer; // スタック用の領域確保の為だけ
procedure TForm1.Button1Click(Sender: TObject);
var i:Integer;
begin
CoSetup(Stack[1000],MyProg);
for i:=100 to 110 do begin
Memo1.Lines.Add( format('%5d',[CoGate(i)]) );
end;
end;
これを実行してトレースしてゆくと、MyProgと Buttin1を交互に、互いに変数を交換しあって動くのが判ると思う
0208デフォルトの名無しさん
2007/05/15(火) 18:23:534Kbyteもスタックが要るのかと思ったら、実行させたら殆ど使ってやがる
0209デフォルトの名無しさん
2007/05/15(火) 19:59:160210デフォルトの名無しさん
2007/05/16(水) 17:24:080211デフォルトの名無しさん
2007/05/16(水) 22:16:00ジャグリングするんだよ。
0212デフォルトの名無しさん
2007/05/16(水) 22:25:520213デフォルトの名無しさん
2007/05/16(水) 22:31:37比較的「ばか」が少ない。
オープン系だと未経験でも大丈夫!IT企業で働こう!なんて公告で釣られてくる「ばか」と
仕事をする事も多いが、組み込み系だと少なくともプログラミング言語の一つも習得出来ない
レベルの「ばか」は職を得られない。
0214デフォルトの名無しさん
2007/05/16(水) 22:37:27えっ、言ってることわかりましたけど、
それが面白いんですか?面白いっていうか、ただ、オープン系が嫌なだけのような.....
0215デフォルトの名無しさん
2007/05/16(水) 22:48:26スクリプト言語を作る羽目になることはしばしばあるな。
0216デフォルトの名無しさん
2007/05/16(水) 23:05:39仕事は楽しくない。
だから、自分なりの楽しみを見つけて、「それが楽しいんじゃねーか」 と精一杯つっぱっている。
まあ遊んで行って下さいよ。
0217デフォルトの名無しさん
2007/05/17(木) 00:31:580218デフォルトの名無しさん
2007/05/17(木) 01:01:11そして幸せを満喫している間に
気付いたらジジイになってた
浦島太郎の世界そのもの
0219デフォルトの名無しさん
2007/05/17(木) 01:08:27楽しい時間は速く進む
抜け出す勇気を持て
0220デフォルトの名無しさん
2007/05/19(土) 01:41:02テレビとか携帯とか、生活に密着してるものを作れる楽しみ。
さらに電気屋とかで自分が作った画面とか出てるの見ると脳汁出る。
まぁ電気屋で見えるのは組み込みでも制御ってかアプリだけどね。
0221デフォルトの名無しさん
2007/05/19(土) 19:36:08営業も出来ん。マーケッティングも出来ん。経理の知識もない。もう行き場はない。
早朝から深夜まで働いてこのざまw
0223デフォルトの名無しさん
2007/05/19(土) 20:12:380224・∀・)っ-○◎●
2007/05/19(土) 23:01:010225デフォルトの名無しさん
2007/05/20(日) 09:15:47営業とマーケティングは大々的に商売するんじゃなければ関係ないから
経理の基礎知識だけつけて独立して、つてを辿って請負商売すれば?
0226デフォルトの名無しさん
2007/05/20(日) 09:47:530227デフォルトの名無しさん
2007/05/20(日) 10:36:16俺らが日本製品を世界に広めてるんだ、って頑張ってたら40代になった。
開発は出来ん。マーケッティングも出来ん。経理の知識もない。
商品知識なんて新製品が出ればそれで終わり。
もう行き場はない。 早朝から深夜まで働いてこのざまw
【経理の視点】
俺らが会社の金を管理してるんだ、って頑張ってたら40代になった。
営業が出来るわけでもない。マーケッティングも出来ん。開発や商品の知識もない。
社内ローカルな業務知識ばかり脳内には詰まってる。
もう行き場はない。 早朝から深夜まで働いてこのざまw
【マーケティングの視点】
俺らが営業や開発のゴールを作ってるんだ、って頑張ってたら40代になった。
でも実際の営業は出来ん。開発も出来ん。業務的な経理の知識もない。
業界とか製品の上っ面の知識だけが知っていることのすべて。
もう行き場はない。 早朝から深夜まで働いてこのざまw
・・・開発って、まだましじゃない?
結局「専門を極めて世界的に通用するプロになる」か「自分が
自分のボスの経営者になるか」だけが脱出口で、「ふつーの社員」とか
「ふつーの管理職」はどれも同じ。
0228デフォルトの名無しさん
2007/05/20(日) 19:14:53ただ俺らに取ったら一番マシなのが開発なのかもしれん
0229デフォルトの名無しさん
2007/05/21(月) 02:32:50むしろ経理をひとまかせに出来る分だけ
サラリーマンより楽
独立した意味ねーよ
0230デフォルトの名無しさん
2007/05/21(月) 02:33:36間違った orz
サラリーマンより楽 -> サラリーマンの方が楽
0231デフォルトの名無しさん
2007/05/21(月) 08:32:030232デフォルトの名無しさん
2007/05/21(月) 22:05:110233デフォルトの名無しさん
2007/05/21(月) 22:16:56トレーサビリティマトリックスってなんですか?
0234デフォルトの名無しさん
2007/05/22(火) 00:15:34違ってたらスマンが、要求仕様と実装機能の対応表じゃなかったっけ?
0235デフォルトの名無しさん
2007/05/22(火) 01:45:23要求されている性能が, あたえられたハードスペックの範囲内に収まらなければ
アセンブラで書いてあっても極刑なんだが.
# 要求されている性能: tick 1mm でデッドラインとかってのも含む
0236235
2007/05/22(火) 01:48:45要求されている性能が, あたえられたハードスペックの範囲内にあるにもかかわらず
その要求を満たせない場合アセンブラで書いてあっても極刑
てのが, 言いたかったこと
0237デフォルトの名無しさん
2007/05/26(土) 00:04:380238デフォルトの名無しさん
2007/05/26(土) 15:33:190239デフォルトの名無しさん
2007/05/26(土) 15:45:200240デフォルトの名無しさん
2007/05/27(日) 01:00:570241デフォルトの名無しさん
2007/05/27(日) 03:37:500242デフォルトの名無しさん
2007/05/27(日) 04:13:050243デフォルトの名無しさん
2007/05/27(日) 11:47:46何をしなきゃいかんのかとか、入ってくる頻度や同時処理の有無だろ。
複数の外部デバイスからの要求それぞれに対し10ms以内に応答し、
リモートセンサ(実はRTT不定)のステータスを返送完了せよ、とかだったら
設計者は蹴り倒しもん。
0244デフォルトの名無しさん
2007/05/27(日) 11:54:24理論的には5msのタイムスライスでいいわけで、
それってファミコンのCPUでもそう無理のない仕事のような気がするけど
0245デフォルトの名無しさん
2007/05/27(日) 12:28:37シリアル入力への応答なんかで10msは遅すぎるくらい十分だろう
0246デフォルトの名無しさん
2007/05/27(日) 13:08:380247デフォルトの名無しさん
2007/05/27(日) 14:17:250248デフォルトの名無しさん
2007/05/29(火) 20:31:420249デフォルトの名無しさん
2007/05/30(水) 12:42:09【Verilog】記述言語で論理設計 Project5【VHDL】
http://science6.2ch.net/test/read.cgi/denki/1174319964/
0250デフォルトの名無しさん
2007/05/31(木) 11:46:34ハード組まないんだったら要らない.
0251デフォルトの名無しさん
2007/06/02(土) 08:10:59無くても大丈夫だけど、フリップフロップぐらいは勉強してね
そうじゃないと制御対象が何をしているのかわからんと思うよ
0252デフォルトの名無しさん
2007/06/02(土) 13:37:35CPUがあってCコンパイラでもあれば、何かしら動くもん作るトコまでは行けるかもね。
まぁ、デバッグでハードかソフトかの切り分けは(うちの場合は)ソフトでやらされるから
結局勉強する羽目になるわけだが。
■ このスレッドは過去ログ倉庫に格納されています