|
Hi All,
I seems to have problem with the cache. When
enabled on the microblaze, linux goes into a machine_halt infinite loop very
early in the booting process.
Everything works fine without the cache (I was
originally running with incrorect cache range settings from address
0..+16MB).
From MHS file:
BEGIN microblaze
PARAMETER INSTANCE = microblaze_0 PARAMETER HW_VER = 2.10.a PARAMETER C_ADDR_TAG_BITS = 11 PARAMETER C_CACHE_BYTE_SIZE = 8192 PARAMETER C_DCACHE_ADDR_TAG = 11 PARAMETER C_DCACHE_BYTE_SIZE = 8192 PARAMETER C_DEBUG_ENABLED = 1 PARAMETER C_NUMBER_OF_PC_BRK = 2 PARAMETER C_NUMBER_OF_RD_ADDR_BRK = 2 PARAMETER C_NUMBER_OF_WR_ADDR_BRK = 2 PARAMETER C_USE_BARREL = 1 PARAMETER C_USE_DCACHE = 1 PARAMETER C_USE_DIV = 1 PARAMETER C_USE_ICACHE = 1 PARAMETER C_FSL_LINKS = 1 PARAMETER C_ICACHE_BASEADDR = 0x80000000 PARAMETER C_ICACHE_HIGHADDR = 0x80FFFFFF PARAMETER C_DCACHE_BASEADDR = 0x80000000 PARAMETER C_DCACHE_HIGHADDR = 0x80FFFFFF BUS_INTERFACE SFSL0 = fsl_v20_0 BUS_INTERFACE DLMB = d_lmb_v10 BUS_INTERFACE ILMB = i_lmb_v10 BUS_INTERFACE DOPB = d_opb_v20 BUS_INTERFACE IOPB = d_opb_v20 PORT INTERRUPT = interrupt PORT CLK = sys_clk END and from linux .config
# CONFIG_UCLINUX_AUTO is not
set
CONFIG_MBVANILLA=y # CONFIG_EGRET01 is not set # CONFIG_SUZAKU is not set CONFIG_CPU_CLOCK_FREQ=59000000 # CONFIG_MICROBLAZE_MSRSETCLR is not set CONFIG_MICROBLAZE_HARD_MULT=y CONFIG_MICROBLAZE_HARD_DIV=y CONFIG_MICROBLAZE_HARD_BARREL=y CONFIG_MICROBLAZE_ICACHE=y CONFIG_MICROBLAZE_ICACHE_BASE=80000000 CONFIG_MICROBLAZE_ICACHE_SIZE=2000 CONFIG_MICROBLAZE_DCACHE=y CONFIG_MICROBLAZE_DCACHE_BASE=0x80000000 CONFIG_MICROBLAZE_DCACHE_SIZE=2000 CONFIG_MICROBLAZE_DEBUG_UART=y # CONFIG_XILINX_GPIO is not set CONFIG_XILINX_ENET=y # CONFIG_XILINX_SYSACE is not set CONFIG_MBVANILLA_CMDLINE=y CONFIG_ZERO_BSS=y CONFIG_MICROBLAZE_DEBUGGING=y I use EDK 6.2 SP3 and the latest
toochain.
Anyone seen this problem before ?
Thanks,
Finn S. Nielsen
Denmark
|