CANopen Bootloader Documentation
Version 4.10.00
|
The file cbl_conf.h holds all definitions for the configuration of the CANopen Bootloader stack. Please set the symbols to an appropriate value in order to achieve a specific CANopen Bootloader behaviour.
Macros | |
#define | CBL_TIMER_PERIOD 1000 |
#define | CBL_DICT_MAN 0 |
#define | CBL_DICT_SEARCH_FAST 1 |
#define | CBL_DICT_OBJ_1008 1 |
#define | CBL_DICT_OBJ_1009 1 |
#define | CBL_DICT_OBJ_100A 1 |
#define | CBL_DICT_OBJ_1014 1 |
#define | CBL_PROG_MAX 1 |
#define | CBL_SDO_SEGMENTED_RD 0 |
#define | CBL_SDO_SEGMENTED_WR 0 |
#define | CBL_SDO_BLOCK 120 |
#define | CBL_SDO_BLOCK_RD 0 |
#define | CBL_SDO_BLOCK_WR 1 |
#define | CBL_SDO_ABORT_CODE 0 |
#define | CBL_RAM_BUFFER_SIZE (CBL_SDO_BLOCK * 7) |
#define | CBL_APP_START_ADDR 0x00008000 |
#define | CBL_BOOT_START_ADDR 0x00000000 |
#define | CBL_LSS_SUPPORT 0 |
#define | CBL_LED_SUPPORT 1 |
#define | CBL_BUS_EMCY 0 |
#define | CBL_MGR_INT 1 |
#define CBL_APP_START_ADDR 0x00008000 |
The symbol defines the start address of the application. It has to be adopted by the user.
#define CBL_BOOT_START_ADDR 0x00000000 |
The symbol defines the start address of the bootloader. It has to be adopted by the user.
#define CBL_BUS_EMCY 0 |
With this symbol it is possible to enable the transmission of emergency messages upon bus errors.
#define CBL_DICT_MAN 0 |
This symbol defines if manufacturer specific objects are included in the dictionary. A value of 0 means the manufacturer objects are not included. A value of 1 means they are included.
#define CBL_DICT_OBJ_1008 1 |
This symbol defines if the object 1008h (Manufacturer device name) is supported by the device.
#define CBL_DICT_OBJ_1009 1 |
This symbol defines if the object 1009h (Manufacturer hardware version) is supported by the device.
#define CBL_DICT_OBJ_100A 1 |
This symbol defines if the object 100Ah (Manufacturer software version) is supported by the device.
#define CBL_DICT_OBJ_1014 1 |
This symbol defines if the object 1014h (EMCY object) and also the EMCY service (CblEmcySend()) is supported by the device.
#define CBL_DICT_SEARCH_FAST 1 |
This symbol defines if a fast search algorithm is used for the dictionary. The fast search algorithm increases the code size. A value of 0 means a linear search method is used. A value of 1 means the fast search algorithm is used.
#define CBL_LED_SUPPORT 1 |
With this symbol the LED support can be enabled. There are two LEDs supported: a Network LED and a Module LED. The Network LED denotes the state of the CANopen status machine (Operational, Stopped, Bus-Off, etc.). The optional Module LED denotes the physical state of the device (running, hardware failure, etc).
#define CBL_LSS_SUPPORT 0 |
LSS offers the possibility to inquire and change the settings of certain parameters of the local layers on a CANopen module with LSS Slave capabilities. This switch is used to enable/disable the LSS capability. If enabled, the file cbl_lss.c must be included to the project.
#define CBL_MGR_INT 1 |
With this symbol it is possible to switch the CAN message handler (message reception) between Polling- and IRQ-mode. In Polling mode the messages are read from the buffer during the main loop. The default mode is the IRQ-mode: received CAN messages are processed inside the CAN IRQ-handler.
#define CBL_PROG_MAX 1 |
This symbol defines how many program entries (i.e. number of sub-indices) are supported by the protocol stack. The number of entries is the same for the objects 1F50h, 1F51h, 1F156h and 1F57h. The number of programs is limited to 4.
#define CBL_RAM_BUFFER_SIZE (CBL_SDO_BLOCK * 7) |
Size of RAM buffer for program download.
The symbol defines the number of bytes that are allocated for buffering the program data. Please note that the amount of memory is 2 * CBL_RAM_BUFFER_SIZE, because the downloader switches between two buffers.
#define CBL_SDO_ABORT_CODE 0 |
The symbol defines if the complete range of SDO Abort Codes is supported. A limited number of SDO Abort Codes will generate smaller code.
#define CBL_SDO_BLOCK 120 |
The symbol defines if the SDO Block transfer is supported. A value of 0 denotes that SDO Block transfer is not supported. A value greater 0 denotes the maximum number of blocks that can be transferred between master and slave. The maximum value is 127 blocks.
#define CBL_SDO_BLOCK_RD 0 |
The symbol defines if the Block SDO Read transfer is supported. If Block read is not supported, the code size can be reduced.
#define CBL_SDO_BLOCK_WR 1 |
The symbol defines if the Block SDO Write transfer is supported. If Block write is not supported, the code size can be reduced.
#define CBL_SDO_SEGMENTED_RD 0 |
The symbol defines if the segmented SDO Read transfer is supported. If segmented SDOs are not supported, the code size can be reduced. However, segmented SDOs are required if the data type STRING must be supported with string length greater than 4.
#define CBL_SDO_SEGMENTED_WR 0 |
The symbol defines if the segmented SDO Write transfer is supported. If segmented SDOs are not supported, the code size can be reduced. However, segmented SDOs are required if the data type STRING must be supported with string length greater than 4.
#define CBL_TIMER_PERIOD 1000 |
This symbol defines the period of the timer interrupt. The value is a multiple of 1 microsecond. It is used for timing services. Please set this value to the timer interrupt period of the target system.