Можно соединить ведущее устройство XCP с ведомым модулем с помощью протокола CAN. Это позволяет вам использовать события и измерения доступа на ведомом модуле.
В этом примере показано, как создать связь канала CAN XCP и свойства канала доступа. Пример также показывает, как разблокировать ведомое устройство с помощью ключевой безопасности seed.
Доступ к файлу A2L, который описывает ведомый модуль.
a2lfile = xcpA2L('C:\work\XCPSIM.a2l')
a2lfile = A2L with properties: FileName: 'XCPSIM.a2l' FilePath: 'C:\work\XCPSIM.a2l' SlaveName: 'CPP' ProtocolLayerInfo: [1x1 struct] DAQInfo: [1x1 struct] TransportLayerCANInfo: [1x1 struct] Events: {1x6 cell} Measurements: {1x38 cell}
Создайте канал XCP с помощью Векторного виртуального канала CAN 1.
xcpch = xcpChannel(a2lfile, 'CAN', 'Vector', 'Virtual 1', 1)
xcpch = Channel with properties: SlaveName: 'CPP' A2LFileName: 'XCPSIM.a2l' TransportLayer: 'CAN' TransportLayerDevice: [1x1 struct] SeedKeyDLL: []
В этом примере показано, как сконфигурировать канал, чтобы разблокировать ведомое устройство с помощью dll, который содержит seed и ключевой алгоритм безопасности, когда модуль заблокирован для операций Stimulation.
Создайте свой канал XCP и установите канал SeedKeyDLL
свойство.
xcpch.SeedKeyDLL = ('C:\Work\SeedNKeyXcp.dll')
xcpch = Channel with properties: SlaveName: 'CPP' A2LFileName: 'XCPSIM.a2l' TransportLayer: 'CAN' TransportLayerDevice: [1x1 struct] SeedKeyDLL: 'C:\Work\SeedNKeyXcp.dll'