ARM Cortex-M0+ a rozdil LDM a LDR
Hynek Sladky
econf na centrum.cz
Středa Červenec 8 11:04:19 CEST 2015
Na procesoru STM32L05x potrebuju neprimo pristupovat k nekterym HW
registrum. Cast kodu pro pristup je zapsana takto:
unsigned long *ptr;
test_send (*ptr++, 4);
Tento pristup vygeneruje instrukci
LDM r5!,{r0}
Vysledkem operace je vzdy hodnota 0.
Pokud pouziju jiny zapis:
test_send (*ptr, 4);
ptr++;
tak se vygeneruje instrukce
LDR r0,[r5,#0]
a data se nacitaji spravne...
Snazil jsem se najit nejaky popis rozdilu techto instrukci, proc by k
takovemu chovani melo dochazet, ale nic jsem nenasel... (DDI0419C od ARM
a PM0223r1 od ST)
Tak nevim, jestli to je treba nejake omezeni Cortex-M0+ jadra nebo
konkretniho cipu...?
Rad bych pochopil, proc k tomu dochazi - nevite nekdo?
Diky,
Hynek Sladky
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20150708/ade2ca87/attachment.html>
Další informace o konferenci Hw-list