Wieso wird nicht in die Funktion gesprungen?

Gast #2743220
Hallo Zusammen

Alsooooo ich habe eine Funktion in der main:
1
void EnterSleepMode( uint8_t ucType )
2
{
3
    PMC->PMC_FSMR &= (uint32_t)~PMC_FSMR_LPM ;
4
    SCB->SCR &= (uint32_t)~SCB_SCR_SLEEPDEEP_Msk ;
5

6
    if ( ucType == 0 )
7
    {
8
        __WFI() ;
9
    }
10
    else
11
    {
12
        __WFE() ;
13
    }
14
}
Und hier drin die __WFI() die ist in core_cm3.h so definiert:
static __INLINE  void __WFI( void )               { __ASM ("wfi"); }
static __INLINE  void __WFE( void )               { __ASM ("wfe"); }

Wenn ich jetzt im DebugModus bei der Funktion bin und reinspringen 
möchte springt es nicht rein. In einer DemoApplikation sprint der 
Debugger aber rein. Was mache ich hier falsch? core_cm3.h wird nicht 
direkt in main included sondern indirekt über andere includes. Könnte 
das der Grund sein obwohl ich es auch direkt includen probiert habe.
Gast #2743552
Stefan++ schrieb:
> Hallo,
>
> wie soll das
>> reinspringen
> bei einer inline-Funktion die genau aus einer Assembleranweisung besteht
> aussehen ???
>
> Was erwartest Du ???

Das es diese inline Funktion ausführt... also sich schlafen legt.
Dies funktioniert in der DemoApplikation, bei mir jedoch nicht...
#2743556
ibo schrieb:
> Stefan++ schrieb:
>> Hallo,
>>
>> wie soll das
>>> reinspringen
>> bei einer inline-Funktion die genau aus einer Assembleranweisung besteht
>> aussehen ???
>>
>> Was erwartest Du ???
>
> Das es diese inline Funktion ausführt... also sich schlafen legt.
> Dies funktioniert in der DemoApplikation, bei mir jedoch nicht...

Dissassembler aktivieren...dann siehst du was er macht.
Gast #2743580
Ich habe den Grund glaube ich: Undzwar bin ich im DebugModus mit 
GoToDefinition in einem von IAR bereitgestellten intrinsics.h datei 
gelandet.
GoToDefinition sprngt zu:
__ATTRIBUTES void __WFE( void );
__ATTRIBUTES void __WFI( void );

Obwohl __WFE und __WFI in core_cm3.h wie weiter oben schon gepostet ist 
deklariert ist. Wie löse ich das jetzt?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 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.