Quote:
I, now want myself to dive into sea of embedded linux for more complex stuff...
Being newbie here I want to know some thing and I have some questions in my mind so pls guys do help me.....
|
First of all, it's really important to make the distinction between linux which is only a kernel, what's you need is a distribution: a kernel, a standard library and as many applications as your application needs. You can take a look here:
http://www.uclinux.org/ to have a better idea of what I mean.
Quote:
(1) I know linux does not work on 16 bit controllers.....
|
I don't know why do you say that! Get the linux kernel sources, and take a look into the "arch" subdir to have an idea on which arch the linux kernel can run.
Quote:
(2) I want to know on which distro do I need to work???.........
|
Any tutorial for that???[/QUOTE]
Any linux distribution can be used as development system, even a WINDOWS could be use (but I think it will be more difficult to get your toolchain working)
Quote:
How can I load kernel in my hardware???......
|
It depends on your hardware, some usual ways are: downloading a system image from a tftp server, downloading through a serial port, flashing with a JTAG, using a SD-CARD connected through SPI...
Plenty of, the only one I can give advise you is blackfin.uclinux.org, since this is the only "kind of" micro-controller I use (it's a DSP but...)
Quote:
3) I have heared about JTAG...Is it for loading kernel into embedded board???
|
You can use it for that, but as far as I know it's a tool mainly used to debug embedded system as you can stop process and take a look to internal registers and these kind of stuff. I think it's more for kernel developers than for you, but I can be wrong.
Quote:
(4) Pls Suggest any book from scratch to professional level so I can dive real deep into this sea of embedded linux.....
|
Embedded linux means (for me) nothing in a developer point of view. I mean, what's the difference between an embedded linux and a normal one? The normal one have a keyboard and a screen, that's all. Now if you want to design a system from scratch, you have to understand well how works a linux system, so just playing with your PC is OK. Being a kernel hacker isn't necessary (while you don't have to write a driver), but how a linux system boot, the system initialization process, the config files, how to redirect the console onto a serial port, how to keep your system in an initial ramdisk, using toolbox like "busybox"... You can train yourself on your own PC, the ideas keep the same. Then, if your CPU doesn't have a MMU, you'll choose a standard libray like uclibc, but it's quite straight-forward to use it instead of the glibc you'll find on any linux distro. I think the most difficult part is how to adapt some kernel parameters to your hardware, and task like flashing the memory (if any) of your hardware... The difficulty there depends on the dev board you'll use, and how you'll be familiar with the hardware on it, not really with linux itself.