noodzaak níos II IDE helpen!

W

wichayen

Guest
Nu ben ik met behulp van níos II.Ik heb probleem register toegang.zie hieronder

# define LED (* (vluchtige unsigned int *) (GPIO_LED_BASE 0 x0))

int main (void)
(
LED = 1; <- deze regel is niet het werk (lijn 1)
IOWR = 32DIRECT (GPIO_LED_BASE, 0, 1); <- deze regel is het werk (lijn 2)
return 0;
)

LED = 1; deze lijn is geen werk.de assambly code van lijn 1 en 2 is hetzelfde, maar Lijn1 is niet uitgevoerd.Ik heb al proberen te bebug, alleen regel2 is werk.

can any one help me op te lossen probleem is?

 
hoi,
Ik heb niet het hebben de IDE geïnstalleerd, maar ...

Wat betekent dat het niet werkt?don't you get desidered het resultaat?
of ID niet correct compileren?

indien hij verzamelt, kan je na de disassambled in de twee gevallen heb je show?
probeer wat de compiler doet kan zeker helpen.B.

 
Mijn vriend,

U bent Westing uw tijd met deze code.It vervangt alleen de macro met de basis-adres van de GPIO.Define uw GPIO met enkele pointer variabele en vervolgens probeert te schrijven. @ Ltera voorwaarde IOWR / IORD instructie zijn het best te gebruiken.

HTH

 
nu, i just found some probleem.hieronder is de disassambled resultatenLED = 1; <- deze regel is niet het werk (lijn 1)
0x04000224 <main 20>: movhi r3, 2048
0x04000228 <main 24>: extra r3, r3, 6144
0x0400022c <main 28>: movi r2, 1
0x04000230 <main 32>: STW r2, 0 (R3) *******

IOWR = 32DIRECT (GPIO_LED_BASE, 0, 1); <- deze regel is het werk (lijn 2)
0x04000234 <main 36>: movhi r3, 2048
0x04000238 <main 40>: extra r3, r3, 6144
0x0400023c <main 44>: movi r2, 1
0x04000240 <main 48>: stwio r2, 0 (R3) *******

Ik vond dat als we bouwen níos met omvatten kasgegevens geheugen (kan config door SOPC bluider) de compiler compileert Lijn1 met "STW" maar regel2 is "stwio".

ik lees in níos processor referentie.zeiden ze
"Data transfers voor I / O-randapparatuur moet gebruiken ldwio en stwio."

ja, kan iemand een idee om compiler te compileren Lijn1 te gebruiken "stwio"?

 
De macro IORD breidt uit naar de ldwio instructie en de macro IOWR breidt uit naar de stwio instructie.
Deze macro's moeten worden gebruikt door HAL device drivers voor toegang tot apparaat registers.
Al deze macro bypass de gegevens cache wanneer
zij voeren hun werking.
Natuurlijk is het bouwen van een systeem zonder cache, de twee voorbeelden zich op dezelfde manier.
U
hebt zojuist een voorbeeld van niet draagbare uitvoering!
Ik weet het niet, waarschijnlijk moet er een manier om de werking in de C-cache omzeilen, maar ik zou aanraden om de IORD een IOWR instructie plaats.

B.

 

Welcome to EDABoard.com

Sponsor

Back
Top