ARM SAMC20 Problem mit static Funktion

Gast #6814278
Hallo,
ich habe ein problem mit der im Funktion im Anhang.
Sie wird nur innerhalb eines Moduls genutzt.
Deklariere ich sie als static, werden die folgenden Fehler ausgegeben:

C:\Users\user\AppData\Local\Temp\ccifO1AE.s: Assembler messages:
C:\Users\user\AppData\Local\Temp\ccifO1AE.s(948,1): error: only lo regs 
allowed with immediate -- `mov r8,#4'
C:\Users\user\AppData\Local\Temp\ccifO1AE.s(951,1): error: only lo regs 
allowed with immediate -- `mov r8,#0'
make: *** [common/safety.o] Error 1

Verzichte ich auf static, wird das Programm fehlerfrei übersetzt.
Der Fehler tritt nur bei -O2 und -O3 auf.

Ich benutze das die gcc version 6.3.1 20170620 (release) 
[ARM/embedded-6-branch revision 249437] (Atmel build: 508)



Hat jemand eventuell eine Idee, woran es liegen kann?

Herzlichen Dank,
Simon
Angehängte Dateien:
Gast
Eine Lösung habe ich spontan nicht, aber eine Frage.
Warum macht man sowas? Ist das ein CorTst für einen LIN-Slave der FuSi 
relevant ist?
Bzw. anders herum fällt mir dazu ein das in der Autosar Spezifikation 
nur lapidar drin steht das der Controller-Hersteller sowas zur Verfügung 
stellt und ich weiß das man von Micochip MCAL und ISO 26262 ASIL Library 
bekommen kann, so mit NDA.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 5 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.