今回はファームウェアを本体ボードに焼く前に、チェックのためにデバッガーを起動するところから開始します。
CrossCoreを立ち上げ、Run->Debug Configurationをクリックすると設定画面が出ます。右側のSelect Sessionボタンを押すと次のようなCPU選択画面になりますので、今回のボードのBlackfin DSP の型番"ADSP-BF707"を探すと一番下にありますので、それを選択します。
Nextを押すと、何を使って接続するかの選択画面が出ますので、Emulatorを選択してNextを押します。
対象機器の選択画面になるので、ICE-1000を選んでFinishします。
次にデバッグ対象を選択します。一番上のBrowseボタン押してターゲットProjectを選択します。一覧からVOS_Outdoor_realtime_BLIP2を選択し、その下のアプリケーションも同様に選択してOKボタンを押します。
さらに、CustomBoardSupportのTABから、CustomBoardSupport用xmlファイルを選択します。これは
C:\Analog Devices\SoftwareModules\ADZS_BF707_BLIP2_Board-Rel1.0.0\ Blackfin\Examples\ADZS-BF707-BLIP2-proc.xmlに該当ファイルがありますので、選択・設定します。
最後にDebugボタンを押すとデバッガーが起動し、必要なファイルのコンパイルとロードを行います。
OutputペインにLoad Completeと出ます。ここでF5を押すとコードが実行されます。
.
.
.
実行してみると、adi_pwr_setFreq failed と怪しい文字列が出現しました。
ソースコードを追っかけてみると、どうやらCPUの周波数設定で失敗しているようです。BF707のシステムクロックの最大周波数は192MHzですが、該当のソース(dsp.c)には216MHzと書かれていて、216MHzで設定しようとして失敗しています。
実際にはエラーは出ているけど最大周波数にセットされているので問題なく動きます。ですが、こーゆーのは気持ち悪いので直しましょう。
dsp.cの中で216MHzとかかれている箇所を下図のように192MHzに修正し保存します。
そして再びコンパイルを行い、再びデバッグしてみます。F5を押してバイナリを実行してもエラーが出なくなりました。
この状態で、ADVisionSensor Controller GUIを起動し、カメラボードと通信できるか確認します。問題無いようでしたらカメラボードに書き込むバイナリを作成しましょう。
ビルドタイプをDebugからReleaseに変更し、必要なインクルード・ライブラリのディレクトリをDebugビルド時と同様に設定して実行します。
C:\Analog Devices\SoftwareModules\VideoOccupancySensor-BF-Rel3.3.0\demo\outdoors\realtime\ADSP-BLIP2-CCES\Release
に、VOS_Outdoors_realtime_BLIP2.dxeというのが出来上がっています。
これをボードに書き込んで終了です。
ーーー
応援クリックをお願いします!
にほんブログ村 | 電子工作ランキング |