Hi,
Well I was able to prove the microblaze is alive - I changed the code
in platforms/uclinux-auto/machine.c :
#ifdef CONFIG_XILINX_GPIO_0_INSTANCE
/* Read current value on the port */
volatile unsigned int cur_val =
microblaze_gpio_read(CONFIG_XILINX_GPIO_0_BASEADDR);
/* Clear LED bit */
cur_val &= ~0x00000001;
/* Set it if required */
if(value)
cur_val |= 0x00000001;
microblaze_gpio_write(CONFIG_XILINX_GPIO_0_BASEADDR,cur_val);
#endif
i.e. just changed the GPIO pin it was writing to, so it would work with
my 8-bit wide GPIO LED's. (note- should there be an option to say which
GPIO pin the heartbeat led is connected to.
Anyway, after a re-compile, even after the MB appears to hang @ boot,
the led is blinking! so it's not a complete hand. The LED is blinking
pretty rapidly though, a few times a second - is this an indication of
anything wrong or right?
I think I will add a few more printk's dotted all over the source to
try to see where things start going wrong...for example the moving of
the romfs beyond the bss section - to see if this is happening or not.
Cheers,
John
mcnernbm@notes.udayton.edu wrote:
well glad to see I am not the only
one
having this issue. I wish I could say why it is doing this but I
have no idea. I have tried many different methods but no luck yet.
I am trying it today with all the recent drivers and I will give
the cachelink a try later today or first thing toamrrow and let you
know
what happens. I did notice that the cachelink is alot faster so it
would be nice if it would work. On another note does anyone have
a working version of hardware and image file for the memec virtex II
pro
v2p7f456 that they could post that I could try I jsut need to get
something
to boot soon and then I can dedicate more time to trying to figure out
why the autoconfig is not working.
Thanks
Brett
It seems I am not the only one having this problem.
I read through some old emails on this mailing list, and someone
mentioned
something about the romfs beginning exactly in the .bss section of the
image, and that the romfs is "moved" at boot time to another
location.
Have I misunderstood this?
If this is the case, then where exactly does it move it to? If it is
not
being moved, perhaps there is a conflict with the romfs and the .bss
section?
It seems to point to some problem with reading the romfs. The
uclinux[mtd]
probe seems to find the filesystem ok (I dont know what it does to do
this...)
but are thre any simple tests that I could include in the init/main.c
to
test romfs readability before the hang I usually get? By hang I mean
where
it is unable execute the first file in the romfs, around line 650 of
init/main.c
Also, a few more curious points:
After the "hang", I have seen the console echo back characters
to me when typed. Does this indicate some life in the system?
Also, on some occasions, I have seen XMD report an error just at this
hang
point, and print a handful or random characters to the screen. Is it
possible
that uClinux is trying to use the debug uart as some kind on console?
Shouldn't
it use the same uart (console_uart) that is has been using all the time
while booting?
Curious issues!!
p.s. a bit off-topic, but anyone tried the MicroBlaze version 4.0 with
cachelink, multichanel SDRAM controller and hard fpu with uClinux yet?
Is it blindingly fast? I've seen that (in theory - dont have a chip to
test it yet), a typical uclinux system, supporting all of the above,
could
run about 150MHz on a V4 LX25-12. That's pretty fast!!!
Cheers,
John
mcnernbm@notes.udayton.edu
wrote:
Using the auto-config method I receive the following when I try to run
the build kernel:
Calibrating delay loop... 32.97 BogoMIPS
Memory: 16MB = 16MB total
Memory: 15400KB available (601K code, 196K data, 32K init)
Dentry cache hash table entries: 2048 (order: 2, 16384 bytes)
Inode cache hash table entries: 1024 (order: 1, 8192 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 4096 (order: 2, 16384 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Microblaze UARTlite serial driver version 1.00
ttyS0 at 0xffff2000 (irq = 1) is a Microblaze UARTlite
Starting kswapd
xgpio #0 at 0xFFFF5000 mapped to 0xFFFF5000
Xilinx GPIO registered
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
uclinux[mtd]: RAM probe address=0x800c791c size=0x77000
uclinux[mtd]: root filesystem index=0
VFS: Mounted root (romfs filesystem) readonly.
Freeing init memory: 32K
release_dev: driver.table[60] not tty for (04:40)
Warning: unable to open an initial console.
Kernel panic: No init found. Try passing init= option to kernel.
I am not sure what to try I have already changed the mdm from flash to
the generic rom/ram setting.
ANy help would be greatly appreciated also atached are the .mhs and
.mss
files from the hardware. I am also using EDK 7.1.
--
***********************************************************************
/ /\/ John McGrath
\ \ Xilinx Inc.
\_\/\
Telephone: +353 21 4355 704
FAX:
John.McGrath@xilinx.com
X I L I N X I
N C.
***********************************************************************
|