UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 46408

13.4 EDK - SDK C コードでレジスタにアクセスする方法

説明

レジスタの一部、特に専用レジスタ (スタック ポインターなど) は C コード内で参照すると便利です。これにアクセスするにはどうすればよいでしょうか。

ソリューション

アセンブリを使用するのが 1 つの方法です。MicroBlaze の場合、スタック ポインターにアクセスする方法は次のようになります。

register int *stack_ptr asm("r1");

これで専用レジスタにアクセスでき (MicroBlaze では r1)、register-int データ型に設定することができます。これでスタック アドレスのデータの取得、スタック アドレスの印刷などのファンクション用にポインターを参照することができます。

このアドレスを印刷するには、stack_ptr タイプを次のように設定します。

printf("This is my stack pointer: %p", ( void * )stack_ptr);
AR# 46408
日付 12/15/2012
ステータス アクティブ
種類 一般
ツール
  • EDK - 13.3
  • EDK - 13.4
このページをブックマークに追加