Datasheet

UM10398 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2014. All rights reserved.
User manual Rev. 12.3 — 10 June 2014 438 of 547
NXP Semiconductors
UM10398
Chapter 26: LPC111x/LPC11Cxx Flash programming firmware
26.6.16 Differences to fully-compliant CANopen
While the bootloader uses the SDO communication protocol and the Object Dictionary
data organization method, it is not a fully CiA 301 standard compliant CANopen node.The
following features are not available or different to the standard:
Network Management (NMT) message processing not available.
Heartbeat message and entry 0x1017 not available.
Uses proprietary SDO abort codes to indicate device errors.
To speed up communication, “empty” SDO responses during SDO segmented
download/write to the node are shortened to one data byte, rather than full eight data
bytes as the standard describes.
Entry [0x1018, 1] Vendor ID reads 0x0000 0000 rather than an official CiA-assigned
unique Vendor ID.
The host must use a different method to identify the CAN ISP devices.
26.7 IAP commands
For in application programming the IAP routine should be called with a word pointer in
register r0 pointing to memory (RAM) containing command code and parameters. Result
of the IAP command is returned in the result table pointed to by register r1. The user can
reuse the command table for result by passing the same pointer in registers r0 and r1. The
parameter table should be big enough to hold all the results in case the number of results
Table 394. C_CAN ISP SDO abort codes
UART ISP Error Code SDO Abort Code Value
ADDR_ERROR SDOABORT_ADDR_ERROR 0x0F00 000D
ADDR_NOT_MAPPED SDOABORT_ADDR_ NOT_MAPPED 0x0F00 000E
CMD_LOCKED SDOABORT_CMD_LOCKED 0x0F00 000F
CODE_READ_PROTECTION_
ENABLED
SDOABORT_CODE_READ
_PROTECTION_ENABLED
0x0F00 0013
COMPARE_ERROR SDOABORT_COMPARE_ERROR 0x0F00 000A
COUNT_ERROR SDOABORT_COUNT_ERROR 0x0F00 0006
DST_ADDR_ERROR SDOABORT_DST_ADDR_ERROR 0x0F00 0003
DST_ADDR_NOT_MAPPED SDOABORT_DST_ADDR_
NOT_MAPPED
0x0F00 0005
INVALID_CODE SDOABORT_INVALID_CODE 0x0F00 0010
INVALID_COMMAND SDOABORT_INVALID_COMMAND 0x0F00 0001
INVALID_SECTOR SDOABORT_INVALID_SECTOR 0x0F00 0007
PARAM_ERROR SDOABORT_PARAM_ERROR 0x0F00 000C
SECTOR_NOT_BLANK SDOABORT_SECTOR_ NOT_BLANK 0x0F00 0008
SECTOR_NOT_PREPARED_
FOR_WRITE_OPERATION
SDOABORT_SECTOR_NOT_
PREPARED_FOR_WRITE_
OPERATION
0x0F00 0009
SRC_ADDR_ERROR SDOABORT_SRC_ADDR_ERROR 0x0F00 0002
SRC_ADDR_NOT_MAPPED SDOABORT_SRC_ADDR_
NOT_MAPPED
0x0F00 0004