FRK-FM3 (2) Keil µVision3 + GCC の準備 (4)2012年04月09日 22時49分16秒

startup_mb9bf61x.s
今回はFRK-FM3 (2) Keil µVision3 + GCC の準備 (1)で作成した startup を新規プロジェクト作成時にプロジェクトに読み込むようにしてみる。

RealView を使う場合はすでに C:\Keil\ARM\Startup\Fujitsu\MB9BF610 の中に startup_mb9bf61x.s があるので問題ない。
一方 GNU-Tool を使う場合は先日作成した startup_mb9bf61x.s を C:\Keil\ARM\GNU\Startup\Fujitsu\MB9BF610 の中にコピーする。
この情報はもちろん DeviceDatabase の中に記述してある。
SFILE という項目名がそれで MB9BF618T の場合
SFILE="Startup\Fujitsu\MB9BF610\startup_mb9bf61x.s"
と書かれている。
RealView では C:\Keil\ARM\
GNU-Tool では C:\Keil\ARM\GNU\ が基準ディレクトリという事になる。
もう一つよく使うのはフラッシュライタの設定で、項目名は FLASH
FLASH="C:\Program Files\Fujitsu\FUJITSU USB DIRECT Programmer\flash.exe"()
Arguments は使えないようなのでブランクにしておこう。


環境:Keil µVision3 + GCC
参照:
Device Database Parametersデバイスデータベースのパラメータ
Customize or Add Devicesカスタムデバイスと新規デバイス
Flash Download Configurationフラッシュメニューの設定
Key Sequence for Tool Parametersツールパラメータ用キーシーケンス

フリーの ARM 開発環境 (1)2012年04月14日 07時46分19秒

フリーの ARM 開発環境の選択肢が少なくなってきた。
私が知っているのは以下のとおりだが µVision はstartup と リンカースクリプトを自前で用意しなければならないし、Ride7 はフリーで使えなくなったし、CoIDE は Cortex-M0 and M3 のみだし、TrueSTUDIO と CodeBench はまだ触っていないが、それ以外のものは最近全く更新されていない。
といったところだろうか。Kpit のようにすぐに使える環境でないのが一番頭の痛いところだ。
Keil	µVision + GCC
	Supported processors:ARM7/ARM9/Cortex-M0-M4

Raisonance	Ride7 + RKit-ARM
	Supported processors:ARM7/ARM9/Cortex-M0-M4

CooCox	CoIDE
	Supported processors:Cortex-M0 and M3

Atollic	TrueSTUDIO Lite
	Supported processors:ARM7/ARM9/Cortex-M0-M4

Mentor Graphics	Sourcery CodeBench
	Supported processors:ARM7/ARM9/Cortex-M0-M4

Amontec	sdk4arm
	Supported processors:ARM7 / ARM9

BiPOM	ARM Development System
	Supported processors:ARM7

Anglia	IDEaliST
	Supported processors:STR7/STR9/STM32
という訳で手を加えなければならないならどれか一つにしようと考えている。
候補として、
Keil	µVision
Raisonance	Ride7
を考えている。
µVision は環境の変更ができないのが難点だ、一方、Ride7 はスクリプトの変更でいかようにもなるがその分手間がかかる。


Fujitsu お勧めの環境は?と調べてみると
Setup of FM3 GNU tool chain with Eclipse
Sourcery CodeBench Support for Fujitsu FM3
ヨーロッパ富士通が YAGARTO で日本富士通が Sourcery ということなのだろうか?

FRK-FM3 (3) Raisonance Ride7 & ARM Tools の準備 (1)2012年04月21日 14時24分02秒

New Project MB9BF618T
Raisonance の Ride7 & RKit-ARM に MB9BF618T を追加してみよう。
さて、まずはヘッダーファイルをコピー
system_mb9bf61x.h
mb9b610t.h
core_cm3.h
どこにコピーするかというと、ここ。
Raisonance\Ride\lib\ARM\include
そのつど用意してもよいがここに入れておくとパスの指定をしなくてよいもので...


次に、新規作成するもの
●crt0_MB9B61x.s
 これは crt0_LPC17x.s をベースにして作成する。
 簡単にできるがつまづくのはいつもここ。

 



●MB9BF618T.reg
 レジストリデータ、書き終えたら実行する。
 もちろんレジストリエディタを使って直接入力してもよい。

 



●MB9BF618T.sim
 Simulator data、必要な項目のみ記述する。

 



●HFARM.XML に MB9BF618T を追加
 SubFamily を追加し、そこに MB9BF618T を登録する。

 



●GNUtools.js と ARM.config については後日検討しよう。

今現在私が持っている ARM は LPC2388、STM32F103VB LPC1114/301 と FRK-FM3 (予定)だけなので当面この環境も継続してみる。


しかし、次の次のバージョンあたりでは MB9BFx も正式にサポートされているかも知れない。
そうそう、私が使っているフリーのバージョン(下記の環境)はダウンロードメニューからなくなっていた。


※2012/06/26 MB9BF618T.reg と HFARM.XML を変更。(SubFamily を "MB9BF61x")


環境:Raisonance Ride7 version 7.30.10.0169
    Raisonance RKit-ARM version 1.30.10.0356

外国為替取引終了間際2012年04月22日 07時05分08秒

ニューヨーク時間終了間際 AUD/JPY(2012/4/21 05:59)
ニューヨーク時間終了間際、何これ。


何気なく外国為替取引業者のページを見ていた。
するとニューヨーク時間終了間際に長いひげが出ている。
どの通貨ペアも下げているようだ。
どこかのヘッジファンドが仕掛けたのだろうか?
だとすると月曜日は大暴落という事になるかも知れない。


要らぬ心配だろうか?

FRK-FM3 (3) Raisonance Ride7 & ARM Tools の準備 (2)2012年04月22日 21時05分56秒

Test compile
この辺でひとまずコンパイルしてみよう。
まず、リンカースクリプト。
リンカースクリプトは4つに分かれている。これは Ride7 のスクリプトにしたがって一部の値を変更するためだ。

MB9BF6_1024K_128K_FLASH.ld

 



MB9BF6_1024K_128K_DEF.ld

 



MB9BFx_COMMON.ld

 



sections_FLASH.ld
これは Raisonance オリジナルと同じなので省略。


これらのリンカースクリプトと、先日作成した crt0_MB9B61x.s を富士通のサンプルプログラムに組み込んでコンパイルしてみる。
特に問題は無いようだ。


残っているのは ARM.config と GNUtools.js の修正。


環境:Raisonance Ride7 version 7.30.10.0169
    Raisonance RKit-ARM version 1.30.10.0356

FRK-FM3 (3) Raisonance Ride7 & ARM Tools の準備 (3)2012年04月27日 14時58分43秒

Ride7 version 7.30.10.0169
最後に残ったのは ARM.config と GNUtools.js だ。
●ARM.config に MB9BF を追加
 else if(processor.substr(0,5) == "LPC11") のあとに追加する。

 



●GNUtools.js に MB9BF を追加
最初に変数を宣言しフラグを立てる。

 

そしてデバイスの設定。
 else if(LPC==1) のあとに追加する。

 



リンカースクリプトの書き出しの部分を追加。

 



デバッグの設定を記述。

 



●先日作成した crt0_MB9B61x.s と MB9BFx_COMMON.ld を ”C:\Program Files\Raisonance\Ride\lib\ARM\” に入れる。


これで新規プロジェクトを作成すれば、いきなり main でよいはずだ。



環境:Raisonance Ride7 version 7.30.10.0169
    Raisonance RKit-ARM version 1.30.10.0356

FRK-FM3 (4) LED を点滅させてみる2012年04月28日 09時47分06秒

FRK-FM3
やっぱり最初は LED の点滅だ。
使用するプロジェクトは以前作成したものでよいだろう。
というわけで富士通の template の main.c を以下のように変更する。

 

そうそう、もう一つ変更がある Options for Target の設定の中で Linker タブの Do not use Standard System Startup Files のチェックを外すこと。

そして FUJITSU USB DIRECT Programmer で書き込み。
書き込み時間を計測してみる。
65.08秒(ストップウォッチ)
遅すぎる。何か設定があるのだろうか?

JPP1 を外して Reset (JPP2)
LED が点滅している。
とりあえず問題なかったということか?

環境:FRK-FM3 (MB9BF618T)
    Keil µVision3 + GCC