Fehler: L6236E: Nein Abschnitt entspricht Selektor - Nein Abschnitt werden die ERSTE/LETZTE
Ich bin neu ARM
Programmierung mit Keil Microvision V5.12
compiler.
Ich kann nicht kompilieren eine einfache Montage Projekt immer diese Fehlermeldung:
.\Objects\learn.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.
Ich habe versucht, auf der Suche und konnte keine Lösung für dieses problem.
Dies ist, was ich Tue:
- Erstellen Sie ein Projekt (ohne die startup-Datei)
- Fügen Sie eine neue assembly-Datei (lernen.s)
- Klicken Sie auf
Build Target
.
Kann jemand helfen?
InformationsquelleAutor Javid | 2014-11-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es gibt keine 'ERSTE' - Objekt in Ihrem code. Ihre scatter-Datei wahrscheinlich in etwa so aussieht:
Den _FIRST-Objekt, das der linker will, um in dem Bild ist der Bereich genannt RESET. Sie nicht über eine RESET-region in Ihrem code.
Fügen Sie etwas entlang der Linien von
auf die assembly-Datei, wo Sie wollen, die Ausführung zu beginnen.
Erstellen Sie ein Projekt mit der startup-Datei und suchen Sie für den BEREICH ZURÜCKSETZEN ..... Erklärung und Kopie.
Für Cortex sieht es so aus:
Jeder dieser Handler deklariert werden muss, aber Sie können fügen Sie einfach den stack-pointer und reset-handler, um loszulegen.
In C? extern "C" der Wert z.B. extern "C" unsigned int __Vektoren; und dann verwenden Sie es (es wird wahrscheinlich nur gelesen werden, wenn ein echter Gegner)
Nein, nicht C. werfen Sie einen Blick auf diese Frage: stackoverflow.com/questions/27371905/...
InformationsquelleAutor SilverCode
Fügte ich diese Antwort für Neulinge,
So, Nach dem erstellen des neuen Projektes tun wie Bild:
InformationsquelleAutor Prof. Hell
ARM-LPC-startup assembly-Datei Starten.s ist so etwas wie dieses:
BEREICH MyStacks, DATEN, NOINIT, ALIGN=2
IrqStackSpace RAUM IRQ_STACK_LEGTH * 4
FiqStackSpace RAUM FIQ_STACK_LEGTH * 4
AbtStackSpace RAUM ABT_STACK_LEGTH * 4
UndtStackSpace RAUM UND_STACK_LEGTH * 4
bottom_of_heap PLATZ 1
StackUsr PLATZ 1
Nur austauschen funktioniert der trick.
InformationsquelleAutor ARM Coder