H8 & SuperH, RX, RL78 GNU gcc-4.7 開発環境構築 on MacOS X 10.4 作成2013.08.18 更新2024.05.19
       RX-gcc-8.3.0 を MacOS X 10.9.5上に構築 & RAマイコン関係 作成2022.11.19 
H8 & SH-2 Writer Soft MacOS X 通信ターミナルソフト
▼ MacOS 10.9.5での GNU gcc-8.3 & Binutils-2.36による RXv1~v3コア・マイコン開発環境を構築できました。Linux OS上ではMacOSよりもパス関係やライブラリー関係が簡単にコンパイルが可能です。
 gcc-8.3のMacOSバイナリ・コードはこちらから MacOS RX-gcc-8.3をダウンロードできます。gcc-8.3のMacOSバイナリ・コードは /Usarsの上位に配置しないとライブラリーのリンクができません。国産のRXv1& RXv2,RXv3コア・RX66T&RX72N, RX72T, RX671マイコンを活用しましょう2022.11.19

 ARM系のクロス・コンパイラーはMacOS(Darwin)よりもUbuntuのほうが相性がよいようであり、もっと早く、MacOSからUbuntu20.04へ移行すべきであったようである。2024.01.03

 安定な動作のUbuntu関係のページ

 種々のコア・人工知能TinyML-RunTimeベンチマークはこちらのページです。
 レイトレーシング(RayTracing)ベンチマークはこちらのページです。
 For-Loopベンチマークはこちらのページです。
 激安のRISC-Vコアボードが魅力的、RISC-V関係はこちらのページです。
 Multi-Threadベンチマークはこちらのページです。


 MacOSでRA系 Cortex-M33マイコンのファーム・ウェアー開発  作成 2023.01.15

 MacOS上でRA6M4マイコンのfirmeware softを制作しているが、通信関係とタイマー関係の割込処理が動作するようになった。ルネサスRAマイコン関係ではgcc関係の情報が殆どなく純正コンパラーの情報が多くソフト開発環境を構築するのが大変であった。

 RAマイコン関係の情報ではアセンブラstart.sのコードがなく、startup.cのみのコードでありstart.sのコードでアセンブラ・コードにSysTickレジスターSYSTICK_CTRLとSYSTICK_LOADを初期設定する必要があった。はまってしまった。

 RAマイコン割込ベクターテーブル関係ではSHコアやRXコアとの共通点がなく、arm系NVICレジスター関係とRAコアの割込関係レジスターの設定が複雑であり、RXコアのソースコードを流用できなかった。大変残念な扱いにくいRAマイコンである。
 Cortex-A系ではCoratex-M系のようなNVICレジスター関係ISERやISPR, ICPRの煩雑な設定がなく、割込処理のコーディングが楽であった。

 RAマイコンのユーザーマニュアルにはNVICレジスター関係の詳細な仕様の記載がなく、Coratex-M関係の他説明書を参照となっている。他のCoratex-M33関係技術情報を調べたが殆ど役にたたなかった。arm系コアであるから技術情報が豊富であると思ったが、本当に必要な技術情報が殆どなく、はまってしまった。

 RA系のマイコンが必要なのか疑問であり、RXコアのマイコンで十分な性能でありRA系マイコンの必要性があるとは思えない。RA系のマイコンよりもRXコアのマイコンのほうが機能的な仕様が充実している。RA系のマイコンはRISC-V系のコアとすべきではなかったのか・・・。

 RISC-V系のRZ/FiveではBGAパッケージであり、QFPやQFNパッケージがなく大変残念である。台湾製や中国製の豊富なRISC-V系マイコンでは14nmや8nm以下のプロセス製造が進んでいる・・・。TSMC社への約4,700億円の巨額な補助金が有効とは思えない・・・。政府与党政治家が考えることがまったく理解できない・・・。


 MacOSでRA Cortex-M33マイコンのファーム・ウェアー開発  作成 2022.11.19

 MacOS上でRA6M2 & RA6M4マイコンのファーム・ソフトをarm-gccでコンパイルしたが、割込ベクター関係が動作しない。H8 & SH2 系ではARMのNVIC機能が訳の分からない複雑なレジスタ関係の設定がなく、ユーザー説明書を入念に読むことで悩むこともなかった。
 ARMのNVIC機能を利用せずRXコアの割込関係レジスタのみとしたほうがシンプルであったはず、RA系マイコンのソースコードをgccを入れ替えてコンパイルできればよい。

 他のARMコア・マイコンのソースコードを周辺回路レジスタ関係が同一でないため、RA系マイコンに移植できないのでARMコアを利用する利点もない。大変、残念なRA系マイコンであり、安価で豊富な種類のCortex-A7マイコンを利用したほうが無難と思う。RA系マイコンはCortex-A7コア+H8SX & SH2, RXv3系周辺回路で製品化してほしい。或は、Cortex-A7とH8SX(或はRXv3)デュアル・コアのマイコンが良い。ARMコア+SH4コアのマイコンを製造できたのだから、ルネサス社に期待・・・。

 Cortex-M85コアのマイコンでもNVICような複雑なレジスタ関係の設定となっては・・・、悩んではまりそうだ。
 RISC-VコアのRZ/FiveマイコンはパッケージがBGAのみでありQFPやQFNがなく大変残念だ。中国製のCortex-A7マイコン(Dual Coreもあり)はSiP構造で内蔵SDRAMが64MB & 128MBもあり、パッケージがQFP128やQFN68, QFN88等がある。但し、残念なことに周辺回路が貧弱だ。


◆ MacOSでx68kマイコン・エミュレータ  作成 2022.11.18 

 MacOS上で懐かしいX68000のエミュレータpx68kソースコードをコンパイルし動作を確認しました。
 px68kはSDL・GUI環境となっており、SDL2ソース・コードをコンパイルしてもpx68kからリンクエラーとなるので、コンパイル済みのSDL2-2.0.8.dmgを利用しました。
 px68kとXM6iエミュレータ・ソフトはX68000のROMイメージ(IPLROM, CGROM)とHuman68k-FD(HUMAH302.XDF)イメージ・ファイルが必要です。
 ROMイメージのIPLROM, CGROMは /Usars/*****/.keropi/のディレクトリーを作成しそのディレクトリーにコピーする必要がある。
 その結果、./px68k human302.xdfで動作できます。残念なことに、下記のようにXM6iエミュレータ・ソフトのほうが高速な動作でした。

     px68k   XM6i  備 考
 BASIC2 for Loop 加算  400 x 50 ループ
  21sec.
 1000 x 100 ループ
  13sec.
 iMac 2.8GHz上
 Emulator Clock Set   10MHz   25MHz  iMac 2.8GHz上 

 PowerPC・Macの68kエミュレータは最適化がよく十分な性能でしたので、px68kも最適化すれば高速となるでしょう。
 px68kはAndroid版RetroArchエミュレータでも動作し、RetroArchが68000以外のCPUコアにも対応している。
px68kのMacOSバイナリコードはこちらから MacOS px68kをダウンロードできます。

 他のヘージで公開されている68000やBasicボードのベンチマーク 2023.10.21

      Orange Pico  イチゴ・ジャム  備 考
 BASIC for Loop 加算    30,000 ループ
    1.9sec.
 30,000 ループ
  2.0sec.
 
 ホード仕様  PIC32MX 50MHz・68kエミュレータ
 68kのSRAMをPIC32エリアへ配置 ※-1
 IchigoJam Basic
 こどもパソコン
 

 ※-1 68kのSRAMをPIC32エリアへ配置しているため、実行速度がPIC32のI/Oポートに依存するため期待した性能とならないようです。 2023.10.21

 68kコア・エミュレータはFPGAでも実現されており、中国のTang Nano 9kで68k Core 13MHz相当で動作するようです。 2023.10.21

 35年前頃に東芝社製の68k Core TMP68301 を搭載したUEC-68kボードで68kのアセンブラ・プログラミングし、当時の68kコア・マックでアセンブルしました。なんと、そのTMP68301 SoCが購入可能なのです。また、68kコア・マックの前にはシャープのX68000でもアセンブラ・プログラミングし、SX-Window上のGUIプログラミングし高性能ではなかったが面白かった。
 今でも、68kコアSoCが健在で68kコア制御装置が稼働しており、68kコアSoCが高価であるが購入が可能です。 2023.10.21

 H8コアは68kコア系であり、ニーモニック・コードが読み易くアセンブラでのコーディングが楽であった。一方、8080系はアセンブラ・コードが読みにくい汚いコードと言われていた。32ビットのH8SXコアをパイプライン5ステージ程度とし、200〜400MHzで動作できれば十分な性能である。そのH8SX・400MHz+RAM3Mbytes(或は、SDRAM・64MB)SiPパッケージ・マイコンをアセンブラでプログラミングがでればと・・・ルネサス社に期待したい・・・。 2023.10.21


◆ 68k->PowerPC・Amiga OSが健在  作成 2024.05.19 

 68k上で動作するAmiga OSのApollo V4+ Boardが販売されており、そのスペックが68080/250MHz & 68030 / 1GHzと驚きであり、その価格が10万円程度です。68080/250MHzボードの68080・SoCはFPGAを利用しており、68030 / 1GHzボードに興味があります。68kコアも5nm程度のプロセス製造で製作すればかなり高性能となることでしょう。 2024.05.19
 Amiga OS系のMorph OSはPowerPC系PowerBook G4等で動作するので試したいと思います。今でも、軽快に動作するMacOS-10.4.11のPowerBook G4 / 1.3GHzを使用しており、性能的には最新のARM系M3・8コアMacBookProに到底及ばないが、最近のMacOSが動作が重くCore i7・MacBookProでは残念なことに使用する気になれない。 2024.05.19


◆ Linux上でRXマイコン・ソフト開発  作成 2022.09.28 

 PuppyLinux上でRXマイコン・ソフト組込み関係のクロス・コンパイラー環境構築はこちらのページです。


▼ MacOS X 10.4.9での GNU gcc-4.7による H8 や H8SX, RL78, RXコア, 最新のSH-2A,SH-4A マイコン開発環境を構築できました。LinuxやFreeBSD, Windows, MacOSX(Intel系)では、既に他のサイトで整えられていますが、 MacOS X(PPC系)では少ないようです。2013.08.18


 旧 H8 & SH MacOS X 10.2 GNU gcc 開発環境for MacOSX 10.2 のヘージはこちらです。

▼ gcc 4.0.1からはH8SXやSH-2A, SH-4Aにも対応 '13.08.18
gcc 4.0.1からは最新コアのH8SXやSH-2A, SH-4Aにも対応した。H8SXや最新版のSH-2A用アプリ・Cソースをクロスコンパイルできます。

   弊社で開発したH8SX MCU Board

 MacOS X のUINXはご存じのとおりBSD系であり、BSD系でのコンパイル可能なアプリケーションや開発Toolは殆ど利用可能です。H8 & RL78, RX, SuperH GNU gccの開発環境を整いた結果、MacOS Xのディフォルトの状態ではコンパイルが失敗した為、オープンソースUINXコマンドで試みましたところ全てのGNU gcc Sourceをコンパイルできました。

 PowerPC(PPC)系のMacOS X 10.4.9上でGNU gcc によりH8や最新版のSH2Aのファームウェアを開発しましょう・・・。


▼ 入手すべきSource Files, Object Files、及びTools Soft

 Apple社のDevelopment Toolsが必要です、MacOS Xのパッケージを購入すれば、

 そのCD-ROMの中に開発Toolsが入っています。

 GNU gcc 関係 Source : 
   gmp-5.0.4.tar.bz2, mpc-0.9.tar.gz, mpfr-3.1.0.tar
   KPIT v12.02 gcc-4.7.0
      binutils-2.22_rx_v850_sh_v12.02.tar.bz2,
      gcc-4.7.0.rx_v850_sh_v12.02.tar.bz2,
      newlib-1.20.0_rx_v850_sh_h8_v12.02.tar.bz2

▼ make手順の準備

 MacPorts-2-2.0.3 install    MacPorts-2.0.3 Tigger 版必要。
 sudo port install gmake     gmake あったほうがよい
 sudo port install coreutils    coreutilsはMacOSXにない
          UINXコマンドを使用可能とする。同様なBusyBoxもあり。
          ( gmp-5.0.5, libtool-2.4.2_3 , other )

▼ H8 GNU gccのmake手順

 cd gmp-5.0.4
 sudo ./configure ABI=32 --prefix=/h8_gcc47/lib_gmp_mpfr/gmp-5.0.4

 sudo make

 sudo make install

 cd mpfr-3.1.0

 sudo ./configure ABI=32 --prefix=/h8_gcc47/lib_gmp_mpfr/mpfr-3.1.0 --with-gmp=/h8_gcc47/lib_gmp_mpfr/gmp-5.0.4

 sudo make

 sudo make insatll

 cd mpc-0.9

 sudo ./configure ABI=32 --prefix=/h8_gcc47/lib_gmp_mpfr/mpc-0.9 --with-gmp=/h8_gcc47/lib_gmp_mpfr/gmp-5.0.4 --with-mpfr=/h8_gcc47/lib_gmp_mpfr/mpfr-3.1.0

 mpc configure の 11271 行 as_fn_error $? "GMP version >= 4.3.2 required" "$LINENO" 5 をコメントに変更
# as_fn_error $? "GMP version >= 4.3.2 required" "$LINENO" 5

 sudo make

 sudo make install

 mkdir -p /h8_gcc47/binutils
 cd /h8_gcc47/binutils

 sudo ../binutils-2.22/configure --prefix=/h8_gcc47/ --target=h8300-elf --disable-nls --disable-shared --disable-dependency-tracking --disable-werror --with-gnu-as --with-gcc --with-gnu-ld --enable-lto --enable-plugins --enable-poison-system-directories

 sudo make CC='cc -no-cpp-precomp' CFLAGS="-O2 -fomit-frame-pointer" all

 sudo make install

 sudo tar xvf newlib-1.20.0.tar

 export PATH=/h8_gcc47/bin:$PATH --> パス指定しないとmake error となる。

 sudo mv newlib-1.20.0 /h8_gcc47/ --> new-lib を指定しないとコンパイルが止まる

 sudo mkdir -p gcc

 cd gcc

 CFLAGS="-O2 -pipe" CFLAGS_FOR_TARGET="-O2" LDFLAGS_FOR_TARGET=""

 sudo ../gcc-4.7.0/configure --target=h8300-elf --prefix=/h8_gcc47/ --enable-languages=c --with-gnu-ld --with-gnu-as --with-gnu-gcc --enable-multilib --enable-threads=single --disable-nls --disable-libmudflap --disable-libssp --enable-poison-system-directories --enable-interwork --disable-dependency-tracking --disable-debug --disable-libgomp --disable-libstdcxx-pch --with-gmp=/h8_gcc47/lib_gmp_mpfr/gmp-5.0.4 --with-mpfr=/h8_gcc47/lib_gmp_mpfr/mpfr-3.1.0 --with-mpc=/h8_gcc47/lib_gmp_mpfr/mpc-0.9 --with-newlib --with-headers=/h8_gcc47/newlib-1.20.0/newlib/libc/include

 sudo make CC='cc -no-cpp-precomp' CFLAGS="-O2" all

 sudo make install

 export PATH=/h8_gcc47/bin:$PATH  --> パス指定しないとmake error となる。

 sudo mkdir -p newlib

 cd newlib

 sudo ../newlib-1.20.0/configure --target=h8300-elf --prefix=/h8_gcc47/

 sudo make CC='cc -no-cpp-precomp' CFLAGS="-O2" all

 sudo make install

 完了。


▼ 高性能なSuperH も同様な手順です。ディリクトリーh8_gcc47をsh_gcc47に変更し、--target=h8300-elfを--target=sh-elfに変更すればコンパイルできます。

▼ 高性能なRXコア も同様な手順です。ディリクトリーh8_gcc47をrx_gcc47に変更し、--target=h8300-elfを--target=rx-elfに変更すればコンパイルできます。

▼ 低消費電力の点では実用的なRL78コアも同様な手順です。gccはKPIT v12.02の binutils-2.23.1, gcc-4.8.0 newlib-1.19.0を利用し、ディリクトリーh8_gcc47をrl78_gcc48に変更し、--target=h8300-elfを--target=rl78-elfに変更すればコンパイルできます。

▼ 他のARM及びPowerPC, 68K, MIPS, ColdFire, Blackfin, V850, x86 コアなどのCPUのクロス開発環境もMacOS Xで構築が可能です、是非トライされてはいかかでしょうか・・・。'14.02.14 更新


▼ SH-2AコアはARMよりも格段に高性能     2014.11.12 更新

 SH2Aコア内のFPU性能は、Whetstone ベンチマーク・テストで他のARM系や8 MCUと比較し格段に高性能です。
 SH2AのFPUは低クロックでも高性能なSH-4のFPU技術を取り入れているようであり,浮動小数点演算ではARM系Cortex-M3 100MHzよりも約74倍高性能,8ビット MCUよりも整数演算約 100倍高性能、浮動小数点演算が8ビット MCUよりも約1,900倍高性能です。
 144MHz SH7262でも浮動小数点演算がCortex-M3等よりも約94倍高性能であり,自動制御関係や計測関係の処理を充分な処理能力で制御できる。
 Whetstoneで浮動小数点演算ベンチマーク・テスト結果では,Raspberry Pi/700MHz 270MWIPSよりもSuperH SH2A/266MHzは294MWIPsと高性能である。
 800MHz程度のSH-2Aであれば880MWIPs程度と高性能となり,SH-4Aであればもっと高性能となるので画像処理や化学技術的計算処理、フィルター計算処理等でも利用が可能である。ルネサスには期待したいところである。

 Whetstoneで浮動小数点演算ベンチマーク・テストはこちらのページです。


▼ H8SX & 最新のSH2A, SH4Aマイコンのソフト開発の注意点

 MCUである最新のH8SXコアや最新のSH2A, SH4Aコアはgcc-3.1〜3.4でコンパイルしたコードでも問題なく動作します。しかし、最適化時には、H8, SH2, SH4コアの実行コードを吐き出しますので本来の性能を発揮できません。gcc-4.0以降を利用することが妥当でしょう。
 SH2コアと比較しSH2Aコアは別物と言っていいほどキャシュメモリ内蔵のSH2Aコアが高性能です。是非とも国産であるSuperHコアの利用を推奨します。ARM系のCortex-MコアはARM7コアを部分的若干拡張しただけであり、ARM7コアとほとんど同程度であり残念ながら高性能ではありません。


▼ H8&H8SXのソフト開発の注意点

 H8&H8SXのI/Oポートは8bits か16bitsでのアクセスであるが、gccでコンパイルすると最適化がよくありません。従ってインライン・アセンブラでI/Oポート関係はBSET, BCLR, BTSTなどのビット操作命令コードで8bitアクセスするよう、又はMOV.Wなどの命令コードで16ビットでアクセスするようコーディングすると高速に動作します。

 近年、gccは32bit CPU用に最適化されているようであり、8bit CPUへは最適化が不充分なようです。この点はインライン・アセンブラで十分対応できます、gccのインライン・アセンブラは結構良くできており、C言語の変数とアセンブラのレジスターとの受け渡しもできるためコーディングには困らないでしょう。
 アプリ・ソフトを高速に動作させたければアセンブラでコーディングすることは常識と言うことでしょう・・・。


▼ SuperHコアとARMコアに関して   2013.08.27

 近年、ARMコアを実装したMCUが増えており、国産であるSuperHコアの新製品の発表が停滞しているように思える。ルネサス社のRZ-A1xシリーズはARM Cortex-A9コア,大容量 SRAM 3〜10Mバイト, LCD I/F等の豊富な周辺回路と魅力的なMCUです。SH4AコアでもCortex-A9コアと同等な性能であり、SH4Aコアを採用したRZ-A1xシリーズのようなMCUを開発するようルネサス社には期待したい。

  組み込みマイクロ・コントローラ MPU & MCU関係のヘージはこちらです。


▼ H8 & SHマイコンのフリーのH8writerが公開されていますので、MacOS Xのターミナルで使用できるようコンパイルしました。実行オブジェクト・ファイルh8writerをダウンロードして利用して下さい。'05.03.06

 使用方法は下記のとおりです。

 %ls /dev      認識しているUSB-RS232C変換ケーブルのドライバーを確認

 %h8writer -3052 test.mot /dev/cu.USA28X3b1P1.1 とコマンド入力する。

書き込みが開始します。

 対応CPU : H8/ 3048, H8 / 3664 , H8 / 3067, H8 / 3068, H8 / 3052, H8 / 3064,
      SH-2 / 7045, H8 / 3069

 尚、MacOS Xにも対応Kyspan等のUSB / シリアル変換アダプターやPL-2303チップ実装のアダプターを使用すれば、エミュレータ・ソフトのSoftWindowsやVirtualPCでH8&SH-2などのDOS用Flash-ROM Writer Softを使用しソフトの書き込みが可能です。


▼ MacOS X対応のターミナル通信ソフトmactermを公開しますので、ご利用下さい。'05.03.06

 使用方法は下記のとおりです。

 %ls /dev      認識しているUSB-RS232C変換ケーブルのドライバーを確認

 %macterm /dev/cu.USA28X3b1P1.1  とコマンド入力する。

 %macterm -?    ヘルプで使用法を確認し使用して下さい。

 %ESCキーを押した後、'X'キーを押すとHexでデータ表示。

 %ESCキーを押した後、'N'キーを押すと10進数でデータ表示。

 %ESCキーを押した後、'Q'キーを押すと終了。

若干バグがあるかもしれません、バグを発見しましたらお知らせ下さい。


◆ H8 GNU gcc関係のリンク・ページ

 KPIT社のH8&H8S ,SH gcc ページ

 http://www.kpit.com/products/faqh8.htm


◆ コンピュータと制御関係のページ

 制御関係のコンピュータとリアルタイムOS関係はこちらのページです。

 組込みMPU関係のページはこちらです、又自動制御システム関係はこちらのページです。

 MacOS X & X serve関係のページはこちらです。

 弊社の製品 弊社の低価格なボード・ソフト製品一覧

    トップページへ戻り


◆ このページへはご自由にリンクして下さい、その際Eメールでご感想などをご連絡戴ければと思います。    


 他のホームページは Google で検索して下さい、弊社のページはそれぞれのリンク先をクリックして下さい。


http://www.google.co.jp

 リンクページ

リスクファィブ(RISC-V)関係
マルチ・スレッドとマルチ・プロセス
人工知能・組み込み制御と自動制御
Linux上で組込関係ソフト開発利用
Python組込み関係利用の問題点
デジタル制御やDCS制御のページ
Linux&FreeBSDでのSCADA,HMI
SoftPLC & LinuxPLC
制御関係コンピュータのページ
実践的な制御の基礎
自動制御装置用SH-2 ボード
マルチ・プロセッサ自動制御装置
計測自動制御装置
PID 自動御制ボード
腕時計サイズ制御ボード
ZigBee無線計測制御ボード
測画像処理制御ボード
ロボット制御ボード & ソフト
コイン・サイズのマイコンボード
マルチCPU高精度データロガー装置
タッチスクリーン&タブレット計測
高機能・高性能データロガー
高性能・高機能自動制御ボード
人工知能 AI 自動制御計測ボード
高機能な診断・分析解析計測システム
高機能な診断・分析自動制御システム
スマートフォン無線計測ソフト
WiFi自動制御計測Web遠隔監視System

 他リンクページ

PowerPC関係のページ
MacOS Xのソフト開発環境関係ページ
MacOS X でのH8&SHソフト開発環境
H8S/2238組込み計測装置開発
MacOS XでのVerilogHDL & VHDL開発
制御システムエンジニア・マイコン集い
自動制御システム・自動制御装置
OS関係& Trusted OSのページ
PC & PDA用CPU 関係
組み込みMPU 関係のページ
組み込みマルチ・コア関係のページ
おもちゃマイコンのページ
クラスター 関係のページ
CPU Board & マルチCPUボード関係
Linux関係のページ
PDA (Palm)関係
MacOS X & X serve 関係
OS関係& Trusted OSのページ
マイクロカーネルMach &RT-Mach
BeOS関係のページ
弊社のソフト関係
弊社のハードとファームウェア関係
自動制御システム開発
生産&治具システム開発
低価格な製品一覧
弊社のトップページ

 自動制御システム構築や制御ネットワーク構築などで困っておられましたら是非とも弊社にご連絡下さればご相談は無料で受け付けております。

  

E-Mail :こちらをクリックして下さい。

 弊社では、自動制御システムのハードとソフト関係で約32年の経験があります。

 このページについて皆様からのご意見、或いはご要望などがありましたら、是非下記へメールでご連絡下さい。

 

   トップページへ戻り