General remarks
Modern device designs need enormous flexibility in hardware and software. This flexibility is reached by integration of download mechanisms and programming functions within the software and the dimensioning of hardware for the future.
Bootloaders with a communication interface allow firmware updates by using of standardized communication services and objects. These provide a high transparency and operator convenience.
The bootloader Paulus makes this flexibility available for devices in CANopen networks. With the SDO transfer CANopen provides a standardized mechanism for the transfer of large blocks of data. The bootloader is independent of the application and works as a minimal CANopen slave node according to /CiA-301/.
Standard CANopen master software or configuration tools can be used for download new firmware into the flash code memory.
Paulus is a bootloader optimized to code size and highly compatible to CANopen. To achieve the aim of minimal code size there are only those functionalities of a CANopen protocol stack included that are indispensable. Nevertheless the project is flexible enough to provide a hardware independent code part for carrying out the protocol.
Implementations for the following controller families are available:
dsPIC33F and dsPIC33EP by Microchip
ARM Controller STM32 by ST Microelectronics (different types)
ATSAM4E by Atmel
RL78 by Renesas
Kinetis K2x by Freescale
TI TMS320F280x
TI TMS320F28035
Spansion MB9BF51x
TI Tiva TM4C
TI TMS320F28379D
NXP S32K14x
Infineon Aurix TC23x
Microsemi SmartFusion2
port would also make adaptions to not yet supported processors by your order of course. Please contact our sales department.
The bootloader code is written rather universal and modular. It can therefore easily applicable to other architectures.
This manual documents the general properties of the bootloader Paulus. Settings which refer to special hardware and development environments are documented in the platform/target-specific manuals.