- 1 名前:仕様書無しさん [2008/04/29(火) 22:12:00 ]
- 雑談などにご使用ください
前スレッド 組み込みプログラマーこそ真の一流!その8 pc11.2ch.net/test/read.cgi/prog/1203811772/
- 263 名前:仕様書無しさん mailto:sage [2008/06/05(木) 06:58:04 ]
- とりあえず
RAM2Kとか4KのマイコンでC++使おうとするのはやめてけれ。
- 264 名前:仕様書無しさん mailto:sage [2008/06/05(木) 07:17:26 ]
- C++だとRAMを余計に使うのか?
- 265 名前:仕様書無しさん mailto:sage [2008/06/05(木) 07:20:21 ]
- かぶれるなってことで。
- 266 名前:仕様書無しさん mailto:sage [2008/06/05(木) 08:45:17 ]
- C言語を完全に駆逐するためには
pc11.2ch.net/test/read.cgi/tech/1210158702/l50 ↑のスレだと意地でもC++使えって感じのやつとかいるな。
- 267 名前:仕様書無しさん mailto:sage [2008/06/05(木) 09:12:13 ]
- C++になれてるからできることならC++使いたいけど
やっぱり組みこみだと難しいかねぇ
- 268 名前:仕様書無しさん mailto:sage [2008/06/05(木) 09:35:31 ]
- 結局は道具として使いようだと思うが。
少なくともHaskellよりは普通に組み込み開発用として使えると思う。 オブジェクトのコンストラクト・デストラクトが暗黙のうちに起こるような コーディングはダメとか。
- 269 名前:仕様書無しさん mailto:sage [2008/06/05(木) 10:14:00 ]
- 便乗で質問。
外部RAMとかにアクセスする際に「*(int *)アドレス」とするのはどうして? アドレスが解っていればダブルポインタにする必要が無い気がするのですが。
- 270 名前:仕様書無しさん mailto:sage [2008/06/05(木) 10:20:10 ]
- それはダブルポインタではない。
「アドレス」の部分の式の型がポインタ型ではなく整数型なので、 (int *) でintへのポインタ型にキャストして、 * でデリファレンスしている。
- 271 名前:仕様書無しさん mailto:sage [2008/06/05(木) 10:20:47 ]
- >>269
それはポインタの中身
- 272 名前:仕様書無しさん mailto:sage [2008/06/05(木) 10:40:52 ]
- >>270
理解しました。ありがとう。
- 273 名前:仕様書無しさん [2008/06/05(木) 10:53:29 ]
- >>263
>とりあえず >RAM2Kとか4KのマイコンでC++使おうとするのはやめてけれ。 そんなことありえないだろw
- 274 名前:仕様書無しさん mailto:sage [2008/06/05(木) 11:53:02 ]
- あるんだな、これが
- 275 名前:仕様書無しさん mailto:sage [2008/06/05(木) 11:57:51 ]
- クラスメソッドだけでどんだけRAM食うと思ってんだろw
- 276 名前:仕様書無しさん mailto:sage [2008/06/05(木) 12:00:35 ]
- >>269
蛇足かもしれんが・・・ CPU以外のデバイスが書き換える可能性があるエリアをアクセスする場合は volatileをつける事を忘れずにな。こんな感じで。 *(volatile UINT *)0x10000 volatileをつけずに最適化掛けると同じアドレスのポーリングとか、コードが 削除される場合があるのでね。
- 277 名前:仕様書無しさん mailto:sage [2008/06/05(木) 12:05:15 ]
- >>276
ポーリング時に、最初に1回取得した値を使い回されるって事だろ? while(watchpoint) { } とあるのに、 register = watchpoint; while(register) { } と、最適化されるんだよな。
- 278 名前:仕様書無しさん mailto:sage [2008/06/05(木) 23:01:16 ]
- >>275
> クラスメソッドだけでどんだけRAM食うと思ってんだろw クラス次第だと思う。 なんか必要以上に怖がってないかい? よくわかってない人にありがちな反応だけど。
- 279 名前:仕様書無しさん mailto:sage [2008/06/06(金) 07:08:10 ]
- あの ばけてしまう しんぼるめいが いややわ〜
- 280 名前:仕様書無しさん mailto:sage [2008/06/06(金) 07:21:51 ]
- 組み込みドライバこそC++だと思うが、
コンストラクタとかディスパッチャとか 暗黙のコードのバグが怖い。 CPUがこなれていれば良いんだが。
- 281 名前:仕様書無しさん mailto:sage [2008/06/06(金) 11:20:00 ]
- 組み込み用のコンパイラなんて 出来の良いアセンブラ程度が一番使い易い。
だからCで十分なんだけどな。 アセンブラでもマクロ使いまくりのコードは、結局問題が起きた時のデバッグが厄介になるように C++のテンプレートなんて使われたら、コードとバイナリの一致箇所を探すだけでもメンドクサイ。 高級度が上がれば効率が上がるかというと、 ハードに密接な部分は結局低級なわけだしさ ある程度の規模になるなら、VBとVC++の分担のように シーケンスを実現するのはJAVAのようなインタプリタ言語 それからCで書いたハードに密接なコードを呼び出すというような感じでいいんじゃないかな
- 282 名前:仕様書無しさん [2008/06/06(金) 12:46:49 ]
- なんか、扱ってるハードが違う人たちで議論してる気が・・・
- 283 名前:仕様書無しさん mailto:sage [2008/06/06(金) 14:43:59 ]
- 32ビットの外部バスに8ビットメモリつなぐ気らしいのでとりあえず布団かぶって寝てる俺様がきましたよ。
EPROMとSRAMだってさ♪ 標準でSDRAM&FLASHつなげるはずなのにあはははははははははっはははは もうどうでもいいぽい。
- 284 名前:仕様書無しさん mailto:sage [2008/06/06(金) 14:48:33 ]
- コードサイズが500バイトくらいの中間言語インタプリタ作って
中間言語へのコンパイラみたいなを作ってみた事はあるよ それで液晶表示機の内容とか操作シーケンスを書いて シリアルEE-PROMに書けるツールと、 パソコンでコードのシミュレート出来るようにして お客さんに自分で書き換えられるから自由度高いでしょ? って提案したけど、売れんかった (^^;
- 285 名前:仕様書無しさん mailto:sage [2008/06/06(金) 15:07:17 ]
- シリアル表示器ね。
使おうか、というと却下されるモノでもあったりしないか?
- 286 名前:仕様書無しさん mailto:sage [2008/06/06(金) 15:08:01 ]
- あ、似たような発想・・・こっちはある製品の中身=初期設定とか通信条件とかだけを
限定された言語で設定できるように作ったことがある。何千個売れたかは知らん。
- 287 名前:仕様書無しさん mailto:sage [2008/06/06(金) 17:57:20 ]
- >>283
これは可能なの?
- 288 名前:仕様書無しさん mailto:sage [2008/06/06(金) 18:32:56 ]
- 可能だよ。パイプラインキラーだけどなw
- 289 名前:仕様書無しさん [2008/06/06(金) 19:01:27 ]
- 組み込み制御系のプログラマーって具体的にどんな仕事するの?
3ヶ月前までは組み込み制御系で行こうと思ってたんだけど 本当にやりたい仕事なのか何だか不安なんだけど
- 290 名前:仕様書無しさん mailto:sage [2008/06/06(金) 19:08:36 ]
- 1:回路図を読む
2:マニュアルを読む 3:なんとか動かす こんなもんやりたい奴がいたら変態。
- 291 名前:仕様書無しさん mailto:sage [2008/06/06(金) 19:10:09 ]
- 4:ハード屋に無知無能呼ばわりされる「回路組めないくせに」
- 292 名前:仕様書無しさん mailto:sage [2008/06/06(金) 19:24:37 ]
- なんでそんな仕事してるの?w
- 293 名前:仕様書無しさん mailto:sage [2008/06/06(金) 19:29:28 ]
- 変態だから
- 294 名前:仕様書無しさん mailto:sage [2008/06/06(金) 19:42:34 ]
- ソフトの価値って下がったよな。
まるでハードのおまけといわんばかりに。
- 295 名前:仕様書無しさん mailto:sage [2008/06/06(金) 19:49:03 ]
- 実はハードの価値もそーとー下がってる。
各種EDAツールの進化、デジタルにとどまらない高集積高機能チップの出現。 でも2,30年前と同じ頭のハード屋は変わらないんだよねえ。 アナクロなバグで苦しめる
- 296 名前:仕様書無しさん mailto:sage [2008/06/06(金) 20:06:23 ]
- >>294
逆だろ。 ソフトの価値は相対的に上がってる。
- 297 名前:仕様書無しさん mailto:sage [2008/06/06(金) 20:36:50 ]
- 銀行のシステム開発したいんだけど
制御系なのか普通にオープン(汎用?)系でいいのか困ってる 制御系というのは本当に制御の部分だけしかやらないの? 通信(銀行と顧客のお金のデジタル的なやりとり)は他に任せっきり? 制御系がやるのはあくまでタッチパネルや紙幣入れるところの制御のみ? 教えてくださいm(_ _)m
- 298 名前:仕様書無しさん mailto:sage [2008/06/06(金) 20:38:18 ]
- アセンブラで超巨大プログラム書きたいの?w
- 299 名前:仕様書無しさん mailto:sage [2008/06/06(金) 20:42:57 ]
- >>297
銀行のシステムは下手すると中央は今だにメインフレームだったりする。 まあ末端のATMとかになるとPCベースだったりするんだろうけど。 タッチパネルはPCの汎用インタフェースだろ。 その先の紙幣とかの勘定する機構は制御だろうけど。
- 300 名前:仕様書無しさん mailto:sage [2008/06/06(金) 20:54:38 ]
- そういえば最近UFJ銀行のシステムを新しくするとかで停止してたな
今日もなんか律儀に暗号化されたメールが来てた オープン系にでも意向したのかね
- 301 名前:仕様書無しさん mailto:sage [2008/06/06(金) 20:56:37 ]
- >>300
あれってわざわざあれだけ金かけてやることだったのか? ちょっと前(まあ15年20年前じゃないという意味で)に統合してるんだし DBを移せばいいだけだろ、と思った。
- 302 名前:仕様書無しさん mailto:sage [2008/06/06(金) 20:59:17 ]
- 文字コードの違いでシステム落ちたのには笑った
- 303 名前:仕様書無しさん mailto:sage [2008/06/06(金) 22:31:07 ]
- >>281
時代の流れについていけない奴ってどこにでもいるんだな。 て言うか、今時どんな開発環境で仕事してるんだか。
- 304 名前:仕様書無しさん mailto:sage [2008/06/07(土) 06:02:21 ]
- 全銀フォーマットを見直す時期に来てるんだろうけど、今の銀行は自分のところの
業績確保でいっぱいいっぱいみたいだから期待できないな。 監督官庁に技術知識を持った奴が揃わないとムリっぽい。
- 305 名前:仕様書無しさん mailto:sage [2008/06/07(土) 07:34:01 ]
- >>303
貧弱な環境しかないチップで いくらコストダウンして物つくっても 結局売れないモンしかできないのにね。 アセンブラなんて時間資源の無駄使いw
- 306 名前:仕様書無しさん mailto:sage [2008/06/07(土) 07:37:30 ]
- >>305 出荷数考えたら、開発期間や人件費のほうが効いてくるさ。
もうWindowsでいいわorz
- 307 名前:仕様書無しさん mailto:sage [2008/06/07(土) 13:03:00 ]
- 人件費1人月ならアセンブラでも十分格安だろうにw
- 308 名前:仕様書無しさん mailto:sage [2008/06/07(土) 13:22:45 ]
- お前ン所はそうなんだろうな。
大抵のところは、開発環境なんかより人件費の方が全然高いんだけど。
- 309 名前:仕様書無しさん mailto:sage [2008/06/07(土) 13:23:30 ]
- あとからアセンブラ部含めて
リファクタリングする身になってくれ。 アセンブラの方が速いとか言ってる 爺のソース見たらアセンブラでシーケンシャルソートw
- 310 名前:仕様書無しさん mailto:sage [2008/06/07(土) 14:32:22 ]
- TPOで言語選べ
それだけだ
- 311 名前:仕様書無しさん mailto:sage [2008/06/07(土) 15:03:22 ]
- よほどのことでもない限りCで十分な気がする
- 312 名前:仕様書無しさん mailto:sage [2008/06/07(土) 15:10:26 ]
- ブートかインタラプトぐらいかな、アセンブラ使うの。
- 313 名前:仕様書無しさん mailto:sage [2008/06/07(土) 15:34:06 ]
- アセンブラ使う人を集めるよりCを使う人を集める方が楽だしな
- 314 名前:仕様書無しさん mailto:sage [2008/06/07(土) 15:35:55 ]
- Cで書いたソースをASMで出力させて目を通す方が良いのだろうけど
趣味レベルだとめんどくさくてやる気がおきない 仕事の場合は頑張るorz
- 315 名前:仕様書無しさん mailto:sage [2008/06/07(土) 15:37:16 ]
- パチンコの乱数エンジンとかは
アセンブラじゃないと認可おりないんだろ?
- 316 名前:仕様書無しさん mailto:sage [2008/06/07(土) 15:52:38 ]
- 乱数ってタダのアルゴリズムだし、アセンブラにしたって別に大して効率よくならないぜ
- 317 名前:仕様書無しさん mailto:sage [2008/06/07(土) 15:53:31 ]
- たしかパチはアセンブラソースを提出しないといけなかったはず
- 318 名前:仕様書無しさん mailto:sage [2008/06/07(土) 15:53:50 ]
- >アセンブラじゃないと認可おりないんだろ?
なんかこれを見てると認可してるのってアセンブラ世代のおっさんぽいなw
- 319 名前:仕様書無しさん mailto:sage [2008/06/07(土) 15:56:05 ]
- Cで書いてアセンブラ出力したのを提出すればいいんじゃね?
- 320 名前:仕様書無しさん mailto:sage [2008/06/07(土) 16:13:53 ]
- 要は担当がZ80アセンブラしか読めないから
それしか使っちゃいかんとw やっぱりまだZ80互換CPU使ってるの?
- 321 名前:仕様書無しさん mailto:sage [2008/06/07(土) 16:15:48 ]
- Z80ってそんなに難しかったっけ?
裏レジスタとか言われると忘れてるのでキツイケドw
- 322 名前:仕様書無しさん mailto:sage [2008/06/07(土) 16:17:39 ]
- >>321
EXXってやるとひっくり返るよ。 ただそれだけ。
- 323 名前:321 mailto:sage [2008/06/07(土) 16:18:42 ]
- >>322
命令継ぎはぎだらけのx86よりは楽そうだねw
- 324 名前:仕様書無しさん [2008/06/07(土) 16:20:01 ]
- >>323
x86ってフラグのビット位置とか8080と似てるから Z80も似たようなもの。
- 325 名前:仕様書無しさん mailto:sage [2008/06/07(土) 16:22:15 ]
- x86ももうずいぶん古い設計なんじゃない?
よくここまで長持ちしたもので
- 326 名前:仕様書無しさん [2008/06/07(土) 16:25:30 ]
- パチンコ屋って立地条件よければ簡単に儲かりそうな商売だよなー
相当儲かってるんだろうな
- 327 名前:仕様書無しさん mailto:sage [2008/06/07(土) 16:27:52 ]
- >>325
かなり古いよ。 PC98全盛期の時代からあった。 まあ命令系は表面的には拡張したように見えるけど 中のデコードはずいぶん様変わりしちゃってるけどね。
- 328 名前:仕様書無しさん mailto:sage [2008/06/07(土) 16:31:27 ]
- いい加減、再構築しなおした方が効率は良くなりそうだけど
ここまで普及するとそうも言ってられないんだろうなぁ
- 329 名前:仕様書無しさん mailto:sage [2008/06/07(土) 17:51:09 ]
- パチンコの乱数部分って、さすがに今はARMでも申請されてるんじゃね?
まあ、最初に申請した人GJって感じだろうけどな。
- 330 名前:仕様書無しさん mailto:sage [2008/06/07(土) 18:40:52 ]
- >>325
32ビット化&保護モードでふくれた部分はある意味別物
- 331 名前:仕様書無しさん mailto:sage [2008/06/07(土) 18:49:48 ]
- >>325
386以降は別もの
- 332 名前:仕様書無しさん mailto:sage [2008/06/07(土) 20:36:46 ]
- 東芝がZ80コア内蔵チップの生産をやめたのがパチで使わなくなった
タイミングだとオモタ。
- 333 名前:仕様書無しさん mailto:sage [2008/06/07(土) 20:52:44 ]
- そういえばR800なんてあったよね
あれどうなったんだろ?
- 334 名前:仕様書無しさん mailto:sage [2008/06/08(日) 01:01:57 ]
- >>332
え、なんとかいうZ80互換チップじゃないと 検定通らないってのは変わったのか?
- 335 名前:仕様書無しさん mailto:sage [2008/06/08(日) 01:14:05 ]
- ノーです
- 336 名前:仕様書無しさん mailto:sage [2008/06/08(日) 01:25:56 ]
- 「Z80の方が通し易い」ってだけだろうに。
- 337 名前:仕様書無しさん mailto:sage [2008/06/08(日) 01:33:55 ]
- v850シリーズ使ってるやついる?
- 338 名前:仕様書無しさん [2008/06/08(日) 01:46:26 ]
- 組み込みのコンパイラは最適化とか信用できんところがあるから
コンパイラが出力したアセンブラソースは読む。 2回くらいバグ見つけたよ。
- 339 名前:仕様書無しさん [2008/06/08(日) 02:32:57 ]
- 最初から最適化なんか使わなきゃ良いのだよ。 時間の無駄。
バグ見つけたらどうすんの? バグ報告して直るのを待つのかよ。 すぐできることは、最適化オプション外して再試験してみることだよな。 アセンブラで組むのがメインで、Cコンパイラとかをソースゼネレーターとして 使っている場合にはそういう作業は時間ロスにはならないが。
- 340 名前:仕様書無しさん mailto:sage [2008/06/08(日) 02:55:57 ]
- 最適化後のアセンブリコード読んでバグ取りできるようなちっこいシステムばかりだといいな
- 341 名前:仕様書無しさん mailto:sage [2008/06/08(日) 07:04:42 ]
- >>334
俺はパチの仕事をやったことがないんで詳しいことは分かんないけど、 今Z80コンパチってデバイスは、元川崎製鉄の子会社がファブレスで 細々と作ってるヤツだけだと思ったよ。
- 342 名前:仕様書無しさん mailto:sage [2008/06/08(日) 08:29:09 ]
- >>340
そおいう分野を小さい市場でもいいから押さえておくのが 組み込みを長く続けられるコツだな。 たとえば炊飯器とかw
- 343 名前:仕様書無しさん mailto:sage [2008/06/08(日) 08:58:14 ]
- 俺は最近、アセンブラ出力とか中間ファイルから C のコードを吐くツールを作る事が多いな
動作確認の為だけどさ。
- 344 名前:仕様書無しさん [2008/06/08(日) 21:55:32 ]
- >>339
コンパイラバグはCソースの記述を変えて回避できる。 別にバグがあったら開発できないということはない。 問題発生時に問題の切り分けのためにそこ(コンパイラバグ)から考えるということよ。
- 345 名前:仕様書無しさん mailto:sage [2008/06/08(日) 22:02:59 ]
- ポインタと配列が異なるコードに変換されるBUGがARMの最適化で昔あったな。
- 346 名前:仕様書無しさん mailto:sage [2008/06/08(日) 22:19:27 ]
- えーっと、ずいぶん前からパイプラインへの最適化プログラミングを効率よくやるのは
一般的な能力のプログラマには過負荷になるから、コンパイラ使っていいってことになってなかったっけ? 10年位前のだといろいろ気にしなければいけなかったけど、比率はだいぶ下がってるんじゃないのかな。 もちろんI/O叩くところで命令の実行順序、データ入出力の順序を必ず守るところはvolatile属性にしとくとか、 アセンブラで書くとかは常識としてあるんだろうけどさ。 ある程度最適化オプションつけたコンパイラの吐くアセンブラのコード、きちんと読み込む自信ある?w
- 347 名前:仕様書無しさん mailto:sage [2008/06/08(日) 22:22:09 ]
- マイコンって将来的に大幅に性能上がって現行windows機並みになって
Cでリソース気にしながら書くようなセコい真似はしなくて済むようになるんじゃね
- 348 名前:仕様書無しさん mailto:sage [2008/06/08(日) 22:22:59 ]
- >>347
なんねえよw
- 349 名前:仕様書無しさん mailto:sage [2008/06/08(日) 22:23:05 ]
- >>347
ならない
- 350 名前:仕様書無しさん mailto:sage [2008/06/08(日) 22:26:34 ]
- ならないの?
素人でようわからんけど マイクロSDとかギガ単位になったり携帯ゲーム機でも一昔前の主力ゲーム機並みに進化しているのに マイコンって進化の余地がないの?
- 351 名前:仕様書無しさん mailto:sage [2008/06/08(日) 22:28:52 ]
- >>347
今のマイコンベースじゃなく、仕様記述-->アレイデータ生成+FPGAベースチップの研究が進行中。
- 352 名前:仕様書無しさん mailto:sage [2008/06/08(日) 22:29:03 ]
- ソフトへの要求もつられて高まるだろうし、
ハードのコストを極力抑えた設計も今と同じように求められるだろ。
- 353 名前:仕様書無しさん [2008/06/08(日) 22:29:09 ]
- >>346
まさにそういうマイコンでした。(内部にコアが2つあるっぽい) で、コンパイラが吐くアセンブラコードが複雑怪奇。 とても全部読む気にはならないのでおかしそうなところを 集中的に読み込みました。
- 354 名前:仕様書無しさん mailto:sage [2008/06/08(日) 22:33:58 ]
- 単一機能しか要求されないようなマイコンにWindows並みのソフト入れてどうすんだよ。
無意味にコスト上げてだれが得するんだよw
- 355 名前:仕様書無しさん mailto:sage [2008/06/08(日) 22:38:34 ]
- Windows並みまでは大袈裟だけどC++やJAVAで書いても問題ないくらいの性能にはいくんでね?
- 356 名前:仕様書無しさん mailto:sage [2008/06/08(日) 22:41:43 ]
- >>350
コストと消費電力の要求が0であるかぎりありえない。 atomよりtegaが勝つ。
- 357 名前:仕様書無しさん mailto:sage [2008/06/08(日) 22:56:10 ]
- 半導体の価格は、シリコンチップの上に何トランジスタという計算だから無理。
- 358 名前:仕様書無しさん mailto:sage [2008/06/08(日) 23:25:53 ]
- >>357
シリコンチップの大きさそのものが重視される。 2SC1815と2SA1015の製造中止がそうだった。
- 359 名前:仕様書無しさん mailto:sage [2008/06/08(日) 23:44:43 ]
- シリコンウェハー上に幾つとれるか、だもんな
- 360 名前:仕様書無しさん mailto:sage [2008/06/09(月) 01:24:46 ]
- >>356
でないかぎり?
- 361 名前:仕様書無しさん mailto:sage [2008/06/09(月) 01:28:33 ]
- >>358
そんじゃあ、1Gのフラッシュメモリーと4Gのフラッシュメモリーの素子サイズ同じなのに値段が違う理由は何だぜ?
- 362 名前:仕様書無しさん mailto:sage [2008/06/09(月) 03:17:20 ]
- 要するにお前等は一生楽できないとw
- 363 名前:仕様書無しさん mailto:sage [2008/06/09(月) 06:34:49 ]
- >>360
>>「コスト」と「消費電力の要求が0」であるかぎりありえない。 のつもりかと。 それでもちょっと変な文章だとは思うが。
|

|