• ベストアンサー

組込開発はどんな流れになっているの?

C言語などでの組み込みはどういった流れで開発されているか教えて下さい。 プログラムを作成した後、メモリに書き込むという漠然としたイメージを持っていますが、具体的に知っている方がいらっしゃれば教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • K-1
  • ベストアンサー率21% (832/3844)
回答No.1

その1 組み込み装置のROM領域がフラッシュメモリカードになっていて、 取り外してPCなどに接続し、ファイルコピー。 その2 組み込み装置にシリアルポートがあり、それを経由してファイル転送。 その3 組み込み装置にLANポートがあり、それを経由してファイル転送。 その4 ROMチップにライタ装置でデータを書き込み、組み込み装置に搭載する。 最近の主流は1か3ですね。

abcnomo
質問者

お礼

わかりやすい解説ありがとうございます。 だいぶイメージができました。

その他の回答 (2)

回答No.3

こんにちは。  組み込み開発工程についての概論記事が以下にあります。具体的で分かり易いと感じました。 - http://www.atmarkit.co.jp/fembedded/index/elinuxdev.html - http://www.atmarkit.co.jp/fembedded/index/h8.html(現在連載中)  以下は組み込み方面のリンク集です。 - http://www.embedded.jp/  私自身は組み込み技術者ではなく、経験者でもないので言えるのはこの程度ですが、御参考になりましたら幸いです。

abcnomo
質問者

お礼

ありがとうございました。 早速サイトを開いてみました。 なかなか難しいですが、少し分かった気がします。

  • matyrcry
  • ベストアンサー率47% (101/213)
回答No.2

ターゲットは何なのかな? ルネサスSH2(フラッシュ内蔵)でやった時は... メーカーからサンプルボード貰って、ROMデバッガやICEを繋いで、その上で ある程度まで開発しながら実機のハード試作品ができてくるのを待ちます。 実機で動作確認できるようになったら、シリアルポートからCPU内蔵フラッシュに 転送して動かします。 フラッシュライタは関連メーカーからいろいろ出ているので安いのを使ってます。 ソフトを内蔵フラッシュに入れずに外付けROMだった時は、ROMデバッガを ソケットから抜いて焼いたROMを差すだけなんですけどねー。

abcnomo
質問者

お礼

ありがとうございました。

関連するQ&A

  • 組み込みソフト開発について

    いつもお世話になっています。 プログラムの話題で組み込み系の事ってあまり出ていない ような気がします。書籍でもあまり取り上げていないような気がするのです。 しかし「c言語」「求人」で検索すると組み込みソフト 開発の多い事!...なにかギャップを感じます。 私は組み込み系の存在も最近になって知ったのですが 未だにプログラム開発の月刊誌に掲載されているのを 見たことがありません。求人募集で圧倒的に多い分野 をなぜ出版社は取り上げないのでしょうか?

  • netbeansによる組み込み開発について

    組み込み開発についてお伺いします。Eclipseでは組み込み開発に必要なプラグインがあると調べたのですが、netbeansの場合それは可能なのでしょうか。プラグインにあるC/C++のインストールだけで開発する事は可能なのでしょうか?

  • 組込み機器のUI開発について

    初めまして、現在WindowsCE6.0をベースに組込み機器を開発しようと検討しております。ユーザーインターフェースはWindowsフォームを使わず、自分がデザインしたUIを使いたいですが、やり方がまったく分かりません、ご存知の方がいらっしゃいましたら教えてください、また、お勧めのツールや本があればぜひ紹介してください。よろしくお願いしますm(__)m CPU:ARM11 OS:WindowsCE6.0 R3 開発言語:VC++、C 開発環境:VisualStudio2005 他のツール:なし 希望:電源ONした後、独自のロゴが表示され、2、3秒後独自のUIが表示され、タッチで機械の設定と制御ができるようにする。アプリも一切Windowsフォームを使いません。イメージとしてはカーナビみたいなもんかな・・・ 自分のレベル:低いと思います。 H8とC言語を使った開発経験はありますが、組込みOSやVC++は初めてですから、かなり迷っています(@_@ どうかやり方とアドバイスを頂ければ幸いです。

  • 組込みC開発

    お世話になります。 組込みでARMコアのCPUをチョイスしての仕事を任されました。 開発ツールはKeilというIDEで、C言語でOS使用しないで開発をしています。 C言語はかれこれ2年以上使用しており、文法上の事などはほぼマスター しており、上記のIDEでソースをコンパイルしてコンパイルエラーもなく 60kbytesほどのコードが生成されます。 ただ、このプログラムをターゲットCPUへダウンロードして使うと コードとは異なる動きをするときがあります。 これは、小規模なプログラムでは経験したことの無いことです。 たとえば、思った動きにならないときに、ソースを少しいじっただけで 今度は例外が発生して止まったりします。 割込みは内部タイマー、外部(ボタン等)、UARTなど計4種類を 設定していますが、どうもこのあたりが怪しいと考えています。 たとえばUARTでPCからデータを送って、ボタンを押す、などの アクションを起こすと、データアボートやプリフェッチアボート が発生したりしますので。 ちなみに、割込み処理は、IDEがサンプルソースでつけているものを includeして使っています。 また、CでのプログラムでMISRA-C参考書も購入してチェックして おります。 大規模なプログラミングは今回が初めてなのですが、こうもソース を少しさわっただけで、例外が発生したりする(コード上問題ない と考えています)ので、現状は記述の仕方を変えてみたりして 対応しています。 こうした規模の大きい組込み系でのプログラミングで、注意する点 や、常識的な部分があればお教えいただきたく思います。 よろしくお願いいたします。

  • 組み込みソフトってなんですか?

    コンピュータ業界で営業をし始めた新人です。 プログラマーの皆様には簡単な質問かもしれないのですが・・・ 組み込みソフトってC言語の使い方を知っていれば開発できるものなのですか? それとも、C言語がどうやって作られていて、その中身がどうなっていて、 ということまで知っていないと開発できないものなのでしょうか? それと、この際ぜひ教えていただきたいのですが、 (1)C言語のもとになっているような言語というのはあるのでしょうか? (2)C言語にバグがあるってことはあるのでしょうか? 誰かわかりやすく教えてください。よろしくおねがいします。

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

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

  • 25才ですが、組み込み系への転職を考えています。

    私は現在サーバの設定などを業務で行っています。 ですが、月の給料が総至急で18万程度、手取りで15万程度です。 実家暮らしなのでこの給料でもなんとかやっていけるのですが、 会社まで車で片道1時間運転をせねばならず、この点も苦痛です。 給料・通勤のことがあり転職を真剣に考えています。 私は2年ほど現在の会社でサーバの設定などを行っていますが、 その前の会社では1年ほどセンサチップのレジスタ値を読むプログラムをC言語で開発していました。 私はスクリプト言語よりもC言語やアセンブラなどが好きであり、 前の業務と似たような仕事をしたいと考えています。 組み込み系は慢性的な人手不足だと取引先の方に聞いたのですが、 組み込み系の職種でC言語を扱える人材を求めていたりしますでしょうか? また、組み込み系に転職しようとした場合、電気・電子の知識は必要になりますか?私は電気・電子については知識がありません。

  • Linuxの組込開発はオープン系?汎用系?

    私はLinuxで動作するルータ製品の開発をやっていました。 C言語でコーディングしたり、OSSのパッケージを移植したり... こういう業務はオープン系でしょうか?汎用系でしょうか? 転職サイトに登録したいのですが、組込系というのはなくて どちらかと言えばどっち、というのが知りたいです。 よろしくお願いいたします。

  • オープン系とか、組込み系とかって何?

    よく、ソフトウェア開発の世界では、「オープン系」とか、「組込み系」、「汎用系」などと言う分野がありますよね。 これってそれぞれどう違い、どのような特徴があるのでしょうか。 また、上記以外のもので他にも「~系」ってあるのでしょうか。あればそれについても概要が知りたいのです。 「アプリ系」などというのもありますか。市販の、例えばグラフィック関連のソフトとか、ゲーム・ソフトや、会計ソフトなどはこう呼ぶのでしょうか。 また、Webプログラミングはどの分野の系統に属するのでしょうか。 ただ、「組込み系」だけは、多少わかりました。例えば電化製品などに内蔵されているマイコンを制御するプログラムを開発するのですよね。国内でも、この分野の技術者が不足しているということも知りました。 自分のイメージですが、この組込み系というのは、いわゆる市販のパソコン・ソフトを開発する分野と比べると、出力する画面のデザインなどの見た目については、あまりこだわらず、制御にいそしむ、ある意味、地味な領域なのかなという気もしました。 それに、結構、マイコンに関するハードの知識も必要とされるのですよね。 私は、ソフト開発のみというよりも結構、電子基盤の操作などに魅力を感じるので、組込みの仕事もしてみたいなとも思うですが、実は、これからVisualBasic.NETを学習しようかと思っています。 これはまったく、的外れな努力でしょうかね。やっぱり、組込みはC言語で無ければならないのでしょうか。 反対に、VisualBasic.NETを生かす道としてはどのような分野が考えられますか。Webやデータベース、サーバサイドのプログラミングなどでしょうか。 ASP.NETなどもありますしね。 どなたか貴重な解説・御意見を頂けましたら、よろしくお願い致します。

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

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