| Electronic Components Datasheet Search |
|
AN3307 Datasheet(PDF) 33 Page - STMicroelectronics |
|
|
|||||||||||||||||||||||||||||
AN3307 Datasheet(HTML) 33 Page - STMicroelectronics |
|
33 / 37 page ![]() AN3307 Class B solution structure Doc ID 18186 Rev 4 33/37 5.4.5 Partial Flash CRC runtime self-test The partial 16-bit CRC checksum of the block in Flash is performed at each step. The boundaries are given by the structure stored by the linker. When the last block is reached, the CRC checksum is compared with the value stored by the linker. If a difference is found, the Fail Safe routine is called, otherwise a new computation cycle is initialized. Refer also to Section 4.3.3: Debugging the package for additional comments on CRC procedures. Figure 19. Partial Flash CRC runtime self-test structure 5.4.6 Watchdog service in runtime test If the runtime service block is successfully completed, the window and independent watchdogs should both be refreshed as a last step, just before returning to the main loop. For the watchdogs to be refreshed correctly, proper timing of the call to the runtime block is essential. The period when the block should be called is signaled internally by a time base flag which is tested at the beginning of the STL_DoRunTimeChecks() routine (see Figure 15). Users must ensure not to miss calling this procedure at the main level to be able to react properly to any change in the time base flag and consequently refresh the watchdogs at the correct intervals. To use the watchdogs efficiently, it is important to keep the structure of the application with only one refresh placed in the main loop. There should be no other watchdog refreshes except the one in the STL_DoRunTimeChecks() routine. Sometimes it may also be necessary to refresh watchdogs in the initialization phase of the flow. In this case, the refresh should be outside any software infinite loop. Ideally it should only be put in a straightforward part of the code. Compute continuous CRC FLASH_pointer at ROM_END? CRC = _checksum? FLASH_Pointer ++ Test On going Init CRC computation Test OK FailSafe () routine No No Yes Yes AI18016 |
|
Link URL |
| Does ALLDATASHEET help your business so far? [ DONATE ] |
About Alldatasheet | Advertisement | Contact us | Privacy Policy | Link to Datasheet | Link Exchange | Manufacturer List All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |