Search found 308 matches
- Fri Jan 29, 2021 1:58 pm
- Forum: ESP-IDF
- Topic: CAN vs OTA: interrupt watchdog timeouts despite delay in OTA and IRAM_ATTR in CAN
- Replies: 11
- Views: 13366
Re: CAN vs OTA: interrupt watchdog timeouts despite delay in OTA and IRAM_ATTR in CAN
Note: CAN/TWAI should now work during OTA as of this commit. See docs for more details.
- Fri Jan 22, 2021 8:24 pm
- Forum: ESP32 Arduino
- Topic: GPIO ISR improperly called - "SOLVED" (worked around)
- Replies: 3
- Views: 3889
Re: Random timer miscount (TIMER_GROUP_0 TIMER_0)
There is some delay and variation to when your interrupt will run. Usually when an interrupt occurs, it takes 2 or 3 microseconds to get into the interrupt. However, you can't assume that this means your interrupt will run 2 to 3 us after an edge as there are other factors that can prevent your inte...
- Fri Jan 22, 2021 8:11 pm
- Forum: ESP-IDF
- Topic: Guru Meditation Error: Core 0 panic'ed (LoadProhibited). Exception was unhandled.
- Replies: 5
- Views: 54059
Re: Guru Meditation Error: Core 0 panic'ed (LoadProhibited). Exception was unhandled.
The error LoadProhibited means that the CPU tried to load a variable form an illegal address. The offending address is EXCVADDR: 0x00000000 ( see docs for more details ). The address 0x00000000 looks like some NULL pointer was accessed. The offending line of the bad load was 0x400da3d9: pin::calc_an...
- Fri Jan 22, 2021 8:00 pm
- Forum: ESP-IDF
- Topic: ESP-IDF vs FreeRTOS heap allocation
- Replies: 4
- Views: 3879
Re: ESP-IDF vs FreeRTOS heap allocation
So does FreeRTOS pvPortMalloc() also use heap_caps_malloc()? No, because pvPortMalloc() itself is never called. Based on the enabled FreeRTOS configs, pvPortMallocTcbMem() and pvPortMallocStackMem() are called instead. All of these macros are defined in port_macro.h What about the malloc hook/callb...
- Fri Jan 22, 2021 6:59 pm
- Forum: ESP-IDF
- Topic: ESP-IDF vs FreeRTOS heap allocation
- Replies: 4
- Views: 3879
Re: ESP-IDF vs FreeRTOS heap allocation
Hi, The FreeRTOS documentation suggest to use the pvPortMalloc() / pvPortFree() and vApplicationMallocFailedHook() when handling memory allocation. The ESP-IDF documentation points to heap_caps_malloc() / heap_caps_free() and heap_caps_register_failed_alloc_callback() for the same memory handeling ...
- Tue Jan 19, 2021 12:47 pm
- Forum: ESP-IDF
- Topic: Basic Hello World ESP-IDF failed
- Replies: 10
- Views: 8301
Re: Basic Hello World ESP-IDF failed
As the error suggest, the CMake is seeing a "build" folder which "doesn't seem to be a CMake build directory" so it is "Refusing to automatically delete files". Try deleting the build folder in your "hello_world" project and then run "idf.py set-target esp32" again.
- Tue Jan 12, 2021 10:35 am
- Forum: ESP-IDF
- Topic: Print stack trace at runtime
- Replies: 2
- Views: 6313
Re: Print stack trace at runtime
Use esp_backtrace_print() in esp_debug_helpers.h
- Sat Jan 09, 2021 6:45 pm
- Forum: ESP-IDF
- Topic: ESP32: which hardware timers are occupied by freertos
- Replies: 5
- Views: 4070
Re: ESP32: which hardware timers are occupied by freertos
None of them is "occupied" by FreeRTOS. Why would they need to take them from "users"? Generally, most operating systems have a "system tick" which requires an interrupt be generated at a regular interval. This usually requires some form of hardware timer be used to generate this system tick for th...
- Mon Dec 21, 2020 1:48 pm
- Forum: Hardware
- Topic: I2S ADC triggered with CAN data frame message
- Replies: 2
- Views: 2400
Re: I2S ADC triggered with CAN data frame message
The question is: Is there a way to trigger the ADC with the SOF (start of frame bit) of the CAN frame on the CAN bus? Currently no, the CAN controller will only generate an interrupt once a CAN message has been confirmed valid (i.e., Acknowledged and CRC is checked). If you need an interrupt on the...
- Mon Dec 21, 2020 9:07 am
- Forum: ESP-IDF
- Topic: How are asm labeled functions called? [Resolved]
- Replies: 2
- Views: 2706
Re: How are asm labeled functions called?
You can get the disassembly yourself by running either objdump or gdb:
Assuming your project folder is "hello-world":
Once in GDB, run:
Assuming your project folder is "hello-world":
Code: Select all
cd hello-world
xtensa-esp32-elf-gdb ./build/hello-world.elf
Code: Select all
disassemble app_main