AVR a lockbity pri rušení EMI
Moderátor: Moderátoři
- Ivan_Ryger
- Příspěvky: 1368
- Registrován: 02 bře 2005, 00:00
- Bydliště: Jára Cimrman- "Uppsala, Uppsala,... tam jsem taky nebyl"
AVR a lockbity pri rušení EMI
Ďalšia otázka je, či pri aktivovaní lockbitu pre zákaz čítania programovej pamäti a ponechaní neaktívneho lockbitu zákazu zápisu do prog. pamäti sa bude dať verifikovať nahratý program?
Ďakujem.
Ivan.
- ZdenekHQ
- Významný člen
- Příspěvky: 25519
- Registrován: 21 črc 2006, 00:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
- Ivan_Ryger
- Příspěvky: 1368
- Registrován: 02 bře 2005, 00:00
- Bydliště: Jára Cimrman- "Uppsala, Uppsala,... tam jsem taky nebyl"
- Ivan_Ryger
- Příspěvky: 1368
- Registrován: 02 bře 2005, 00:00
- Bydliště: Jára Cimrman- "Uppsala, Uppsala,... tam jsem taky nebyl"
- Ivan_Ryger
- Příspěvky: 1368
- Registrován: 02 bře 2005, 00:00
- Bydliště: Jára Cimrman- "Uppsala, Uppsala,... tam jsem taky nebyl"
- Panda38
- Příspěvky: 725
- Registrován: 21 lis 2012, 00:00
- Bydliště: Most, Praha, Lanžhot
- Kontaktovat uživatele:
Kód: Vybrat vše
u16 crcCCITT1(u16 crc, u8 data)
{
crc = (crc >> 8) | (crc << 8);
crc ^= data;
crc ^= (crc & 0xff) >> 4;
crc ^= crc << 12;
crc ^= (crc & 0xff) << 5;
return crc;
}
#define CRCCCITT_XMODEM_INIT 0
u16 crcCCITT_XModem(const void* buf, int len)
{
u16 crc = CRCCCITT_XMODEM_INIT;
const u8* s = (const u8*)buf;
for (; len > 0; len--)
{
crc = crcCCITT1(crc, *s++);
}
return crc;
}Úplně na konec programu (jako poslední položku v datových konstantách) doplnit konstantu pro uložení CRC, ukazatel na ni uložit za tabulku vektorů. Pro výpočet CRC si napsat konzolovou utilitku, která po překladu vezme binár, přečte si z něj offset CRC a vypočítá CRC bináru po tento offset, CRC na tu pozici zapíše. Program v MCU obdobně vypočítá CRC (opět po CRC) a zkontroluje CRC, když se neshoduje, tak se sekne (příp. bude někde indikovat chybu).
- ZdenekHQ
- Významný člen
- Příspěvky: 25519
- Registrován: 21 črc 2006, 00:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Nejhorší jsou zemní smyčky, pokud se všechno oddělí a rozdělí, dá se v klidu spát.
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
- Ivan_Ryger
- Příspěvky: 1368
- Registrován: 02 bře 2005, 00:00
- Bydliště: Jára Cimrman- "Uppsala, Uppsala,... tam jsem taky nebyl"
Panda38: ak som tomu správne pochopil, na konci hexadecimálneho súboru dva byte mám rezervovať pre CRC16?
V programovej pamäti AVR bude teda rutina, ktorá prejde celý obsah programovej pamäti až po adresu danú pointerom na CRC, spočíta byte po byte CRC tohoto obsahu a následne porovná s hodnotou uloženou na adrese pointeru.
Pravdu povediac, nikdy pred tým som sa nezaoberal detekčnými a samoopravnými kódmi.
- ZdenekHQ
- Významný člen
- Příspěvky: 25519
- Registrován: 21 črc 2006, 00:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]