mikrocontroller.net

Forum: FPGA, VHDL & Co. Programm im SRAM (statt BRAM) ausführen


Autor: Andreas N. (poolspieler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal,
ich möchte auf meinem Sparten3E Starter Kit (XC3S500E-Baustein) das 
Hallo Weltprogramm:
#include "stdio.h"

int main (void) {

  printf("\n\rHello World\n\r");

  return 0;
}

mit einem ELF-File der Größe:
At Local date and time: Wed Jan 21 15:51:58 2009
 xbash -q -c "cd /cygdrive/c/Workdir/Xilinx/Tests/Xil3S500E_RevD_Serial_Flash_v92/; mb-size C:/Workdir/Xilinx/Tests/Xil3S500E_RevD_Serial_Flash_v92/hello_world/executable.elf; exit;" started...
   text     data      bss      dec      hex  filename
  62544     1352     1136    65032     fe08  C:/Workdir/Xilinx/Tests/Xil3S500E_RevD_Serial_Flash_v92/hello_world/executable.elf
Done!

im SRAM ausführen. (Das Programm ist mit hex fe08 natürlich zu groß fürs 
BRAM...)
Ich habe mir das Beispiel von Xilinx 
http://www.xilinx.com/products/boards/s3estarter/f... 
heruntergeladen - aber ich schaffe es einfach nicht, dass das ELF-File 
im SRAM ausgeführt wird.

Update Bitstream gibt folgendes aus:
Performing IP level DRCs on properties...

Running DRC Tcl procedures for OPTION IPLEVEL_DRC_PROC...
Address Map for Processor microblaze_0
  (0000000000-0x00003fff) dlmb_cntlr  dlmb
  (0000000000-0x00003fff) ilmb_cntlr  ilmb
  (0x83400000-0x8340ffff) SPI_FLASH  mb_plb
  (0x84000000-0x8400ffff) RS232_DCE  mb_plb
  (0x84400000-0x8440ffff) debug_module  mb_plb
  (0x8c000000-0x8fffffff) DDR_SDRAM  mb_plb
  (0x8c000000-0x8fffffff) DDR_SDRAM  dxcl
  (0x8c000000-0x8fffffff) DDR_SDRAM  ixcl

Initializing Memory...
Checking ELFs associated with MICROBLAZE instance microblaze_0 for overlap...


Analyzing file hello_world/executable.elf...
WARNING:MDT - Elf file hello_world/executable.elf does not reside completely
   within BRAM memory of processor microblaze_0.
WARNING:MDT - The sections of  ELF residing outside BRAMs must be initialized
   separately using a debugger, a bootloader, or an ACE fileRunning Data2Mem with the following command:
data2mem -bm "implementation/system_bd" -bt "implementation/system.bit"  -bd
"hello_world/executable.elf" tag microblaze_0  -o b implementation/download.bit 

Done!

Was heißt das unterm Strich? Was muss ich tun, damit ich es zum laufen 
bekomme?

Wäre für jede Hilfe dankbar!

Gruß,
Andreas

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Steht doch da:
WARNING:MDT - The sections of  ELF residing outside BRAMs must be initialized
   separately using a debugger, a bootloader, or an ACE fileRunning Data2Mem with the following command:
data2mem -bm "implementation/system_bd" -bt "implementation/system.bit"  -bd
"hello_world/executable.elf" tag microblaze_0  -o b implementation/download.bit 

Du musst die Datensektionen, die nicht ins BRAM passen irgendwie 
(Bootloader, Debugger, etc.) in die entsprechenden Speicherbereiche 
bekommen.

Duke

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.