Перейти к содержанию
    

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

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

 

не получается подключить программу к 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   .... ... .......

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну так то вроде все правильно.

 

Проверьте, что bram на кристалле расположены

именно так как это описано в $(TARGET_BMM)_bd.bmm.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проверьте, что bram на кристалле расположены

именно так как это описано в $(TARGET_BMM)_bd.bmm.

 

как это сделать? как проверить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

как это сделать? как проверить?

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

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

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

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

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а можно посмотреть что в них распологаеться.

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

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

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...