3

以下の ZedBoard の ARM ドキュメント Web サイトにある「セキュア ワールド」と「ノーマル ワールド」を実行する TrustZone の例を実装する方法を知っている人はいますか? この件に関するドキュメント (ZedBoard での TrustZone の実行) も役立ちます。

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka15417.html

ZedBoard にはザイリンクスの Zynq® -7000 All Programmable SoC Dual ARM® Cortex™-A9 MPCore™ が搭載されています。ZedBoard の詳細については、次を参照してください。

http://www.zedboard.org/content/overview

4

1 に答える 1

4

これは幅広いトピックです。以下の情報が役立つことを願っています。

まず、専門用語を少し外します。SOC == システム オン チップです。

ザイリンクス ツールチェーンにアクセスできる場合は、ボードの製造元である Digilent がボードのサポート ファイルを提供しています。最初にhttp://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,1028&Prod=ZEDBOARDにアクセスすると、下部に「Linux Hardware Design for ISE」という名前の 2 つのファイルがあります。番号>.

また、ザイリンクス開発ツールを使用していると仮定すると、Xilinx/<Version Number>/ISE_DS/EDK/hw/XilinxProcessorIPLib/pcores/axi_interconnect_v1_06_a/doc/ds768_axi_interconnect.pdf を参照すると、ボードの AXI 割り込みコントローラーに関する情報が見つかります。使用します。これには、TrustZone をサポートしているという事実と、実際に使用するための情報が含まれています。

次に、http://zedboard.org/content/creating-custom-peripheralにアクセスすると、「周辺機器」デバイスを作成するための手順がいくつか見つかります。デバイスは実際にはプログラマブル ロジック内に完全に存在するため、これを引用符で囲みます。それは、マイクロ USB ポートに差し込むものでも、従来「周辺機器」と考えていたものでもありません。

チュートリアルの最後には、周辺機器からデータを読み取るのに役立つリンクもあります。

最初にダウンロードした zip に含まれている system.xmp ファイルを使用してこれらすべての手順を繰り返すと、面倒な作業がすべて完了していることがわかります。TrustZone で動作する AXI バス上にプラグインされ、すぐに使用できる割り込みコントローラーがあり、小さな Hello World デバイスを接続する準備ができて待機しています。

しかし、その Hello World デバイスで何をするつもりですか? リンク先のチュートリアルのアセンブリを見ると、コメントに「セキュア構成レジスタ」と呼ばれるものについて多くのことが書かれていることがわかります。プロセッサのドキュメント (こちらのリソース セクション、http://www.arm.com/products/processors/cortex-a/cortex-a9.php ) を見ると、) を検索し、「TrustZone 拡張機能」という用語 (現在は 34 ページですが、明らかに変更される可能性があります) を検索すると、このレジスターの詳細を説明している別のページへのリンクが見つかります。これは、彼らがチュートリアルで使用するのと同じレジスターであるため、理論的には、信頼できる実行環境がセットアップされていれば、hello world チュートリアルを機能させることができます (ほとんどの場合、彼らが行うことを実行したいと思うでしょう) vhdl または verilog コードでアセンブリし、C で読みやすい場所に結果を公開するだけです)。

今述べたことはすべて、AXI バスの TrustZone データにアクセスできるようにするだけです。これで面白いことをするためには、安全な世界と、そこから読み取るための通常の世界を実際に作成する必要があります。そうしないと、作成したデモは単に "Hello from Secure World" と表示される (または正しく機能しない) だけです。したがって、リンク先のチュートリアルを解凍し、そのソースを実際に読むと、利益が得られます。

リンクしたHello Worldチュートリアルは、Normal World(およびおそらくMonitor World)を最初に作成する方法を教えるように設計されていないため、これまでの私の答えも不完全です. ReadMe.txt に明示的に記載されています。したがって、ソースを読んでも役に立ちません。そのためには、リンクhttp://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.prd29-genc-009492c/index.htmlが必要になります。そこには多くの情報がありますが、参考として意図されており、最初の 2 つの章は、私の謙虚な意見では、「スキップ可能なフレーバー テキスト」と呼んでいるものです。ただし、時間を無駄にする時間があれば、一般的なセキュリティ理論に関する限り、魅力的で有益です. 第 3 章では、TrustZone の開発方法について説明します。

しかし、私が提供した情報が、これを許可の問題ではなく、教育の問題に変えてくれることを願っています。私はまだこのことについて自分自身を教育しています。

于 2013-08-24T03:14:20.257 に答える