• 締切済み

組み込み系+制御系プログラムの勉強するなら?

組み込み系か制御系のプログラムの勉強したいのですが、 前からC言語とjavaはやってるのですが、 言語以外に勉強すべき事や、 c/javaよりも、やるべき言語が、あれば教えてください。 学習に、いい本が有ったら本の名前等も教えてください。 よろしくお願いします。

みんなの回答

  • Interest
  • ベストアンサー率31% (207/659)
回答No.3

ANo.1 = Interestです。 > やっぱりハード面の知識が大事ですよね ハードの知識が無ければ回路屋さんから回路図をもらっても意味がわからず、回路を制御するためのプログラムを組むことができません。仮に適当にプログラムを書いても、本当に正しく動いているかどうか、確認のしようがありません。回路設計が間違っているせいで正しく動作しなかったとしても回路の知識が無ければ気づきません。ハードの知識は必須です。 学研、レゴ、ディアゴスティーニのキットはお勧めしません。 なぜなら、出来合いのキットを買ってしまうと自分の頭で考えないからです。時間はかかっても、何度も何度も計算が正しいか、配線が正しいか設計を確認する作業に意味があります。 (ちなみに、私は Lego Mindstorms持ってます。) マイコンプログラミングの "Hello, World"的なはじめの一歩の定番に、「LEDを点滅させるプログラム」があります。マイコンにPICを使えば、部品点数7~8個程度でできてしまいます。仕事でPICを使ったことはありませんが、安くてお手軽ですので勉強にはいいんじゃないかと思います。 PIC、電子部品の基礎、電子回路の基礎などは、 http://www.picfun.com/ が充実しています。このサイトを運営している方は本も沢山出されています。 PICの定番Cコンパイラである CSS-PCMは\26,000-くらいします。 http://www.ipishop.com/ http://www.ipishop.com/ccsc.html PIC以外にもH8, SHなどのプログラムや動かすための回路図を初心者向けに懇切丁寧に開設してくれているサイトでは http://homepage1.nifty.com/rikiya/  があります。 自作ロボット系のサイトは、この手の情報が非常に豊富です。

plutoDalchemist
質問者

お礼

本当にありがとうございます。 本当に丁寧にサイトなども紹介していただきありがとうございます。 自分でも色々探してはいたのですが、 こんなにもいいサイトが、色々あったとは探し方があまいですね、 自作ロボット系のサイトですね、盲点でした、 本当にたびたび教えていただきありがとうございました、 色々買って回路系も確り勉強します。

  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.2

マイコン・DSPなどか,FPGA・ASIC等なのかによって違いますね. マイコンであれば,#1の方のご回答を参考に FPGA・ASICであれば,verilog,SystemCなどですね.

plutoDalchemist
質問者

お礼

ありがとうございます。 マイコン以外にもDSPやFPGA・ASICと言うのもあるのですね、 勉強不足ですみません、 これって何か使い分けがされているのですか?

  • Interest
  • ベストアンサー率31% (207/659)
回答No.1

「自称」ですが組み込み系の仕事をしています。 組み込み系プログラミングは、やっぱりC言語ですね。 組み込み系プログラミングの定番入門書はオライリーの 「C/C++による組み込みシステムプログラミング」という本です。 http://www.amazon.co.jp/gp/product/4873110130/sr=8-6/qid=1160570195/ref=sr_1_6/503-9709461-1227163?ie=UTF8&s=books 言語以外に勉強すべきことは山ほどあります。 まずはハードウェアを知りましょう。 - 論理回路、半導体、メモリ、AD/DAの仕組み etc. - CPUの仕組み(アセンブラでプログラムを書いてみると理解がはやいですよ。理解しないと書けないので・・・) - モータ、センサ、液晶パネル、ブザーの制御 - 通信の仕組み 本質を理解するための一番の近道は、実際に作ってみることです。秋葉原に行けば電子部品をばら売りしているお店が沢山あります。自分で回路図を描いて、回路を組んで動かして、実際の動作を確認しながら本を読むと、「本当に使える」知識になります。 お勧めのお店は 秋月電子通商 http://akizukidenshi.com/ 千石電商http://www.sengoku.co.jp/modules/wraps/index.php/index.htm とか。 仕事で使うならリアルタイムOSが使えると楽になります。ITRON, VxWorksその他いろいろありますが、これはその仕事を始めてからでもいいかもしれません。 プロの世界に踏み込むのでしたら、組み込みソフトウェア管理者・技術者育成協会(SESSAME)を紹介しておきます。 http://www.sessame.jp/ ここでは用語集からe-learning資料、組み込みソフトウェア知識体系(http://www.sessame.jp/knowledge/knowledge.pdf)など、豊富な資料が無償で提供されています。 いろいろ挙げすぎてしまいましたが、  (1) オライリーの本  (2) 回路を組んでマイコンを動かしてみる をお勧めします。

plutoDalchemist
質問者

お礼

ありがとうございます。 オライリーの「C/C++による組み込みシステムプログラミング」ですか、 Cなら少しかじってるので一安心かな・・・・早速買って勉強です。 やっぱりハード面の知識が大事ですよね、 実際に回路組んでやるとなると、 一から回路組むのは、まだ難しいですかね マイコンを使っていて、初歩的なのは学研とかから出てる、 線の上を動くおもちゃみたいのや、 レゴから出てる、 レゴ マインドストーム「 http://www.legoeducation.jp/mindstorms/ 」や、 デアゴススティーニから出てる「週間マイロボット」なんかが、 あるみたいですし、 子供でも出来る電子工作の本も色々有りそうなのでそれを見ながら作っても良いかな、 簡単な工作キットが、出てたら一番嬉しいのですが、 秋葉辺りを探せばありますよね、がんばっていみます。

関連するQ&A

  • 組込、制御の学習について

    組込、制御の学習について いつもお世話になっております。 組込、制御のスキルを最速(独学)で習得したいのですが、どのような教材が良いでしょうか? 自分ではとことん作り込むのが良いと思うのですが、どのようなものが良いのかと悩んでおります。 ちなみに、C言語の実務経験は無く、基礎知識程度です。C++は触ったことがありません。他言語(JAVA等)のプログラム実務経験はあります。ハードウェアについては、基本情報技術者試験の知識程度しかありません。 回答、宜しくお願い致します。

  • 組込みプログラム言語の容量・速さの比較

    組込みプログラム言語の容量・速さの比較 組込みプログラムで使用する言語には ・C(++) ・アセンブリ言語 ・JAVA ・(組込み用JAVAのJ2ME) ・(組込み用JAVAのKVM) がありますが、ターゲットデバイス(マイコンなど)へロードする ロードモジュールの状態でのサイズ(容量)は同じなのでしょうか。 違うのであればどれくらいの差があるのでしょうか。 私の予想では  アセンブリ言語 < C(++) < JAVA ですが、どれくらいの差があるのか想像がつきません。 また処理の速さは  アセンブリ言語 > C(++) > JAVA になるのでしょうか。

  • 「制御、組込系の仕事」について

    「制御、組込系の仕事」について いつもお世話になっております。 出来れば、「制御、組込系の仕事」についてみたいと考えております。 C#、javaを使ったweb系の開発経験が3年程あります。(他の言語も併せれば、経験年数は5年程度です) c言語の基本知識はありますが、業務経験はありません。 年齢は30を超えてしまっています。 何らかの努力次第で、「制御、組込系の仕事」に就く事は可能でしょうか?

  • 制御系ってSTL必要なんですか?

    私は、制御系・組み込み系の業務経験がありません。 UNIX C, Java, C#の経験があります。 最近、J2SE 5.0やC# 2.0などで、 「ジェネリック」という概念がでてきました。 C++のSTLがとても似ているように思えました。 自分の認識では、C++は今後、制御系などの分野 ぐらいしか用途がないように思っているのですが・・・ 制御系のC++でも、STLはバリバリ使うのでしょうか? それとも、制御系や組み込み系では、すべての ロジックが自作オンリーで、そのような汎用的な 車輪を使うことは不可能な世界なのでしょうか? この質問を至った経緯を以下に書きます。 1)Java 5.0, C# 2.0のジェネリックの概念を  学習するにあたって、C++のSTLを同時に学習した  ほうが、効果的ではないかとおもった。 2)Java, C#でプログラムを組む以上。C++の存在価値が  制御系・組み込み系への準備という位置づけでしか  見出せなかった 3)しかし、コレクションクラスなどを使った。  Java, C#の開発になれているため、すべてのロジック  をゴリゴリ書く開発に戻りたくないので、  C++なら、STLを使いたいと思った。  そして、それは(1)の目的を果たす意味で  重要だと感じた。 4)しかし、私は制御系、組み込み系の経験がないので、  C++でSTLというやりかたがその分野で通用するのか  わからなかった。  いくら、(1)の目的で勉強になるからといって、  学生がPascalを勉強するような、実務に  あまり関係のないことをやりたいとはおもわなかった  ので、制御系、組み込み系でC++でSTLという  組み合わせが現実的に有りえるのかどうかを  制御系バリバリの方にいろいろ聞いてみたいと感じた。 以上がこの質問をした経緯です。 よろしくおねがいいたします。

  • 業務系から制御系へ異動した場合に必要な勉強

    お世話になっております。 3月末で退職し、転職活動中です。 第一志望は制御系で転職活動をしています。今、不景気で制御系の仕事がないことはしっています。 制御系のみでなく、業務系やweb系の業務も業務指示があればもちろんやります。ただし、1番やりたいのは制御系です。 しかし、前の会社は業務系ばかりで、C言語は学生時代に経験があるものの、制御系の業務経験は0です。 今のうちに、少しでも制御系の勉強とC言語の勉強をしたいのですが、制御系の勉強はどんな勉強をしたらよいのかが分かりません。書籍を購入してみようと思うのですが、どんな本を買えば良いのか分かりません。 質問 制御系未経験ですが、業務系の経験とC言語の経験はあります。 1、参考書籍を購入する場合、どんな本が良いでしょうか?やはり、ベストセラーの入門書を買うべきですか? 2、参考書を読む以外ではどんな学習をすべきでしょうか? プログラムは書けますので、制御技術の勉強を優先させたいです。 以上です。お忙しい所申し訳ないですがよろしくお願いいたします。

  • 組み込み系と制御系の違いは?

    SE/PGの求人で、組み込み系、制御系を見ますが、 組み込みとは、家電製品などに組み込み、使用者が家電製品を使うときに操作したとおりに動くようにプログラムをつくるエンジニアのことでしょうか? 制御系はどういたことなんでしょうか? 制御とついているので制御するのだと思うのですが、使われる箇所としてはどういった所に使われるのでしょうか? さっきの組み込み系でも、家電製品に”組み込ん”でも、”制御”もされているのではないでしょうか? 例えば、電子ジャーに”組み込ん”でも、温度調節なども”制御”しているのではないでしょうか? 組み込みと制御は同じような事なのでしょうか?

  • 組み込みアセンブラとは何ですか?

    私はx86でアセンブラを勉強中ですが、ネットでアセンブラ関係のことを検索していて組み込みアセンブラという記述をを見ました。 C言語から利用する場合インラインアセンブラより良いとかなんとか。 組み込みアセンブラという名前も怪しく合っているかわかりません。 掲示板のようなところで組み込みアセンブラの方が良い、早いと書いてありました。いろいろ検索して見かけたのでどこの掲示板かもわかりません。後から探したのですが見つけることができませんでした。 そこで質問なのですがそのその組み込みアセンブラとは何なんでしょうか? C言語からアセンブラを利用する場合、今読んでいる本「やさしいアセンブラ入門」にはインラインアセンブラとアセブラ言語モジュール(オブジェクトファイル)をCプログラムでリンクする方法の2種類が書いてありますが。組み込みアセンブラはモジュールで使うということでしょうか? 違うとすればどのような方法でアセンブラを利用することでしょうか? わかる方教えてください。ヨロシクお願いします。

  • 組み込みプログラマ

    制御系(マイコン)のプログラマに就職が決まった大学生です。 現在、アセンブラの勉強をしています。 今まで、Z80、PICの経験があります。 しかし、C言語で組み込み系のプログラムを書いたことはありません。 そこで、実際に組み込み系で働いておられる方に質問があります。 1.現在のマイコンではC言語が主流ですか? 2.アセンブラだけでは食っていけませんか? 3.組み込み系は寿命が長いと聞いたことがあるのですが、   本当でしょうか?

  • プログラミングの勉強

    今 現在 独学で C C++ java javascriptの勉強をしているのですがどの言語も基本的なことはできるのですが 一段階上にいくことができません。プログラムを勉強するのはたくさんプログラムを書く事が大切と本には書いているのですが どのようなプログラムを組んだらいいのか全然わかりません これから どのようにして勉強していけばいいのか教えてください 宜しければ 参考になるサイトとかも紹介してください お願いします

  • プログラム言語はどうやって勉強すればよい?

    こんばんは。タイトルの通りですが、これからプログラム言語の勉強をしたいと思っています。 簡単に自己紹介すると私は20代で入社してから2~3年は電気回路のハードウェア設計をしていましたが、仕事の都合で他部署へ異動することになってしまいました。今度の部署ではソフトウェア設計をするそうです。具体的にはまだわかりません。 いきなりなので気持の整理がまだできていませんが、いつまでも悩んでいては仕方がないので気持ちを切り替えてプログラム言語の勉強をしようと思っています。 そこで、とりあえず本屋で何か買って勉強しようと思ったのですが、本屋に行くとプログラム言語の本何種類もあって訳がわかりません。CとかC++の違い、Visual BasicとかSQLとかJavaとかUnixとか…(他にも色々あるかもしれませんが)。 そこで本題に入りますが、 (1)仕事内容によっても異なることは分かっていますが、初心者がプログラム言語を勉強するとしたら、どのプログラム言語から始めたらよいでしょうか。 (2)C言語などのソフトは大手電気量販店などで購入できるのでしょうか。 (3)本などに付属されているCD-ROMだけではプログラム言語の勉強はできないのでしょうか((2)の質問に記載のようにソフトを購入しないとダメなのでしょうか)。 長文になってしまい、申し訳ありません。プログラム言語については全く知らないド素人なので、丁寧にご教授頂けると助かります。 よろしくお願いいたします。