de     

This is an old revision of the document!


"Hello World!" running on Microblaze

This project implements a Microblaze Soft Processor with a “Hello Wold!” example software running on it. It was tested on successfully on ZTEX USB-FPGA-Modules 1.11c.

The project sources can be downloaded by clicking on tho following link: Microblaze Hello World Example.

License requirements: you'll need Xilinx EDK license (not free one) to be able to use XPS/SDK components, ISE require WebPACK license (free one).

Project Overview

FPGA board specific constraints are defined in resetClockTrace.ucf (reset and clock signals) and ddr-sdram-simon.ucf (DDR SDRAM signals).

The Microblaze soft processor core was generated using the ISE/XPS “embedded processor” Wizard (configuration stored in processor/processor.mhs).

The software is defined in processor/SDK/SDK_Workspace_32/hello_world_0/src/helloworld.c. At startup the XilKernel is launched and a static thread sending “Hello World” to default UART port configured at the moment “embedded processor” is created.

Implementing the Design / Generating the Bitstream

In order to implement the design just open ZTEX1.11c.SLX25.xise project file, select “processor” entity and double click on “Generate Programming File”.

From ISE project page double click on processor.xps file in order to launch Microblaze designer (Xilinx Platform Studio). XPS will provide all components connectivity within PLB bus and external pins management.

Compiling the Software

From XPS project page choose top menu Project→Export Hardware Design to SDK in order to launch Microblaze SDK (Eclipse based environment).

SDK will provide all software integration including HAL definition (hw_platform_0) and BSP functionality (xilkernel_bsp_0).

(use File→Import→General→Existing projects into Workspace to obtain all predefined components)

Running the example

The Bitstream can be uploaded via JTAG using the either Impact tool

or SDK integrated Program FPGA dialog provided by Xilinx.

As well as using the Java API or using FWLoader:

FWLoader -c -uu standalone.ihx -um processor.bit

(Since no special firmware for the EZ-USB is required standalone.ihx from the standalone example of the ZTEX SDK can be used as dummy firmware.)

The Firmware (application Hello World) is possible to run from SDK after Bitstream uploading. (step on project folder hello_world_0 and use menu Run→Run As→Launch on Hardware)

Usually running application .elf is a second step after programming bitstream (.bit) and bootloader (.bmm) into FPGA, which provided tool for - FWLoader could be used.

To run or at least to program .elf into the board require bootloop.bmm (aka edkBmmFile_bd.bmm) to be uploaded first into BRAM block. This bootloader accept .elf binary delivered by JTAG interface and provide necessary environment for correct launch it.

In order to use FWLoader to program bootloader along with hw configuration netlist have a note: bmm files are BRAM images. They are inserted into bit files using the data2mem tool from Xilinx, i.e. <bit file> + <bmm file> = <new bit file>. <new bit file> can be uploaded directly e.g. using FWLoader

Discussion

~~DISCUSSION~~

 
en/projects/helloworld_fpga.1296536391.txt.gz · Last modified: 2011/02/01 04:59 by 82.227.228.37
 
Recent changes RSS feed Creative Commons License Powered by PHP Debian Driven by DokuWiki
[ZTEX Home] [Imprint] [Privacy policy]