HOME          INFOLIGHT           SPECRUNNER          DEVRUNNER          CONTACTS     

Interesting links



 Lean Development 

DevRunner - for the fast embedded C programmer



The Name

The software development cycle for embedded systems is several times slower than similar sized projects on a PC.

Besides the actual coding there are several time consuming activities as you need to test things on real hardware. This usually require that the compiled code is converted to a downloadable binary file and that this binary file is transmitted to the target system over a slow serial connection and written into a flashmemory. Then you need to debug the thing and call all the new functionality from a very limited user interface. You mosy likely lack good debug funcationality and suffer from small memories to write debug data into.

Using our technology developed for SpecRunner and StateMaster it is now possible to skip the tedious task of linking, compiling, stripping, downloading and execution of your complete embedded software project until you are satisfied with the new functionality. With DevRunner you only need to transfer the part of code you are actually developing at this moment which is a much faster process if your code base is large.

DevRunner lets you compress build and test times reaching several hours down to minutes during development of new functionality.

 Software as an Aztec pyramid

Nicely written software, that is - without GOTO's, is much like an Aztec pyramid with steps. You can always stand on a flat horizontal surface and build on it. This is how DevRunner works. Even if your target system is compiled and up and running, DevRunner can find these steps and let you build new functionality upon those.

Your new code can call and interact with the huge monolith below and you can even run unit-tests on your new code without changing the monolith your standing on. You do not have to recompile the monolith for every change to the new and unstable functionality you are developing, just pass the file with the new functionality along with some unit-tests to DevRunner and you will see how it executes on the running target system. Most of the time, you don't even need to restart the target system to try a new software version under development!

Once you feel comfortable with the new code you incorporate it with the sourcecode of the monolith and it becomes yet another step upon which you can stand to build higher level functionlity.  



Fast code development on embedded systems without re-building or re-flashing the target software. This is how it works:

  • Start with existing C-code.
  • Add unit-tests for new functions() in a new test-file.c
  • Add new functions() to a new file.c (or add them to an old file for minor changes)
  • Pass the test-file to DevRunner

DevRunner will now compile your test-file.c and your code-file.c. Devrunner then sends them and nothing else to the running target system and executes the tests.

  • Check the results of the tests

If the tests pass, you can add your additions to the existing code base, usually by checking in the code to the version control system. Done.


DevRunner is currently available for these compilers and CPU's:

 Keil - C166

Contact us for details, suggestions and development on other systems.

Copyright 2005 Factorycode Home          Infolight        SpecRunner        DevRunner         Contacts