CANopen Bootloader Documentation
Version 4.10.00
|
This module implements the variables for the CANopen Bootloader objects. The following table shows the variable assignment.
Index | Description | Function / Variable | Configuration Symbol |
---|---|---|---|
1000h | Device type | ulIdx1000_DeviceTypeG | - |
1001h | Error register | ubIdx1001_ErrorRegisterG | - |
1002h | Manufacturer status register | ulIdx1002_StatusRegisterG | - |
1008h | Manufacturer device name | aubIdx1008_DeviceNameG | CBL_DICT_OBJ_1008 |
1009h | Manufacturer hardware version | aubIdx1009_HwVersionG | CBL_DICT_OBJ_1009 |
100Ah | Manufacturer software version | aubIdx100A_SwVersionG | CBL_DICT_OBJ_100A |
1018:01h | Vendor ID | ulIdx1018_VendorIdG | - |
1018:02h | Product code | ulIdx1018_ProductCodeG | - |
1018:03h | Revision number | ulIdx1018_RevisionNumG | - |
1F51h | Program control | aubIdx1F51_ControlG[] | - |
1F56h | Application software identification | aulIdx1F56_SoftIdentG[] | CBL_PROG_MAX |
1F57h | Flash status identification | aulIdx1F57_FlashStatusG[] | CBL_PROG_MAX |
Variables | |
uint32_t | ulIdx1000_DeviceTypeG |
uint8_t | ubIdx1001_ErrorRegisterG |
uint32_t | ulIdx1002_StatusRegisterG |
uint8_t | aubIdx1008_DeviceNameG [] |
uint8_t | aubIdx1009_HwVersionG [] |
uint8_t | aubIdx100A_SwVersionG [] |
uint32_t | ulIdx1018_VendorIdG |
uint32_t | ulIdx1018_ProductCodeG |
uint32_t | ulIdx1018_RevisionNumG |
uint8_t | aubIdx1F51_ControlG [] |
uint32_t | aulIdx1F56_SoftIdentG [] |
uint32_t | aulIdx1F57_FlashStatusG [] |
|
extern |
Manufacturer device name - index 1008h
The variable aubIdx1008_DeviceNameG
holds the Manufacturer device name. If the string length is limited to 4 characters, the SDO segmented read transfer (CBL_SDO_SEGMENTED_RD) can be disabled. The object is only available if the configuration symbol CBL_DICT_OBJ_1008 is set to 1.
An example for setting this value is located in the file cbl_user.c
|
extern |
Manufacturer hardware version - index 1009h
The variable aubIdx1009_HwVersionG
holds the Manufacturer hardware version of the device. If the string length is limited to 4 characters, the SDO segmented read transfer (CBL_SDO_SEGMENTED_RD) can be disabled. The object is only available if the configuration symbol CBL_DICT_OBJ_1009 is set to 1.
An example for setting this value is located in the file cbl_user.c
|
extern |
Manufacturer software version - index 100Ah
The variable aubIdx100A_SwVersionG
holds the Manufacturer software version of the device. If the string length is limited to 4 characters, the SDO segmented read transfer (CBL_SDO_SEGMENTED_RD) can be disabled. The object is only available if the configuration symbol CBL_DICT_OBJ_100A is set to 1.
An example for setting this value is located in the file cbl_user.c
|
extern |
Program control - index 1F51:0xh
This object shall be used for the control of the programs downloaded to the CANopen device (object 1F50h – program data). Possible values for this object are listed in the CblProgControl_e enumeration.
|
extern |
Program software identification - index 1F56:0xh
If a CANopen device supports program software download, a network configuration tool or a CANopen manager may use this object to verify the version of the program software after a CANopen device reset and to check if a re-download is necessary.
The CANopen device shall calculate a unique identification per program software, which it returns by access on the corresponding sub-index of 1F56h program software identification. The calculation method is implementation specific - it may be a checksum over the Flash page or a build number of the hex file or any other manufacturer-specific method. The CANopen Bootloader protocol stack provides the function CblMgrBufferCrc() for that purpose.
The CANopen device shall ensure that on flashing of the same program the same identification will result. If no valid Flash content / program software is available, the program software identification shall be 0. A valid program software shall not have the identification 0.
|
extern |
Flash status identification - index 1F57:0xh
On start of download of a new program to object 1F50:0xh Program Data the Flash status indication in 1F57:0xh with the same sub-index shall be set to eCBL_FLASH_STATUS_PROGRESS. On successful completion of the Flashing process the Flash status indication shall be set to eCBL_FLASH_STATUS_OK. If an error occurs, bit 0 shall be set to 0 and bits 1 to 7 shall contain the error reason (see enumeration CblFlashFail_e) , bits 8 to 15 shall be 0 and bits 16 to 31 may be set manufacturer-specific.
An example for setting this value is located in the file cbl_user.c
, also refer to the Flash Programming section.
|
extern |
Error register - index 1001h
The variable ubIdx1001_ErrorRegisterG
holds the error status of the device. It must be set by the application program. Possible values are listed in the enumeration CoErrReg_e.
|
extern |
Device type - index 1008h
The variable ulIdx1000_DeviceTypeG
holds the device profile number. If the CANopen device does not support a standard profile (i.e. the CANopen Bootloader is not a device profile), the value must be set to zero (0x00000000).
An example for setting this value is located in the file cbl_user.c
|
extern |
Manufacturer status register - index 1002h
The variable ulIdx1002_StatusRegisterG
holds a manufacturer specific value (32 bit). It must be set by the application program.
|
extern |
Identity object - product code - index 1018:02h
The value ulIdx1018_ProductCodeG
identifies a specific device version.
An example for setting this value is located in the file cbl_user.c
|
extern |
Identity object - revision number - index 1018:03h
The value ulIdx1018_RevisionNumC
consists of a major revision number and a minor revision number. The major revision number identifies a specific CANopen behaviour. If the CANopen functionality is expanded, the major revision has to be incremented. The minor revision number identifies different versions with the same CANopen behaviour.
An example for setting this value is located in the file cbl_user.c
|
extern |
Identity object - vendor ID - index 1018:01h
The value ulIdx1018_VendorIdC
holds the CANopen vendor ID. The vendor ID is assigned by the CiA office.
An example for setting this value is located in the file cbl_user.c