FC2カウンター FPGAの部屋 The Simple MicroBlaze Microcontroller 13 (16KB RAMのSMMでもう一度)
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

The Simple MicroBlaze Microcontroller 13 (16KB RAMのSMMでもう一度)

The Simple MicroBlaze Microcontroller 12 (XPSでSMMをカスタマイズ)”でRAMを16KBに拡張したはずなので、生成したsmm.ngcとsmm.bmmをISE12.3のプロジェクトに入れてインプリメントし、SDKでコンパイルしてみた。

前回のプロジェクトにsmm.ngcとsmm_sutb.bmmからリネームしたsmm.bmmを入れて、もう一度インプリメントした。すると、Translateでエラー発生。よく見たら、bmmファイルのインスタンスパスが違っていた。一階層深くなっているので、bmmファイルを編集して、lcd_rot_cont_inst/ を追加した(前回同じことをやっていたのに懲りない。smm.ngcを置く階層に応じてsmm.bmmファイル階層表示を書き換える必要がある)。
こうしたらインプリメントが通った。FPGA Editorで見ても、SMMのRAMのインスタンスは8個あった。

次に、sdk3フォルダを新規に作成して、smm.xmlを置く。”The Simple MicroBlaze Microcontroller 4(リファレンスデザイン2)”の手順でSDKの設定をした。lcd_rot_cont.c をSDKのsrc フォルダにドラック&ドロップする。ビルドが始まり正常終了した。やったー。。。0x23c8番地まで使っているようなので、やはり8KBでは足りなかったようだ。下にビルド・メッセージを示す。

**** Build of configuration Debug for project empty_application_0 ****

make all 
Building file: ../src/lcd_rot_cont.c
Invoking: MicroBlaze gcc compiler
mb-gcc -Wall -O0 -g3 -c -fmessage-length=0 -I../../empty_application_bsp_0/microblaze_0/include -mcpu=v7.30.a -mno-xl-soft-mul -MMD -MP -MF"src/lcd_rot_cont.d" -MT"src/lcd_rot_cont.d" -o"src/lcd_rot_cont.o" "../src/lcd_rot_cont.c"
Finished building: ../src/lcd_rot_cont.c
 
Building target: empty_application_0.elf
Invoking: MicroBlaze gcc linker
mb-gcc -Wl,-T -Wl,../src/lscript.ld -L../../empty_application_bsp_0/microblaze_0/lib -mcpu=v7.30.a -mno-xl-soft-mul -o"empty_application_0.elf"  ./src/lcd_rot_cont.o   
Finished building target: empty_application_0.elf
 
Invoking: MicroBlaze Print Size
mb-size empty_application_0.elf  |tee "empty_application_0.elf.size"
   text       data        bss        dec        hex    filename
   6730        312       2118       9160       23c8    empty_application_0.elf
Finished building: empty_application_0.elf.size
 
Invoking: Xilinx ELF Check
elfcheck empty_application_0.elf -hw ../../SMM_DBG_noUART_hw_platform/system.xml -pe microblaze_0  |tee "empty_application_0.elf.elfcheck"
elfcheck
Xilinx EDK 12.3 Build EDK_MS3.70d
Copyright (c) 1995-2010 Xilinx, Inc.  All rights reserved.

Command Line: elfcheck -hw ../../SMM_DBG_noUART_hw_platform/system.xml -pe
microblaze_0 empty_application_0.elf 

ELF file    : empty_application_0.elf
elfcheck passed.
Finished building: empty_application_0.elf.elfcheck


SDKのXilinx ToolsメニューからProgram FPGAを選択して、ダウンロードしてみたが、動作がおかしい。デバックする必要がある。やっと、ソフトウェアのデバックの段階まで来た。
  1. 2010年12月18日 18:51 |
  2. SMM
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/1665-33d8bff6
この記事にトラックバックする(FC2ブログユーザー)