最新 RSS

tips@free BLOG

レトロなマイコン、電子工作、PCやフリーソフト関係のTipsと私的備忘録

<前の3件

2010/03/05

[h8][]今すぐ使える!H8マイコン基板 トランジスタ技術2010年 04月号増刊

買ってきました。 付録基板のCPUはH8SX/1655で、大きなメモリとUSB内蔵だそうです。

付属CDにメーカ提供の開発環境の他に Eclipse + GNU GCC(cygwin) も付いてくる、ただ Windowsのみか? .. orz

なんと、拡張基板でタッチ式カラー・オシロスコープが作れる模様。

CPUのスペックは以下の通り

項目内容
CPUH8SX コア 動作周波数50 MHz(本基板では48 MHz)
ROM512 K バイト フラッシュ・メモリ
RAM40 K バイト
周辺機能割り込みコントローラ(INTC)、 ユーザ・ブレーク・コントローラ(UBC)、 DMA コントローラ(DMAC)、 外部バスDMA コントローラ(EXDMAC)、 データ・トランスファ・コントローラ(DTC)、 バス・コントローラ(BSC)、 クロック制御(CPG)、 A/D 変換器、 D/A 変換器、 8 ビット・タイマ(TMR)、 16 ビット・タイマ・パルス・ユニット(TPU)、 プログラマブル・パルス・ジェネレータ(PPG)、 ウォッチドッグ・タイマ(WDT)、 シリアル・コミュニケーション・インターフェース(SCI)、 I 2C バス・インターフェース(IIC2)、 USB インターフェース(USB)、 I/O ポート(GPIO)
パッケージ120 ピンLQFP

今すぐ使える!H8マイコン基板 トラ技2010年 04月号増刊増刊 今すぐ使えるH8マイコン基板の部屋

2009/11/11

[linux][h8]vine5.0 64bitで h8 gcc4クロス開発環境構築の構築

H8tiny用のgccクロス開発環境を構築する。 結構大変でいろいろトライしたけど、結果的には以下の組み合わせで、、

binutils,gccについては RingServerのGNUから、 newlibについては RedHatから、適当なバージョンをダウンロードするのが吉かと。

ちなみに、Vine5.0(64bit?)の場合 mpfrパッケージの関係で gcc-4.2.4より新しいのはコンパイルできませんでした(涙。 さらに 3.4.6とか 4.0.3 とかの古いのもダメでした(組み合わせた binutilsと newlibのバージョンが悪かったのかもしれませんが)

また以前はオブジェクトは COFF形式で使用してましたが、最近は ELFしかサポートされなくなってます。 VirtualBoxとかで古い Linux環境作って古い組み合わせで COFFな環境を作った方が楽だったかも、、

※ --prefix= や --with-headers= のパスは環境に合わせます。

ダウンロードしたファイルを解凍

$ tar zxf binutils-2.20.tar.bz2
$ tar zxf gcc-4.2.4.tar.bz2
$ tar zxf newlib-1.17.0.tar.gz

binutils

$ cd binutils-2.20
$ mkdir work
$ cd work
$ ../configure --prefix=/usr/local/h8 --target=h8300-elf --disable-nls
$ make all
$ su
# make install
# exit
$ export PATH=/usr/local/h8/bin:$PATH
$ h8300-elf-as -v
GNU assembler version 2.20 (h8300-elf) using BFD version (GNU Binutils) 2.20
^C  ← [CTRL]+C 入力

gcc

$ cd gcc-4.2.4
$ mkdir work
$ cd work
$ su
# ../configure --target=h8300-elf --prefix=/usr/local/h8 --enable-languages="c" -with-newlib \
--disable-libssp --disable-libgomp --disable-nls \
--disable-shared --disable-threads --enable-multilib \
--disable-__cxa_atexit --enable-target-optspace \
--enable-optimize --disable-win32-registry \
--with-headers=/home/hoge/gcc/newlib-1.17.0/newlib/libc/include
# make
# make install
# exit
$ h8300-elf-gcc -v
Using built-in specs.
Target: h8300-elf
Configured with: ../configure --target=h8300-elf --prefix=/usr/local/h8 --enable-languages=c
-with-newlib --disable-libssp --disable-libgomp --disable-nls --disable-shared --disable-threads
--enable-multilib --disable-__cxa_atexit --enable-target-optspace --enable-optimize
--disable-win32-registry --with-headers=/home/hoge/gcc/newlib-1.17.0/newlib/libc/include
Thread model: single
gcc version 4.2.4

newlib

$ cd newlib-1.17.0
$ mkdir work
$ ../configure --prefix=/usr/local/h8 --target=h8300-elf
$ make all
$ su
# make install
$ exit

アセンブラソースの変更

  • .h8300hn

Makefile の変更

  • CC=h8300-elf-gcc
  • OBJCOPY=h8300-elf-objcopy
  • CFLAGS = -O2 -mh -mn

hoge.x (リンカスクリプト)の該当部分の変更と行追加。

  • OUTPUT_FORMAT("elf32-h8300")
  • OUTPUT_ARCH(h8300hn)
  • SEARCH_DIR("/usr/local/h8/h8300-elf/lib/h8300h/"); /* newlib */
  • SEARCH_DIR("/usr/local/h8/lib/gcc/h8300-elf/4.2.2/h8300h"); /* libgcc */
  • *(.rodata*)

2006/12/01

[linux]vine4.0 にアドビリーダー

VineLinux4.0にアドビリーダー(AdobeReader_jpn-7.0.8-1)を入れてみました。

ftp://ftp.adobe.com/pub/adobe/reader/unix/7x/7.0.8/jpn/AdobeReader_jpn-7.0.8-1.i386.tar.gz

インストールの詳細はvine4.0にAdobeReader(jpn-7.0.8-1)

[linux][h8]vine4.0 で gccクロス開発環境構築の構築

せっかくなんでH8クロスな gcc もバージョンをあげてみようとやってみました、gcc-4.1.1, binutils-2.17 はダメで gcc-4.0.3, binutils-2.16.1, newlib-1.14.0 で c, c++ はビルドできました、また gdb-6.5もOKでした。

ただターゲット(H8)のソース中でライブラリを使っていると? g++ でコンパイルするとリンクエラーがでます、まあターゲット環境で標準ライブラリは別に用意するのが当り前ですが、、、ところが c の方はなんとコンパイルできて gdb のシュミレーター上で printf が使えたりします!! h8クロスgdbでprintf

ところで、ふと gcc -v なんてやってみると、、

gcc バージョン 3.3.6 release (Vine Linux 3.3.6-0vl7)

だったりします>Vine4.0

(VinePlus には gcc-4.0.2 があるみたいですが)

<前の3件