Dear all,
I am new to linux and this news group and I have some fundamental questions if guys do not mind. Here are my questions:
1- what is really different between u-boot and the Kernel?
2- Can we display something on a LCD in u-boot?
3- where can I find the beagleboard XM Rev C and the tool chain that I could build my own u-boot and etc…
Thanks in advance,
John.
1)
MLO initialize the board then loads u-boot
u-boot loads the kernel by several ways (MMC, tftp, nfs), initialize some stuff then run the kernel passing it some arguments you can define in the uEnv.txt file (and by other means too)
2) u-boot is really customisable, provided you have access to the source code, a tool chain and some spare time to dig into the beast
3) the toolchain can be obtained from Code Sourcery (free version), but several other toolchains exist
Thanks Chris for the information. I do appreciate it. I had one question
that you might have answered me but I did not get it. May we display stuff
on LCD in u-boot or it should be in kernel?
Thanks,
John.
John,
first of all you still have google.com to find very basic stuff about
anything in the universe.
If this tool is not for you, then you go to this resource and read as
much as you can:
http://elinux.org/BeagleBoard
u-boot is a bootloader, it is not the kernel. U-boot does not have a
user space, i.e. you can't run your own programs in u-boot. U-boot is
executed in the direct access memory model, i.e. MMU is not functional
in u-boot. Also, u-boot does not use IRQ to drive the hardware.
Consequently, u-boot is slow with hardware, but it does need it as
u-boot is necessary to:
1) initialize necessary hardware (load registers in CPU and peripherals)
2) load kernel from any source: NAND, MMC/SD, network, HDD etc. to RAM
3) jump to the memory location where the kernel is loaded
As u-boot initializes DSS controller of OMAP you can show some static
picture, but it requires to do some research how to do it.
Mark, you can do a lot hacking to u-boot :). I described things you get by
"git clone u-boot.git".
And you state "u-boot can load an application" and what happens next you
finish your application? I don't remember u-boot allows returning from
applications back to u-boot prompt.
I don't have a deep understanding about u-boot and the kernel but yes you can certainly initialise LCD and display some stuff after u-boot startup.
I you want to code a very low level application, yes I think you can use u-boot to initialize the board, then load and run you app. Without any kernel. But you will be on your own, you will have to drive the LCD, the sensors, the memory, and so on, (if you need them, not the most difficult part) and reinvent the wheel on many cases. In fact, you're doing some stuff with your board without using linux at all.
You can find some very simple examples on google about this.
But it is what you need ? I don't know, if your needs are very very low level (do you want to drive an elevator ?) it would be ok. If you want to build a game system, it might not be the easiest road (But it can be done, after all, the 'demo' scene is fond of this kind of tricky challenge.)