Is it possible to upgrade a SoC on an old Duet 0.6
-
So I got this strange idea that I could probably replace Atmel SAM3X8E with SAM4E8EB-AN 144LQFP SoC which are pin to pin compatible, to be able to run the newest RRF v3 instead of an outdated and not supported anymore RRF 1.26.1 with DWC 2.07.
The reason was this sentence "version 2 uses FreeRTOS, and the additional memory requirement makes it difficult to fit both RTOS and LWIP network support into the 96Kb RAM limit of the SAM3X8E"
And so I decided to find a compatible SoC which turned out to be exactly the one that is installed on a Duet 2.Reference:
SAM3X8E 84MHz ARM Cortex-M3 84MHz, 512KB flash (2x256KB), 96KB SRAM (64KB+32KB)
ATSAM4E8EB-AN ARM Cortex-M4 120MHz, 2KB cache, 512KB flash, 128KB SRAM, 16KB ROM- Will I be able to flash the RRF 3.0 using a Duet2and3Firmware-3.0.zip file from the Github repository here?
- Should I follow "Updating from RRF 1.X or 2.x" procedure or "Updating with firmware erase" with BOSSA or SAM-BA? I assume the latter one as the SoC is new and has no firmware.
- Do I need an 'iap4e.bin' (for Duet 2 WiFi/Ethernet) or 'iap4s.bin' (for Duet 2 Maestro) file?
- Will it work "out if the box" with the standard configuration tool if I succeed with a firmware upgrade?
-
@Alex4430 will it work ‘out of the box’? I doubt it. You need to look what each pin is connected to, and I would imagine the pin out is entirely different between 0.6 and Duet 2. Then there’s the problem of talking to the stepper drivers; Duet 2 expects Trinamic drivers, but the Duet 0.6 has A4988 drivers.
At the very least it will take some firmware hacking. It may be impossible.
Ian
-
@Alex4430 as @droftarts says, it won't work out of the box because of differences in the stepper driver hardware. Also, Duet 0.6 used a direct Ethernet connection whereas Duet WiFi used either a WiFi module or an add-on Ethernet module.
If the SAM4E8E really is pin-compatible with the SAM3X8E then it would probably be possible to get RRF working on it, but at the very least you would need to construct a new pin table file for it and recompile. You might have to disable some features to free up sufficient flash memory for the networking code, or alternatively use the SAM4E16 which has more flash memory.
-
@droftarts @dc42 thank you for your answers, I'll try to sort it out. Sadly I have ordered the ICs first and then started to ask questions. For some reason I thought it should be an easy swap. Just as easy as swapping stepper drivers with klipper. So I'm currently limited to 512KB.
-
@Alex4430 maybe you were thinking of the olden days, when you could swap an 8-bit ATMEGA 644P for a 1280 or 2560 without much hassle?! Unfortunately these 32-bit ARM chips are quite different.
Ian
-
@droftarts Still, the enthusiasm is to be admired!
I am missing the old vacuum tubes TV sets, hehe... -
@soare0 said in Is it possible to upgrade a SoC on an old Duet 0.6:
Still, the enthusiasm is to be admired!
Oh yes, very much so!
Ian