1

http://processors.wiki.ti.com/index.php/SensorTag_with_iBeaconの指示に従いました。iBeacon 対応のファームウェアは IAR で作成され、iPhone から OAD で更新されましたが、SensorTag は更新後に機能しなくなりました。広告なし、サイドボタンによるLED点滅なし。

同じ/類似のことを数回試し、CC Debugger を介して IAR IDE からファームウェアを直接アップロードしようとしましたが、うまくいきませんでした。

ダウンロードしたファームウェアをフラッシュプログラマでアップロードすることで、以前の動作状態に戻すことができます。

また、IAR を使用して自分で標準ファームウェア (BLE スタックからの iBeacon を使用しない SensorTag) をコンパイルしようとしましたが、どちらも機能しませんでした。

したがって、IAR でのコンパイルは私の問題だと思いますが、make は正常に終了する可能性があります。自分でコードを変更したことはありません。(リンカー エラーを回避するための _NR_OF_VIRTUAL_REGISTERS のみ)。

上記URLの指示通りにやって成功した方はいらっしゃるのではないでしょうか。

  1. iBeacon のファームウェア: SensorTag_Beacon_Patch_1v0
  2. CC デバッガーの FW:0041
  3. センサータグ: CC2451、1.4.1、1407
  4. 8051 バージョン 8.30.3 の IAR
  5. BLE スタック: BLE_CC254x_140.zip
  6. 作業標準ファームウェア バージョン: 1.5 A & B

提案やアドバイスをいただければ幸いです。

よろしくお願いいたします。

4

1 に答える 1

0

コメントありがとう、クリス。

TI E2E コミュニティで解決策を見つけました。

IAR 8051 V8.30 は、V8.20 から更新されて以来、問題があります。「8051 V8.30 リンカー エラー [e16]: セグメント ISTACK がセグメント定義に対して長すぎます」( http://supp.iar.com/Support/?Note=95811 ) として報告されました。

.xcl リンカー構成を変更した後、ビルドはエラーなしで正常に実行されました。しかし、ファームウェアは SensorTag で動作しませんでした。

TI E2E コミュニティの投稿の 1 つで、「オプション」設定の仮想レジスタの数を 16 から 12 に変更すると、IAR V8.30.3 で動作することが言及されました。次に、元の .xcl ファイル (変更されていないファイル) でそれを試しました。ビルド中にエラーは発生せず、SensorTag でも機能しました。

SensorTag_Beacon プロジェクトには、CC2541DK-Sensor、CC2541DK-Sensor-OAD-ImgA、CC2514DK-Sensor-OAD-ImgB の 3 つのパッケージがあります。機能したのは、オプションの仮想レジスタの数が 12 に設定され、.xcl ファイルが変更されていない CC2541DK-Sensor のみです。

CC2541DK-Sensor-OAD-ImgA および CC2514DK-Sensor-OAD-ImgB は、オプション設定と .xcl 変更の組み合わせでは機能しませんでした。

これが将来他の誰かに役立つことを願っています。

よろしく、

于 2014-07-29T00:09:52.503 に答える