Darian Leung
05ff1039dc
esp_hw_support: Fix misuse of spinlocks as critical sections
...
Spinlocks themselves do not constitute critical sections as after a spinlock is acquired, interrupts
can remain enabled. However, there are some places where spinlocks are used direclty instead of using
the portMUX_TYPE and portENTER_CRITICAL_...() APIs. This commit fixes those calls.
2022-07-28 17:25:00 +08:00
Martin Vychodil
a16431c7a9
Merge branch 'feature/vfs_serial_fcntl_get_rd_wr_state' into 'master'
...
vfs: uart/cdcacm/usb_serial_jtag fcntl return read/write state
See merge request espressif/esp-idf!19168
2022-07-24 16:15:28 +08:00
Guillaume Souchere
6005cc9163
hal: Deprecate interrupt_controller_hal.h, cpu_hal.h and cpu_ll.h interfaces
...
This commit marks all functions in interrupt_controller_hal.h, cpu_ll.h and cpu_hal.h as deprecated.
Users should use functions from esp_cpu.h instead.
2022-07-22 00:06:06 +08:00
Dong Heng
37c18d9ee4
vfs: uart/cdcacm/usb_serial_jtag fcntl return read/write state
2022-07-21 16:16:44 +08:00
Eren Terzioglu
f6248ebf0d
esp/vfs: VFS semihosting interface support
2022-06-28 17:04:15 +03:00
Michael (XIAO Xufeng)
6a8aed12ee
ci: partially enable ut tests for esp32c2
...
Disabled test cases are tracked in:
IDF-4465, IDF-5045, IDF-5057, IDF-5058, IDF-5059, IDF-5060, IDF-5061, IDF-5131
- test_fatfs: IDF-5136
- test_pm: IDF-5053
- test_cache_mmu: IDF-5138
- test_partitions: IDF-5137
- test_vfs: IDF-5139
- test_freertos: IDF-5140
- test_wpa_supplicant: IDF-5046
- test_mbedtls: IDF-5141
- test_pthread: IDF-5142
- test_protocomm: IDF-5143
- test_lightsleep: IDF-5053
- test_taskwdt: IDF-5055
- test_tcp_transport: IDF-5144
- test_app_update: IDF-5145
- test_timer: IDF-5052
- test_spi: IDF-5146
- test_rtc_clk: IDF-5060
- test_heap: IDF-5167
ci: fixed issues for tests of libgcc, ets_timer, newlib
test_pm: support on C2
2022-06-02 14:23:35 +08:00
David Čermák
285c6fc906
Merge branch 'bugfix/vfs_sock_select_race' into 'master'
...
vfs: Fix potential select() race if both sock and other-fd trigger
Closes IDFGH-7308
See merge request espressif/esp-idf!18023
2022-05-17 15:28:48 +08:00
David Cermak
bf8ceae780
vfs: Fix potential select() race if both sock and other-fd trigger
...
This fixes a potential race condition in select() if both a socket-fd
and non-socket fd trigger simultaneously to unblock this select.
In case of both fds, we use lwip's local thread semaphore, so we only
have to try return it (if it was taken/triggered more than once) when
we exit select().
Closes https://github.com/espressif/esp-idf/issues/8896
2022-05-16 20:26:44 +02:00
morris
722fde218d
uart: add default source clock for all targets
2022-05-09 11:26:30 +08:00
Roland Dobai
efc3357f1a
Merge branch 'feature/semihosting_call_number_change' into 'master'
...
Semihosting V2
Closes IDF-4893
See merge request espressif/esp-idf!17412
2022-05-07 00:28:48 +08:00
morris
e7295c3577
gptimer: added enable/disable functions
2022-05-06 18:18:39 +08:00
Erhan Kurubas
ad078c5153
semihosting: drop absolute path support
2022-05-05 09:12:42 +00:00
Erhan Kurubas
0fc0254734
semihosting: version 2
2022-05-05 09:12:42 +00:00
Ivan Grokhotkov
1b90711545
vfs: usb_serial_jtag: consider O_NONBLOCK flag when reading via driver
...
Closes https://github.com/espressif/esp-idf/issues/8839
2022-05-04 11:37:52 +02:00
Ivan Grokhotkov
708e99497b
global: add dependency on esp_timer component and include esp_timer.h
...
Some components were including esp_timer.h without declaring a
dependency on esp_timer component. This used to work due to a
transitive public dependency on esp_timer from freertos component.
Add explicit dependencies where needed.
Also some source files were using esp_timer functions without
including the header file. This used to work because esp_timer.h was
included from freertos port header file. This commit adds esp_timer.h
includes where needed.
2022-04-25 18:39:23 +02:00
morris
f32a89826c
clk_tree: added default clock source for peripheral
2022-04-14 15:44:56 +08:00
Martin Vychodil
3b3bfc1971
Merge branch 'vfs_fat/improve_mount_function_names' into 'master'
...
vfs: renamed FATFS convenience mounting functions
Closes IDF-4370
See merge request espressif/esp-idf!17369
2022-04-13 17:52:10 +08:00
Matus Fabo
24268d47a2
change: renamed FATFS convenience mounting functions
...
change: renamed every instance of these functions
add: deprecation notice with old functions
change: CC0 licence to CC0-1.0 in fatfsgen_example_main.c
2022-04-11 08:44:40 +00:00
morris
483149e41b
global: fix some potential out-of-bounds issue
...
...that found by Coverity Scan
2022-04-08 11:05:43 +08:00
Marius Vikhammer
a6543f0d21
docs: fix broken references to misc API functions and types.
2022-03-27 16:46:57 +08:00
Vamshi Gajjela
ea9f7cc370
fatfs: Add ftruncate api support for VFS and FAT-VFS
...
Unit test cases added to verify ftruncate within fatfs tests.
Closes https://github.com/espressif/esp-idf/issues/8279
2022-03-08 16:58:25 +05:30
Sudeep Mohanty
a9fda54d39
esp_hw_support/esp_system: Re-evaluate header inclusions and include directories
...
This commit updates the visibility of various header files and cleans up
some unnecessary inclusions. Also, this commit removes certain header
include paths which were maintained for backward compatibility.
2022-03-07 11:18:08 +05:30
Darian Leung
57fd78f5ba
freertos: Remove legacy data types
...
This commit removes the usage of all legacy FreeRTOS data types that
are exposed via configENABLE_BACKWARD_COMPATIBILITY. Legacy types can
still be used by enabling CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY.
2022-02-09 23:05:45 +08:00
David Čermák
c45d34aea2
Merge branch 'bugfix/lwipopts_cleanup' into 'master'
...
lw-IP: Cleanup of config options and flags
Closes IDF-3594
See merge request espressif/esp-idf!15248
2022-01-17 06:46:27 +00:00
Martin Vychodil
f76d695aba
Merge branch 'feature/vfs_semihosting_c3' into 'master'
...
vfs: add support for semihosting on ESP32-C3
Closes IDF-2287
See merge request espressif/esp-idf!11890
2022-01-14 20:20:26 +00:00
Martin Vychodil
f01b9a583e
Merge branch 'bugfix/vfs_open_errno' into 'master'
...
vfs: don't overwrite errno by a hard coded ENOENT (Github PR)
Closes IDFGH-6378
See merge request espressif/esp-idf!16790
2022-01-14 17:23:07 +00:00
Ivan Grokhotkov
876f4d6a1c
vfs: add support for semihosting on ESP32-C3
2022-01-14 17:29:03 +01:00
David Cermak
5d7489eae4
lwip: Fix minor lwip dependency issue
...
Clean-up config option rename file
2022-01-14 16:41:38 +01:00
David Cermak
b597dbff7c
vfs: Warn aobut using deprecated select option
...
Add LWIP_USE_ONLY_LWIP_SELECT for compatibility, as the dependency may
break backward compatibility if LWIP_USE_ONLY_LWIP_SELECT=y.
2022-01-14 16:41:38 +01:00
Ivan Grokhotkov
bce69ab7c1
vfs: add test for errno value after 'open'
2022-01-14 13:34:22 +01:00
hörbert
71fe41d0e0
vfs: don't overwrite errno by a hard coded ENOENT
...
Calling "open" in CHECK_AND_CALL sets a perfectly correct errno.
There is no need to overwrite that with a value of ENOENT, since doing
so hides lower level errors like EIO.
Closes https://github.com/espressif/esp-idf/pull/8036
2022-01-14 13:34:21 +01:00
caixf
6c3b528917
vfs: fix wrong VFS being freed when esp_vfs_register_fd_range fails
...
Closes https://github.com/espressif/esp-idf/pull/7413
2022-01-13 17:17:42 +01:00
morris
705788a13f
unit_tests: replace legacy timer group with gptimer
2022-01-07 14:59:09 +08:00
Ivan Grokhotkov
f1c5dfbfc9
Merge branch 'contrib/github_pr_8013' into 'master'
...
Add message about alternative functions. (GitHub PR)
Closes IDFGH-6352
See merge request espressif/esp-idf!16610
2021-12-31 07:09:08 +00:00
Sudeep Mohanty
e22b4007d3
esp_hw_support: Removed deprecated CPU util functions
...
The following files were deleted:
- components/esp_hw_support/include/soc/cpu.h
- components/soc/esp32s3/include/soc/cpu.h
The following functions are deprecated:
- get_sp()
The following functions declared in soc/cpu.h are now moved to esp_cpu.h:
- esp_cpu_configure_region_protection()
The following functions declared in soc/cpu.h are now moved to components/xtensa/include/esp_cpu_utils.h:
- esp_cpu_process_stack_pc()
All files with soc/cpu.h inclusion are updated to include esp_cpu.h instead.
Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2021-12-28 16:58:37 +05:30
Torsten Martinsen
ea8072a361
Add message about alternative functions.
2021-12-05 15:54:21 +01:00
Jiacheng Guo
b00d6d0a95
vfs: reduce lock in vfs_select
2021-11-29 14:09:07 +08:00
Roland Dobai
766aa57084
Build & config: Remove leftover files from the unsupported "make" build system
2021-11-11 15:32:36 +01:00
Cao Sen Miao
599227a1b6
ESP8684: Add esp8684 target to other repo for passing build
2021-11-06 17:33:45 +08:00
Cao Sen Miao
adfb7bed96
vfs_usb_serial: set secondary selection for making usb port can output under default menu
2021-11-01 15:48:36 +08:00
Omar Chebib
73303e5de0
VFS: select
function's timeout is now POSIX compliant
...
`select` function will now round up the timeout passed as a parameter (if any).
It makes it POSIX compliant.
* Closes https://github.com/espressif/esp-idf/issues/7514
2021-10-28 02:52:59 +00:00
Jiacheng Guo
7eafcb0372
vfs: fix occasional ISR context mismatch in event fd
2021-09-17 17:31:20 +08:00
Andrei Safronov
9159aa58d3
tests: refactoring of the gcc's inner functions, because clang doesn't support them
2021-09-10 19:51:27 +03:00
Ivan Grokhotkov
b7a4df9031
vfs: list IO functions which can be used with VFS_SUPPORT_IO disabled
2021-08-23 07:02:19 +02:00
Ivan Grokhotkov
a005e9bfbc
docs: move VFS documentation into the component directory
...
These files were added into the component directory back when we
didn't have the documentation directory, and weren't moved once the
documentation directory was created.
2021-08-23 07:02:19 +02:00
David Cermak
07612b0854
vfs: Add initial lwip vfs test
...
to test fstat() implementation
2021-08-19 17:29:34 +02:00
Jiacheng Guo
f20fb57871
vfs: fix select return value when non-permanent fd closed
2021-08-16 10:49:31 +08:00
Alex Henrie
d4ff9ab266
Fix memory leak on error path in register_select
...
And remove dead error handling code from unregister_select.
Closes https://github.com/espressif/esp-idf/pull/7296
2021-07-23 17:49:34 +05:30
Marius Vikhammer
a29a6ceef0
uart: update register headers and examples for S3
2021-07-22 12:05:49 +08:00
Renz Bagaporo
7c22cccb9c
esp32: cleanup build script
2021-07-16 20:14:27 +08:00
Cao Sen Miao
3aa9ac2469
usb_serial_jtag: Add blocking driver to support vfs.
2021-07-05 11:22:38 +08:00
Shu Chen
6fce2930d0
esp32h2: enable more components to support esp32h2
...
Involved components:
* app_trace
* esp-tls
* esp_adc_cal
* esp_pm
* esp_serial_slave_link
* esp_timer
* freertos
* idf_test
* log
* mbedtls
* newlib
* perfmon
* spi_flash
* spiffs
* ulp
* unity
* vfs
2021-07-01 19:53:11 +08:00
Jeroen Domburg
2c75f63f89
* ets_delay_us(1) has too much overhead; change logic
...
* Fix MR comments
2021-04-28 16:38:24 +08:00
Jiacheng Guo
bbb0e7a573
vfs: fix build & ci errors
2021-04-15 15:19:00 +08:00
Jiacheng Guo
0d986de363
vfs: add default initializer for vfs_eventfd
2021-04-15 15:19:00 +08:00
Jiacheng Guo
40035edcac
vfs: add doc links
2021-04-15 15:19:00 +08:00
Jiacheng Guo
7c64d1530a
vfs: modify copyright header
2021-04-15 15:18:59 +08:00
Jiacheng Guo
37a992bbde
vfs: add example for eventfd
2021-04-15 15:18:59 +08:00
Jiacheng Guo
7b911e4641
vfs: add support for mutiple selects in eventfd
2021-04-15 15:18:59 +08:00
Jiacheng Guo
30e9345bc7
vfs: add unit tests for eventfd
2021-04-15 15:18:59 +08:00
Jiacheng Guo
f6fd2eb164
vfs: add eventfd support
...
eventfd imitates the behavior of POSIX api `man(2) eventfd`. This api
can be used to pass events to a select based message loop.
2021-04-15 15:18:59 +08:00
Marius Vikhammer
2aead8ba57
Support ESP32S3 Beta 3 target
...
Update ROM API. Port changes from bringup branch.
2021-03-18 10:24:22 +08:00
Jiacheng Guo
b14830c5c0
vfs: use sys/dirent.h from newlib
...
The dirent.h shipped with the risc-v compiler lacks `extern "C"`
declartion and causes linkage declartion conflict when included in C++
files. Use the dirent.h from newlib only to avoid this issue.
2021-03-04 14:58:43 +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
morris
753a929525
global: fix sign-compare warnings
2021-01-12 14:05:08 +08:00
Ivan Grokhotkov
b1c4107275
vfs: zero-initialize struct stat in *_stat and *_fstat handlers
...
...otherwise some fields will contain garbage values.
This wasn't noticed until HAVE_BLKSIZE got enabled in newlib builds.
2020-12-29 16:18:04 +01:00
Angus Gratton
c3ba995f2c
Merge branch 'ci/ccomp_performance_tests' into 'master'
...
unit_test: Refactor all performance tests that rely on cache compensated timer
See merge request espressif/esp-idf!11709
2020-12-24 13:44:52 +08:00
Angus Gratton
1741ae941e
vfs: Update for esp32c3
...
From internal commit 6d894813
2020-12-24 14:18:02 +11:00
Marius Vikhammer
0a95151a75
unit_test: Refactor all performance tests that rely on cache compensated timer
...
There is no ccomp timer on C3, which means our performance tests will start
failing again due to variance caused by cache misses.
This MR adds TEST_PERFORMANCE_CCOMP_ macro that will only fail
performance test if CCOMP timer is supported on the target
2020-12-22 18:56:24 +11:00
Angus Gratton
5228d9f9ce
esp32c3: Apply one-liner/small changes for ESP32-C3
2020-12-01 10:58:50 +11:00
Angus Gratton
420aef1ffe
Updates for riscv support
...
* Target components pull in xtensa component directly
* Use CPU HAL where applicable
* Remove unnecessary xtensa headers
* Compilation changes necessary to support non-xtensa gcc types (ie int32_t/uint32_t is no
longer signed/unsigned int).
Changes come from internal branch commit a6723fc
2020-11-13 07:49:11 +11: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
morris
61f89b97c6
bringup esp32-s3 on FPGA
2020-09-22 15:15:03 +08:00
Jakob Hasse
20c068ef3b
cmock: added cmock as component
...
* changing dependencies from unity->cmock
* added component.mk and Makefile.projbuild
* ignore test dir in gen_esp_err_to_name.py
* added some brief introduction of CMock in IDF
2020-09-02 16:38:37 +08:00
Ivan Grokhotkov
e4e553efeb
Merge branch 'bugfix/vfs_zero_length_base_path' into 'master'
...
vfs: fix invalid dereference for zero-length base_path
Closes IDFGH-3567
See merge request espressif/esp-idf!9561
2020-07-23 04:06:48 +08:00
morris
345606e7f3
esp_rom: extract common uart apis into esp_rom_uart.h
2020-07-17 16:00:59 +08:00
houwenxiang
8e00522cd7
vfs: support vfs uart set line endings with specified uart number
2020-07-10 11:15:09 +08:00
Ivan Grokhotkov
53f89464a3
vfs: fix invalid dereference for zero-length base_path
...
When base_path has len == 0, the code used to compare base_path[-1]
with '/'. Fix by correcting the length check.
Also mention the case of zero-length base_path in the API reference.
Closes https://github.com/espressif/esp-idf/issues/5514
2020-07-10 00:20:55 +02:00
Ivan Grokhotkov
fc8cd4048d
vfs: add vfs_cdcacm driver (aka USB CDC)
2020-06-26 15:38:49 +02:00
Ivan Grokhotkov
002c50540b
vfs: move line ending definitions into esp_vfs_common
2020-06-24 15:50:51 +02:00
Andrei Gramakov
283026a761
vfs: semihost driver bugfix
2020-04-15 15:46:47 +02:00
Andrei Gramakov
305592f1aa
vfs: semihosting driver update supporting semihosting_common handler from OpenOCD
...
- implemented SYS_DRVINFO syscall and version handling for the semihosting driver
- removed a support of old oocd versions
renamed kconfig options:
- CONFIG_SEMIHOSTFS_HOST_PATH_MAX_LEN to CONFIG_VFS_SEMIHOSTFS_HOST_PATH_MAX_LEN
- CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS to CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS
2020-04-03 16:19:06 +02:00
Angus Gratton
62426a6c90
Merge branch 'refactor/use_new_component_registration_functions' into 'master'
...
CMake: Use new component registration function
See merge request espressif/esp-idf!8068
2020-03-25 08:02:42 +08:00
Renz Bagaporo
3d0967a58a
test: declare requirements and include dirs private
2020-03-23 10:58:50 +08:00
Ivan Grokhotkov
cadab2cbcf
vfs: define all implementations as esp_vfs_, create aliases
...
This change allows (in the future) to test VFS on host, without having
it conflict with the host C library. On host, all aliases would be
disabled.
2020-03-20 13:43:42 +01:00
Ivan Grokhotkov
a3c0bcb0a0
vfs: introduce options to turn off some features
...
CONFIG_VFS_SUPPORT_IO: for basic I/O functions support
CONFIG_VFS_SUPPORT_DIR: for file/directory functions support
CONFIG_VFS_SUPPORT_SELECT: for select support
2020-03-20 13:43:42 +01:00
Ivan Grokhotkov
45e50f1f2a
newlib: move dirent.h, ioctl.h headers from VFS
2020-03-20 13:43:42 +01:00
Angus Gratton
99cdddeb63
docs: Fix broken or incorrect link roles to IDF files & directories
2020-02-18 10:34:11 +11:00
Angus Gratton
11fac8637a
docs: Resolve doxygen & Sphinx warnings
2020-02-07 16:37:45 +11:00
morris
e30cd361a8
global: rename esp32s2beta to esp32s2
2020-01-22 12:14:38 +08:00
Roland Dobai
a9c4dab4d3
VFS: Check in select() if the UART driver is installed or not
...
Closes https://github.com/espressif/esp-idf/issues/4627
2020-01-14 13:52:27 +01:00
Konstantin Kondrashov
2c793cef06
idf: Support a custom toolchain with time_t wide 64-bits
...
Allows resolving the Y2K38 problem.
Closes: IDF-350
Closes: https://github.com/espressif/esp-idf/issues/584
2020-01-10 12:58:54 +08:00
Ivan Grokhotkov
23848fd1b9
newlib: define fcntl as strong symbol
...
Closes https://github.com/espressif/esp-idf/issues/3694
Closes https://github.com/espressif/esp-idf/issues/4407
2019-12-11 14:53:26 +01:00
houwenxiang
f27ae9b0e2
feature: Add uart hal support.
2019-11-26 20:01:50 +08:00
Renz Christian Bagaporo
550c0ef234
vfs: use ccomp timer in performance test
2019-11-18 10:29:02 +08:00
Roland Dobai
84bbafb6a4
VFS: Fix performance test for esp32s2beta
2019-11-01 09:40:16 +00:00
Roland Dobai
2a0285fdb4
Fix VFS UART unit tests for esp32s2beta
2019-10-30 13:45:12 +00:00
Angus Gratton
7ce75a42c7
Merge branch 'master' into feature/esp32s2beta_merge
2019-10-25 15:13:52 +11:00
Roland Dobai
8b56496efa
VFS: Fix bug which occurs when driver is installed during a select() call
...
Closes https://github.com/espressif/esp-idf/issues/3554
2019-10-21 11:59:38 +02:00
Ivan Grokhotkov
5830f529d8
Merge branch 'master' into feature/esp32s2beta_merge
2019-10-02 19:01:39 +02:00