Der 32-Bit -ARM SAM3X8E verfügt über 512 KB ROM und 96 KB RAM an Bord. Dies bedeutet, dass, wenn ich eine Binärdatei darauf flashe, die beispielsweise 400 KB groß ist und die zur Laufzeit beispielsweise 80 KB RAM (max.) verbraucht, diese Binärdatei auf diese MCU "passt". Ich wäre jedoch nicht in der Lage, eine 800 KB große Binärdatei auf den Chip zu flashen, noch wäre ich in der Lage, eine Binärdatei auszuführen, die zur Laufzeit 1 MB RAM verbraucht. Macht Sinn.
Dann gibt es den neuesten Raspberry Pi mit einem 32-Bit- ARM A7 mit 1 GB RAM (ich konnte seine ROM-Größe nicht finden). Ich frage mich, welche Art von Voodoo und Zauberei bei diesen ARM-MCUs im RPi im Spiel sind:
Wie auch immer, ich schneide es ab, es passt einfach nicht zusammen oder ergibt für mich keinen Sinn. Wie ist ein ARM-Produkt scheinbar 10.000-mal größer (in Bezug auf die Speicherkapazität) als ein anderes?!?
Der RAM auf dem Raspberry Pi ist von der CPU getrennt. Bei den Originalmodellen befand sich dies in einem Package-on-Package - bei den neueren Modellen ist es unter der CPU auf der anderen Seite der Platine montiert.
Sie werden vielleicht feststellen, dass Sie den SAM3X8E auf die gleiche Weise erweitern könnten - die meisten MCUs haben für solche Dinge eine externe Speicherschnittstelle - suchen Sie im Datenblatt nach EMIF.
Der Grund, warum Sie die ROM-Größe des Raspberry Pi nicht finden können, ist, dass es einen kleinen binären Blob auf der CPU hat, der dann das Booten von Flash unterstützt - wiederum extern und in Form einer Micro-SD-Karte.
Oh, und warum verwendet der Raspberry Pi die CPU, die er verwendet? Eben Upton arbeitet für Broadcom...
Simon Richter