Roland Dobai
7cc225c85b
VFS: Fix memory access after free() in UART select()
...
Closes https://github.com/espressif/esp-idf/issues/4030
2019-09-10 04:59:03 +00:00
Michael (XIAO Xufeng)
76a3a5fb48
ci: disable unavailable tests for esp32s2beta
2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng)
9baa7826be
fix unit test and examples for s2beta
2019-09-04 10:53:25 +10:00
Angus Gratton
6990a7cd54
Merge branch 'master' into feature/esp32s2beta_update
2019-08-19 15:03:43 +10:00
Angus Gratton
04ae56806c
Merge branch 'master' into feature/esp32s2beta_update
2019-08-08 15:26:58 +10:00
Angus Gratton
24d26fccde
Merge branch 'master' into feature/esp32s2beta_update
2019-08-08 13:44:24 +10:00
Roland Dobai
2211039b6d
docs: Correct and extend the documentation about VFS select()
2019-08-05 11:17:43 +02:00
Roland Dobai
91ce5db172
VFS: Support concurrent VFS select calls
...
Closes https://github.com/espressif/esp-idf/issues/3392
2019-08-05 11:17:41 +02:00
Michael Zimmermann
74a459dd3d
make code conform to Wstrict-prototypes
...
Merges https://github.com/espressif/esp-idf/pull/2937
2019-08-01 16:28:56 +07:00
Anton Maklakov
afbaf74007
tools: Mass fixing of empty prototypes (for -Wstrict-prototypes)
2019-08-01 16:28:56 +07:00
chenjianqiang
e43513b610
bugfix(uart): uniform AT_CMD char configuration
2019-07-18 19:24:13 +08:00
Michael (XIAO Xufeng)
00b33a8e14
vfs_uart: refactor to have static context structure
2019-07-18 15:57:00 +08:00
chenjianqiang
4cc962353c
feat(uart): update uart driver for esp32s2beta
2019-07-18 15:57:00 +08:00
Roland Dobai
41062bea99
VFS: Implement pread() and pwrite()
...
Closes https://github.com/espressif/esp-idf/issues/3515
2019-07-11 06:20:21 +00:00
Roland Dobai
43eb58da99
VFS: Fix Kconfig prefix
2019-07-02 17:17:18 +02:00
Renz Christian Bagaporo
9eccd7c082
components: use new component registration api
2019-06-21 19:53:29 +08:00
Michael (XIAO Xufeng)
b5c3ac0ec2
vfs_uart: refactor to have static context structure
2019-06-20 11:32:24 +08:00
chenjianqiang
cf2ba210ef
uart: multichip support
2019-06-20 11:32:22 +08:00
Kirill Chalov
4faf2de035
Doc/review api ref storage
2019-06-17 14:23:52 +08:00
Renz Christian Bagaporo
3882e48e8a
cmake: use new signature form of target_link_library to link components
...
!4452 used setting LINK_LIBRARIES and INTERFACE_LINK_LIBRARIES to link
components built under ESP-IDF build system. However, LINK_LIBRARIES does
not produce behavior same as linking PRIVATE. This MR uses the new
signature for target_link_libraries directly instead. This also moves
setting dependencies during component registration rather than after all
components have been processed.
The consequence is that internally, components have to use the new
signature form as well. This does not affect linking the components to
external targets, such as with idf_as_lib example. This only affects
linking additional libraries to ESP-IDF libraries outside component processing (after
idf_build_process), which is not even possible for CMake<v3.13 as
target_link_libraries is not valid for targets not created in current
directory. See https://cmake.org/cmake/help/v3.13/policy/CMP0079.html#policy:CMP0079
2019-06-11 18:09:26 +08:00
Angus Gratton
ddbd09eb15
esp32/esp32s2beta: Extract common SPIRAM options into esp_commmon component
2019-06-11 13:07:37 +08:00
suda-morris
84b2f9f14d
build and link hello-world for esp32s2beta
2019-06-11 13:07:37 +08:00
Konstantin Kondrashov
399d2d2605
all: Using xxx_periph.h
...
Using xxx_periph.h in whole IDF instead of xxx_reg.h, xxx_struct.h, xxx_channel.h ... .
Cleaned up header files from unnecessary headers (releated to soc/... headers).
2019-06-03 14:15:08 +08:00
Angus Gratton
22514c1dd9
cmake: For gcc8 use linker to find paths to libc, libm, libstdc++, etc
...
Removes the need to know/guess the paths to these libraries. Once we are gcc 8 only, we
can remove -nostdlib and no additional arguments are needed for system libraries.
The catch is: any time IDF overrides a symbol in the toolchain sysroot, we need
an undefined linker marker to make sure this symbol is seen by linker.
2019-05-28 12:54:37 +08:00
Roland Dobai
0ae53691ba
Rename Kconfig options (components/esp32)
2019-05-21 09:09:01 +02:00
Roland Dobai
92950db44e
Rename Kconfig options (components/lwip)
2019-05-21 09:09:01 +02:00
Renz Christian Bagaporo
ffec9d4947
components: update with build system changes
2019-05-13 19:59:17 +08:00
Ivan Grokhotkov
89798b328b
Merge branch 'bugfix/select_init_sem' into 'master'
...
VFS: Allocate socket select semaphore outside ISR
See merge request idf/esp-idf!4591
2019-04-25 19:10:08 +08:00
Renz Christian Bagaporo
90ee405afd
ldgen: update component linker fragment files
2019-04-04 15:57:34 +08:00
Roland Dobai
2df9fb057d
VFS: Allocate socket select semaphore outside ISR
2019-03-22 13:47:32 +00:00
Ivan Grokhotkov
940a1f6e79
Merge branch 'feature/separate_rom_from_esp32' into 'master'
...
separate rom from esp32 component to esp_rom
Closes IDF-542
See merge request idf/esp-idf!4500
2019-03-21 22:10:45 +08:00
Ivan Grokhotkov
3a779380a7
Merge branch 'feature/semihost_vfs' into 'master'
...
Adds semihosting VFS driver
Closes IDF-367
See merge request idf/esp-idf!4145
2019-03-21 22:03:06 +08:00
morris
c159984264
separate rom from esp32 component to esp_rom
...
1. separate rom include files and linkscript to esp_rom
2. modefiy "include rom/xxx.h" to "include esp32/rom/xxx.h"
3. Forward compatible
4. update mqtt
2019-03-21 18:51:45 +08:00
Ivan Grokhotkov
48b1433772
vfs: change fcntl argument to int (instead of va_list), add weak fcntl
2019-03-19 21:44:17 +08:00
Alexey Gerenkov
4fc14e8eb6
vfs: Adds semihosting VFS driver
2019-03-08 15:08:10 +03:00
Roland Dobai
aa9d302814
VFS: Implement poll() based on select()
...
Closes https://github.com/espressif/esp-idf/issues/2945
2019-02-25 10:34:27 +01:00
Roland Dobai
37126d3451
Correct Kconfigs according to the coding style
2019-01-29 13:37:01 +01:00
Roland Dobai
c8e8044293
VFS: move all functions into RAM which are called in the performance test
2019-01-03 19:56:19 +01:00
Ivan Grokhotkov
61beb16225
vfs: fix unregister removing top level VFS instead of nested
...
Credits @neoniousTR.
Fixes https://github.com/espressif/esp-idf/pull/2770
2018-12-06 19:43:49 +08:00
Ivan Grokhotkov
21b3919369
Merge branch 'bugfix/vfs_open_write_close_perf_test' into 'master'
...
Fix VFS unit test failure ("Open & write & close through VFS passes performance test")
Closes #44
See merge request idf/esp-idf!3759
2018-11-29 09:40:54 +08:00
Roland Dobai
738c56e84a
Fix VFS_OPEN_WRITE_CLOSE_TIME unit test issue
...
Closes idf/esp-idf#44
2018-11-28 20:36:08 +01:00
Roland Dobai
957cf0ab84
VFS: select() on UART should return immediately when data is buffered
2018-11-27 13:39:00 +01:00
Ivan Grokhotkov
6091021e83
unity: separate common and IDF specific functionality
...
New unity component can be used for testing other applications.
Upstream version of Unity is included as a submodule.
Utilities specific to ESP-IDF unit tests (partitions, leak checking
setup/teardown functions, etc) are kept only in unit-test-app.
Kconfig options are added to allow disabling certain Unity features.
2018-11-19 12:36:31 +08:00
Ivan Grokhotkov
aa692b3483
vfs: implement fsync for UART VFS
2018-11-19 12:36:31 +08:00
Roland Dobai
fb334baa7c
VFS: Implement utime()
2018-11-05 09:54:01 +01:00
Renz Bagaporo
cc774111bf
cmake: Add support for test build
2018-10-20 12:07:24 +08:00
Angus Gratton
159ff6e08e
unit tests: Only initialise tcpip_adapter() when needed by the test
...
Prevents unexpected memory allocations when running tests which
don't require tcpip_adapter.
2018-10-17 22:53:46 +00:00
Anton Maklakov
ccbe517702
vfs: fix a fallthrough comment to silence the warning
2018-09-20 18:53:15 +08:00
Renz Christian Bagaporo
d9939cedd9
cmake: make main a component again
2018-09-11 09:44:12 +08:00
Angus Gratton
b355854d4d
Merge branch 'master' into feature/cmake
2018-09-05 10:35:04 +08:00
Roland Dobai
5395435816
Add basic support for termios.h
...
Closes https://github.com/espressif/esp-idf/issues/2063
2018-08-30 14:29:20 +02:00
Angus Gratton
ff2404a272
Merge branch 'master' into feature/cmake
2018-08-16 17:14:17 +10:00
David Cermak
1ef13c524c
asio: initial idf port of asio library without ssl
2018-07-30 06:28:43 +00:00
Angus Gratton
c77f84e788
Merge branch 'feature/fs_truncate_support' into 'master'
...
FATFS truncate support
See merge request idf/esp-idf!2541
2018-06-14 13:56:39 +08:00
Angus Gratton
59ab2136e8
Merge branch 'doc/kconfig_item' into 'master'
...
doc: fix the level inconsistent issue in Kconfig document
See merge request idf/esp-idf!2460
2018-06-14 12:51:50 +08:00
Renz Bagaporo
ea711f2ee9
vfs, fatfs: Add file truncate for fatfs
2018-06-14 06:37:21 +08:00
Mahavir Jain
636485db8e
vfs: change task{ENTER/EXIT}_CRITICAL with port{ENTER/EXIT}_CRITICAL
...
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-06-12 11:19:39 +05:30
Angus Gratton
87077a5478
test: Tweaks to reduce variation in CI unit tests
...
spi test: Prime the flash cache before each test to minimise flash cache misses.
VFS performance test: Increase the number of runs to minimise influence of an isolated bad run.
2018-06-08 14:42:44 +10:00
michael
3ba8461928
doc: fix the level inconsistent issue in Kconfig document
2018-06-05 10:36:18 +00:00
Angus Gratton
6b9784cc45
Merge branch 'master' into feature/cmake_update
2018-05-31 14:46:23 +10:00
Ivan Grokhotkov
ddff375bab
Merge branch 'feature/ci_fail_on_executable_files' into 'master'
...
CI: check source files for executable flag
See merge request idf/esp-idf!2463
2018-05-30 11:41:06 +08:00
Ivan Grokhotkov
cb649e452f
remove executable permission from source files
2018-05-29 20:07:45 +08:00
Roland Dobai
ecaf234c39
VFS: fix possible memory leak in UART
2018-05-29 11:01:25 +02:00
Roland Dobai
634e8cd54b
VFS: Use convenience function for safe FD_ISSET
2018-05-29 11:01:25 +02:00
Roland Dobai
15b26f8841
VFS: esp_vfs_select() needs to be callable from concurrent tasks
...
This fix is for compatibility with lwip_select(). It moves the lock to
UART which is the only VFS driver which is implemented and is not
"thread-safe".
2018-05-29 11:01:25 +02:00
Roland Dobai
bdbcc492cf
VFS: Add debugging outputs for select() related functions
2018-05-29 11:01:25 +02:00
Roland Dobai
e6ae121f41
VFS select: Correct reseting of socket FDs
...
When using multiple sockets, some of them could be incorrectly removed
from the fd_sets before passing these fd_sets forward to the socket
select function.
Closes https://github.com/espressif/esp-idf/issues/1987
2018-05-25 13:37:43 +00:00
Roland Dobai
004bf84d8c
VFS: Optionally disable the VFS implementation of select()
...
This allows to temporarily resolve issues like
https://github.com/espressif/esp-idf/issues/1987
while bugs are fixed in the VFS implementation of select().
2018-05-23 10:14:16 +02:00
Angus Gratton
af2cb3ba8b
Merge branch 'feature/vfs_find_free_fd' into 'master'
...
Add "find file descriptor" API to be used by VFS drivers
See merge request idf/esp-idf!2389
2018-05-18 15:22:20 +08:00
Roland Dobai
18e83bcd53
Allow VFS file descriptors in select()
2018-05-18 08:06:33 +02:00
Roland Dobai
2aa9c15906
VFS: allow to find free file descriptors & register them
2018-05-18 07:57:35 +02:00
Angus Gratton
a2241fb4bc
tests: Increase performance threshold for VFS running with PSRAM
...
Cache effects on microbenchmarks in cached flash can be significant, depending on linker layout in flash.
2018-05-17 21:02:47 +08:00
Roland Dobai
4345e198ce
Implement VFS support for access()
...
Closes https://github.com/espressif/esp-idf/issues/1085
2018-05-14 09:04:18 +02:00
Roland Dobai
733ff15719
VFS: use O_APPEND flag of open() correctly
...
Closes https://github.com/espressif/esp-idf/pull/1455
2018-05-11 08:28:22 +02:00
Roland Dobai
5129bca67c
VFS: Use smaller numbers as file descriptors
2018-05-07 09:01:56 +02:00
Angus Gratton
1cb5712463
cmake: Add component dependency support
...
Components should set the COMPONENT_REQUIRES & COMPONENT_PRIVATE_REQUIRES variables to define their
requirements.
2018-04-30 09:59:20 +10:00
Angus Gratton
4f1a856dbf
cmake: Remove defaults for COMPONENT_SRCDIRS, COMPONENT_SRCS, COMPONENT_ADD_INCLUDEDIRS
...
* Philosophical: "explicit is better than implicit".
* Practical: Allows useful errors if invalid directories given in components as the defaults aren't
always used. Also trims the -I path from a number of components that have no actual include
directory.
* Simplifies knowing which components will be header-only and which won't
2018-04-30 09:59:20 +10:00
Angus Gratton
c671a0c3eb
build system: Initial cmake support, work in progress
2018-04-30 09:59:20 +10:00
Ivan Grokhotkov
6185e722c3
Revert "Merge branch 'feature/vfs_select' into 'master'"
...
This reverts merge request !2074
2018-04-20 11:51:41 +08:00
Roland Dobai
6852d653bd
Allow VFS file descriptors in select()
2018-04-17 11:25:30 +02:00
Roland Dobai
c55987a3e9
vfs: consider O_NONBLOCK flag while opening UART FD
2018-03-29 14:20:14 +02:00
XuanZe
5a31c1e5b1
fix : cpp:type. Merges https://github.com/espressif/esp-idf/pull/1700
2018-03-14 22:04:47 +01:00
Ivan Grokhotkov
552ba35da5
add missing ioctl declaration
...
Previously ioctl was declared as a macro in lwip/sockets.h.
Disabling LWIP_POSIX_SOCKETS_IO_NAMES removed that declaration.
This adds sys/ioctl.h file and the missing declaration.
Also adds missing includes in vfs.c.
2017-10-23 19:47:33 +08:00
Angus Gratton
e5ae0f5927
lwip: Make LWIP_SOCKET_OFFSET signed, remove need for underflow check
...
This reverts commit 541493d877
.
2017-10-20 18:04:28 +08:00
Ivan Grokhotkov
502c3d0243
vfs,fat: add fsync to VFS interface, implement it for fatfs
2017-10-17 15:14:53 +08:00
Angus Gratton
539262b5c2
vfs: Remove fd_offset member
...
This was intended for integrating LWIP, but a different approach was used.
2017-10-16 09:45:50 +08:00
Angus Gratton
4a9d4587b7
vfs: Add C++ guards to esp_vfs_dev.h
...
Closes https://github.com/espressif/esp-idf/issues/1069
2017-10-16 09:45:50 +08:00
Angus Gratton
3ebf7923d3
lwip: Route LWIP socket POSIX I/O functions via IDF VFS layer
...
No more conflicts between LWIP & newlib read(), write(), fcntl(), etc.
select() still only works if all of the fds are sockets.
Closes https://github.com/espressif/esp-idf/issues/273
2017-10-16 09:45:49 +08:00
Angus Gratton
a320fed3b5
vfs: Add ioctl() to filesystem set
2017-10-16 09:45:49 +08:00
Ivan Grokhotkov
13ef3938a6
vfs_uart: fix write operation blocked by a read
...
vfs_uart used same locks for read and write operations on a single UART.
If read operation was blocking (i.e. carried out via UART driver), the
lock was held by reading task until it received a line. During this time,
other tasks trying to write to the same UART would get blocked.
This change introduces separate read/write locks, and adds a test.
Another vfs_uart test if fixed (it was disabled since the
CONFIG_NEWLIB_STDOUT_ADDCR option was removed).
2017-08-29 08:27:36 +08:00
Ivan Grokhotkov
1e4587a09f
vfs: implement fcntl via VFS interface
2017-08-21 15:58:28 +08:00
Ivan Grokhotkov
489c523870
vfs: support for blocking reads, more newline conversion options
...
Previously VFS driver for UART could only use simple non-blocking
functions to read from and write to the UART. UART driver provides more
complex blocking and interrupt-driven functions, which can be used
instead.
This commit adds optional support for using UART driver's functions.
Also added is a more flexible mechanism for configuring newline
conversion rules on input and output.
This commit also fixes a bug that all UARTs shared one static variable
used as a character buffer in newline conversion code. This variable is
changed to be per-UART.
2017-08-21 15:58:28 +08:00
Deomid Ryabkov
ee5eba793f
Make relative paths match the default VFS, if provided
...
https://github.com/espressif/esp-idf/issues/158
2017-06-23 13:12:28 +01:00
Ivan Grokhotkov
e918ee20da
Merge branch 'bugfix/vfs_fixes' into 'master'
...
VFS fixes
See merge request !901
2017-06-23 11:33:27 +08:00
Ivan Grokhotkov
45037efc45
Merge branch 'bugfix/vfs_write_return_type' into 'master'
...
Change esp_vfs_t.write return value to ssize_t
See merge request !897
2017-06-22 11:48:34 +08:00
Ivan Grokhotkov
5b678eed0d
vfs: add support for nested mount points
...
Fixes https://github.com/espressif/esp-idf/issues/135
2017-06-21 14:17:14 +08:00
Ivan Grokhotkov
4f71b4574a
vfs: fix NULL pointer dereference in esp_vfs_unregister
2017-06-21 13:54:04 +08:00
Ivan Grokhotkov
2ccfe3da96
vfs: fix opendir of a filesystem root directory
...
Previously opendir("/data") would fail if filesystem with "data" prefix
was registered in VFS, while opendir("/data/") would succeed.
This change fixes handling for the former case and adds relevant tests.
2017-06-21 01:21:14 +08:00
Deomid Ryabkov
b8782bdd90
Change esp_vfs_t.write return value to ssize_t
...
write() should return ssize_t, not size_t.
2017-06-09 21:24:00 +01:00
krzychb
30edcca1fb
docs: Generate Doxygen directives for API documentation
...
This is to resolve issue reported in https://github.com/espressif/esp-idf/issues/130 .
2017-05-19 18:26:02 +02:00