2010/03/05
■ [h8][本]今すぐ使える!H8マイコン基板 トランジスタ技術2010年 04月号増刊
買ってきました。 付録基板のCPUはH8SX/1655で、大きなメモリとUSB内蔵だそうです。
付属CDにメーカ提供の開発環境の他に Eclipse + GNU GCC(cygwin) も付いてくる、ただ Windowsのみか? .. orz
なんと、拡張基板でタッチ式カラー・オシロスコープが作れる模様。
CPUのスペックは以下の通り
項目 | 内容 |
---|---|
CPU | H8SX コア 動作周波数50 MHz(本基板では48 MHz) |
ROM | 512 K バイト フラッシュ・メモリ |
RAM | 40 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 |
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 があるみたいですが)