Hi again, John Williams wrote: >> ERROR:MDT - ERROR FROM TCL:- uclinux () - expected integer but got "" >> while executing >> "format "0x%08x" $eram_start" >> (procedure "::sw_uclinux_v1_00_a::generate" line 28) >> invoked from within >> "::sw_uclinux_v1_00_a::generate 38741024" > > > OK, so you've hit the first limitation of the uclinux BSP - it doesn't > play nicely with the most recent DDR controller (v1.10.a). That core > uses / supports multiple banks of memory, but the BSP isn't able to > decipher that yet to work out the main memory range. > > The solution is to use the earlier DDR controller core, 1.00.a. > Translating between the two isn't hard, most of the parameters are the > same. I've added (experimental) support in the uclinux BSP for "banked" memory controllers, like the new ddr controller. Try the following if you're willing: Copy the attached tcl script and MLD files into bsp/uclinux_v1_00_a/data (overwrite the existing ones). Then, in your MSS file, place the following in the "OS" section, under the existing line "MAIN_MEMORY=..." MAIN_MEMORY_BANK = 0 This tells the BSP subsystem which bank on the memory controller should be considerd as main memory - in most cases it will be bank zero. If you are using a non-banked controller, like the old ddr_1_00_b, then don't specify the BANK parameter. Please let me know how this goes for you. Thanks, John
Attachment:
uclinux_v2_1_0.tcl
Description: Tcl script
# (c) Copyright 2003 Xilinx Inc. # All rights reserved. OPTION psf_version = 2.1; BEGIN OS uclinux OPTION DRC = uclinux_drc; OPTION SUPPORTED_PERIPHERALS = (microblaze); OPTION DESC = "Generate uClinux BSP for linux kernel 2.4"; OPTION copyfiles = all; PARAMETER name = TARGET_DIR, desc = "Destination directory for uClinux BSP (auto-config.in)", type = string; PARAMETER name = stdout, desc = "stdout peripheral for bootloader", type = peripheral_instance, requires_interface=stdout, default = none; PARAMETER name = stdin, desc = "stdin peripheral for bootloader", type = peripheral_instance, requires_interface=stdin, default = none; PARAMETER name = main_memory, desc ="Name of Main Memory used with uClinux", type = peripheral_instance, default = none; PARAMETER name = main_memory_bank, desc="Bank Nr. within memory controller of main memory", type = integer, default = -1; PARAMETER name = flash_memory, desc ="Name of Flash Memory Controller used with uClinux", type = peripheral_instance, default = none; PARAMETER name = flash_memory_bank, desc="Bank Nr. within memory controller of flash memory", type = integer, default = -1; PARAMETER name = lmb_memory, desc = "Name of LMB Memory used with uClinux", type = peripheral_instance, default = none; END OS