Commit Graph

286 Commits

Author SHA1 Message Date
Song Ruo Jing
a4e8960ab4 esp_clk_tree: Rename clk_tree_xxx to esp_clk_tree_xxx, add compilation warning to clk_tree.h 2023-04-25 14:12:06 +08:00
Ivan Grokhotkov
fee3082d88
vfs: VFS_MAX_COUNT should be non-zero even without IO support 2023-04-13 15:37:37 +02:00
Oliver Schmidt
6beeecbbcf Allow to config the maximum number of VFS entries. 2023-03-14 17:29:11 +01:00
C.S.M
b184b9a153 Merge branch 'bugfix/usb_serial_driver_block' into 'master'
usb_serial_jtag: Fix bug of blocking TX xfer when using driver

Closes IDF-5390 and IDFGH-8776

See merge request espressif/esp-idf!22412
2023-02-24 10:22:08 +08:00
Cao Sen Miao
720b8d9c1a usb_serial_jtag: Fix bug of blocking TX xfer when using driver,
Merges https://github.com/espressif/esp-idf/pull/10208
2023-02-23 17:45:39 +08:00
Chip Weinberger
c39be8bc76 [USB Serial/JTAG Driver] use time-limited blocking for TX 2023-02-22 14:28:08 +08:00
Alexey Lapshin
75642ca07a vfs: fix gcc-12 compile errors 2023-02-22 05:33:03 +00:00
Cao Sen Miao
fd3e0b0b18 esp32h2(ci): enable target test 2023-02-15 10:20:43 +08:00
morris
774a05399b soc: fix wrong APB_CLK_FREQ value on esp32c6 2023-01-28 06:33:23 +00:00
Song Ruo Jing
e13a4ad963 ci: Disable some unit-test-apps for esp32c6 to pass ci build stage 2022-11-28 11:58:30 +08:00
Ivan Grokhotkov
11ec9d392d Merge branch 'bugfix/storage_wformat' into 'master'
storage: fix and re-enable -Wformat warnings

See merge request espressif/esp-idf!20486
2022-10-18 20:21:53 +08:00
Ivan Grokhotkov
0a352a6ff2
vfs, spi_flash: re-enable unit tests for C2 2022-10-12 11:09:36 +02:00
Ivan Grokhotkov
23e1ae1bc2
storage: fix and re-enable -Wformat warnings 2022-10-06 16:16:32 +02:00
radek.tandler
723adae0ec spiffs: convert host tests from Make to CMake 2022-09-12 14:14:09 +00:00
Mahavir Jain
8b8d525a6c
vfs: use recommended esp_cpu_dbgr_is_attached API
This fixes deprecation warning with earlier API
`cpu_hal_is_debugger_attached`.
2022-08-29 22:15:11 +05:30
Martin Vychodil
38acc3f7bf Merge branch 'feature/vfs_driver_interface' into 'master'
esp/vfs: VFS semihosting interface support

Closes OCD-98

See merge request espressif/esp-idf!16932
2022-08-29 20:52:17 +08:00
Ivan Grokhotkov
401c10ecfb build system: re-add -Wno-format as private flag for some components 2022-08-03 16:42:47 +04:00
Ivan Grokhotkov
0d4a533b74 Merge branch 'bugfix/usb_console_reset' into 'master'
esp_system: usb_console: fix restart when Wi-Fi is working

Closes IDFGH-5683

See merge request espressif/esp-idf!19289
2022-08-01 13:36:44 +08:00
Ivan Grokhotkov
bf10146a15
esp_system, vfs: fix incomplete blocking reads in vfs_cdcacm
Blocking read from cdcacm VFS could return less bytes than requested.
This didn’t match the behaviour of other VFS drivers, and higher level
code could misbehave.
2022-07-28 17:28:08 +02:00
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