Project based development
Once the tool chain is in place and the hardware is available, the actual development can start. Before the kernel can be tested on the target, a flexible and efficient method needs to be available to download the kernel to the target. Initially, JTAG can be used to load the kernel in ROM, but as soon as possible, we will move to a more elegant method of loading the code on the target, e.g. over a serial link or tftp or nfs mounting of network drives over an Ethernet connection. This allows very fast testing of new kernels and application software on the target (the application software is made available as an nfs mount on the developer station).
The consecutive steps typically are:
- adapting a boot loader to the platform, using a JTAG-gdb based debugger (this is typically U-Boot, Redboot or BLOB).
- writing device drivers for the specific hardware on the system (either in separate chips, on the System-On-Chip processor, or as hard-core or soft-core in an FPGA)
- porting the Operating System (kernel, libraries, user land) to the target (the largest part of that is already available).
As the result of this development phase, Mind provides you with a fully operational HW and SW platform together with a targeted toolchain for it.
If requested, we can also provide on-site development on the platform as part of an outsourcing contract. Some of our developers have long-ranging contracts at large customers and have an important role as systems-architect or core Linux support for the projects in which they contribute.