bootloader_panic.c
1 // Copyright 2020 Espressif Systems (Shanghai) PTE LTD 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 #include "esp_log.h" 16 #include "bootloader_common.h" 17 #include "soc/cpu.h" 18 #include "esp_rom_sys.h" 19 20 21 void __assert_func(const char *file, int line, const char *func, const char *expr) 22 { 23 esp_rom_printf("Assert failed in %s, %s:%d (%s)\r\n", func, file, line, expr); 24 while (1) { 25 } 26 } 27 28 void abort(void) 29 { 30 #if !CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT 31 esp_rom_printf("abort() was called at PC 0x%08x\r\n", (intptr_t)__builtin_return_address(0) - 3); 32 #endif 33 if (esp_cpu_in_ocd_debug_mode()) { 34 __asm__("break 0,0"); 35 } 36 while (1) { 37 } 38 }