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.