ANSI-C source code of an CANopen boot loader useful for easy In-System-Programming and firmware updates (not only for CANopen devices)
Overview
Modern device designs need enormous flexibility in hard- and software. Today hardware is equipped with plenty of resources in order to allow software changes later on. Software itself has to provide means to enable an update/upgrade of the current firmware. At this point in-system-programming offers the greatest possibilities, and thus a change of the software too.
Bootloader with a communication interface allow to do firmware updates by using an appropriate network.
Standardized communication objects and algorithms garuantee a high level of transparency and user friendliness.
Description
Software Update
PAULUS bootloader offers this flexibility for devices in CAN/CANopen networks, because CANopen provides with the SDO Transfer standardized mechanisms
for the transmission of big data volume.
The bootloader itself works independently from the application as a minimal CANopen slave node according to CiA-301.
A software update can be executed with a CANopen master or configuration tool in the user flash code memory.
PAULUS is optimized to code size and widely compatible to CANopen.
Requirements
Some CANopen services are always available, othercan be activated by a configuration file.
• NMT Error - heartbeat creation by bootloader is available
• emergency services can be used with limitations
• CANopen Layer Setting Services are supported
• CANopen bootloader is SDO server
• PDO service is not supported
To divide protocol layer and harware application layer principally allows the usage on all targets.
Features
With PAULUS a new generation of CANopen bootloaders is available. Aim of the development was the creation of a compact, modular and memory saving bootloader platform for different hardware architectures.
• memory saving - up to 50% less memory space is needed in contrast
to the old bootloader generation
• modular - applicable to further hardware architectures in short
time
• compact - clear and easily understandable code allows fast customer specific adaptions
Typical values for needed memory are:
• 20-24 kByte Flash (Example STM32F0)
Ordering Information
Order - Information
Art.No. | Description |
---|---|
0271/10 | PAULUS-BOOTL-SRC-STM32 |
0271/11 | PAULUS-BOOTL-SRC-dsPIC33 |
0271/12 | PAULUS-BOOTL-SRC-ATSAM4E |
0271/13 | PAULUS-BOOTL-SRC-RL78F13 |
0271/18 | PAULUS-BOOTL-SRC-TMS320F280x Family |
0271/XX | PAULUS CANopen Bootloader |
0271/16 | PAULUS-SRC-K2x |
0271/21 | PAULUS-SRC-Spansion/Fujitsu MB9BF51x |
0271/19 | PAULUS-SRC-STM32F0xx |
0271/17 | PAULUS-SRC-STM32F1xx |
0271/14 | PAULUS-SRC-STM32F4xx |
0271/15 | PAULUS-SRC-STM32L4xx |
0271/20 | PAULUS-SRC-Tiva TM4C12x |
0271/22 | PAULUS-SRC-TMS320F28035 |
Development of another CANopen Bootloader - on request
Information about used micro-/CAN controller - required
Scope of Delivery
The scope of delivery includes the bootloader source code and in addition an example application. This example contains a detailed description for installation
and configuration.
Data Sheet
Knowledge Base
You need more information and documentation - then please have a look here:
https://portgmbh.atlassian.net/wiki/spaces/CB/overview