Hallo nochmal,
ich möchte auf meinem Sparten3E Starter Kit (XC3S500E-Baustein) das
Hallo Weltprogramm:
1 | #include "stdio.h"
|
2 |
|
3 | int main (void) {
|
4 |
|
5 | printf("\n\rHello World\n\r");
|
6 |
|
7 | return 0;
|
8 | }
|
mit einem ELF-File der Größe:
1 | At Local date and time: Wed Jan 21 15:51:58 2009
|
2 | 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...
|
3 | text data bss dec hex filename
|
4 | 62544 1352 1136 65032 fe08 C:/Workdir/Xilinx/Tests/Xil3S500E_RevD_Serial_Flash_v92/hello_world/executable.elf
|
5 | 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/files/s3esk_serial_flash.pdf
heruntergeladen - aber ich schaffe es einfach nicht, dass das ELF-File
im SRAM ausgeführt wird.
Update Bitstream gibt folgendes aus:
1 | Performing IP level DRCs on properties...
|
2 |
|
3 | Running DRC Tcl procedures for OPTION IPLEVEL_DRC_PROC...
|
4 | Address Map for Processor microblaze_0
|
5 | (0000000000-0x00003fff) dlmb_cntlr dlmb
|
6 | (0000000000-0x00003fff) ilmb_cntlr ilmb
|
7 | (0x83400000-0x8340ffff) SPI_FLASH mb_plb
|
8 | (0x84000000-0x8400ffff) RS232_DCE mb_plb
|
9 | (0x84400000-0x8440ffff) debug_module mb_plb
|
10 | (0x8c000000-0x8fffffff) DDR_SDRAM mb_plb
|
11 | (0x8c000000-0x8fffffff) DDR_SDRAM dxcl
|
12 | (0x8c000000-0x8fffffff) DDR_SDRAM ixcl
|
13 |
|
14 | Initializing Memory...
|
15 | Checking ELFs associated with MICROBLAZE instance microblaze_0 for overlap...
|
16 |
|
17 |
|
18 | Analyzing file hello_world/executable.elf...
|
19 | WARNING:MDT - Elf file hello_world/executable.elf does not reside completely
|
20 | within BRAM memory of processor microblaze_0.
|
21 | WARNING:MDT - The sections of ELF residing outside BRAMs must be initialized
|
22 | separately using a debugger, a bootloader, or an ACE fileRunning Data2Mem with the following command:
|
23 | data2mem -bm "implementation/system_bd" -bt "implementation/system.bit" -bd
|
24 | "hello_world/executable.elf" tag microblaze_0 -o b implementation/download.bit
|
25 |
|
26 | 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