Jump to content

    
Sign in to follow this  
zuuuuk

Как добавить программу в bram MicroBlaze

Recommended Posts

Доброго времени суток.

 

не получается подключить программу к microBlaze.

как можно решит эту проблему?

 

я сгенерировал процессор MBZ+ bram+uartlite+gpio.

bram внутренняя 16к.

скомпилировал программу. получил elf фаил.

 

создал новый my_download.bit следующим образом. через makefile

TARGET_BMM = ../system
TARGET_BIT =  ../download
TARGET_MBZ_BIT = ../system
TARGET_LOAD_BIT = ../my_download
TARGET_ElF = ../../my_test/executable
load_bit : 
    data2mem  -bm $(TARGET_BMM)_bd.bmm -bd $(TARGET_ElF).elf -bt $(TARGET_MBZ_BIT).bit  -o b $(TARGET_LOAD_BIT).bit

 

когда я проверяю созданный my_download.bit фаил:

 
display_bitsream : 
    data2mem -bm $(TARGET_BMM)_bd.bmm -bt $(TARGET_LOAD_BIT).bit -d > log_bit.dump

 

то на выходе получаю что в my_download.bit не загружена пррограмма

 

сам log_bit.dump

Release 7.1i - Data2MEM H.42, build 1.3.4 Mar 23, 2005
Copyright (c) 1995-2011 Xilinx, Inc.  All rights reserved.

Data2MEM BIT file dump.

Command: c:\Xilinx\bin\nt\data2mem.exe -bm ../system_bd.bmm -bt ../my_download.bit -d

Xilinx BIT Bitstream
File:            ..\my_download.bit
Design name:     system.ncd
Part:            2v2000fg676
Date:            2011/05/04 15:35:40
Bits:            6812960

Write of CMD (Command) register with RCRC (Reset CRC) command value.

Write of FLR (Frame length) register with a 146 - 1 word length, or 4672 frame bit length.

Write of COR (Configuration Option) register with 0x00053FE5 COR value.
    GWE_CYCLE    (Startup cycle when GWE is asserted)                               = 5.
    GTS_CYCLE    (Startup cycle when GTS_CFG is de-asserted)                        = 4.
    LOCK_CYCLE   (Stall in this Startup cycle until DCM signals are asserted)       = 7.
    MATCH_CYCLE  (Stall in this Startup cycle until DCI match signals are asserted) = 7.
    DONE_CYCLE   (Startup cycle when DONE is asserted/de-asserted)                  = 3.
    SSCLKSRC     (Select STARTUP block clock source)                                = 2.
    OSCFSEL      (Selct CCLK frequency in Master Serial Mode)                       = 2.
    SINGLE       (Readback capture is one shot)                                     = off.
    DRIVE_DONE   (DONE pin is an active driver, not open drain)                     = off.
    DONE_PIPE    (Add pipeline stage to DONEIN)                                     = off.
    SHUT_RST_DCM (DCM resets if SHUTDOWN and AHIGH are performed)                   = off.
    SHUT_RST_DCI (DCI resets if SHUTDOWN and AHIGH are performed)                   = off.
    CRC_BYPASS   (Do not check against updated CRC value)                           = off.

Write of IDCODE (Product Identification) register with 0x01038093 ID word.

Write of MASK (Control Mask) register with 0x00000000 control mask value.

Write of CMD (Command) register with SWITCH (Switch CCLK Frequency) command value.

Write of FAR (Frame Address) register with CLB frame address, Column 0 Frame 0.

Write of CMD (Command) register with WCFG (Write Configuration Data) command value.

Write of FDRI (Frame Data Input) register with 212722 words of data.

Write of 162352 words of CLB data.

00000000:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................................
00000020:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................................
00000040:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................................
00000060:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................................
00000080:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................................
000000A0:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................................
000000C0:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................................
000000E0:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................................
00000100:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................................
00000120:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................................
00000140:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................................
00000160:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................................
00000180:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................................
000001A0:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................................
000001C0:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................................
000001E0:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................................
00000200:   00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................................
00000220:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................................
00000240:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................................
00000260:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................................
00000280:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

 

в отличии от самого elf файла

 

replase :
    data2mem -bd $(TARGET_ElF).elf -d > log_elf.dump

 

сам log_elf.dump

Release 7.1i - Data2MEM H.42, build 1.3.4 Mar 23, 2005
Copyright (c) 1995-2011 Xilinx, Inc.  All rights reserved.

Data2MEM ELF file dump.

File = "..\..\my_test\executable.elf".

Program header record #0, Size = 0x36C, Alignment = 0x4.

00000000:   B8 00 00 28 80 00 00 00 80 00 00 00 80 00 00 00   ...(............
00000010:   80 00 00 00 80 00 00 00 80 00 00 00 80 00 00 00   ................
00000020:   80 00 00 00 80 00 00 00 31 A0 05 B8 30 40 05 A0   ........1...0@..
00000030:   30 20 0B 6C B0 00 B8 08 30 C0 00 00 F8 C0 00 04   0 .l....0.......
00000040:   F8 C0 00 0C F8 C0 00 14 F8 C0 00 24 B0 00 B0 00   ...........$....
00000050:   30 C0 00 00 F8 C0 00 00 F8 C0 00 08 F8 C0 00 10   0...............
00000060:   F8 C0 00 20 30 C0 00 28 D8 C1 00 00 C4 E1 00 00   ... 0..(........
00000070:   F4 E0 00 02 F4 C0 00 06 30 C0 01 70 D8 C1 00 00   ........0..p....
00000080:   C4 E1 00 00 F4 E0 00 0A F4 C0 00 0E 30 C0 01 8C   ............0...
00000090:   D8 C1 00 00 C4 E1 00 00 F4 E0 00 12 F4 C0 00 16   ................
000000A0:   30 C0 01 88 D8 C1 00 00 C4 E1 00 00 F4 E0 00 22   0.............."
000000B0:   F4 C0 00 26 B9 F4 00 10 80 00 00 00 20 21 00 10   ...&........ !..
000000C0:   B8 00 00 00 20 21 FF EC D9 E1 00 00 20 C0 03 74   .... !...... ..t
000000D0:   20 E0 03 74 06 46 38 00 BC 72 00 14 D8 06 00 00    ..t.F8..r......
000000E0:   20 C6 00 04 06 46 38 00 BC 92 FF F4 20 C0 03 74    ....F8..... ..t
000000F0:   20 E0 03 7C 06 46 38 00 BC 72 00 14 D8 06 00 00    ..|.F8..r......
00000100:   20 C6 00 04 06 46 38 00 BC 92 FF F4 B9 F4 00 74    ....F8........t
00000110:   80 00 00 00 20 C0 00 00 20 E0 00 00 B9 F4 00 1C   .... ... .......

 

 

 

 

Share this post


Link to post
Share on other sites
как это сделать? как проверить?

Открываете в текстовом редакторе Ваш system_bd.bmm, там увидите следующее

bram_block_0/bram_block_0/ramb16_0 [63:60] PLACED = X1Y2;
....

Далее в FPGA editor'е проверьте, что ramb16_0 располагаются в X1Y2

и так далее для всех bram.

 

 

Share this post


Link to post
Share on other sites
а можно посмотреть что в них распологаеться.

через FPGA editor'е или еще как.

Нет посмотреть нельзя.

Проверьте еще как у Вас программа слинкована,

может по этому не работает.

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this