CAT845_visualstudio2

VS2017の立上げ

ファイル > 新規作成 > プロジェクト > VisualC++_クロスプラットフォーム_Linux メイクファイルプロジェクト(Linux)

pic_vs_newproj.jpg

あらかじめ作っておいた Makefile と hello.c の2つのファイルをプロジェクトフォルダにコピーしています。

pic_newsorce.jpg

  • Makefile
    #CC=sh4-linux-gnu-gcc
    CC=arm-linux-gnueabihf-gcc
    CFLAGS=-O2 -g -Wall
    PROG=hello
    
    all:$(PROG)
    
    clean:
    	-rm $(PROG)
    	-rm $(PROG).BAK
  • hello.c
    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    
    int main(){
    	int i;
    	char *p;
    
    	printf("hello linux world. pid=%d\n",getpid());
    
    	// 1Mバイトメモリ確保
    	p=malloc(1024*1024);
    
    	while(1){
    		printf("main=%p, printf=%p, malloc=%p, i=%p\n",
    		main, printf, p, &i);
    		sleep(1); // 1秒スリープ
    	}
    }

プロジェクトへのファイルの追加

pic_add1.jpg

  • ソリューションエクスプローラの「すべてのファイルを表示」をクリック
  • hello.c を右クリックし、「プロジェクトに含める」
  • Makefile を右クリックし、「プロジェクトに含める」

ターゲットボードとの接続

pic_arm.jpg

プルダウンから ARMを選択する

pic_cross.jpg

初回接続時のみ、ターゲットボードのIPアドレス、user名、パスワードを聞いてくるので入力する。

最初の一回目のビルドはおそらく失敗する。

ソリューションエクスプローラで、プロジェクト名(hello)を右クリックし、デバッグ情報を設定する。

ソースコードはターゲットボードの

/home/(ユーザ名)/projects/(プロジェクト名)

に保存される。従って

ユーザ名        kaihatsu
プロジェクト名  hello
実行ファイル    hello

の場合は次のようにする

pic_debug.jpg

プログラム       /home/kaihatsu/projects/hello/hello
作業ディレクトリ /home/kaihatsu/projects/hello/

pic_remote_build.jpg

ビルドコマンドライン          cd $(RemoteRootDir)/$(ProjectName); make all
すべてリビルドコマンドライン  cd $(RemoteRootDir)/$(ProjectName); make clean all
クリーン コマンドライン       cd $(RemoteRootDir)/$(ProjectName); make clean
出力                          /home/kaihatsu/projects/hello/hello

プログラムの実行

ここまで準備が整えば run させることができる

pic_run.jpg

関連

Last-modified: 2019-02-01 (金) 19:28:16 (170d)