To assist you in the development of your embedded products we have various tools and software libraries available. The common goal of these is to speed up your development process and make communication with your embedded device simpler from a development point of view.
With increasing connectivity and reduced development cycle time it has become ever more important to update software; to be able to add features and fix bugs. This is also the case for micro controllers such as the Arm Cortex-M series. They are very popular in the development of IOT devices to robot machinery.
For this wide variety of applications we have developed a modular bootloader for the Arm Cortex-M series micro controllers. The modularity allows you to configure the over the air update (OTA) to your needs, and easily select the desired communication bus, such as UART, CAN, TWI or Ethernet, as well as optionally enable encodation to using a full SSL stack.
This makes the bootloader suitable for multiple scenarios. From fully automated update scenarios where the device itself connects to a server. To the case where only your certified service engineer is allowed to update the device on site.
The current day microcontroller is becoming ever more connected with other devices. Either directly to servers via the internet, or indirectly via hubs such as your smart phone or other home automation stations. As all these different platforms use different programming languages, it requires a lot of effort to develop communication protocols between them.
Google protocol buffers provides a solution for this. Protobuf provides a common data structure definition and serialisation of standard data. Based on this definition source a code for different programming languages is generated, making it easier to exchanged data between different platforms.
Currently, Protobuf supports a wide range of programming languages. Unfortunately, a suitable implementation for embedded C++14 is missing. Embedded AMS is providing this implementation with EmbeddedPROTO, enabling you to focus on your core development and not having to worry about data serialisation between platforms.