パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

いまから始める人のためのC言語入門書は何がいい?(組込用)」記事へのコメント

  • 書籍の情報ありがとうございます。とりあえずAmazonのWishList入りです。

    で、もうちょっと情報を書くとすると・・

    >アセンブラは判っているのか?とか

    二十数年前にトラ技の連載/別冊でCP/Mマイコンを作る書籍がありましたが、ボードの自作経験はあり、今回もハードウェアは自作。
    当時はハンドアセンブルでパチパチと2進スイッチで入力して・・ぐらいで以降二十数年放置。

    >他にどのような言語を使ったことがあるか?とか

    パソコン通信時代にPC98のターボパスカルでmidi関係のフリーソフト公開前歴有り。当時割り込みが理解できずに挫折。これも二十数年前だな。
    以降は近年になっ
    --
    --- Lcs(http://lcs.myminicity.com/ [myminicity.com])
    • WinAVRってことはベースになっているコンパイラはgccですか?
      ならC言語環境としてはあまり標準から逸脱していないですね。

      アセンブラをいじった事がある、と言うことは「メモリ上のビットイメージ」が「どう実行されるか」の大雑把なイメージがある、と言うことなので…ポインタの概念など、普通の人が引っかかるところは大丈夫なのか。多分、ハッカーのたのしみ [amazon.co.jp]なんかは判っていると思っていいよね(覚えていなくてもまるっきり判らない、と言うことは無かろう、と)。

      むしろ、構造体とか、配列とか、勝手にpaddingするとか、volatile 宣言しないとアクセスコード丸々消してくれるオプティマイザーとか…そっちの方でしょうか、悩みは。特にgccは「インラインで書いたはずのコードごと」消したりしますからね。「それ、いらないじゃん」つーて。この辺は「コンパイラの気持ち」を理解する必要があるので…コンパイラの構成と最適化 [amazon.co.jp]かな?

      unixが判っていると良いのは、C言語とunixは「共進化」の関係にあるからです。ほら、C言語でunix kernelって書かれてるし。unix上の大抵のツールはライブラリも含めてCで書いてあるから。ソースコードを全部持っておくと、サンプルコードが一杯状態なんですよ。良い意味でも、悪い意味でも。

      .

      うーん。普通のプログラマから入ってくる人たちとは「逆向き」にハードウェアから来ている人の場合…あとは何がいいかなぁ。入手可能性を考えずに、C言語という「言語」だけに拘らずにリストアップすると…

      Linkers & Loaders [amazon.co.jp]
      エキスパートCプログラミング −知られざるCの深層 [amazon.co.jp]
      プログラミング作法 [amazon.co.jp]
      BINARY HACKS [amazon.co.jp]
      省メモリプログラミング [amazon.co.jp]

      あたりでしょうか…。一応、私が過去に読んだ事がある本の中で計算機関係は、感想も含めてここ [geocities.jp]とここ [geocities.jp]に開示してあります。参考になるようでしたら幸いです。
      --
      fjの教祖様
      親コメント
      • 各種参考書のご紹介ありがとうございます。参考にさせていただきます。

        AVRに繋がっている入出力を動かすのは先人のコードをつぎはぎしながら修正してどうにかなったのですが、一部のレジスタをEEPROMに放り込んで設定を記憶させるところで躓いていたりします。このあたりの先人のコードをみるといろんな事をやっていて、そのまま持ってきても動かないわけですね。で、先人が書いているコードを理解できなくてそりゃ本も読まずにOJTじゃ限界もあろうと(汗 なぜこの位置に関数とかサブルーチンを置いているのか、どの場所で各種宣言とか型の定義を置くべきなのか定義しないといけないのか、そもそもこの関数の引数の与え方が間違ってるんじゃないかとか、まぁその辺をおさらいしないとまずいなと(汗

        とりあえず昨晩オシロみながら必要最低限の動作やタイミングは確認したのですが、オプションの実装は格闘が続きそうです。動作確認している内にアイデア思いついてCPUのピン数足りなくなりそうだし(汗
        --
        --- Lcs(http://lcs.myminicity.com/ [myminicity.com])
        親コメント
        • …なんか話を聞く限り、それは周辺チップの制御法の詳細情報が必要だ、と言うことであってC言語では無い気が…

          そういうのは…私は『Primitive な所はインラインアセンブラで書いちゃう』派だなぁ。
          特定アドレスに対するメモリIOだけで済むなら話は別だけれど…。
          --
          fjの教祖様
          親コメント

普通のやつらの下を行け -- バッドノウハウ専門家

処理中...