Built-in dead loops are used for different purposes as shown in below Table 26-2. All dead loops are branch instructions coded in ARM mode. The fixed location of these dead loops facilitates debugging and testing. The first seven dead loops are default exception handlers linked with RAM exception vectors. The dead loops might be called directly from the user code. However there exists a special function which can be called from ROM Code in order to execute a dead loop. The function is an assembly code in ARM mode which takes the dead loop address from R0 register. The main purpose of the function is to go in a dead loop until the watchdog expires and resets the device, when device is a GP type. For an HS device, the function branches to the requested dead loop. The function is located at address 200C0h. In addition the function clears global cold reset status upon issuing the global SW reset.