[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[microblaze-uclinux] Cache problem



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