Open search

Firmware update

CANopen bootloader with SDO block transfer

Emtas (Germany) has updated its CANopen bootloader. It now supports SDO block transfer to speed up firmware downloads.

(Photo: Emtas)

An increasing number of CANopen devices need bootloaders to update firmware in the field. The use of a complete CANopen stack for bootloaders is mostly unsuitable, because of its larger flash memory footprint. To address this problem, Emtas has developed a CANopen bootloader that needs only few memory resources. The bootloader supports the necessary services (SDO, NMT slave, heartbeat producer) and objects and can be implemented in less than 8 KiB of flash memory.

Recently the company has extended the bootloader to support SDO block transfer optionally to speed-up firmware download. Although SDO block transfer is faster then segmented SDO transfer on CAN, the main reason to support SDO block transfer are slow CAN-USB devices used by some customers. With a segmented SDO transfer two USB frames are necessary to transfer 7 bytes of payload and on Windows this may take several milliseconds. With SDO block transfer, up to 127 CAN messages can be put into a single USB frame which speeds up the process significantly.

Consequently, the company's CANopen Update Manager, which acts as a counter part for the bootloader, supports SDO block transfer as well. The CANopen Update Manager now also supports a package management to update multiple nodes in a network and SDO routing as well. It is available for Windows, Linux or Mac OS X. Additionally any CANopen master that supports the SDO client functionality can be used to update a CANopen device with a CANopen bootloader. The bootloader is available for various 16- and 32-bit micro-controllers and can be adapted to other targets.


Publish date