necessità nios II IDE aiuto!

W

wichayen

Guest
ora sto usando nios II.Ho problema registro accesso.si prega di vedere di seguito

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

int main (void)
(
LED = 1; <- questa linea non è il lavoro (linea 1)
IOWR = 32DIRECT (GPIO_LED_BASE, 0, 1); <- questo è il lavoro (linea 2)
return 0;
)

LED = 1; questa linea non è lavoro.assambly il codice di linea 1 e 2 è lo stesso, ma line1 non viene eseguito.Ho già provi a bebug, line2 è solo lavoro.

uno può aiutarmi a risolvere i problema è?

 
salve,
Io non l'hanno installato l'IDE, ma ...

Che cosa significa non funziona?non è possibile ottenere la desiderata risultato?
o id non compila correttamente?

se si compila, potrebbe pubblicare il disassambled in due casi si mostrano?
cercando ciò che sta facendo il compilatore potrebbe certamente di aiuto.B.

 
Il mio amico,

Sei westing il vostro tempo con questo code.It solo sostituisce la macro di base, con l'indirizzo del tuo GPIO.Define puntatore GPIO con alcune variabili e quindi provare a scrivere. @ Ltera condizione IOWR / Lord istruzioni sono migliori per l'uso.

HTH

 
adesso, ho appena trovato qualche problema.qui di seguito è il disassambled risultatiLED = 1; <- questa linea non è il lavoro (linea 1)
0x04000224 <main 20>: movhi r3, 2048
0x04000228 <main 24>: addi r3, r3, 6144
0x0400022c <main 28>: movi r2, 1
0x04000230 <main 32>: STW R2, 0 (R3) *******

IOWR = 32DIRECT (GPIO_LED_BASE, 0, 1); <- questo è il lavoro (linea 2)
0x04000234 <main 36>: movhi r3, 2048
0x04000238 <main 40>: addi r3, r3, 6144
0x0400023c <main 44>: movi r2, 1
0x04000240 <main 48>: stwio R2, 0 (R3) *******

Ho trovato che se noi costruiamo nios includere i dati di cassa con la memoria (possono configurazione da SOPC bluider) il compilatore compilerà Line1 utilizzando "STW", ma è line2 "stwio".

ho letto in nios processore riferimento.hanno detto
"I trasferimenti di dati per l'I / O periferiche dovrebbero utilizzare ldwio e stwio".

affermativo, chi ha qualche idea per impostare il compilatore per compilare Line1 di usare "stwio"?

 
Il Lord macro espande al ldwio istruzione, e la IOWR macro espande al stwio istruzioni.
Questi macro devono essere utilizzati dai driver di periferica HAL dispositivo per l'accesso a registri.
Tutti questi dati macro bypassare il cache
essi svolgono il loro funzionamento.
Naturalmente la costruzione di un sistema senza cache, i due esempi di comportarsi nello stesso modo.
Hai appena creato un esempio di attuazione non portatile!
Non lo so, probabilmente non vi dovrebbe essere un modo per forzare la cache aggirando in C, ma io consiglierei di utilizzare il Lord IOWR istruzione anziché uno.

B.

 

Welcome to EDABoard.com

Sponsor

Back
Top