1

i.MX53クイック スターティング ボードでTrustZone (ARM セキュリティ拡張機能) を調べています。セキュアワールドイメージとノーマルワールドイメージのベアメタルシステムの作成に成功しました。u-bootを使用して 2 つのイメージを RAM にロードし、セキュア ワールドを起動します。セキュア ワールドは、モニター システムを初期化し、通常のワールド イメージに手を差し伸べます。

同じ制度を利用したい。しかし、今回は通常の世界の基本イメージを使用する代わりに、 Linux Kernel Imageを使用したいと思います。安全な世界にいるときに、i.MX53 リファレンス マニュアルと i.MX53 セキュリティ リファレンス マニュアルで見つけたいくつかの構成を行いました。構成は次のとおりです。

  • CSU を設定します。CSL0-31 to 0x00FF_00FF

  • TZIC (割り込み)TZIC_INTSEC0-3 to 0xFFFF_FFFFを構成しTZIC_PRIORITY0-31 to 0x1F1F_1F1FTZIC_INTCTRL to 0x8001_0001

  • セキュア構成レジスタの構成:NS=0 IRQ=0 FIQ=0 EA=0 FW=1 AW=1 => 0x30

Linux カーネルに手を差し伸べると、ブート プロセスが開始されます。出力の一部を以下に示します。

レギュレーター: コア バージョン 0.5

NET: 登録済みプロトコル ファミリ 16

i.MX IRAM プール: 128 KB@0xec840000

IRAM パーティションの解放に失敗しました

CPU は i.MX0 リビジョン 0.0

未処理の障害: 0xec82c00c での非ラインフェッチ (0x1008) での外部アボート

内部エラー: : 1008 [#1] PREEMPT

最後の sysfs ファイル:

リンクされているモジュール:

CPU: 0 汚染されていません (2.6.35.3 #1)

PC は mxc_cpu_lp_set+0x1c/0x16c にあります

LR は arch_idle+0x60/0x294 にあります

pc : [<8003a958>] lr : [<8003ab08>] psr: 60000093

sp: 80835f78 IP: 00000003 fp: 8088fb68

....

出力でわかるように、 IRAMに問題があり(通常は IRAM READY と表示されるため)、データの中断があります。これらのエラーに関連する画面が表示された後、Linux カーネルのブート プロセスが停止します。

それを解決する方法のアイデアはありますか? 構成が不足していますか? ありがとうございました

4

1 に答える 1

0

Freescaleフォーラムのこの投稿を見たことがありますか?

あなたが抱えている問題とまったく同じようです。0xec82c00c基本的に、デフォルトで通常の世界からアクセスできないように構成されている仮想アドレスでレジスタにアクセスしようとしている可能性があります。

于 2015-09-08T12:26:45.407 に答える