Linux with data2mem
Glenn.G.Hart at us.westinghouse.com
Glenn.G.Hart at us.westinghouse.com
Wed Aug 8 01:48:07 EST 2007
I have created a Linux kernel and file system into an ELF file. I have the
bit file from my Xilinx V4 FX12LC. According to the documentation I have
read I should be able to use data2mem to create one bit file which I can
program the FPGA with. I have not been able to get data2mem to work
correctly. Has anybody been able to do this? I started with my
system_bd.bmm file from implementation directory. Executing the command:
data2mem -2m system_bd.bmm -bt system.bit -bd zImage.initrd.elf -o b
newsys.bit
yields:
ERROR:Data2MEM:33 - Matching ADDRESS_SPACE for code segment #0 not found in
'sys
tem_bd.bmm'.
Code segment #0 occupies [0x00400000:0x0062AFFF]
This is my linux kernel I believe, but I cannot find any documentation I
what to do. I think I need to modify my system_bd.bmm file:
///////////////////////////////////////////////////////////////////////////////
//
// Processor 'ppc405_0', ID 100, memory map.
//
///////////////////////////////////////////////////////////////////////////////
ADDRESS_MAP ppc405_0 PPC405 100
///////////////////////////////////////////////////////////////////////////////
//
// Processor 'ppc405_0' address space
'plb_bram_if_cntlr_1_bram_combined' 0xFFFFC000:0xFFFFFFFF (16 KB).
//
///////////////////////////////////////////////////////////////////////////////
ADDRESS_SPACE plb_bram_if_cntlr_1_bram_combined RAMB16
[0xFFFFC000:0xFFFFFFFF]
BUS_BLOCK
plb_bram_if_cntlr_1_bram/plb_bram_if_cntlr_1_bram/ramb16_0
[63:56] PLACED = X1Y9;
plb_bram_if_cntlr_1_bram/plb_bram_if_cntlr_1_bram/ramb16_1
[55:48] PLACED = X2Y10;
plb_bram_if_cntlr_1_bram/plb_bram_if_cntlr_1_bram/ramb16_2
[47:40] PLACED = X1Y10;
plb_bram_if_cntlr_1_bram/plb_bram_if_cntlr_1_bram/ramb16_3
[39:32] PLACED = X2Y9;
plb_bram_if_cntlr_1_bram/plb_bram_if_cntlr_1_bram/ramb16_4
[31:24] PLACED = X2Y13;
plb_bram_if_cntlr_1_bram/plb_bram_if_cntlr_1_bram/ramb16_5
[23:16] PLACED = X2Y8;
plb_bram_if_cntlr_1_bram/plb_bram_if_cntlr_1_bram/ramb16_6
[15:8] PLACED = X2Y12;
plb_bram_if_cntlr_1_bram/plb_bram_if_cntlr_1_bram/ramb16_7
[7:0] PLACED = X2Y11;
END_BUS_BLOCK;
END_ADDRESS_SPACE;
END_ADDRESS_MAP;
Thanks for any help you can offer.
Glenn
More information about the Linuxppc-embedded
mailing list