Wie kann ich C-Code in einer bestimmten Hardwareeinstellung ausführen?

Ich schreibe Gesichtserkennung auf Matlab und konvertierte in c zur Verwendung auf mcu (STM32F4)

Jetzt möchte ich wissen, dass der Code auf dieser Art von MCU ausgeführt werden kann

Gibt es ein Tool oder etwas, um dies zu testen?

Versuchen Sie ARM-Keil ...
Sie haben bereits eine ähnliche, aber etwas ausführlichere Frage zu StackOverflow gestellt . Bitte keine Cross-Posting-Fragen stellen. Es ist nicht klar, was und wie Sie konvertiert haben. Es ist fast sicher, dass ein Code, der für die Ausführung auf x86 konvertiert wurde, nicht auf STM32 ausgeführt werden kann
Ich bin mir nicht sicher, was Sie mit der Frage meinen. C-Code wird im Allgemeinen auf jeder Plattform ausgeführt, für die es einen C-Compiler gibt. Interessiert Sie, ob der Code überhaupt läuft (evtl. durch RAM eingeschränkt) oder ob die Performance ausreicht?
Sie benötigen einen C-Compiler, der stm32F4 unterstützt, und einen stm32f4. Die Compiler sind normalerweise kostenlos, und es gibt Entwicklungsboards mit diesen Mikrocontrollern, die im Bereich von 15 bis 25 US-Dollar (USD) erhältlich sind.
@Frog Ich möchte wissen, ob der Arbeitsspeicher ausreicht, um den kompilierten Code auszuführen oder nicht
Wenn Sie mit dem richtigen Compiler kompilieren, sollte dieser Ihnen mitteilen, wie viel RAM Sie benötigen. Sie können nachschlagen, wie viel RAM der Mikrocontroller hat, oder einen mit genügend RAM kaufen
Bei eingebetteten Programmen funktioniert das nicht. Sie kennen Ihre Speichergröße und legen die Speicherzuordnung so fest, dass sie verschiedene Abschnitte des Programms in Form eines Linker-Skripts enthält. Wenn Sie es mit diesem Skript kompilieren und verknüpfen, werden Sie möglicherweise darauf hingewiesen, dass bestimmte Abschnitte nicht in ihre dedizierten Grenzen passen. Natürlich bieten Anbieter manchmal eine vollständige Entwicklungsumgebung an, die diese Details verbirgt.
@ScottSeidman welcher Compiler zeigt den benötigten RAM an?
Ich bin mir ziemlich sicher, dass jeder Compiler für einen eingebetteten Mikrocontroller, den ich jemals verwendet habe, auch wenn er nur einen Fehler ausgeben kann, wenn Sie den Arbeitsspeicher des Zielmikroprozessors überschreiten.

Antworten (2)

Zuerst sollten Sie den Code für STM32F4 kompilieren (mit STM32cubeide oder Keil oder IAR Embedded Workbench ) und danach können Sie Proteus zur Simulation verwenden.

Ich persönlich habe die Proteus-Simulation für STM32F4 nicht ausprobiert, aber sie sind im Abschnitt „Pick Device“ von Proteus verfügbar.

Gerät auswählen

Sie benötigen einen C-Compiler, der stm32F4 unterstützt, und einen stm32f4. Die Compiler sind normalerweise kostenlos, und es gibt Entwicklungsboards mit diesen Mikrocontrollern, die im Bereich von 15 bis 25 US-Dollar (USD) erhältlich sind.

Wenn Sie von der Position ausgehen, dass Sie noch nie zuvor eines dieser Tools verwendet haben, müssen Sie wahrscheinlich etwa 20 bis 40 Stunden hart arbeiten, um die Umgebung einzurichten und zu lernen, wie man sie verwendet.

Sie sind wahrscheinlich besser dran, einen Einplatinencomputer wie den Raspberry Pi oder einen besseren Konkurrenten zu verwenden, da Ihr Code wahrscheinlicher funktioniert (aus vielen Gründen).

Eine bessere Antwort müsste von jemandem kommen, der mit den Matlab-Tools vertraut ist, mit denen Sie Ihren Code in c konvertiert haben. Die Tools, die mir für diesen Zweck bekannt sind, sind nicht auf Mikrocontroller ausgerichtet, aber ich hinke der Zeit hinterher.