Putting the uClinux image into FlashIt's a bit painful to download the uClinux image via xmdstub every time you boot the board. Also, when tracking some subtle bug it's very painful to continually reload the image each time it crashes. This page contains simple instructions for copying the uClinux kernel and file system image into Flash memory. These techniques are also useful for stand-alone MicroBlaze projects where the software or data don't fit entirely into BRAM. The following discussion broadly assumes you are using the Insight XV1000 development board, with the mbvanilla_net hardware target. It should be easily adapted to other boards, just adjust the base address of the flash accordingly. First of all, you need to convert the image.elf file into a flat binary image. If your uClinux-dist is up to date and patched, then this is done automatically when you simply do "make" from the root of the uClinux-dist tree. If you look in uClinux-dist/images, you should see image.bin along with image.elf and a few others. "image.bin" is a binary file containing the kernel and file system images, all in one package. The kernel is fully linked and relocated, meaning that it can only be executed from the address to which is was linked. By default, this is 0x80000000, the base address of the DDR RAM. To be continued. Now you've got the kernel and file system into flash, how can you boot from it? See the next page in the series - Booting the Kernel from Flash. |
|
