Well, this problem has strangely resolved itself!!
After a lot of hacking, and attempts, it is now booting beautifully (Thanks guys!!!)
The only thing that I changed was the early printK uartlite address, to be the uartlite address in my system.
It seems after I did this, it all worked. I’m not sure why this would be, but I hope to be able to repeat J
I also got dhcp working – For those who are interested and have not gotten it to work, its very simple to enable:
1) Enable in the Kernel – Customize Kernel Settings -> Networking -> Networking Options -> Select Packet Socket
2) Enable in System Settings – Customize Vendor/User Settings -> System Settings -> Network Address -> Slelect Obtain IP address automatically
3) Enable the dhcpcd app - – Customize Vendor/User Settings -> Network Applications -> dhcpcd-new
And dhcp will be used when the board boots.
It’s now printing the voltages and temperatures of the V-5 chip over the webserver J
Thanks again to everyone who helped resolve this.
I don’t know if the early printk was really the root cause, or why the uartlite settings were not directly picked up and used, but I think it’s probably something worth checking for others if they are getting no output at all at boot time.
Thanks also to John Williams for his previous reply on the correct cores to use.
After applying all the advice here, unfortunately I cannot get self-compiled 2.6 kernel to boot on the ML501 board.
I can get the pre-built kernel to boot though – so at least my board and setup is somewhat sane.
What I have done is:
- Project is EDK 9.2.02, for the ML501 with the BSB.
- Linux Kernel – 2.6
- HW uses is: MB 7.00.b, ethernetlite, plus the usual. (MHS is attached).
- I use the ML501 platform supplied with petalinux (I just need to change the driver in the kernel settings to use the emaclite, as the default is the regular emac)
- I don’t change anything in the customize vendor/user settings, except turn off copy to /tftpboot
(the defaults here look ok)
- I did use the petalinux-copy-autoconfig, and did see that the Kconfig file does indeed get copied to the arch/microblaze/platform/ML501 location.
So what works is:
- FS-Boot – works fine, and I can download the U-boot srec.
- U-Boot then comes online and I can successfully use the autobringup2.6 (modified slightly to look for image.ub instead of image.2.6.bin).
What doesn’t work:
- Everything goes fine until it comes to the actual kernel boot – and I see nothing on the output.
- If I look at xmd, I do see that the processor is at least in the right ‘ball-park’ – the ‘PC’ is looping somewhere around address 0x90004000 (my DDR memory starts at 0x90000000). Seems to be caught in an infinite loop.
- I also tried downloading the image.bin via the xmd dow command, and this also booted with the exact same result.
So my guess is the image is missing something very fundamental, as it’s not printing anything at all, but the HW looks good (as FS-Boot and U-Boot work), and I think I followed the guidelines correctly!
Any tips are greatly appreciated. My goal is to simple have a bare-bones uclinux system for ML501, which has support for the XPS_SYSMON_ADC peripheral (so I can print on-chip voltages and temperatures via thttpd).
This is just for a little demo of the V5 System Monitor / ADC functionality.
I originally wanted to write some kind of driver for this (or even link into the acpi standard)…but I’m thinking even a simple mmap() call / direct read of the registers to get the data will do for now!!
[mailto:owner-microblaze-uclinux@xxxxxxxxxxxxxx] On Behalf Of Cristian-Raul CIRESSAN
I've been through this pain recently for a custom board. Here is what I found. Hope I will be answering at least part of your questions. The sequence of steps as mentioned in the developer.petalinux.com is just OK -- I would say very helpful, disregarding the fact it is outdated.
However, you may stumble on some problems during kernel compilation depending on the settings you have made.
Personaly, I had:
1) the fact the fs-boot does not want to compile (due to some missing defines) if there is no
FLASH memory in your design ...
2) the libz error (which was signaled/solved on the forum)
3) cannot compile u-boot separately ... with make u-boot (because some include folders are not properly created or somenthing similar). However a simple make works!
4*) In device drivers -> character devices -> serial... you have to set correctly "XIlinx Uartlite" or other, otherwise the .../microblaze/platform/common content will not compile and you get a misleading linker error (something like built-in.o not found )
5) carefully set the ethernet network IP (EMAC, Emaclite or other)
6) there are other settings I do not recall ...
What I have done in order to help myself is to go through all the settings for an existing platform (ML501 if I remember well) and write down the settings used there -- I only considered the settings for the "reference platform" and ignored the LEDS/GPIOs/Buttons etc.
Doing this I managed to get the kernel compiled.
Hope this helps,
P.S: to answer your subject question: yes they have to changed!
Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.