It is much smaller thanthe GNU C Library, but nearly all applications supported by glibc alsowork perfectly with uClibc. uClibc is a Clibrary for developing embedded Linux systems. Executables are linked against the uClibc runtime library. When compiling programs that run on the uClinux -bfin-uclinux-gcc is the usedcompiler. The first step is to cross compile 'hello.c' on the development hostPC:īfin-uclinux-gcc -Wl,-elf2flt hello.c -o hello Once successful, further development can proceed.Ī further step could be the creation of a simple “Hello World”program as shown in the code example below.
Other Blackfin derivatives notlisted like BF531, BF532, BF536 or BF534 are also supported but thereisn't a default configuration file included.Īfter the default kernel is configured and successfully compiled,there is a full featured Linux kernel and a file system image that canbe downloaded and executed or flashed via NFS, tftp or Kermit protocolonto the target hardware with the help of preinstalled u-boot boot-loader.
Supported target platforms are STAMP for BF533, BF537 or theEZ-KIT for the Dual Core Blackfin BF561.
There already exists anout-of-the-box solution that can be downloaded for free from package comes with a complete Blackfin uClinux distribution,including all user space applications and a graphical Windows-likeinstaller.Īfter the installation of the development environment and thedecompression of the uClinux distribution, development may start.įirst the developer uses the graphical configuration utility toselect an appropriate Board Support Package (BSP) for his targethardware.
To use the binaryrpms, a PC with a Linux distribution like RedHat or SuSE is needed.Developers who can't install Linux on their PC, have a alternative.Ĭooperative Linux (coLinux) is a relatively new means toprovide Linux services on a Windows host. Additionally, some GNU tools like awk, sed, make,bash … plus tcl/tk are needed, although they usually come by defaultwith the desktop Linux distribution.Īll sources and tools (compiler, binutils, gnu debugger) needed tocreate a working uClinux kernel on the Blackfin Processors can befreely obtained from. Ī typical uClinux development environment consists of a low costBlackfin STAMP board, and the GNU Compiler Collection (gcccross compiler) and the binutils (linker, assembler, etc.) for theBlackfin Processor. All these tests can be easily reproducedbecause they are well documented. In addition there are testsuits included inBlackfin/uClinux to do automated stress tests on kernel and devicedrivers using expect scripts. Ifyou can't trust your compiler or debugger, then you are lost.Blackfin/uClinux uses DejaGnu to ease and automate the over 44,000toolchain tests, checking of their expected results while running onthe real target hardware. Trust is good, control is better ” not only the kernel, also all othertools involved during the development process needs to be tested. sponsored the porting of LTP to architecturesrunning uClinux. The LTP testsuite contains acollection of tools for testing the Linux kernel and related features. The Linux Test Project (LTP) as an example is a joint projectstarted by SGI and maintained by IBM, that has a goal to deliver testsuites to the open source community that validate the reliability,robustness, and stability of Linux.