HEWが自動生成したiodefine.hの読み方(for C言語)
H8マイコンでI/O操作を行うためには、H8のハードウェアマニュアルで指定された番地に対して、メモリの読み書きをすれば操作出来ます。アセンブリだと特定番地に対しするアクセスは容易ですが、C言語の場合、通常は変数が使用するメモリ番地はコンパイラ/リンカが自動で割り振ってくれるので、通常プログラマが具体的な”メモリ番地”を指定する事が有りません。 ですが、I/O操作に限っては具体的な番地を指定したアクセスが必要となります。この為にHEWではiodefine.hというヘッダを自動生成してくれます。 本記事では、H8マイコンが持っているシリアル通信機能(SCI機能)を使用すると…
続きを読む
[HEW]コンパイル時,gcc -Wallのように全ての警告メッセージを表示させる方法
H8の統合開発環境であるHEWの話です。 C言語のコンパイラとして、例えばgccを指定する場合だと-Wallオプションを使用することで、未使用変数のチェックなどの数多くの警告を出してくれます。 一方、H8マイコン開発環境のHEWでは、デフォルトでは上記のような軽微な問題に対してメッセージを出してくれません。ですが、このふるまいはコンパイルオプションを変更する事で変えることが出来ます。 変更の手順は以下の通りです。 メニューバーより、ビルド->H8S,H8/300 Standard Toolchainを選択します。 オプション項目の欄から、インフォメーションメッセージを選択します。 “…
続きを読む
[H8マイコン]アセンブラでシリアルポートにHello World
H8マイコンで、シリアル(SCI)でHello Worldを出力するプログラムです。 HEWに付属のアセンブラでコンパイル可能です。 H8でシリアル通信を行うためには決められた手順(プロトコル)でレジスタを操作する必要があります。 プロトコルの詳細については,以下の記事を参考にしてください。 [読書メモ]12ステップで作る組込みOS自作入門: 2ndステップ シリアル通信 ;———————————————————————— ; FILE : HelloWorld.src ; PROGRAM : シリ…
続きを読む
[H8]HEWでアセンブラ開発用のプロジェクトを作成し、シミュレータで実行してみる
今回は、H8シリーズのマイコンの中でも、H8/3069Fをターゲットとしたプロジェクトを作成し、シミュレータ上でプログラムを実行してみます。 インストール方法は、前回の記事を参考にしてください。 プロジェクトの作成 まずはHEWを起動し、ワークスペースの作成を選択します。 ワークスペースの作成です。 今回はアセンブラの環境を作りたいので、左のプロジェクトタイプからAssembly Applicationを選択します。ワークスペース名は、アルファベットで適当な名前を付けてください。(今回はasm_testにしました) ターゲットとするCPUの選択です。 H8/3069Fのチップはマスクが変わって…
続きを読む
[H8]ルネサスH8シリーズ用IDEのHEWをインストールする
H8マイコン向けのプログラムについて書かれているサイトを見ると,コンパイラにgccを使用していることが多いです。gccだとフリーで使用できるためお手軽ですが、学んだ事を仕事に生かそうと考えると、やはり業務で良く使用されているHEWを使用したくなります。 HEWというのはH8マイコンの製造元であるルネサス(Renesas)が販売している統合開発環境で、アセンブラ/C/C++の開発が可能です。 評価版だと、無制限での試用期間が60日、その後は生成されるコードが64kbyteに制限されてしまいますが、機能評価が目的なら問題有りませんし、勉強目的でミドルエンド・ローエンド向けのマイコンをする場合だと、…
続きを読む