首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[转帖]XilinxEDK,谨以献给在黑暗中摸索的edkers

[转帖]XilinxEDK,谨以献给在黑暗中摸索的edkers

转自EDA论坛,不错,值得学习!!!


FPGA Configuration Overview

--------------------------------------------------------------------------------

Once your hardware platform design is complete, you can generate an FPGA configuration bitstream. If your embedded system is a submodule in a top-level ISE design, use Project Navigator to generate the bitstream containing all your embedded hardware platform and any non-processor custom logic. If you are using XPS stand-alone (without Project Navigator), you can run the Generate Bitstream command in XPS, as described in Implementing the Hardware Platform. At this point, you have only a "hardware bitstream", and you are not ready to apply it to an FPGA until you accommodate the software component of your embedded system.

Once your embedded software development is complete, you can choose one of three ways to run it on the hardware:

If your application executable resides in on-chip memory regions, you can merge the executable ELF file into the hardware bitstream so that it gets loaded into on-chip memory, ready to execute, every time the FPGA is configured.

During prototyping, XPS can dynamically download your executable to the board via the JTAG cable connected to the FPGA. In this case, you select a bootloop to be merged into the bitstream to initialize on-chip memory so that the processor remains in a static state until software downloading can be completed.

For production systems, you can store executables residing in off-chip memory regions in a non-volatile memory device, such as flash PROM or along with the configuration bitstream in a SystemACE device. In this case, you would configure a bootloader executable to be merged into the hardware bitstream to initialize on-chip memory. Then each time the FPGA is configured or reset, the bootloader copies the application executable to a suitable (volatile) memory device and starts it running.

You must select the desired initialization executable (your on-chip application, bootloop or bootloader) in XPS for each processor in your embedded platform. You are then ready to perform the "update bitstream" step, which merges your selected executable into the hardware bitstream. The result is the "download bitstream," which is ready to be applied to the FPGA. You can perform the "update bitstream" step in either Project Navigator or XPS (stand-alone).

For prototyping, you connect an appropriate download cable between your host computer and the JTAG port of the FPGA device on your development board. You can then dynamically download your bitstream to the FPGA using either Project Navigator or XPS (stand-alone mode). When finished, the embedded processors in your FPGA begin executing your software program.

For production, you typically store your "download bitstream" into an off-chip non-volatile memory device, such as SystemACE or serial PROM, from which the FPGA is configured every time the board is powered on or reset. When configuration completes, the embedded processors in your FPGA begin executing your software program.

我不是高手
Initializing External Memory with Application/Data files

--------------------------------------------------------------------------------

There are three ways to initialize external memory with software applications (ELF files) or data files:

Downloading a design using XMD

Using Bootloaders

Using System ACE™

The bitstream must first be initialized with a bootloop, and the FPGA configured with this information.

For MicroBlaze™ systems, the processor must be connected to an MDM module.

Downloading a Design Using XMD
Start XMD by selecting Debug > Launch XMD from the XPS main window.

Connect to the processor and download the software application.

Use dow to download the software executable.

Note Refer to the "Xilinx Microprocessor Debugger (XMD)" chapter of the Embedded System Tools Reference Manual for more XMD commands and options.

Using Bootloaders
Bootloaders are small software programs that reside in internal BRAM memory. They are executed when the processor comes out of reset. A bootloader should set up registers and copy the main application program from external non-volatile memory (usually flash memory) into internal BRAM memory as well as external non-volatile memory.

Once the application has been copied, the bootloader executes it by branching to the entry point of the application. Usually, all interrupts are turned off when the bootloader is executing. The application is responsible for all interrupt handling.

For more information on Flash-memory based bootloaders, see the Programming Flash Parts from XPS topic.

Using System ACE
The System ACE solution can be used to download software through JTAG in a similar way to the debugger. A single System ACE controller is augmented to contain both the bitstream and software initialization data.

See Generating a System ACE File for more information.
我不是高手
Programming Flash Parts from XPS

--------------------------------------------------------------------------------

Using the Program Flash Memory Dialog Box
Make sure that the hardware connections to your board are properly set up and that the FPGA is configured with the bitstream of your design.

Click Device Configuration > Program Flash Memory to open the Program Flash Memory dialog box.

Select File to Program
Choose the file that you wish to program onto the flash part by browsing to the file and selecting it, or by entering the file's path in the text box.

Auto Convert File
Select the Auto convert file check box if the file to program onto the flash part must be converted and stored on the flash part in an image format. Select the image format, such as SREC, from the drop-down list. The auto convert file option is available only when the file to program is in ELF format. This option is useful when creating bootloaders and the ELF image of the bootloader must be converted into a common bootloader image format such as SREC.

Processor Instance
If there is more than one processor in the design, choose the processor that is connected to your flash parts via an EMC controller. This processor is used to execute the flash writer.

Flash Memory Properties
Instance Name

Choose the instance name of the memory controller that interfaces to the flash parts on your target board.

Program At Offset

Choose an offset within the flash to which to start programming the image file.

Scratch Memory Properties
Instance Name

Choose the instance name of the memory controller that connects to the free scratch pad memory that you want to use for storing the flashwriter (and the image file if you are using one-shot programming mode). It must satisfy size constraints as described earlier. Do not select the same memory controller as that of the Flash Memory. For faster Flash programming, choose the memory controller instance with the largest size.

Create Flash Bootloader
Select the Create Flash Bootloader check box if a bootloader application is to be automatically created for this configuration.

SW Application Project

In the SW Application Project field, specify the name of the bootloader application. The name of the bootloader is initialized with an auto-generated value, but you can change this value if required.

Program Flash
Click Program Flash to start the flash writer. The dialog launches the flashwriter script based on XMD within the XPS console.


--------------------------------------------------------------------------------

See Also

FPGA Configuration Overview

“Programming Flash Memory” chapter of the Embedded System Tools Reference Manual
我不是高手
英文也需要,谢谢了1
多谢楼主 ,高手,再次感谢
www.digital-lab.com.cn
多谢楼主 ,高手,再次感谢
www.digital-lab.com.cn
呵呵,看来得copy 下载慢慢看了,谢谢!
怎会不是高手,好贴!
这个问题已经让困惑好几天了.
另外再请教一下:'Mark to Initialize BRAMs' 的作用是什么,可以多选吗?
头贴形象好恐怖,我不喜欢.怎么改呀
好贴!!!!
呵呵,楼上的,你的头像挺酷的!
能不能搞成中文的啊!
好贴,我喜欢。
谢谢各位!!
我不是高手
哈哈,我也成为edker了啊!!!
荣幸荣幸
学学fpga,用用fpga
搞什么嘛 有使用经验吗??
返回列表