Warum sollte ein Lieferant von CPU- und Wi-Fi-Modulen nicht sowohl Speicher als auch Speicherbus erwähnen?

Heute habe ich Imp gefunden - eine CPU zusammen mit einem Wi-Fi-Modul mit einer Antenne inklusive und das alles in der Größe einer SD-Karte verpackt. Die Spezifikation sagt nichts über Speicher aus und erwähnt keinen Speicherbus.

Ich dachte immer, dass die Speichermenge für ein eingebettetes System sehr wichtig ist. Okay, vielleicht ist kein Speicher eingebaut, aber dann müsste der Benutzer seinen eigenen Speicher hinzufügen, und das würde einen Speicherbus erfordern, und die Speicherbusspezifikation wäre auch wichtig, weil sie beeinflussen würde, welcher Speicher verwendet werden kann und wie schnell er wäre arbeiten. Beides wird jedoch nicht erwähnt.

Warum sollte der Anbieter in einer solchen Modulbeschreibung nicht sowohl Speicher als auch Speicherbus erwähnen?

Eigentlich geben sie überhaupt keine harten technischen Spezifikationen an - es gibt keine Teilenummern oder echte quantitative Statistiken, außer für die E / A und den Kerntyp. Dies ist eine Teaser-Seite, und wenn Sie wirklich interessiert sind (und vielleicht sogar einige Anforderungen erfüllen), können sie Ihnen weitere Informationen zusenden.
Ja, es ist ein bisschen marketinglastig und kurz an Details. Aber wenn es zu kurz kommt oder Sie entscheiden, dass Sie nicht gerne auf ihrem Server entwickeln, können Sie es immer als WLAN-Zugangsgerät für das leistungsstarke billige Mikro Ihrer Wahl verwenden. Sie verkaufen sogar ein Arduino-Workalike, das es als serielle Schnittstelle verwendet.
Ehrlich gesagt würde ich es vermeiden, Produkte von Unternehmen zu kaufen, die anscheinend noch nie etwas von Datenblättern gehört haben. Es ist möglich, dass Sie sie auf Anfrage erhalten (hoffentlich!), Aber sie sollten da sein. Wenn sie sich so wenig um potenzielle Kunden kümmern, wie glauben Sie, werden sie Ihnen dienen, nachdem Sie es gekauft haben, und sie haben, was sie brauchen: Ihr Geld.

Antworten (2)

Es verwendet einen ARM Cortex-M3-Mikrocontroller mit On-Chip-Flash-Speicher und RAM, ohne dass ein externer Speicher erforderlich ist.

Bedeutet dies, dass mir die bloße Erwähnung von Cortex M3 automatisch die genaue Speichermenge mitteilt?
Nein. ARM liefert nur die Kern-IP an Hersteller des M3, wie NXP und ST, und die Menge an Speicher, I/O und Peripheriegeräten ist ihnen überlassen.
Okay, da sie einen tatsächlichen Chip verwenden, der von einer dieser Firmen hergestellt wurde, habe ich keine Ahnung, wie viel Speicher er hat, es sei denn, sie geben es an.

Ich ging durch die Website des OEM . IMO, sie beabsichtigen nicht, den Endbenutzer den Controller in dem Sinne umprogrammieren zu lassen, in dem er seinen eigenen C/C++-Code schreiben und ihn über JTAG herunterladen würde. Der Endbenutzer soll eine höhere (interpretierte?) Sprache und einen von ihm bereitgestellten grafischen Planer verwenden. Sie denken wahrscheinlich, dass Programme klein sein werden, und geben deshalb nicht die Größe des Speichers an und wie viel Speicher von ihrem eigenen Code verbraucht wird.

FCC und Kosten können die treibenden Kräfte hinter einer solchen Architektur sein. Wenn der OEM einem Drittanbieter vollen Zugriff auf den Controller gewährt, der den Stack ausführt, kann der Drittanbieter die Funkeinstellungen ändern (versehentlich oder absichtlich). Die FCC müsste das Gerät erneut zertifizieren.

Natürlich gibt es eine andere gängige Architektur mit 2 separaten Controllern. Ein Controller (auf den nur OEM zugreifen kann) führt den Wi-Fi-Stack aus. Ein anderer Controller ist für Dritte vollständig zugänglich. Eine solche Architektur würde keine erneute FCC-Zertifizierung erfordern. Aber die Kosten für einen anderen Controller kommen hinzu.

Das Hacken dieses Moduls wäre eine andere Geschichte. Die Modellnummer steht möglicherweise auf dem Controller-Chip im Inneren. Eventuell kann man die Parameter (Speicher etc.) im Datenblatt nachschlagen. Möglicherweise hinterlassen sie die JTAG-Pads, die einem Zugriff auf den Controller ermöglichen könnten (auf eigene Gefahr). Sie werden ihren Wi-Fi-Stack wahrscheinlich nicht zur Verfügung stellen (zumindest nicht für die breite Öffentlichkeit). Das Finden oder Erstellen des Wi-Fi-Stacks kann eine Herausforderung sein.

Ein weiterer Grund, warum der Hersteller möglicherweise keine Spezifikationen für den Controller selbst bereitstellt, ist, dass er möglicherweise ein externes Speichergerät (serielles Flash oder EEPROM) verwendet, um die Benutzeranwendungslogik zu speichern. Die Größe des Flash-Speichers im Controller selbst wäre für den Endbenutzer nicht relevant; die für Benutzerprogramme verfügbare RAM-Größe wäre relevant, aber es muss nicht immer eine „harte“ Zahl sein. Der WiFi-Stapel kann möglicherweise die Größe seiner Puffer nach Bedarf anpassen, um unterschiedliche Benutzerprogrammanforderungen zu erfüllen. Ich bin mir nicht sicher, was ein Hersteller angeben sollte, wenn ...
...ein Modul mit insgesamt 4 KB RAM würde 0,5 KB für Non-Buffer-Overhead und standardmäßig 3 KB zum Puffern verwenden, aber es könnte seine Puffer bei Bedarf auf 1 KB reduzieren, was zu Leistungseinbußen führt. Wäre der "vom Benutzer verfügbare RAM" 0,5 KB oder 2,5 KB?