![NXP Semiconductors LPC43Sxx Скачать руководство пользователя страница 33](http://html1.mh-extra.com/html/nxp-semiconductors/lpc43sxx/lpc43sxx_user-manual_1721827033.webp)
UM10503
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2015. All rights reserved.
User manual
Rev. 2.1 — 10 December 2015
33 of 1441
NXP Semiconductors
UM10503
Chapter 2: LPC43xx/LPC43Sxx Multi-Core configuration and
2.5.3 Example
Assume that a certain task with ID 0x1234 should be executed by the ARM Cortex-M0.
For example, read data from a register level interface controlled by the ARM Cortex-M0.
Text in <>brackets indicates a register.
The registers can either be located in the ARM Cortex-M0 SRAM, for more deterministic
access times, or in shared SRAM. If the ARM Cortex-M0 SRAM is used, then the register
data needs to be copied at initialization time. This copying takes time. The ARM
Cortex-M4 can poll a status register to determine when the transfer has finished.
The ARM Cortex-M4 initializes the command and message queues by loading the start-
and end addresses and write and read pointers.
Then the ARM Cortex-M4 loads the register values in a reserved area in common SRAM
memory. An alternative approach is that the ARM Cortex-M4 writes register per register.
However, this requires more communication overhead than loading all data in one go.
Once all data has been set up, the ARM Cortex-M0 task can be started.
Table 9.
IPC example
Command
Message
Byte values
Description
1
CMD_WR
0x<rst>11234, pointer
Command to initialize
the task, the pointer
informs the ARM
Cortex-M0 of the
location of the register
values.
The ARM Cortex-M0 processes the registers
2
MSG_WR_STS
0x<rst>21234
ARM Cortex-M0 signals
write data has been
processed
3
MSR_SRV
0x<serve>001234
ARM Cortex-M0
requests service, e.g.
because data has been
captured and is
available
4
CMD_RD
0x<status>11234
ARM Cortex-M4 read
status
5
MSG_RD,VALUE
0x<status>11234, VALUE
ARM Cortex-M0
responds with status
Depending on the status the ARM Cortex-M4 may decide to read more data
6
CMD_RD
0x<result>1234,1
ARM Cortex-M4 reads
result
7
MSG_RD,VALUE
0x<result>11234, pointer
ARM Cortex-M0
responds with pointer to
results.
:
:
:
:
:
n
CMD_WR
0x<stop>11234, value
Command to stop the
task
n+1
MSG_WR_STS
0x<stop>21234
ARM Cortex-M0 signals
stop has been
processed