Logo
Explore Help
Sign In
espressif/esp-idf
1
0
Fork 1
You've already forked esp-idf
mirror of https://github.com/espressif/esp-idf.git synced 2025-11-11 21:10:05 +01:00
Code Issues Packages Projects Releases Wiki Activity
Files
5863a27bd25cd012eef1fb65c46394c5ab901b42
esp-idf/tools/test_apps/system/longjmp_test/README.md

14 lines
320 B
Markdown
Raw Normal View History

[system]: Made longjmp save for context switch * Patched longjmp to be context-switch safe longjmp modifies the windowbase and windowstart registers, which isn't safe if a context switch occurs during the modification. After a context switch, windowstart and windowbase will be different, leading to a wrongly set windowstart bit due to longjmp writing it based on the windowbase before the context switch. This corrupts the registers at the next window overflow reaching that wrongly set bit. The solution is to disable interrupts during this code. It is only 6 instructions long, the impact shouldn't be significant. The fix is implemented as a wrapper which replaces the original first instructions of longjmp which are buggy. Then, it jumps back to execute the rest of the original longjmp function. Added a comparably reliable test to the test apps.
2021-04-08 12:16:17 +08:00
| Supported Targets | ESP32 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- |
# Building
Example building for ESP32:
```
idf.py set-target esp32
cp sdkconfig.defaults sdkconfig
idf.py build
```
# Running
All the setup needs to be done as described in the [test apps README](../../README.md).
Reference in New Issue Copy Permalink
Powered by Gitea Version: 1.25.1 Page: 113ms Template: 1ms
English
Bahasa Indonesia Deutsch English Español Français Gaeilge Italiano Latviešu Magyar nyelv Nederlands Polski Português de Portugal Português do Brasil Suomi Svenska Türkçe Čeština Ελληνικά Български Русский Українська فارسی മലയാളം 日本語 简体中文 繁體中文(台灣) 繁體中文(香港) 한국어
Licenses API