код за защита & последователност

B

banh

Guest
Проблемът: Искам да се уверя, че всеки път, когато програмата се изпълнява от mcu ми код е според очакванията, и не са променени (частично), или са били повредени в някои част.

в момента
съм да мисля за съхраняване checksum / CRC стойността в някои ROM място.

моля препоръча някои от вашите методи за този проблем и кода за защита, като цяло.

благодарности.

 
Smartfon One M9 w porównaniu do One M8 wypada podobnie jak iPhone 5S na tle iPhone'a 5. Z kolei mocno zmieniony w porównaniu do Galaxy S5 najnowszy flagowiec Samsunga, Galaxy S6, wieloma elementami (obudowa z materiałów premium, niewymienialna bateria, brak slotu microSD, cieniutka obudowa z wystającym obiektywem) przypomina iPhone'a 6. Które z tych urządzeń bardziej przypadnie do gustu konsumentom?

Read more...
 
Здравей banh,

Той
е на обща процедура използване checksum / КРС за кода програма.
Но какво ще стане, ако кодът, който извършва проверка на КРС получи корумпирани и не е в състояние да проверява допълнително.
Ако този код се изпълнява по-ROM, а не FLASH това е ОК.Много сходна с microcontroller че има bootloader в ROM.
Ако кодът памет размер на това не
е проблем, може да дублира код област като файл таблици разпределението и използването на други, когато първо се повредят.

Приятен заявление за AVR microcontroller може да намерите тук:
http://www.atmel.com/dyn/resources/prod_documents/DOC1143.PDF
и код: http://www.atmel.com/dyn/resources/prod_documents/AVR236.zip
В LPM инструкция може да бъде заменен с всеки достоен косвени чете от паметта код пространство, ако използвате други microcontroller, но AVR.

 
Благодарение Силвио,

това, което възнамерявате да направите, е да има checksum precalculated, и я съхранява някъде във флаш.

, когато стартира програмата, тя ще изчисли checksum отново по своя код ((чрез четене от светкавицата), и сравни това с precalculated стойност. ако не е равен, програмата трябва да спре.

една възможна проблем е, че времето за изчисляване на checksum при стартиране може да бъде доста дълъг ..

Трябва да тествате на тази ..

 

Welcome to EDABoard.com

Sponsor

Back
Top