Embedded Software

Shutterstock 281563787 Version 2 1

Experience matters. Some of our software team have been working with Linux and with Embedded Linux since 1998. We work with it every day - it's what we do. 

Don´t waste time and energy trying to dig a long way into the operating system. Call us, we will help you and learn you how to manage unless you want us to fix it. We know all about Linux real time adaption.

Custom hardware will not run Linux straight out of the box. Let us do the hard work setting up the board with first stage bootloader and u-boot.

 

Embedded software skills

WhitespacelineC Programming Icon White Blue

C

We master all aspects of C,
the essential programming language in embedded systems.

WhitespacelineCPP Programming Icon White Blue

C++

We study C++ in depth to make
fully use of its structural apprach
also in embedded programming.

WhitespacelineYocto Icon White Blue

Yocto

Yocto is great for custom Linux distros. You know what you want to build, we know how.

Embedded Linux Icon White Blue Green
Embedded Linux

Special skills within Embedded Linux kernel on a variety of platforms; ARM, PowerPC, x86 (32/64), uCLinux for BlackFin...

Qt Icon White Blue
Qt

Cross-platform GUI applications.
We know how to make scalable solution.



Board Bringup Icon White Blue Green
Board bring-up

Custom hardware will not run Linux straight out of the box. Let us do the hard work setting up the board with first stage bootloader and u-boot.

Device Drivers Icon White Blue Green
Drivers

Ethernet, TCP/IP, MODBUS,
CAN, SDIO, 1-WIRE, UART,
SPI, I2C, PCIe, VME...


Free RTOS Icon White Blue Green
FreeRTOS

FreeRTOS has become quite popular on small microcontroller. We have experience with Atmel AVR, MSP 430, PIC32, 8051, AD Blackfin, PowerPC. And on softcores like Picoblaze, NIOS, MicroBlaze, Leon3

Real Time Icon White Blue
Real time

We know how to tune and tweak Linux and bare-metal applications to meet the hardest real-time requirements.

ARM CPU Icon White Blue Green
ARM

ARM has a significant growth  in popularity for embedded systems, with and without Linux and in SoC´s. ARM is our baby.

Soc Icon White Blue Green
SoC

Experience with Embedded Linux
on Xilinx Zync and Altera Cyclone V.
Both platforms providing FPGA and
Dual core ARM on the same chip.

Sensors Icon White Blue
Sensors

We have worked on projects featuring everything from miniature sensors to huge networks of thousens of sensors.

Operating Systems Icon White Blue Green
Operating systems

GNU, Linux (varous distros; Arch Linux, Ubuntu++), Google Andriod, VxWorks, iOS, Windows, TI DSP/BIOS


Tools Icon White Blue Green
Tools

Eclipe, Keil, IAR, Microsoft VIsual Studio,
Code Composer Stuido IDE,  SysML,
Docker, git, CVS, SVN, Clearcase,
Mercurial


Programming Icon White Blue Green
Programming

Python, Labview, Perl, Bash, Ruby,
Matlab/Simulink. To cover all possible programming needs we have a rich portofolio of programming and scripting languages.

Bitvis provides software consultancy, development and outsourcing for embedded applications.

Our team has experience working with various embedded solutions in most industries including military, commercial, medical, telecommunication, aerospace, oil & gas and more.

At Bitvis all our embedded software engineers have long experience with all types of software development. All our engineers have a higher university degree and solid background in software and electrical engineering. This crossover competence enables us to see the whole picture when software and hardware is integrated. In addition, we have solid knowledge in using embedded debugging tools such as In-circuit debuggeroscilloscopelogic analyzer

We can make you succeed with your embedded project be it a legacy 8051 system or a bleeding edge ARM system on System on Chip (SoC).

 

We can help with

  • Requirement analysis
  • Software architecture and design
  • Technology selection
  • Feasibility studies
  • Prototyping
  • Board Support Packages (BSP)
  • Custom application development
  • Driver development for complex hardware devices
  • Complete Real-Time Systems
  • Performance analysis to ensure that systems meet performance and timing requirements
  • Disciplined development process: Requirements tracking, source control, unit testing, bug tracking and continuous integration. 
  • Coaching and training

 

Tools and technologies

Our developers have experience with a wide range of tools and technologies from the embedded domain. For a complete overview see Tools and technologies

How we work

At Bitvis we aim to continuously improve the way we work in order to achieve the best result possible. We take best practices from the application software domain and adapt it to our embedded domain.  Bitvis has extensive experience working with Agile methodologies such as Scrum, Rup, XP and Lean. As a knowledge based company we believe in sharing this knowledge with our customers.

JIRA and Confluence

Project Coordination Tools Icons

At Bitvis we use JIRA and Confluence in all our projects. These tools enable us to capture issues, plan work, resolve bugs, collaborate and share information efficiently in a structured manner.

Short Cycle iterations

Releases every two or four weeks are common. The Agile way is to quickly create a small working system, build on it, keep it always working, and deploy the application every iteration. This allows early, concrete, and regular feedback. Your risk of a nonworking system at any point in the project is eliminated.

Test Driven Development

To ensure that we deliver quality and that we develop a code that is testable, we apply Test Driven Development whenever feasible. Tests are written by developers continuously throughout the development cycle. Using Test Driven Development catches defects early and assures quality software at each incremental release. Test Driven Development enables us to refactor code in a safe environment; so that we can remove duplication, simplify, add flexibility, or improve readability.

Continuous Integration

Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build. By using Continuous Integration we detect potential problems easier and earlier in the development process.