Wednesday, August 16, 2017

LN Systems' programming skills cover languages such as C, C++, C#/.NET, Visual C++, Visual Basic and Unix shell scripting, giving us the capability to design and implement software at all levels from kernel/RTOS and drivers through to GUI applications. With decades working in embedded systems development, our field of experience covers areas such as:

  • Bespoke wireless communications systems based on IEEE802.15.4, NXP (Jennic) protocol stacks and ZigBee.
  • RTOS-based and OS-less embedded systems.
  • Network protocol implementations developed on custom SoC hardware.
  • Wireshark protocol dissectors.
  • Device drivers for Windows, Windows CE and Linux.
  • Complete embedded Linux systems and development solutions.
  • Development of embedded Open AT applications for GSM/GPRS modems.
  • A wide range of operating systems including Linux, C/OS-II, Nucleus PLUS, and of course, Windows. 

We have utilised both waterfall and iterative development lifecycles, and we work to a standard software development process:

  • Peer reviews (coupled with customer sign-off) ensure that the work proceeds in line with the requirements at all phases, from design and implementation through to test and final release.
  • Use of a standard 'style guide' for C/C++ coding ensures a consistent level of readability and code quality.
  • 'Lint' syntax-checking uncovers subtle (and not so subtle!) coding errors, thus reducing debugging time and helping detect hidden defects such as boundary condition errors.
  • Build management and version control provides full traceability of code evolution and ensures that correct file versions are delivered. We are familiar with tools such as Subversion, CVS and Synergy.
  • Automatic documentation generation means that documentation is always up to date with the code.
  • Integration and regression testing (automated where possible) maintains repeatable functionality through the lifecycle of the development.
  • Defect tracking through tools such as bugzilla allows for efficient reporting and tracking of defect reports and their resolution.