Buonasera a tutti,
Avrei bisogno di creare in un frammento del mio codice, uno stack di tipo full ascending.
Il problema è che il mio compilatore sembra che digerisca solamente istruzioni di tipo Thumb, e quindi non riescoi a fargli interpretare le normali istruzioni arm assembly.
Quello che vorrei fare è questo:
stmib r0,{r2-r3}
stmib r1,{r4-r6}
Nelle mie intenzioni, queste due istruzioni dovrebbero caricare due frammenti di stack che partono in due indirizzi diversi della sram, che sono r0 ed r1, e fissano i valori facendo l'incremento prima.
Il compilatore mi dice che non posso usare l'istruzione stmib perché questa non è riconosciuta come Thumb.
Ho trovato che "push" e "pop" invece funzionano correttamente, ma non capisco in quale maniera, nella push, io possa definire programmaticamente quale sia l'indirizzo di inizio dello stack.
Sapete come chiarirmi questo dubbio?
Grazie.
Creare un Full Ascending stack in ARM assembly?
Moderatore:
Paolino
3 messaggi
• Pagina 1 di 1
0
voti
Ho bisogno di creare, all'interno della SRAM vari stack di modesta estensione, e di ognuno di questi devo conoscere indirizzo di parteza e dimensione, altrimenti, quando andrò a leggere questi valori rischierei di andare in "overlap" con quello che segue e di leggere dunque valori che non mi corrispondono.
Sospetto anche io che in Thumb mode non si possa fare.
Da quanto ho capito, nelle istruzioni push e pop, l'unico puntatore che fa fede è lo stack pointer (SP) e la PUSH scrive il valore all'indirizzo puntato da SP, stà allo sviluppatore spostare il puntatore in funzione di quale tipo di stack voglia essere creato.
In compenso sono riuscito finalmente ad escludere il thumb ed ho cominciato a sviluppare in ARM nativo.
A breve potrei riuscire a risolvere
Sospetto anche io che in Thumb mode non si possa fare.
Da quanto ho capito, nelle istruzioni push e pop, l'unico puntatore che fa fede è lo stack pointer (SP) e la PUSH scrive il valore all'indirizzo puntato da SP, stà allo sviluppatore spostare il puntatore in funzione di quale tipo di stack voglia essere creato.
In compenso sono riuscito finalmente ad escludere il thumb ed ho cominciato a sviluppare in ARM nativo.
A breve potrei riuscire a risolvere
-

harpefalcata
326 1 3 6 - Stabilizzato

- Messaggi: 422
- Iscritto il: 28 lug 2015, 21:03
3 messaggi
• Pagina 1 di 1
Torna a Firmware e programmazione
Chi c’è in linea
Visitano il forum: Nessuno e 1 ospite

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)
