組み込みlinux開発環境に詳しい---最初のhello word!


1.前言:linux環境に対する私の認識
組み込みlinuxを初めて学ぶことは、環境全体の認識、および環境全体の操作にとって非常に重要です.通常のプログラミングは、VC 6.0などの統合開発環境で行われています.コードを書き終わったら、直接ボタンで「コンパイル」をクリックし、「実行」をクリックすると、インタフェース化されます.しかし、開発プログラムの猿たちは、この統合開発環境の「コンパイル」と「実行」がどのように行われているかを考えたことがありますか?またどのような過程ですか?統合開発環境は確かに便利で、ボタンの点を直接通過して目的の操作を完成したが、内在的な運行論理を隠した.
linuxの下で開発すると、あなたの視野をもっと深くすることができて、全体の過程は開発環境を統合していないで、自分でコードを編集して、自分でコンパイル過程を書いて、自分で実行して、ボタンを通じて点々と完成するのではなくて、あなたの開発の過程は統合環境です.そのためlinuxの下での開発は、開発から実行までの内在的なメカニズムをより深く理解することができます.
以下、筆者は皆さんと一緒に埋め込み式Linux学習の第一歩---linux開発環境を熟知し、私の最初のhello wordを出力します!
2.コンパイルプロセスの理解
通常は「コンパイル」と呼ばれ、コンパイルのプロセスは次のとおりです.
Cプログラムソースファイル(.c)----前処理----』(.iファイル)----コンパイル----アセンブリファイル(.s)----アセンブリ----ターゲットファイル(.o)----リンク----」(実行可能ファイル)
実行可能ファイルは直接実行できるファイルで、組み込みLinux開発ではコントローラに書き込むにはバイナリファイル(.bin)に変換する必要があります.次はこのプロセスに対して開発を行い、Linuxの下で出力:startmyhello word!
2.Cプログラムソースファイル編集
    :Windows
   :Source Insight

ソースプログラムは、どのシステムでも、どのコードエディタでも作成できます.ここではWindowsのSource Insightエディタでコードを書くのが便利です.
  • myhello.cソースファイル
  • を作成
  • myhello.cソースファイルをコード作成し、保存します.mainは関数エントリであり、コンパイルファイル間のつながりをより深く理解するためにHelloFunction()関数呼び出しを加え、HelloFunction()関数を宣言および定義するためにヘッダファイルとソースファイルを作成します.
  • #include "stdio.h"
    #include "HelloPrint.h"
    int main()
    {
        printf("start
    "); HelloFunction(); return 0; }

    3.同様に、HelloPrint.cソースファイルを作成し、HelloFunction()関数を定義します.
    #include "stdio.h"
    #include "HelloPrint.h"
    void HelloFunction()
    {
        printf("myhello word!
    "); }

    4.同様に、HelloPrintヘッダファイルHelloPrint.hを作成し、HelloFunction()関数を宣言します.
    #ifndef  __HelloPrint_H
    #define  __HelloPrint_H
    
    void  HelloFunction(void);
    
    #endif

    2.自分でコンパイルプロセスを書く---makefileファイル
    makefileファイルはコンパイルプロセス全体の集合ファイルであり、事前にプログラムソースファイルのコンパイルプロセスをmakefileファイルに書き、その後コマンドラインの下にmakeコマンドを入力するだけで、システムは自動的にmakefileファイルの内容を実行し、操作しやすい.同時にmakefileは、ターゲットファイルが変更されたかどうか、依存ファイルが更新されたかどうか、コンパイルするかどうかを自動的に選択し、大量のプログラムファイルにとってコンパイル時間を短縮します.makefileファイルの作成には具体的なルール形式があり、ネット上にもこの方面の資料がたくさんあります.
    makefileファイルの内容は以下の通りです.ここでhelloファイルは最終的に生成される実行可能ファイルであり、myhello.cとHelloPrint.cは原材料をコンパイルし、gccコンパイルツールを採用している.
    hello : myhello.c   HelloPrint.c 
        gcc -o hello    myhello.c HelloPrint.c
    clean:
        rm hello

    3.linuxでコンパイル、実行を完了
    上のコードはすべてWindowsの下で完成して、もちろんLinuxの下でも書くことができて、しかしWindowsの下で書くのは少し便利です.以上のコードとmakefileファイルを書き終わったら、仮想マシンのlinuxにアップロードする必要があります.
        :CuteFTP(         VMware tools      )
    
    SSH      :SecureCRT(   linux   , Windows  SecureCRT            ),      linux        。      
  • CuteFTPがLinuxへのアップロードを完了したファイルは、
  • です.
  • SecureCRTは、仮想マシンlinuxサーバインタフェースに次のようにログインし、関連命令の操作を完了します.および操作後のコンパイル結果は以下の通りである:
  • makeコマンドが表示されると、リストされた関連ファイルには実行可能ファイルhelloが多く、つまり最後に欲しいものが表示されます.helloを実行すると、実行結果が表示されます.最初のhello wordの出力が現れました.make cleanはmakefileのcleanコンテンツを実行し、実行可能ファイルを削除するために使用されます.
    ここを見た親たちはlinux開発環境に少し慣れていますか?環境を熟知することは開発の入門にとって重要である.これらも組み込みlinux開発の基礎であるが,プログラムはまだコントローラに記録されていないため,次編では簡単なS 3 C 2440ヌードボードプログラム開発により基礎開発過程を学習する.