<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-2">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<font face="Helvetica, Arial, sans-serif">Na procesoru STM32L05x
potrebuju neprimo pristupovat k nekterym HW registrum. Cast kodu
pro pristup je zapsana takto:<br>
unsigned long *ptr;<br>
test_send (*ptr++, 4);<br>
<br>
Tento pristup vygeneruje instrukci<br>
LDM r5!,{r0}<br>
Vysledkem operace je vzdy hodnota 0.<br>
<br>
<br>
Pokud pouziju jiny zapis:<br>
test_send (*ptr, 4);<br>
ptr++;<br>
tak se vygeneruje instrukce<br>
LDR r0,[r5,#0]<br>
a data se nacitaji spravne...<br>
<br>
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)<br>
Tak nevim, jestli to je treba nejake omezeni Cortex-M0+ jadra nebo
konkretniho cipu...?<br>
Rad bych pochopil, proc k tomu dochazi - nevite nekdo?<br>
<br>
Diky,<br>
Hynek Sladky<br>
</font>
</body>
</html>