Wykres commitów

81 Commity (9f149a647dc783e910c3ed52ce7090ab5c9f1c63)

Autor SHA1 Wiadomość Data
Jakob Hasse be55a5eb2b [system]: put xtensa_intr_asm into IRAM 2021-04-26 12:11:20 +08:00
Ivan Grokhotkov 83e68ee19e Merge branch 'bugfix/replace_setjmp_rom' into 'master'
[system]: Made longjmp save for context switch

Closes IDFGH-3232

See merge request espressif/esp-idf!13119
2021-04-23 12:39:29 +00:00
Jakob Hasse fc22e3c645 [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-23 15:55:31 +08:00
Jakob Hasse b23c9142d5 [hal]: cleaned up interrupt mask functions
* Functions for setting and clearing interrupts
  as well as function to read interrupt mask
  should be clearer now.
* Using hal layer interrupt set and clear
  functions in esp_wifi component
2021-04-06 11:54:13 +08:00
Renz Bagaporo daa13b3f62 esp32: move toolchain check 2021-03-31 19:17:33 +08:00
Renz Bagaporo d920aa52be xtensa: simplify build script 2021-02-26 19:45:48 +08:00
Renz Bagaporo 1efdcd69d9 xtensa: move out trax 2021-02-26 19:45:48 +08:00
Renz Bagaporo b1027005df arch: move stdatomic 2021-02-26 18:40:00 +08:00
Renz Bagaporo 7e0e91bf76 arch: move debug helpers 2021-02-26 13:34:29 +08:00
Renz Bagaporo 6f7072fc03 arch: move esp_attr.h to esp_common 2021-02-26 13:34:29 +08:00
Renz Bagaporo 91a5770fd2 arch: move shared stack implementation to esp_system 2021-02-26 13:34:29 +08:00
Marius Vikhammer eec2419390 system: enable shared stack watchpoint
Enable shared stack watchpoint for overflow detection

Enable unit tests:
 * "test printf using shared buffer stack" for C3
 * "Test vTaskDelayUntil" for S2
 * "UART can do poll()" for C3
2021-02-18 15:38:30 +08:00
Fu Hanxi 0146f258d7 style: format python files with isort and double-quote-string-fixer 2021-01-26 10:49:01 +08:00
Renz Bagaporo d1c800fbbb components: fix ldgen check errors 2021-01-19 11:17:18 +08:00
Angus Gratton af845b7de2 xtensa: Disable component on esp32c3 2020-12-24 14:18:02 +11:00
martin.gano f4ea2dcb74 Tools: add Python 2 deprecation warning 2020-12-02 11:08:48 +01:00
Angus Gratton 66fb5a29bb Whitespace: Automated whitespace fixes (large commit)
Apply the pre-commit hook whitespace fixes to all files in the repo.

(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
Renz Bagaporo e7460c1f00 soc: remove unecessary headers in dport_access.h 2020-10-22 19:42:34 +08:00
Angus Gratton 8aa73aea86 esp32s2/3: Add missing stdlib includes
All three of these headers refer to stdint types, memprot uses stdbool
2020-10-09 15:05:41 +11:00
Felipe Neves 2e826b7a8f intr_alloc: split interrupt allocator into common-code and platform-code
esp_system: removed repeated interrupt allocator code and moved common code to esp_system

xtens: moved xtensa specific code from freertos to the xtensa component

hal/interrupt_controller: added interrupt controller hal and ll files

docs: update the doxyfile with new location of esp_itr_alloc.h file

xtensa: fixed dangerous relocation problem after moving xtensa interrupt files out of freertos

docs: removed Xtensa reference from intr_allocator api-reference

xtensa: pushed the interrupt function that manages non iram interrupts to the xtensa layer

esp_system/test: fixed platform dependent setting for intr_allocator tests

hal: rename the functions used to manage non iram interrupt mask.
2020-09-30 07:44:12 +08:00
Michael (XIAO Xufeng) 5425ef4ee4 hal: extract hal component from soc component 2020-09-01 13:25:32 +08:00
morris 2917651478 esp_rom: extract common ets apis into esp_rom_sys.h 2020-07-27 15:27:01 +08:00
Felipe Neves 11f6addc61 expression_with_stack: added a tweak on TCB stackpointers to avoid false trigger of stack overflow 2020-07-14 12:56:02 +00:00
Felipe Neves a700035a85 test/shared_stack_printf: improved printf with shared stack function test 2020-07-14 12:56:02 +00:00
Felipe Neves 938a73756c esp_common/shared_stack: modifed the stack switch procedure to a simpler way
esp_common/shared_stack: refactored the implemenation of shared stack function (still not working properly)

esp_expression_with_stack: refactored the shared stack function calling mechanism and updated the documentation
2020-07-14 12:56:02 +00:00
Renz Christian Bagaporo 4bc53d44e3 xtensa: use early logging for trax config during startup 2020-06-19 18:40:10 +10:00
Ivan Grokhotkov 4395be9697 Merge branch 'feature/add_esp32s3_xtensa_cpu_config_files' into 'master'
xtensa: add CPU config files for esp32s3

See merge request espressif/esp-idf!9138
2020-06-16 06:40:25 +08:00
Krzysztof Budzynski 79a0e892a0 Merge branch 'feature/coredump_allow_variable_dumping' into 'master'
Added coredump user defined variable into coredump

Closes IDF-44

See merge request espressif/esp-idf!8730
2020-06-15 02:35:38 +08:00
Alexey Gerenkov 1deeadf4c5 Added coredump user defined variable into coredump 2020-06-15 02:35:38 +08:00
morris 7232bc8360 xtensa: add CPU overlay files for esp32s3 2020-06-12 11:41:23 +08:00
KonstantinKondrashov 4275056423 esp32: Switch SPIRAM stack in esp_restart_noos() to internal stack
If esp_restart_noos() is run and the stack address points to external memory (SPIRAM)
then Cache_Read_Disable() raises up the error "Cache disabled but cached memory region accessed"
to fix this we switch stack to internal RAM before disable cache.

Added unit tests.

Closes: https://github.com/espressif/esp-idf/issues/5107
2020-05-22 16:23:53 +08:00
Sachin Parekh 1e6c25992e esp32: IRAM_DATA_ATTR and IRAM_BSS_ATTR introduced
Using these attributes, .data and .bss can be placed in IRAM

Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2020-04-17 19:35:23 +05:30
Ivan Grokhotkov f822e81617 Merge branch 'feature/trax_parsing_script' into 'master'
xtensa: add a script for parsing CPU traces (TRAX)

See merge request espressif/esp-idf!7729
2020-03-30 05:21:02 +08:00
sU8U7SfkcwTJVH7PjaVmej7D c3065c00ff xtensa: fix sign-conversion warning 2020-03-20 11:10:43 +01:00
Ivan Grokhotkov a3e236291f xtensa: add a script for parsing CPU traces (TRAX) 2020-03-13 17:30:29 +01:00
Michael (XIAO Xufeng) 8434845050 atomic: support fetch_and, fetch_and and fetch_xor 2020-03-04 11:35:23 +08:00
Renz Christian Bagaporo c9a51bfbb2 soc: create abstraction for cpu related operations 2020-02-27 07:14:19 +05:00
Ivan Grokhotkov 8fec484d2b xtensa: add TRAX support for esp32s2 2020-02-19 14:02:14 +01:00
Angus Gratton c1d0daf36d Merge branch 'refactor/restructure_soc_component' into 'master'
soc: separate abstraction, description and implementation

See merge request espressif/esp-idf!7261
2020-02-12 07:50:10 +08:00
Renz Christian Bagaporo 16e0c93e40 ci: solve public headers errors 2020-02-11 14:30:42 +05:00
Felipe Neves 9c8289b0d9 shared_stack: using watchpoint 1 to monitor the shared_stack instead of watchpoint 0 2020-02-10 12:03:30 -03:00
Felipe Neves 33c9826372 shared_stack: fixed watchpoint placement on shared_stack 2020-02-10 12:03:30 -03:00
Felipe Neves 429712c6eb freertos: moved all xtensa specific files into a separated folder 2020-01-27 16:05:30 -03:00
morris e30cd361a8 global: rename esp32s2beta to esp32s2 2020-01-22 12:14:38 +08:00
morris 1c2cc5430e global: bring up esp32s2(not beta) 2020-01-16 17:41:31 +08:00
Felipe Neves c309112b8a expression_with_stack:make stack overflow detection watchpoint optional 2020-01-06 17:01:53 -03:00
Felipe Neves f0e82311a5 esp_expression_with_stack: fix wrong top of stack calculation plus documentation update 2019-12-20 13:23:47 -03:00
Felipe Neves e4fb50e6f3 expression_with_stack_xtensa: fixed stack pointer to avoid its overflow on heap block metadata. 2019-12-20 13:18:13 -03:00
Felipe Neves fab50ccf7c expression_with_stack_xtensa: call esp watchpoint function using a callx4 to fix range problem of call4 function 2019-12-20 13:18:13 -03:00
Felipe Neves 674cb1c21c esp_expression_with_stack: added fake stack frame plus some cleanup on main macro 2019-12-20 13:18:13 -03:00