只今のアクセス件数:


(別室)Cygwinのページ

 ※このページはあくまで個人的な趣味によって書かれており、著者は全ての内容について、いかなる責任も負いません。



  Cygwinは,Unix系のソフトウェアが動作する環境を、Windows上に構築するアプリケーションです。
Unix系OS上では、フリーの開発ツールが、多く提供されている事もあって、CPUの開発でも 使われる事が多いように思います。
GNUやCygwinの詳細は割愛しますが、多くの研究者が説明しているサイトがあるので、Unixを使った事がない人でも、読んでみれば
わかると思います。
私は過去に、仕事でUnix(サンマイクロシステムズのSolaris)を使っていたのですが、業務とはいえ、机の上にWindows系パソコンと、
Unixマシーンの2台のコンピュータとモニタを置くのは、デスクのスペースを圧迫して邪魔でした。
WindowsXP上で、Unixの ウインドーが開くというのは、なかなか便利な事です。

 ※Cygwinのダウンロードサイト: ※http://www.cygwin.com/

 ※注1)Cygwinはフリーソフトです。
 ※注2)デフォルトインストール(50Mバイト程度)では、下記で使用している、「viエディター」、「cc」、「gcc」、「gdb」等のコマンドは使えません。
    フルインストールの場合、全ての機能が使用できますが、2.5Gバイト程度のディスク容量が必要なので、ディスクに余裕がない人は、
    デフォルトインストールした後で、必要な機能を追加インストールしてもいいと思います。
    


Cygwinのウインドーイメージ(DOSのコマンドプロンプトのようなイメージです)





Cygwinを使ってみる

●簡単な基本操作

Unixを使った事がある人なら、操作は同じなので説明は不要だと思います。
初めての人でも、下記のコマンドくらいを知っていれば、簡単な操作はできると思います。
Unixでは、大文字と小文字は、別の文字として区別されますが、基本的にコマンドは小文字で入力します。
ただし、CygwinのフォルダーはWindowsと共有しているので、下記のコマンドなど全く知らなくても、ファイル操作は、ファイル操作は、
Windowsの「エクスプローラ」や「エディタ」でも行なうことができます。

但し、エディタでファイル保存する時の指定で、改行コードを、\r\n(0D0A)でなく、\n(0A)を選択します。


Windowsエディタの指定


1.ディレクトリー操作
 pwd             ;現在のディレクトリーを表示する
 ls               ;ディレクトリー内にあるファイルやサブディレクトリーを表示する
 ls -al            ;ディレクトリーにあるファイルやサブディレクトリーを、全て表示する
 cd ..             ;ディレクトリーを一つ上がる
 cd (ディレクトリー名)   ;ディレクトリーを移動する
 mkdir (ディレクトリー名) ;ディレクトリーを作る 
 rmdir (ディレクトリー名) ;ディレクトリーを削除する
                ※但し、プロテクションコード(「ls -al」で表示される「drwxrwx...」の事)
                 で保護されているディレクトリーを削除する場合は、「chmod」コマンドで
                 プロテクションコードの変更が必要。また、ディレクトリーが空である事。  
 
2.ファイル操作
 cp (ファイル名1) (ファイル名2) ;ファイル名1をファイル名2にコピーする
 mv (ファイル名1) (ファイル名2) ;ファイル名1をファイル名2に移動する
 mv (ファイル名1) (ディレクトリー名);ファイル名1をディレクトリーに移動する
 rm (ファイル名1)    ;ファイルを削除する
                ※但し、プロテクションコード(「ls -al」で表示される「drwxrwx...」の事)
                 で保護されているファイルを削除する場合は、「chmod」コマンドで
                 プロテクションコードの変更が必要。  
 cat (ファイル名1)    ;ファイル名1の内容を表示する
 
3.エディタ
 Windowsで使っているテキストエディタが使えますが、Unixの「viエディタ」を使うなら、デフォルトのインストールのままでは
 使えないので、簡単な設定が必要になります。
 設定方法は、詳細に解説しているサイトがあるので、参考にするといいと思います。
 冒頭でも書いた通り、Windowsのテキストエディタを使うなら、ファイルを保存する時の指定で、改行コードを、
 \r\n(0D0A)ではなく、\n(0A)を選択して保存します。
 使っているエディタに、このような変換機能がなければ、Cygwinのdos2unixコマンドでコードを変換する事も可能です。


Cygwinのコマンドで改行コードを変更する例
@fileコマンドで、ファイルの属性を確認する    
Ados2unixコマンドで、改行コードを変換する    
Bfileコマンドで、属性が変更された事を確認する


 

 
4.その他の操作
 ps            ;動いているプロセスを表示する
 logout           ;終了する


ディレクトリーを作る例(目隠しをしたのは、デフォルトのシェルではコンピュータ名やユーザーIDが表示されてしまうため)







CygwinでC言語のプログラムを作ってみる

Cygwinで簡単なプログラムを動かしてみました。
通常、開発では、コンパイルやリンクに、いろいろな条件やライブラリーを必要とする事が多いので、makeファイル
(コンパイルやリンクに必要な情報を記述したプロシージャー)を使用するのですが、C言語の標準ライブラリーしか
使わないのなら、このようにコマンドを一つ一つ入力してコンパイル/リンクしたほうが簡単です。



1.エディタでC言語のプログラムを書く

例えば、WindowsXPのテキストエディタで、下記のプログラムを作成し、デフォルトディレクトリー
※通常は、C:\cygwin\home\(WindowsXPでログインしているユーザーID)に、任意のファイル名で保存する

 サンプルプログラム(test.c)
   #include < stdio.h>
   int main(void)
   {
   printf("\n test");
   }

2.cygwinで、作成したC言語のプログラムを、コンパイル/リンクする

下記のコマンドを入力する
  cc test.c

3.作成したプログラムを実行する

上記のコンパイル/リンクが成功すると、出力ファイル名を指定していない場合、「a.exe」という
実行ファイルが作成されるので、
cygwinのウインドーから、下記のコマンドを入力すると、作成したプログラムが実行されます。
  a.exe


上記の操作を実行したところ

test.c

プログラムソース(C言語)







GDBでC言語のプログラムをデバッグする

GDBを使って、C言語のプログラムをデバッグしてみました。
GDBは、とても使いやすいとは思えませんが、UNIXではよく知られています。

1.エディタでC言語のプログラムを書く

WindowsXPのテキストエディタで、下記のプログラムを作成する。

 サンプルプログラム(work.c)
    #include < stdio.h>
    int main(void)
    {
    int i;
    i = 0;
    while(1){
      printf("\n %8.8d",i);
      i++;
      }
    }

2.cygwinで、作成したC言語のプログラムを、コンパイル/リンクする

下記のコマンドを入力する
  gcc -g work.c

3.作成したプログラムを実行する

上記のコンパイル/リンクが成功すると、出力ファイル名を指定していない場合、
「a.exe」という実行ファイルが作成される。
cygwinのウインドーから、下記のコマンドを入力すると、作成したプログラムのデバッグが開始される。
  gdb a.exe

4.GDBでよく使うコマンド(一部のみ抜粋)

   list                  ;プログラムソースを表示する
   break (行番号や関数名等)  ;ブレークポイントを設定する
   run                  ;プログラムを実行する
   c または cont           ;継続する
   watch (変数名)         ;変数の書き込みを追跡する
   quit                  ;GDBを抜ける


上記の操作を実行したところ

work.c

プログラムソース(C言語)







CygwinでFORTRANのプログラムを作ってみる

Cygwinで簡単なFORTRANのプログラムを作ってみました。
コンパイルは’f77’または、’g77’で行ないます。


簡単なコンパイル、実行イメージ

wk.f

プログラムソース(FORTRAN)  ※改行コードはHPで表示できるように変換してある







データベース(PostgreSQL)を使ってみる

PostgreSQLは、カリフォルニア大学バークレー校で開発されたPostgreをもとに、世界中のプログラマーによって開発されている
フリーソフトです。
主にUnix系のWebサーバと連携されて使われる事が多く、大規模なデータベースを構築する事が可能で、しかも機能的にも
優れているので、使われる事も多くなった気がします。
ここでは、CPUの開発という、このページの本来の主旨から大きく外れてしまうので、簡単にしか触れませんが、Cygwinのアプリ
ケーションとしては、一般的に使われているものです。


●インストール

  「cygwin」のインストーラーで、「Database」の選択肢の中にある、PostgreSQLに最新バージョン(私がインストールした
  時点では7.4.5)を指定して、インストールします。
  PostgreSQLを使うには、いろいろと設定する事があるのですが、設定方法を紹介している日本語サイトは多くあるので、
  参考にするといいと思います。

  ※(写真)PostgreSQLがインストールされていれば、cygwinから、「pg_ctl --version」と入力すると、
    PostgreSQLのバージョンが表示される。


●簡単な基本操作

基本的な操作は、他のデータベース(RDB)を使った経験があれば、おそらく、大差なく使う事ができると思います。
通常は、C言語等のプログラムに組み込んで作って使うほうが、普通の使い方です。

  1.データベースの初期化

     下記のコマンドを入力する
       export CYGWIN=server
       cygserver-config
       initdb -D (データベースを作成するディレクトリー)


  データベースの初期化イメージ


  2.データベースの起動

     下記のコマンドを入力する
       export CYGWIN=server
       cygserver-config
       postmaster -i -D (データベースを作成したディレクトリー)  &


  データベースの起動イメージ


  3.データベースの作成

     下記のコマンドを入力する
       createdb (データベース名)


  データベースの作成イメージ



  4.SQL文によるデータベースの検索イメージ(プロンプトから)

     下記のコマンドを入力する
       psql (データベース名)    : データベースを使用する
        ※このコマンドを入力すると、プロンプトが (データベース名)=# に変わり
        SQL文の入力が可能になる
       
       \q                :SQLプロンプトを抜ける 


  データベースの検索イメージ



  5.テーブルを作る

     SQLプロンプトから、下記のコマンドを入力する
       create table (テーブル名)  {  テーブル定義  }; 


  テーブルを作っているイメージ


  

  6.作成したテーブルにデータを代入する

     SQLプロンプトから、下記のコマンドを入力する
       insert into (テーブル名) values  { データ }; 


  データを入力しているイメージ



  7.SELECT文で作成したデータを確認する

     SQLプロンプトから、下記のコマンドを入力する
       select * from (テーブル名); 


  データを確認しているイメージ


  
  8.C言語で、データを検索するアプリケーションを作る

     適当なディレクトリーで、下記のプログラムをコンパイル/リンクする
       gcc -o work.exe work.c -I /usr/inlude/postgresql/server -lpq 

     プログラムを実行すると、検索した結果が表示される
       ./work  


  C言語のプログラムでデータを検索しているイメージ

work.c

プログラムソース(C言語)
  


  9.データの更新・削除を行なう

     SQLプロンプトから、下記のコマンドを入力する
   (1)データの更新
       update (テーブル名) set { データ } where  { 更新条件 } ; 
   (2)データの削除
       delete from (テーブル名) where  { 削除条件 } ; 


  データを更新・削除しているイメージ


  







Cygwinを使ったTOPPERS/JSP環境

 
 ※1)TOPPERS/JSPは、「μITRON4.0仕様」 に準拠したリアルタイムカーネルです。
 ※2)TOPPERS/JSPについては、 「(別室)リアルタイムOSで遊ぼう」 のページで紹介しています。
 ※3)この章では、「もなみソフトウエア」の「PizzaFactory」を使わない方法を説明していますが、
    「PizzaFactory」は、簡単で使いやすく無償でダウンロードできるので、そちらを使う方がお勧めです。
  

ただいま、準備中!!

●インストール

  1.クロスコンパイラー環境のインストール

    下記の「Gnuのクロス開発環境(gcc)について」の項を参照


  2.TOPPERS/JSPのインストール
 

●基本操作

  1.サンプルプログラムをビルドする

  2.マイコンに書き込む

   (1)SH−2の場合

   (2)V850の場合







PICの開発環境について

  ※この項目の内容は、「Cygwin」と関係ないものも含んでいます。
 

 1.フリーのCコンパイラー

  (1)HI−TECH PICC Lite

     ※http://www.htsoft.com/よりダウンロードし、画面の指示にしたがってインストールする。

     ・インストールするとMPLABからそのまま使用できるので、使い方が簡単です。
 
     ・製品版を購入しないと、使用できるPICマイコンが16F84等、ごく一部のマイコンに限定されます。

    ※注)現在は、マイクロチップ社により回収され、最新のMPLABをインストールすると、デフォルトでは
     そのまま使用できます。無償評価版でも、ほとんどのPICマイコン(PIC10,12,16)に対応しています。 
      

 

  (2)SDCC:Small Device C Compiler

     ※http://sdcc.sourceforge.net/よりダウンロードし、画面の指示にしたがってインストールする。
 
     ・一般的なPICマイコンがほとんどカバーされているフリーのCコンパイラーです。
 
     ・Cygwinを使って環境を構築してもいいのですが、Windows版(SDCC−win32)があるので、そちらを使った方が
      簡単だと思います。

     ・コンパイルすると、ASMファイルが作成されるので、これを、下記のgputils(GNU PIC Utilities)や、MPLAB、MPASM等で
      アセンブル・リンクして、HEXファイルを作成します。

  (3)gputils:GNU PIC Utilities

     ※http://gputils.sourceforge.net/よりダウンロードし、画面の指示にしたがってインストールする。
 
     ・上記、「SDCC」等と組み合わせて使用できるフリーのアセンブラ、及びリンカです。
 


SDCC+gputilsの使用例(WindowsXPのコマンドプロンプトで実行した場合)







Gnuのクロス開発環境(gcc)について

   UNIX(Cygwin)上で、下記のコマンドを使って開発するフリーでコマンドラインベースの開発ツールです。
   多くのCPUに対応しているので、CPUの開発では一般的に使われています。
   通常は、Makefile(コンパイルやリンク等の手順を書いたファイル)を作って使用するので、個々のコマンドを打つ事は
   あまりないと思います。

    ●よく使われるコマンド

     ・(プロセッサ名)−elf−as      ; アセンブラ
     ・(プロセッサ名)−elf−gcc     ; コンパイラ
     ・(プロセッサ名)−elf−ld      ; リンカ
     ・(プロセッサ名)−elf−objcopy  ; フォーマット変換ツール(HEX形式、S形式、バイナリ形式等の変換を行う)

    ●一般的に用意するファイル(最低限)

     ・Makefile(デフォルトは、ファイル名:Makefileで拡張子なし)
     ・C言語のプログラムソース(拡張子 .c  .h)  
     ・スタートアップルーチン(拡張子 .s) ・・・・・・プロセッサの起動時の動作を定義する
     ・リンカスクリプト(拡張子 .def)    ・・・・・・プログラムやデータのメモリーへのアロケーション情報を定義する



 1.H8/3664の開発環境について

     「(別室)H−8で遊ぼう」 のページを参照







 2.SH−2(SH7144F/SH7125F/その他)の開発環境について

    ※SH−2については、 「(別室)SH−2で遊ぼう」「(別室)おまけのページ」 で紹介しています。

    (1)Gnuのクロス開発環境の設定

      ・Cygwin上でのGnu環境の作成方法については、解説しているサイトが多いので、詳細は割愛しますが、
      Gnu環境はソース形式で提供されるために環境の構築が必要となり、時間と手間がかかる作業になります。

     ・ 「Interface誌」2006年7月号 では、Gnuツールのバイナリー形式も用意されていますので、正規の方法ではないのですが、
      このファイル(sh-tools.tar.gz)を解凍して、フォルダーごとCygwinの「/usr/local」にコピーするだけでも設定は完了します。
      手間をかけたくない人には、こちらの方がお勧めです。
      


「/usr/local」の下に、Windowsのエクスプローラー等で「sh-tools」をコピーするだけでもよい

    (2)コンパイル・リンク、及びマイコンへの書き込み

      ・プログラム、及びmakefile等を用意し、makeして、作成されたMOTファイルをマイコンに書き込む。
      下記は、簡単なサンプルです。 ※「Interface誌」のサンプルに簡単な修正をしただけです。
      Cygwinの適当なフォルダーにコピーし、main.cという名前でC言語のプログラムを作成してmakeし、エラーが無ければ
      main.motファイルが作成されます。
      これをFDT等のライターでSH−2マイコンに書き込めばよい。


コンパイルイメージ(main.cのファイル名でプログラムを作成し、makeコマンドを実行する)

scyg004001.lzh

SH7144F Cygwin用 gcc開発環境サンプル







 3.ARMの開発環境について

 
    ※ARMについては、 「(別室)おまけのページ」 で紹介しています。



    (1)Gnuのクロス開発環境の設定

     ・上記、「2.SH−2の開発環境について」を参照

     ・ 「日本の組み込み情報」 のページでは、「GNUwing」としてバイナリーも用意されているので、手間をかけたくない人にはお勧めです。
      
      ※Cygwinの /usr/localにフォルダー毎コピーするだけです。(上記、SH−2を参照)







 4.V850Eの開発環境について

 
    ※V850Eについては、 「(別室)おまけのページ」 で紹介しています。



    (1)Gnuのクロス開発環境の設定

     ・上記、「2.SH−2の開発環境について」を参照

     ・手間をかけたくない人は、「インターフェース誌 2007年12月号」の付録に、バイナリー形式のものが
      が付いているので、これを解凍して、フォルダーごとCygwinの /usr/localにコピーする方がお勧めです。








H8/OSについて

 1.H8/3664の開発環境について


    (1)Gnuのクロス開発環境を設定する

      ・上記「Gnuのクロス開発環境(gcc)について」を参照


    (2)H8/OSに必要なファイルをダウンロードする

      ・ 「みついわ氏」のHPより、必要なファイルをダウンロードする

        ※「(別室)リアルタイムOSで遊ぼう 」 のページを参照


    (3)H8/OSを使ったコンパイル

      ・マニュアルの手順の通りに、コンパイルする

       ※「(別室)リアルタイムOSで遊ぼう 」 のページを参照


「test1.c」のコンパイルイメージ  作成された「test.mot」をマイコンに書き込む ※「(別室)リアルタイムOSで遊ぼう 」のページより抜粋


u020001.lzh

上記、サンプルプログラム  ※「(別室)リアルタイムOSで遊ぼう 」のページより抜粋







AVRの開発環境

 WinAVR(Gcc)を使ってみる


  WinAVRを使って、AVR-CPUのプログラムを、C言語で作成する事ができます。
  WinAVR、gcc、avr-gcc等の詳細は、説明しているサイトが多いので、参考にするといいと思います。
  ここでは、基本操作のみを取り上げています。

  なお、WinAVRは、AVRのgcc開発環境をWindowsパソコン上で使うためのツールで、Cygwinとは関係がありません。
  


 ●WinAVRで、AVR-CPUのC言語のプログラムを作成する


  1. WinAVRをインストールする

     プログラムは次のサイトよりダウンロードするといいと思います: ※http://sourceforge.net/projects/winavr/

     ダウンロードしたプログラムを実行すると、WinAVRがインストールされます。


  2.Makefile(コンパイルするための条件が書かれたバッチファイル)を作成する

     (1)Windowsの「スタート」ボタンから、「すべてのプログラム」 => 「WinAVR」 => 「MFile(WinAVR)」
     を実行する。

     (2)「mfile」画面が立ち上がるので、「Makefile」 => 「MCU Type」 で、使用するCPUを選択する。


  AT90S2313を選択したイメージ



     (3)「mfile」画面から、「File」 => 「Save As」で、プログラムを開発するディレクトリーに、このMakefileを保存する。


  3.C言語でプログラムを開発する

     上記でMakefileを保存したディレクトリーに、main.cのファイル名でプログラムを作成、保存する。

s000011g.c

AT90S2313 WinAVR用 コンパイルテスト用サンプルプログラム


  4.プログラムをコンパイルする

     (1)Windowsから、「コマンドプロンプト」を開き、上記でMakefileを保存したディレクトリーに移動する。

         n:(Makefileを保存したディスクのドライブ名)を指定する

         cd *****(Makefileを保存したディスクのディレクトリー名)を指定する

     (2)「コマンドプロンプト」から、「make」と入力すると、コンパイルが実行される。

         make

       コンパイルエラーがなければ、HEXファイルが作成される。


  実行イメージ


  5.AVRにプログラムを書き込む

     4.(2)で作成されたHEXファイルを、各種ライターの手順に従ってAVR−CPUに書き込む。

       AVRに書き込む方法はいろいろあるのですが、この方法が最も簡単だと思います。





MSP430の開発環境

 Mspgcc(Gcc)を使ってみる


  Mspgccは、MSP430のフリーの開発環境(Gcc)です。
  Gccの詳細については、上記で説明してきた通りなので、ここでは、基本操作のみを取り上げています。

  なお、Mspgccは、Windowsパソコンのコマンドプロンプト上での使用が可能で、Cygwinと直接関係は
  ありません。


 ●Mspgccで、MSP430のC言語のプログラムを作成する


  1. Mspgccをインストールする

     プログラムは次のサイトよりダウンロードするといいと思います: ※http://mspgcc.sourceforge.net/

     ダウンロードしたプログラムを実行すると、Mspgccがインストールされます。


  2.Makefile(コンパイルするための条件が書かれたバッチファイル)を作成する

     (1)使用するMPUに合わせて、makefileを作成する
     
     Mspgccをインストールすると、大量のサンプルが「Examples」のフォルダーに作成されるので、これを適当なフォルダ
     (フォルダ名に日本語や空白を含まない事)にコピーして、該当箇所を修正すると簡単だと思います。  


  3.C言語でプログラムを開発する

     上記で作成したフォルダーにC言語でプログラムを作成し、保存する。


  4.Makeを実行する

     Windowsのコマンドプロンプト上で、「make」コマンドを実行するだけで、実行ファイルが作成される。


  実行イメージ


sample.lzh

サンプルプログラム  MSP430F4270用   ※「(別室)おまけのページ」 より抜粋


  5.MSP430にプログラムを書き込む

     MSP430をJTAGでパソコンにつなぎ、作成されたプログラムをマイコンに書き込む。
     書き込みには、gdb(デバッガ)を使ってもいいし、 MSPFET を使ってもいいと思います。
     MSPFETは、操作が簡単(「SETUPボタン」を押して簡単な設定を行なっておけば、MPUを選択し、実行ファイルを開いて、
     「Autoボタン」を押すだけで書き込みできます)なので、お勧めのツールです。


MSPFETは簡単に使用できるツールです






 




PICのページへ戻る
ボタンを押すとPICのページへ飛びます

メニューに戻る
ボタンを押すとメニューのページへ飛びます


    




問い合わせ先(代表者)E_MAIL BYP03364@nifty.ne.jp

 ※ウイルス感染防止のため、容量の大きなもの、添付ファイルのあるもの、テキスト形式以外のメールは
全て削除されます。
 また、個々の質問については、お答えできません。