XC8 a data ver Flash
Jan Smrz
jan.smrz na email.cz
Čtvrtek Červen 20 13:26:54 CEST 2013
On 06/20/2013 12:23 PM, Andrej Jancura wrote:
>
>
> 2013/6/19 Jan Smrz <jan.smrz na email.cz <mailto:jan.smrz na email.cz>>
>
> 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
> mem_read((uint32_t)pdata1,sizeof(format_version),&format_version);
> mem_read((uint32_t)pdata1 + 2,sizeof(length),(uint8_t*)&length);
>
>
> 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.
>
Dekuji, podivam se na to.
mem_read vypada takto:
void mem_read(uint32_t address, uint8_t size, uint8_t *dst)
{
uint8_t gie_l;
if (GIE)
gie_l = 1;
else
gie_l = 0;
GIE = 0;
for (uint8_t i = 0; i < size; i++)
{
LoadFlashAddr(address + i);
TableRead(*dst++);
}
if (gie_l)
GIE = 1; // restore interrupts
}
J.S.
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20130620/e871eae9/attachment.htm>
Další informace o konferenci Hw-list