Dobry den,<br><br><div class="gmail_quote">2013/6/20 Jan Smrz <span dir="ltr"><<a href="mailto:jan.smrz@email.cz" target="_blank">jan.smrz@email.cz</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"><div class="im">
<div>On 06/20/2013 12:23 PM, Andrej Jancura
wrote:<br>
</div>
</div><div class="im"><blockquote type="cite"><br>
<br>
<div class="gmail_quote">2013/6/19 Jan Smrz <span dir="ltr"><<a href="mailto:jan.smrz@email.cz" target="_blank">jan.smrz@email.cz</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> Ano, pdata1
je konstanta, jen mám podezření, že ji asi ne vždy přiřadí
správnou hodnotu. V kódu mám dvoje čtení hned za sebou<br>
mem_read((uint32_t)pdata1,sizeof(format_version),&format_version);<br>
mem_read((uint32_t)pdata1 +
2,sizeof(length),(uint8_t*)&length);<br>
<br>
</blockquote>
</div>
<br>
Este ma napada, ked preleziete vsetky include, najdete aj
doplnkove funkcie copy memory blok a move blok. Ked pozriem na tu
Vasu mem_read a matne si spomeniem na copy memory blok, tak su
velmi az moc podobne. Pozrite si aj tie, myslim, ze to vyriesi Vas
problem.<br>
<br>
</blockquote></div>
Dekuji, podivam se na to.<br>
<br></div></blockquote><div><br>Pozrite si vsetky tie include az do konca. Treba preliezt xc.h a string.h. Funkcia sa vola memcpy a ostatne su podobne. Ale neviem, ci mate v lite verzii aj zdrojaky jednotlivych funkcii. V kazdom pripade pre pic18 je tam pouzity pointer far void *. Takze je to tak, ze si myslim, ze ten uint32_t by ste mal prepisat na far pointer a prislusne si upravit aj Vasu definiciu funkcie. Potom by nemal byt problem.<br>
<br>A.<br><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div text="#000000" bgcolor="#FFFFFF">
mem_read vypada takto:<br>
<br>
<small><tt>void mem_read(uint32_t address, uint8_t size, uint8_t
*dst) </tt><tt><br>
</tt><tt>{</tt><tt><br>
</tt><tt> uint8_t gie_l;</tt><tt><br>
</tt><tt><br>
</tt><tt> if (GIE)</tt><tt><br>
</tt><tt> gie_l = 1;</tt><tt><br>
</tt><tt> else</tt><tt><br>
</tt><tt> gie_l = 0;</tt><tt><br>
</tt><tt> GIE = 0; </tt><tt><br>
</tt><tt> for (uint8_t i = 0; i < size; i++)</tt><tt><br>
</tt><tt> {</tt><tt><br>
</tt><tt> LoadFlashAddr(address + i);</tt><tt><br>
</tt><tt> TableRead(*dst++);</tt><tt><br>
</tt><tt> }</tt><tt><br>
</tt><tt> if (gie_l)</tt><tt><br>
</tt><tt> GIE = 1; // restore
interrupts</tt><tt><br>
</tt><tt>}</tt><span class="HOEnZb"><font color="#888888"><tt><br>
</tt></font></span></small><span class="HOEnZb"><font color="#888888"><br>
<br>
J.S.<br>
<br>
<br>
</font></span></div>
<br>_______________________________________________<br>
HW-list mailing list - sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
<br></blockquote></div><br>