アットウィキロゴ

H8 3052FをUbuntuで開発する際のメモ

 クロスコンパイラーの整備

rpmパッケージは,みついわゆきおさんのLinuxによるマイコンプログラミングのページの「GCC for SuperH,H8/300,AVR」から,H8/300H用バイナリパッケージ(Linux version)をダウンロード

  • h8-binutils-2.13-1.i386.rpm
  • h8-gcc-3.2-1.i386.rpm
  • h8-newlib-1.10.0-1.i386.rpm

alienがない場合はインストールする

$which alien

$aptitude search alien

$sudoaptitudeinstallalien

RPMパッケージをdebパッケージに変換する

$sudoalien Package.rpm

packageの変換に少し時間がかかるが,同じディレクトリにPackage.debができる。

作成した.debをインストールするのは
$ sudo dpkg -i Package.deb

RPMパッケージを直接インストールする

$sudo alien -i Package.rpm

インストールが完了したならば,

私の場合は,

Using built-in specs.
Configured with: ./configure --prefix=/usr/local
--target=h8300-hms --with-newlib
Thread model: single
gcc version 3.2 と表示されました。

 

書き込みツールの整備

H8に転送するツールをインストールします。

みついわゆきおさんのLinuxによるマイコンプログラミングのページ

「Open SH/H8 writer」に公開されていますので,

使わせてもらっています.C言語のソースファイル

  • h8write.c

をダウンロードして,コンパイル。

出来上がった実行ファイルは,パスの通った適当なディレクトリーに入れる。

私は /usr/local/bin にコピーしました.

 # gcc -o h8write h8write.c
# cp h8write /usr/local/bin

 

テスト

3052F用の良いサンプルプログラムがないため、自作する。

  • サンプルプログラム

#include "3052.h"

int main(void)

{

PA.DDR = 0x00;

  PB.DDR = 0xff;

  while(1){

    PB.DR.BYTE = PA.DR.BYTE;

  }

  return 0;

}

  • コンパイル

もうすぐでゴールなのでがんばってください。

必要なファイル:

  1. hello.c(上のサンプルプログラム)
  2. h8rom.x
  3. h8crt0.s
  4. 3052.h
  5. Makefie

#make

そうするとモトローラSフォーマット(*.mot)のファイルが出来上がる。

h8led.motをH8に転送すれば,実行できます.


  • H8への転送

転送をするさいのスイッチやジャンパの設定はH8_3052F使ってみる(Win)を参照。

#sudo h8write -3052 hello.mot /dev/ttyUSB0

 

  • 実行

H8_3052F使ってみる(Win)

を参照

 

 


#    H8/3052F sample makefile
#

TARGET        =    hello.mot
CFLAGS        =    -O -mh -mint32 -g

TOOL_PREFIX    =    h8300-hms-
CC        =    $(TOOL_PREFIX)gcc

LDSCRIPT    =    h8rom.x
CRT0        =    h8crt0.s
SRCS        =    hello.c

#    make all source trees
all : $(TARGET)

hello.mot: hello.exe
    $(TOOL_PREFIX)objcopy -O srec hello.exe $@

hello.exe:  Makefile $(SRCS:.c=.o) $(LIBS)
    $(TOOL_PREFIX)gcc $(CFLAGS) -T $(LDSCRIPT) -nostdlib $(CRT0) $(SRCS:.c=.o) -o $@

clean :
    rm -f $(TARGET)
    rm -f hello.exe
    rm -f $(SRCS:.c=.o)



 

USB-Serialの接続

H8マイコンボードのシリアルポートにケーブルを接続して

writeできたらよいが,私の場合はUSBポートを持ったPCを使用している

ため,USB-シリアル変換ケーブルを使用する。

どのポートにアクセスすればよいのかを調べる必要がある。

この時点でUSB-シリアル変換ケーブルが接続されていたら、

いったんケーブルを抜く。

 

以下のコマンドを実行して、現在Linuxシステムにロードされているドライバを確認しておきます。

#lsmod


 この状態にしておいて、以下のコマンドを実行してください。

#ls -l /dev/ttyUSB

最終更新:2009年07月18日 00:15