2016-06-19 12 views
1

Ich bin mit dem Kortex zu kämpfen, zu wählen. Derzeit habe ich einen Design-Typ, der mir eine M0 mit Speicher für die erste Entwicklung geben wird, aber ich möchte M0 + schließlich verwenden. Angenommen, ich gebe die optionalen Funktionen des M0 + (MPU und MTB) auf, kann ich den M0-Code ohne Änderungen an den M0 + übertragen?Cortex M0 vs M0 + Programmierung Perspektive

Ich meine, sind es die gleichen Bibliotheken? gleiche Build-Befehle? Linker? Welche Unterschiede sollte ich beachten? Ich weiß, dass sie die gleiche ISA haben, also dachte ich, es sollte kein Problem sein.

Danke.

+0

Vergessen zu erwähnen, dass ich den ARM-Compiler mit Eingabeaufforderung über Windows 7 verwenden möchte, aber Vorschläge sind willkommen (außer mit Linux, es ist nicht meine Entscheidung). – DrorNohi

+0

Mit welcher Hardware sind wir hier beschäftigt? Sprechen wir darüber, den CPU-Kern in der RTL eines Silizium/FPGA-Designs buchstäblich zu ändern oder eine Cortex-M0-basierte MCU für eine andere Cortex-M0 + -basierte MCU in einem Board/System-Design zu tauschen? – Notlikethat

+0

Der Kern ist ein kleiner Teil davon, die Peripheriegeräte und andere Chip-Elemente repräsentieren den Großteil des Codes. Wenn sie nicht kompatibel sind, dann ist es ein No-Go (ohne Abstraktionsschicht und Chip spezifisch darunter). –

Antwort

1

Wenn Sie nur M0 gegen M0 + und nicht die Systemperipherie betrachten, sollte der gesamte für Cortex-M0 kompilierte Code auf einer Cortex-M0 + -Plattform funktionieren. Sie verwenden den gleichen Befehlssatz und das gleiche Programmiermodell.

Die Hauptunterschiede sind MPU und MTB, aber auch die Tatsache, dass Cortex-M0 keine Benutzermodus-Unterstützung hat (Der gesamte Code läuft in privilegierten, dh CONTROL.nPRIV kann nicht 1 sein).

+0

Das ist eigentlich die Antwort, nach der ich gesucht habe. Danke! – DrorNohi