PCの原理の説明(1ヶ月)
PCの基本原理
2進数、16進数などの講義が数日あったあと、アセンブラを使用する簡易コンピュータ(と言ってよいものやら…。)を使用して16進数を使ってアドレス指定、アキュムレータなどの学習。昔のPCを使って原理的な部分の学習、とでも言いましょうか。
これに似た機材を使ってます→(大人の学習)
C言語の学習(1ヶ月)
printf文から構造体まで一通りのc言語の使い方を学習。
一応、PHPを使っていたのでそれなりに問題なくついてゆくことができました。ただ、この時点で完全に脱落する人が数名。
やはりこういった分野は理系の人のほうが有利です。私は一応経験者なのですが、ポインタになるとかなり悩みました。
しかも組み込み系はポインタを多用する分野なのです…。確かに、メモリの番地を直接指定することによる処理時間の短縮化は重要であることは理解できるのですが、それは極めてマイコンに近い部分の処理であって、現在主流のスクリプト系言語では全く異なった考え方だったりもします。
そのため、今になって考えると、ポインタは「c、c++をメインとしないのであれば」知識程度でいいような気がします。ポインタでプログラムに対して苦手意識持つ人が多数出たような気が…。
広告
H8 マイコンの学習(1ヶ月)
H8という古典的な組み込みシステムを用いたプログラミングです。OSなしのC言語記述による、メモリアドレスの直接指定による部接続機器のコントロール、と言えばよいでしょうか。
擬似マルチタスク、割り込み指定など家電製品に使われている組み込みの原理的な学習です。
組み込み機器のプログラミング、といいますが、むしろC言語の実際における使用方法などを勉強したともいえます。
μITRONの学習(1ヶ月)
OSを使用した組み込み機器の学習です。で、OSと聞くとmac,win,Linuxなどがあるのですが、μITRONはこれらとはまったく異なった思想、原理で動作しているので、それを理解するだけでかなり大変。
それらを理解すれば、その意味も理解できるのですが、ここはかなり本気でしないとだめな部分でしょう。実際、ついてゆけない人も何人かいましたので。
ただ、現実的にはμITRONは国内でもかなり需要が少ないらしく、この学科を卒業しても実際に組み込みに携わった人は数人と言う話も。
広告
Linuxの学習(2週間)
本当はlinuxを用いた組み込み機器の制御、だった筈なのですが時間切れによりLinux(RedHat)オペレーションの学習。
とはいえ、この講義は、ものすごく有意義でした。Linux自体は無料OSで誰にでも入手、運営は(スキルがあれば)できるのですが、その体系的学習はなかなか困難ですから。init、プロセス、nfs、シェルなどなど。時間的制約もあり広く薄く、と言う感じでしたが、同システムの俯瞰的、体系的学習はいずれweb系に行く人には絶対に役に立つことではないでしょうか。
VHDLの学習(1.5ヶ月)
デジタル回路の基礎をハードウェアを実際に組んで確認した後、LSIのプログラミングです。言語としてはVHDLを用います。学習用言語のパスカルに似ている、らしいです。ドモルガンの定理とか真理値表、カルノー図とか、文系だとかなり厳しいところかも…。
ただ、実際のプログラミングについてはそれらの基礎原理はさておき、何とかはなります。私もそのうちの一人ですし(苦笑)
後述
実際、就職後に思ったのは、VHDLってVBSライクな書き方に思えます。ただ、初学者がc言語をやったあとにBASIC系の記述は頭がまったく切り替わらないため、私は非常に疲労困憊…。
広告