Skip to content

Commit e4a2483

Browse files
committed
Update giga-dual-core.md
1 parent 57f5dc4 commit e4a2483

File tree

1 file changed

+21
-1
lines changed
  • content/hardware/10.mega/boards/giga-r1-wifi/tutorials/giga-dual-core

1 file changed

+21
-1
lines changed

content/hardware/10.mega/boards/giga-r1-wifi/tutorials/giga-dual-core/giga-dual-core.md

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,27 @@ The M4 does **not** support:
5858

5959
### Boot / Disable M4
6060

61-
The M4 core can be either be booted or disabled
61+
The M4 core is by manufacturing default, disabled when booting the board. The M4 core can however be booted by using the `RPC.begin()` command, which includes also boots the M4 core. See the [RPC.cpp source file](https://github.com/arduino/ArduinoCore-mbed/blob/main/libraries/RPC/src/RPC.cpp#L122-L140) for more details.
62+
63+
### Boot / Disable M7
64+
65+
The M7 is booted by default and there is currently **no option to disable** this core.
66+
67+
### Peripheral Interference
68+
69+
When booting the M4, the M4 will execute the sketch that has been uploaded to its flash memory. It is a good idea to track what type of code you are running on the M4, as you may create interference between different peripherals. If you run simply a blank sketch on the M4, it should **not** create any interference.
70+
71+
An example of this is if you use the `CAN` library. If you are running a CAN application on the **M7**, you will disrupt it if you enable it on the **M4**. The dual core feature is not intended for using the same peripheral, bus etc.
72+
73+
***Tip: name your sketches with a `_M4` and `_M7` suffix/prefix, and create an initialization sequence. E.g. blink the blue LED three times whenever the M4 boots up.***
74+
75+
## Pin Priority
76+
77+
As the M7 and M4 core share their pins, which one gets priority to the pin? It can be assumed that as the M7 is the more powerful core, it gets first access.
78+
79+
This is however **not true** as pin priority is random. If both cores tries to access the same pin (e.g. `D27`), it is simply random who gets access.
80+
81+
***When developing dual core applications, it is a good idea avoiding using the same pins & peripheral for many reasons.***
6282

6383
## Programming M4/M7
6484

0 commit comments

Comments
 (0)