シミュレータにはロードできる

さて、先週ターゲットにロードできずに首をかしげたTOPPERS/JSPのADSP-BF592ですが、同じ環境でGDBのシミュレータをターゲット環境に選ぶ(target sim)と、あっさりロードできました。

また、ベアメタル・アプリケーションであればターゲットがsimであろうとgdbserverであろうと正しくロードできます。

今のところ、整理するとこんな感じです。環境はUbuntu 10.04 LTSでツールチェーン 2011R4、ICEは刺身包丁です。また、以下のsample1とは、TOPPERS/JSPの試験アプリケーションです。

ターゲットがKobanzame 基板(ADSP-BF533)

  • sample1 (BF592ターゲット)をロードすると、start:以下におかしなプログラムが現れる。
  • sample1 (BF533ターゲットのメモリ配置をBF592風に小変更した物)をロードすると、start:以下におかしなプログラムが現れる。
  • ベアメタル・アプリケーションをロードすると、正しくロードできる。
ターゲットがACB-BF592基板のとき
  • sample1 (BF592ターゲットのメモリ配置をBF533風に小変更した物)をロードすると、正しくロードできる。
  • sample1 (BF533ターゲット)をロードすると、正しくロードできる。
  • ベアメタル・アプリケーションをロードすると、正しくロードできる。
ターゲットがシミュレータのとき
  • sample1 (BF592ターゲット)をロードすると、正しくロードできる。
  • sample1 (BF533ターゲット)をロードすると、正しくロードできる。
  • ベアメタル・アプリケーションをロードすると、正しくロードできる。
考えられること

BF592ターゲットのsample1とベアメタル・アプリケーションはLDFにわずかに違いがあります。そのうち、ロード時に問題を起こしそうな部分は、メモリ・セグメントの定義部です。ベアメタル・アプリはコードメモリをSRAMとキャッシュに分けていますが、TOPPERS/JSPのBF実装では、32kB全部がSRAMであると仮定しています。この辺があやしいかもしれません。

追記

問題解決しました。ツールチェーン2011Rでは動作します。詳細はこちら

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください