In order for a OS to execute a program, the OS kernel has to load the program into RAM (or partial of the program for XIP). The kernel loader needs to know how and where to load each segments of the program.| My embedded system development
In order to add your own user application to uClinux-dist, do the following:| My embedded system development
Linux (kernel) takes parameters when it boots up. This resembles an application started in a console with command line parameters. So we call kernel parameters "kernel command line", although kernel is not really started the same way as a command line application. | My embedded system development
Deadlock is a situation where two processes are each waiting for the other to release a resource it held, or more than two processes are waiting for resources in a circular chain, so that no one can have the resource required and all stop running.| My embedded system development
As we all know, GDB is a pretty good debugging tool. Using it to debug applications running on the same Linux machine on which you run the GDB debugger is somewhat different from debugging an application running on a different architecture. This is called remote debugging, i.e, the application is running on a Linux base embedded system (with a different CPU), and the GDB debugger is running on the development host machine.| My embedded system development
System.map file is the kernel's symbol table created everytime the kernel is compiled. It has the address information of all the symbols (variables, functions, etc) used in kernel. These address information can be useful for trouble shootting and debugging. For example, last time my uClinux kernel doesn't boot up, I used System.map to find out that the RAM end address is not correctly set, and from there I finally solved the problem.| My embedded system development
Recently I've been trying to build a uClinux (2.6.x kernel)ROM based image for Coldfire uc5272, with the kernel executing (XIP) from within ROM, .data, .init and .bss segments in the RAM, and ROMfs as rootfs in ROM. This arrangement saves memory as only these changable parts of the system are in RAM. | My embedded system development
I have this question for a while. What's the dependency of kernel and system libraries such as glibc? Can kernel codes call functions in glibc? Do we need glibc when we compile kernel? Or do we need kernel code to compile glibc?| My embedded system development
I have been struggling in the past few days trying to run a uClinux cramfs image on a Coldfire uc5272 board. I know, the uc5272 is pretty old, with its uCbootloader at version 1.7.7. I'm trying to run a 2.6.x kernel image on it, so it's interesting to see how a pretty new kernel running on a pretty old hardware.| My embedded system development
This post will talk a little bit about the C/C++ keyword "static" and its use. | My embedded system development
Every objects (file, directory,etc) in a Unix style file system is represented by an inode. An inode is a data structure which contains information about the file object, such as user and group ownership, access mode (read, write, execute permissions) and type of file etc. An inode is again identified by a inode number, which serves as the index of the inode.| My embedded system development
On a linux system inittab file, rc scripts and relavant config files in /etc play key roles at system startup. Inittab file is read and parsed by init process, to decide what level the system will run at and which processes are started at bootup and at normal operation. Then the rc script will be run at that level.| My embedded system development
A short post, about a light weight video streaming server. I've been looking around for a small but robust realtime video streamer that can stream video from a camera over IP network to a standalone viewer or browser. And of course it has to be able to run smooth on a resource constrained embedded system such as mini2440(ARM9 + 64M ram + 128M flash).| My embedded system development
Background: On a Coldfire uC5272 platform, a ROM based ROMFS image(linux.bin + romfs) supports XIP(execution in place), meaning the image can be burnt into Flash and boot and run from within ROM, with only the .data and .bss section moved into RAM by second bootloader(crt0_rom.S for 2.4.x kernel). | My embedded system development
Once in a while I need to access my ubuntu9.10 at home from my Windows laptop. This is pretty easy. Once I have a ssh client (putty) installed on my Windows, open a NAT for port 22 on my router, I can login my account by username and password.| My embedded system development
Linux zigbee is an open source project implementing ieee802.15.4 standard and partially zigbee stack in kernel. Its source code can be downloaded by "git clone git://linux-zigbee.git.sourceforge.net/gitroot/linux-zigbee/linux-zigbee", according to http://sourceforge.net/projects/linux-zigbee/develop| My embedded system development
Platform: Coldfire uc5272 dev board running uClinux 2.4.x| My embedded system development
The manufacturer of mini2440 provides a MS Windows tool DNW.exe for downloading kernel image and root file system into the board. It works great but I'd like to have a similar tool on my dev Linux box so that I don't have to switch back and forth. Fortunately core_rui wrote a small command line program doing exactly the job. (Even though I prefer a program with GUI, but this is good enough for now). | My embedded system development
georges@menie.org gave a good explanation of uClinux memory layout here:| My embedded system development
This is a summary of my recent research about IEEE802.15.4/Zigbee open source implementation.| My embedded system development
This is how I bring up the wlan connection up on a mini2440 dev board running Linux by using command lines. | My embedded system development
As we know, every device in a linux system is a file. A program read/write to a device through the file. How is this possible? It's made possible by device driver.| My embedded system development
In a uClinux system, there is a program "portmap" in the /bin directory. And in the system start script rc file, sometimes you see a line like "/bin/portmap &". This means portmap will be started as part of the system startup. But what's portmap, and what's it for? In a uClinux system, when should it be included?| My embedded system development
What is rom fs:| My embedded system development
There are two files playing key roles in system startup, rc and inittab. They are referenced by the first user space process "init", which is spawned by the kernel afte completion of the boot process.| My embedded system development