![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.2ベストアンサー
- 回答日時:
> ハードウェアの初歩的な知識というのは、CPUやメモリーの役割が理解できているということを指すのでしょうか?それとも半導体の知識や、簡単な電子回路を設計できるということでしょうか?
両方です。CPUやメモリのことは当然必要ですし、回路図ぐらいは読めるべきです。オシロスコープやロジックアナライザ等の計測機器が使える必要もあると思います。
> 知らなくても済むということは、仕様が記載された書類が与えられて、基本的にはそれさえあれば組み込みソフトを書けるということでしょうか?
最低限のプログラマであれば、そういうことです。
> そしてハードウェアの知識があればより高速であったり容量が軽かったりする性能の高いソフトを書けるという理解で間違っていないでしょうか?
効率的なこともありますが、自分で出来ることの幅が広がります。
アプリケーション部分しか作れないプログラマになるか、デバイスドライバまで作れるプログラマになるか、トラブルが発生した際に、自分で深く解析ができるか、その人の限界が変わってくるわけです。
回答ありがとうございました。大分イメージがつかめてきました。もうちょっと質問させてください。
>回路図ぐらいは読めるべきです。
回路図というのはAND、ORなどの素子が配置された論理回路のことなのでしょうか?それとも抵抗・コンデンサー・半導体などが配置された電気・電子回路のことでしょうか?論理回路と電気回路は大学で必修だったのでいいのですが、電子回路は選択しなかったので自信がないのですが。。。
>オシロスコープやロジックアナライザ等の計測機器が使える必要もあると思います。
ということは信号の波形をチェックするということと思いますが、どの程度詳しく波形をチェックするのでしょうか?例えば『A点に信号を流したとき、B点に信号が流れるように設計してある。A点に信号を実際に流してみてB点に信号が流れるかどうかチェックする。つまり扱う信号は0と1だけ。』程度のことなのでしょうか?それとも計測した信号をフーリエ変換とか、いろいろ変換して分析したりするのでしょうか?フーリエ変換とかの信号処理に関しては苦手で自信がないのですが。。。
あと、これはまた新たに湧いてきた疑問なのですが、組み込み系プログラマーが電子回路のレイアウトを逆に回路設計者に提案したりということはあるのでしょうか?というか回路の設計を兼任するということもあるのでしょうか?
重ね重ねの追加質問ですみません。。。
No.6
- 回答日時:
お役に立てるかわかりませんが。
組み込み機器のソフトウェアの開発についてですが、一言ではどういった機器を開発するかで必要な知識、技術が決まると思います。 たとえば、ある機器を開発する業務命令を受けると、機器のマーケティングによる出荷台数の予想(目標台数)、開発日程(特許含む)、コスト等を考慮して、機器の仕様を決め、また社内で従来から使用しているCPU(マイクリプロセッサー)を考慮して決定します。(開発ツールのコスト、メインテナンス等も含む)当然、パネル表示、センサー技術、ドライバー等の回路設計を行います。当然その中にソフト制御能力も加味した設計仕様書も作成します。昔と違い機器の制御は商品の性能に反映します。 会社の規模により、担当する範囲がありますので一様には言えませんが...
temp2005さんも簡単な機器の製作をしたことがあると思いますが、ただ動かす(動いたからOK)のではなく、それを擬似商品として考えて、機能をUpさせたらソフト開発に対する考え方が一味違ってくるのではないのでしょうか。 頑張ってください。
ありがとうございました。具体的なお話で参考になりました。
>会社の規模により、担当する範囲がありますので一様には言えませんが...
結局これがすべてなんだなと本スレを通して感じました。仕事の感覚は職場でつかむものですね。
>temp2005さんも簡単な機器の製作をしたことがあると思いますが、
いや恥ずかしながらOPアンプを使った増幅回路を学生実験でテキスト通りに組んだ(というか他の人がやるのを傍観していた)程度しか経験がないので、具体的にどういう仕事をするのか想像がつかなくて不安だったんですよね。研究ではプログラミングしかしてませんし。。。
>擬似商品として考えて、機能をUpさせたらソフト開発に対する考え方が一味違ってくるのではないのでしょうか。
学生の私にはお客さんの存在がまったく見えていませんでした。仕事内容がどんなものであっても、ゴール(お客)を見失わなければ自ずとゴールまでの道は浮かんできそうですね。数学の勉強には自身がありませんが…
No.5
- 回答日時:
組み込み業界に来るなら、「機器」そのものが色々あって、その大半は
職に就いてから初めて見ることになると考えたほうがいいです。
携帯電話はかなり高機能の端末ですが、大抵ウインドウズ以外のOSを
採用してますし、市販PC用のライブラリが使えないことも多いです。
他の一般的な(たとえば家電などの)制御用マイコンなどでは、OSと
いうものすらないです。
画面、キーボード、マウスなんて高機能な入出力デバイスが付いている
のはごく僅かで、フォトカプラやメモリなどを相手に限られたRAMや
ROMの残量見ながら「みみっちく」コーディングすることも多いです
から、CPUの能力や豊富なリソースに依存せずに今ある資源を最大限
に活用する能力が要求されます。(ライブラリごと自作とか^^;)
具体的に何が必要かって言われると、全体では色々必要なんだけど分業
することが多いから...。
自分的にはCPUのハードウェアマニュアルのサンプル回路図が読める程度
にロジックICとかを見ておくくらいかなぁ。
職に就いてから本読んで勉強することも多いし、就職前に知っておかな
いとダメってこともないですよ。
回答ありがとうございました。
>フォトカプラやメモリなどを相手に限られたRAMや
>ROMの残量見ながら「みみっちく」コーディングすることも多いです
>から、CPUの能力や豊富なリソースに依存せずに今ある資源を最大限
>に活用する能力が要求されます。(ライブラリごと自作とか^^;)
ライブラリを自作ですかぁ。お話を聞いていると、もしかしてアセンブリ言語による職人芸も普通に要求されるのでしょうか。。。オブジェクト指向とか縁遠い世界なんですかね。。。でもJavaで携帯の制御ソフト開発という話も聞きますし、大枠はオブジェクト指向でつくって、高速・低容量を要求される部分だけアセンブリ言語でチューニングといった感じなのでしょうか。
>職に就いてから本読んで勉強することも多いし、就職前に知っておかな
>いとダメってこともないですよ。
そうですね。どんな仕事でも多分そうなんですよね。でも私はあまり大学数学が得意ではないので、例えば携帯電話や空調機の制御ソフトを開発する際に、大学数学が使われている音声工学や熱力学を勉強しなければならないとしたら苦しいので今回の質問を立てました。が、なんとかなりそうですね^^ まだ組み込み系志望に決定したわけではないのですけれど。。
No.4
- 回答日時:
> SEであれば最終的にプロジェクトマネージャー、コンサルタント、またはソフト開発のスペシャリストに上っていくキャリアパスがあると聞きます。
組み込み系プログラマーが辿るキャリアパスについて教えていただけないでしょうか?よろしくおねがいします。私の周りの方々は、(私も含めて)皆さん順次起業されていますので、上記のようなパターンに当てはまりにくいですね。
サラリーマン一筋の方の回答を待ちましょう。
順次起業ですか。。。組み込み系プログラマーという職業の中で実力のある方にとっては、天井が低いということなのでしょうか。。。それともSEの方でも起業される方って多いんですかね。。。
私は自分の能力に自信がなく未踏の大海へ漕ぎ出すような性質ではないので、自分が起業をすることを考えたことはなかったもので、正直驚きました。
数々の追加質問に付き合ってくださってありがとうございました。
No.3
- 回答日時:
> 回路図というのはAND、ORなどの素子が配置された論理回路のことなのでしょうか?それとも抵抗・コンデンサー・半導体などが配置された電気・電子回路のことでしょうか?
やはり両方読めた方がよいと思います。
プルアップのような初歩的な回路が分からないと、ちょっと辛いでしょうね。
> ということは信号の波形をチェックするということと思いますが、どの程度詳しく波形をチェックするのでしょうか?
基本的にプログラマなので、ICの端子の入出力のレベルとタイミングが追えればよいと思います。その意味で、TTLやCMOSの違いぐらいは抑えておきたいところです。
> あと、これはまた新たに湧いてきた疑問なのですが、組み込み系プログラマーが電子回路のレイアウトを逆に回路設計者に提案したりということはあるのでしょうか?というか回路の設計を兼任するということもあるのでしょうか?
職場によりますが、私がメーカーに勤務していたときはそんな感じでした。ソフト・ハード合わせてのシステムですので、両方の視点から総合的に判断できた方がよいことは言うまでもありません。
回答ありがとうございました。イメージが具体的につかめてきました。かなり詳しいようにお見受けしますので、最後にもう一つだけ質問させてください。最初の質問からは離れてしまいますが…。
SEであれば最終的にプロジェクトマネージャー、コンサルタント、またはソフト開発のスペシャリストに上っていくキャリアパスがあると聞きます。組み込み系プログラマーが辿るキャリアパスについて教えていただけないでしょうか?よろしくおねがいします。
No.1
- 回答日時:
少なくともハードウェアの初歩的な知識は必要だと思います。
知らなくても済むといえば済むのですが、それだけ技術者としてのレベルは低くなります。
この回答への補足
回答ありがとうございました。
ハードウェアの初歩的な知識というのは、CPUやメモリーの役割が理解できているということを指すのでしょうか?それとも半導体の知識や、簡単な電子回路を設計できるということでしょうか?
>知らなくても済むといえば済むのですが、
知らなくても済むということは、仕様が記載された書類が与えられて、基本的にはそれさえあれば組み込みソフトを書けるということでしょうか?そしてハードウェアの知識があればより高速であったり容量が軽かったりする性能の高いソフトを書けるという理解で間違っていないでしょうか?
追加質問ばかりですみません。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
まったくのソフト開発初心者で...
-
VB.NET とドットNET(.NET...
-
作れますか?VBで、Windows英語...
-
Directshow関連の書籍
-
ワープロソフトの製作難易度
-
Windows Media Playerを開くと...
-
本格的なGUIを作るのにおすすめ...
-
パソコンを新しくしたらiPodが...
-
iCloudフォトライブラリ内の画...
-
C++ 標準ライブラリの実際の中...
-
iTunesの同期、別のパソコンで...
-
c言語の標準cライブラリのみで...
-
システムコールと標準ライブラ...
-
色混ぜのアルゴリズム
-
C# EXCELセルの入力規則設定に...
-
VB と VC++ と VC#の違いは?
-
VBを使った自作の逆FFT
-
オブジェクト指向、理解しやすい?
-
MPWでCをするには?
-
outp関数について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NET とドットNET(.NET...
-
C++とVC++の違いについて
-
【VC++】MFC、C++/CLI(CLR)、...
-
ワープロソフトの製作難易度
-
VB ストップウォッチ
-
visual studio2005でvb.NETとvb...
-
作れますか?VBで、Windows英語...
-
まったくのソフト開発初心者で...
-
自作ソフトの作り方
-
ウェブ上のteraPadやさくらエデ...
-
IE6の履歴を取得する方法
-
組み込み系プログラマーにIT以...
-
ベクター画像を扱うアプリを作...
-
HDLのEDAツールの開発に関して。
-
Windows Media Playerを開くと...
-
Google ColaboでGUI作成
-
iCloudフォトライブラリ内の画...
-
python urlopen error について...
-
String^の^自体が何を意味して...
-
本格的なGUIを作るのにおすすめ...
おすすめ情報