Quadcore CPU mit 5 Atmega 328p bauen

Hi! Wir haben uns just4fun eine Quadcore CPU mit 5x Atmega328p gebaut.
Hier die Specs:
Master : 1xAtmega328p@16Mhz(Kommunikatinsschnitstelle/Master) + 1Mbit SPI Eeprom
Slaves: 4xAtmega328p@16Mhz(CPUKerne/Slaves) davon je 1Mbit SPI SRAM (23A1024LC) als cache/zusätzlichen Ram

Zum flashen haben wie auf alle Chips per programmer den Bootloader MightyCore mit UART0 draufgespielt um ihn dann per TTL zu flashen.

Die Verbindung aller Atmegas soll über i2c im fastmode laufen(max. 1.Mbit/s@800khz)

Ziel ist es in erster Linie daraus zu lernen aber auch Spass an dem projekt zu haben.
Ich habe bereits mit i2cSimpleTransfer mit der man ganze Structs zu den slaves hin schicken, verarbeiten und zum master zurück schicken kann herumgespielt aber wirklich weiter gekommen bin ich damit nicht.

Das einzigste Problem.. wie Designe ich die Software und auf und was wird neben einem Scheduler(keinen Plan wie man das umsetzt) noch alles benötigt um daraus eine Quadcorecpu zu machen??

Wäre ja ganz lustig wenn man für das Teil in der IDE Arduino Ide ein Setup mit 4 loops hätte in der man dann sämtliche Arduino Libarys verwenden kann.. :smiley:

Für die Software würde ich ein RTOS nehmen. Damit lassen sich Tasks programmieren, die dann auf die einzelnen Kerne verteilt werden.

I2C is slow. Why not use SPI with 8MHz clock to speed up data transfers?

Wenn überhaupt dann USART im SPI Modus. Ob der gesamte Overhead am Ende etwas bringt werdet ihr herausfinden.