Commit graph

808 commits

Author SHA1 Message Date
Renz Christian Bagaporo 459dd29444 cmake: restore ccache use when present
Closes https://github.com/espressif/esp-idf/issues/3116
2019-05-06 20:04:07 +08:00
Ivan Grokhotkov 1ca60c46f1 Merge branch 'bugfix/kconfig_no_split_headers' into 'master'
kconfig: Don't create "split" directory structures under build/include/config

Closes IDFGH-962

See merge request idf/esp-idf!4768
2019-05-05 11:31:34 +08:00
Roland Dobai 6ccdca5114 idf.py: Detect symlinks on Windows during fullclean
Closes https://github.com/espressif/esp-idf/issues/3377
2019-05-02 10:03:11 +02:00
Angus Gratton 1ed3be9c79 Merge branch 'feature/use_libraries_directly_with_ldgen' into 'master'
Pass libraries as arguments to ldgen directly

See merge request idf/esp-idf!4887
2019-04-29 08:49:42 +08:00
Angus Gratton 3694ed30eb Merge branch 'bugfix/ldgen_fails_when_wifi_ram_opt_off' into 'master'
ldgen: do not generate rules when no condition is true

See merge request idf/esp-idf!4757
2019-04-29 08:44:13 +08:00
Renz Christian Bagaporo b1ecd75d83 ldgen: pass component libraries directly 2019-04-26 20:06:53 +08:00
Ivan Grokhotkov ca6cff7637 Merge branch 'bugfix/fix_build_cmake_example_failing' into 'master'
Fix false positive errors with CMake example builds

See merge request idf/esp-idf!4608
2019-04-26 18:20:53 +08:00
Roland Dobai 23ee93ea76 Rename deprecated Kconfig options in a backward compatible way 2019-04-24 12:53:02 +02:00
Renz Christian Bagaporo 2522268c20 ldgen: do not generate rules when no condition is true
Closes https://github.com/espressif/esp-idf/issues/3295
2019-04-24 18:25:24 +08:00
He Yin Ling af4daf6a22 test: include chip in test case ID 2019-04-19 14:39:44 +08:00
He Yin Ling b75400294a test: collect unit-test performance items and save to report 2019-04-19 14:39:44 +08:00
He Yin Ling 0462620a23 tiny-test-fw: support save performance to junit report:
1. support get performance from DUT
2. update performance to `testcase.stdout` in JunitReport
2019-04-19 12:17:13 +08:00
Angus Gratton a20d02b7f1 Merge branch 'feature/remove_dependency_to_soc' into 'master'
global: remove dependency to soc everywhere except driver and kernel components

See merge request idf/esp-idf!4678
2019-04-18 08:08:41 +08:00
Anton Maklakov 3bb7dba995 Merge branch 'bugfix/use_libc_gnu_extensions' into 'master'
build: Add a standard way to use GNU extensions from libc

See merge request idf/esp-idf!4769
2019-04-17 16:22:37 +08:00
Anton Maklakov 410f5c3f7d build: Add a standard way to use GNU extensions from libc, since we have a general configured newlib in the toolchain 2019-04-17 12:08:36 +07:00
Ivan Grokhotkov bb4f5617ab test: clean up "leaks" tags from most unit tests 2019-04-16 20:07:40 +08:00
Michael (XIAO Xufeng) 562af8f65e global: move the soc component out of the common list
This MR removes the common dependency from every IDF components to the SOC component.

Currently, in the ``idf_functions.cmake`` script, we include the header path of SOC component by default for all components.
But for better code organization (or maybe also benifits to the compiling speed), we may remove the dependency to SOC components for most components except the driver and kernel related components.

In CMAKE, we have two kinds of header visibilities (set by include path visibility):

(Assume component A --(depends on)--> B, B is the current component)

1. public (``COMPONENT_ADD_INCLUDEDIRS``): means this path is visible to other depending components (A) (visible to A and B)
2. private (``COMPONENT_PRIV_INCLUDEDIRS``): means this path is only visible to source files inside the component (visible to B only)

and we have two kinds of depending ways:

(Assume component A --(depends on)--> B --(depends on)--> C, B is the current component)

1. public (```COMPONENT_REQUIRES```): means B can access to public include path of C. All other components rely on you (A) will also be available for the public headers. (visible to A, B)
2. private (``COMPONENT_PRIV_REQUIRES``): means B can access to public include path of C, but don't propagate this relation to other components (A). (visible to B)

1. remove the common requirement in ``idf_functions.cmake``, this makes the SOC components invisible to all other components by default.
2. if a component (for example, DRIVER) really needs the dependency to SOC, add a private dependency to SOC for it.
3. some other components that don't really depends on the SOC may still meet some errors saying "can't find header soc/...", this is because it's depended component (DRIVER) incorrectly include the header of SOC in its public headers. Moving all this kind of #include into source files, or private headers
4. Fix the include requirements for some file which miss sufficient #include directives. (Previously they include some headers by the long long long header include link)

This is a breaking change. Previous code may depends on the long include chain.
You may need to include the following headers for some files after this commit:

- soc/soc.h
- soc/soc_memory_layout.h
- driver/gpio.h
- esp_sleep.h

The major broken include chain includes:

1. esp_system.h no longer includes esp_sleep.h. The latter includes driver/gpio.h and driver/touch_pad.h.
2. ets_sys.h no longer includes soc/soc.h
3. freertos/portmacro.h no longer includes soc/soc_memory_layout.h

some peripheral headers no longer includes their hw related headers, e.g. rom/gpio.h no longer includes soc/gpio_pins.h and soc/gpio_reg.h

BREAKING CHANGE
2019-04-16 13:21:15 +08:00
Angus Gratton 9a5e93c286 kconfig: Don't create "split" directory structures under build/include/config
Reported in https://github.com/espressif/esp-idf/issues/3299

If a config item contains a reserved filename in Windows like _CON_ then an invalid
directory is created.

We don't rely on this feature all, so disable it.
2019-04-15 05:28:46 +00:00
Ivan Grokhotkov b3a235945e ci: don’t look for project CMakeLists in common_components 2019-04-15 03:32:05 +00:00
Renz Christian Bagaporo 7150ac61cd ldgen: rename common module 2019-04-13 08:59:32 +08:00
Mahavir Jain 1cfa09d4e8 aws_iot: moving AWS IoT to independent repository
Like other cloud frameworks, AWS IoT will also be supported through
independent repository, https://github.com/espressif/esp-aws-iot
2019-04-12 05:36:05 +00:00
Konstantin Kondrashov 5021129e71 Add support a [leaks] tag for UT 2019-04-12 09:31:23 +08:00
Anton Maklakov 2e6c8cdce3 esp32: disable -Wframe-address
Since the behavior is well defined on Xtensa with Window ABI we can
suppress a frame-address warning. Also fix the CMAKE_C*_FLAGS parsing.
2019-04-10 13:52:30 +08:00
Anton Maklakov 5a203a5371 sysview: fix test case for compatibility with new binutils
Since the ‘addr2line’ works correctly in the new version of binutils,
line numbers are different.
2019-04-10 13:48:57 +08:00
Angus Gratton c064e00842 Merge branch 'bugfix/make_bootloader_depends_on_target' into 'master'
make bootloader depend on IDF_TARGET

See merge request idf/esp-idf!4704
2019-04-10 13:07:52 +08:00
Angus Gratton 49d04250e9 Merge branch 'fix/mfg_util_todo_leftback' into 'master'
mfg_util: Remove to-do line leftback

See merge request idf/esp-idf!4707
2019-04-09 09:18:44 +08:00
suda-morris 78034879a8 make bootloader depend on IDF_TARGET 2019-04-08 11:08:06 +08:00
Renz Christian Bagaporo c81ebbf38e ldgen: add backward-compatibility with previous mapping fragment style 2019-04-04 16:33:56 +08:00
Shivani Tipnis 3996316524 mfg_util: Remove todo line leftback 2019-04-04 13:59:52 +05:30
Renz Christian Bagaporo 90ee405afd ldgen: update component linker fragment files 2019-04-04 15:57:34 +08:00
Renz Christian Bagaporo 7900178b7c ldgen: update tests for common fragment parsing 2019-04-04 15:56:46 +08:00
Renz Christian Bagaporo 7dcef2c33c ldgen: implement common fragment parsing 2019-04-04 15:56:14 +08:00
Angus Gratton 34e89c46de Merge branch 'update/mfg_util' into 'master'
mfg_util: Add changes to mfg_util as per changes in nvs_util

See merge request idf/esp-idf!3573
2019-04-04 14:40:33 +08:00
Angus Gratton 5136b76798 Merge branch 'feature/micro-ecc-only-in-bootloader' into 'master'
Use micro_ecc library only in bootloader

See merge request idf/esp-idf!4082
2019-04-04 14:26:48 +08:00
morris f5b03c9ea3 misc adjustment of esp32 component 2019-04-03 19:57:46 +08:00
Shivani Tipnis a88b40483d mfg_util: Add changes to mfg_util as per changes in nvs_util
revert changeson this file

Update README for mfg util

Update to correct coding style of script
2019-04-03 11:31:49 +05:30
Ivan Grokhotkov 43d3e75125 Merge branch 'feature/derive_esp_wifi_from_esp32' into 'master'
derive esp_wifi from esp32 component

See merge request idf/esp-idf!4602
2019-04-02 10:13:15 +08:00
Alexey Gerenkov 3914f17d26 apptrace: Adds test for logtrace_proc script 2019-04-01 19:31:45 +03:00
Alexey Gerenkov 8c6a924cdf sys_view: Adds processing scripts for heap & log traces 2019-04-01 19:31:45 +03:00
Ivan Grokhotkov d52ecb71d6 Merge branch 'feature/spiffs_image_generator' into 'master'
SPIFFS Image Generator

See merge request idf/esp-idf!4156
2019-04-01 20:08:40 +08:00
morris 79bb5de426 derive esp_wifi from esp32 component 2019-04-01 20:04:52 +08:00
Mahavir Jain fcff80ecf8 fix cmake build for bootloader 2019-04-01 15:47:01 +05:30
morris dbdb299bb1 create xtensa component
1. move xtensa specific files out of esp32 component
2. merge xtensa-debug-module component into xtensa
2019-03-27 20:24:28 +08:00
Anton Maklakov da90966828 Merge branch 'feature/mqtt_weekend_tests' into 'master'
introducing weekend tests for mqtt and fuzzer test (mdns, LWIP)

Closes IDF-540

See merge request idf/esp-idf!4230
2019-03-27 19:12:33 +08:00
morris a2f07b0806 move common include files from esp32 into esp_common 2019-03-26 11:57:03 +08:00
Renz Christian Bagaporo 8ba10bf3dc spiffs: Implement spiffs image generation 2019-03-25 12:51:52 +08:00
Renz Christian Bagaporo 3a4354c770 ci: fix cmake example build fail 2019-03-24 16:51:48 +08:00
David Cermak f05228be36 tiny-test-fw: update sdkconfig python dictionary to contain values without trailing newlines 2019-03-22 11:37:26 +01:00
Ivan Grokhotkov 24bd5f3267 ci: add mirror for tinydtls submodule 2019-03-22 14:27:08 +08:00
Angus Gratton 80dd3ae749 Merge branch 'bugfix/cmake_component_path' into 'master'
cmake: Set COMPONENT_PATH during early expansion of dependencies

Closes IDFGH-787

See merge request idf/esp-idf!4557
2019-03-22 07:13:11 +08: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 ffa8bed7c8 Merge branch 'bugfix/nvs_util_write_single_page_big_blob_data' into 'master'
nvs_util: Fix to support write operation of multiple single page big blob data

See merge request idf/esp-idf!4268
2019-03-21 19:10:29 +08:00
Ivan Grokhotkov eee89118d9 Merge branch 'feature/idf_monitor_save_log' into 'master'
tools: Create log files from IDF Monitor

Closes IDF-364

See merge request idf/esp-idf!4414
2019-03-21 19:06:31 +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 4fc548112e Merge branch 'bugfix/ldgen_type_1_fails_on_windows' into 'master'
Fix library path parsing in windows

Closes IDFGH-733

See merge request idf/esp-idf!4516
2019-03-21 18:38:51 +08:00
Conrad Meyer 85653acfb4 check-lxdialog.sh: Support libintl on FreeBSD
To unbreak "make menuconfig."

Merges https://github.com/espressif/esp-idf/pull/3168
2019-03-21 15:06:24 +08:00
Sarena Meas e24ac7a346 Add another auto-generated file to .gitignore.
* Update tools/kconfig/.gitignore for auto-generated file *.o.

Merges https://github.com/espressif/esp-idf/pull/3073
2019-03-21 15:06:24 +08:00
Shivani Tipnis 60b5cdde20 nvs_util: Fix to support write of multiple singlepage big blob data
Closes https://github.com/espressif/esp-idf/issues/3011
2019-03-20 08:15:36 +00:00
Angus Gratton abdc9f50d8 cmake: Set COMPONENT_PATH during early expansion of dependencies
Works around bug where components/soc/CMakeLists.txt was testing "EXISTS
${COMPONENT_PATH}/${SOC_NAME}" and this test could pass during early
expansion if COMPONENT_PATH was empty and a directory /esp32 exists
on Windows.

Closes https://github.com/espressif/esp-idf/issues/3195
2019-03-20 10:45:45 +11:00
He Yin Ling 0a3975e80d test: handle exception by unit test script:
unit test script will detect exception, we don't need to let test fail
when exception happened.
2019-03-19 11:24:08 +08:00
He Yin Ling b85e9e5cda tiny-test-fw: support translate backtrace in IDFDUT 2019-03-19 11:24:08 +08:00
He Yin Ling f11eba7802 tiny-test-fw: support detect exception in IDFDUT 2019-03-19 11:24:08 +08:00
Roland Dobai 2a419fa599 tools: Create log files from IDF Monitor 2019-03-18 19:33:20 +01:00
Renz Christian Bagaporo 9ce7ffb440 ldgen: fix library path parsing in windows
Closes https://github.com/espressif/esp-idf/issues/3173
2019-03-18 03:47:38 +08:00
Angus Gratton f6665cf90b Merge branch 'bugfix/esp_prov_ble_rw_except' into 'master'
esp_prov : Catch DBus exception when reading/writing to BLE GATT characteristic

See merge request idf/esp-idf!4503
2019-03-15 21:10:53 +08:00
Angus Gratton 6400714d9b Merge branch 'feature/confserver_v2' into 'master'
confserver: Add v2 confserver protocol with separate visibility info

See merge request idf/esp-idf!4162
2019-03-15 14:49:05 +08:00
Ivan Grokhotkov 416b756ea4 Merge branch 'bugfix/name_conflict_esp32_project_ld' into 'master'
esp32: Rename esp32.common.ld to esp32.project.ld to avoid build errors when downgrading

See merge request idf/esp-idf!4484
2019-03-15 11:42:20 +08:00
Angus Gratton a44f43c2ea confserver: Send an error response if JSON request is malformatted 2019-03-15 14:31:45 +11:00
Angus Gratton 6897dab2de confserver: In protocol V2, a "load" should only send back changes not all items 2019-03-15 14:31:45 +11:00
Angus Gratton 02802a5113 confserver: Add support for new V2 protocol
V2 adds:
* Independent result for visibility (showing/hiding menus)
* Includes adding IDs for all items (menus & symbols) in kconfig_menus.json

Still backwards compatible with V1, with some small changes (menu items now listed in results).

Also added some protocol docs, changed the "listening on stdin" message to come after any kconfiglib warnings
2019-03-15 14:31:45 +11:00
Angus Gratton f02ceb747e Merge branch 'bugfix/idf_py_windows_relpath' into 'master'
idf.py: Fix Windows issue if project and IDF are on different drives

Closes IDFGH-478

See merge request idf/esp-idf!4404
2019-03-15 09:36:25 +08:00
Anurag Kar 048cd2a887 esp_prov : Catch DBus exception when reading/writing to BLE GATT characteristic
This is useful in the context of provisioning when server initiates disconnection if secure session establishment fails.
2019-03-14 18:33:34 +05:30
Angus Gratton a79c5b8271 esp32: Rename esp32.common.ld to esp32.project.ld to avoid build errors when downgrading
Linker script generator produces build/esp32/esp32.common.ld from
components/esp32/ld/esp32.common.ld.in

This works fine until IDF is downgraded to V3.1 which uses components/esp32/ld/esp32.common.ld and
doesn't track build/esp32/esp32.common.ld at all.

At this point, the linker runs in the build/esp32 directory and "-T esp32.common.ld" picks up the
linker script generated .ld file, which causes mis-builds.

As reported on forums: https://esp32.com/viewtopic.php?f=13&t=9684&p=40105
2019-03-14 09:59:31 +11:00
KonstantinKondrashov 126d6b2de2 tools/test_build_system: Add tests with long IDF_VER 2019-03-13 20:43:33 +08:00
Konstantin Kondrashov f8ca296438 cmake: Trim IDF_VER to fit a 32-bit field 2019-03-13 20:04:43 +08:00
Angus Gratton 5107f9f9b2 Merge branch 'bugfix/confgen_expr_value' into 'master'
confgen: Fix bug with JSON metadata conditional range generation

See merge request idf/esp-idf!4402
2019-03-13 13:54:17 +08:00
Renz Christian Bagaporo 5fb1c1ad3e ci: test full build never runs '/usr/bin/env python' or similar 2019-03-12 17:26:54 +08:00
Renz Christian Bagaporo d0b2d5ec95 cmake: Fix for Python files executed directly, not via PYTHON variable
A problem if the Python interpreter used for idf.py (or set via PYTHON
variable) didn't match
"/usr/bin/env python" (or the associated executable for .py files, on
Windows).

Closes https://github.com/espressif/esp-idf/issues/3160
Possibly also fix for https://github.com/espressif/esp-idf/issues/2936

Adds build system test to catch any future direct execution of Python in
the standard build process.
2019-03-12 13:31:44 +08:00
Angus Gratton 4a575d5449 idf.py: Fix Windows issue if project and IDF are on different drives
Closes https://github.com/espressif/esp-idf/issues/2753
2019-03-11 04:31:13 +00:00
Angus Gratton de7daa14a9 Merge branch 'bugfix/msys_cancel_idfpy' into 'master'
tools: re-run idf.py in MSYS with winpty

Closes #67

See merge request idf/esp-idf!4341
2019-03-11 12:27:36 +08:00
He Yin Ling 1a9f019d2a unit-test-app: increase factory partition size 2019-03-10 06:21:37 +00:00
He Yin Ling 323a790f01 test: fix CI UT job pass even ut app bootup fail 2019-03-10 06:21:37 +00:00
Roland Dobai ef250ced1b tools: re-run idf.py in MSYS with winpty
This is done in order to cancel subprocesses on keyboard interrupt
(CTRL+C).
2019-03-07 14:47:19 +01:00
Ivan Grokhotkov 5f3bd38d3d Merge branch 'bugfix/cmakeSpaceProcessForCOMPONENT_SRCS' into 'master'
add spaces2list for COMPONENT_SRCS

See merge request idf/esp-idf!4427
2019-03-07 15:11:51 +08:00
morris 9297b07a97 cmake: add spaces2list for COMPONENT_SRCS
According to ESP-IDF Cmake build system document, COMPONENT_SRCS should support using spaces to sperate source files.

Closes https://github.com/espressif/esp-idf/issues/3130
2019-03-06 20:55:38 +08:00
Anton Maklakov 88ec05cba2 ci: Fix the parsing of submodule paths 2019-03-06 19:37:34 +08:00
Angus Gratton 673441aba0 confgen: Fix bug with JSON metadata conditional range generation
When generating JSON metadata for ranges where there are conditional ranges (ie different allowed range
depending on another config setting), the JSON metadata would always have the last named range as
the expression was not evaluated properly.

Thanks to ulfalizer on GitHub for pointing this out.

Closes https://github.com/espressif/esp-idf/issues/2195
2019-03-01 15:38:23 +11:00
Konstantin Kondrashov b8141f3ad8 efuse: Fix make/cmake build systems and docs 2019-02-28 07:31:29 +00:00
Konstantin Kondrashov 91676b8620 build_system: Add support efuse 2019-02-28 07:31:29 +00:00
Angus Gratton fab11e1cec Merge branch 'bugfix/cmake_psram_fix_flag' into 'master'
cmake: Fix psram workaround compiler flag application

See merge request idf/esp-idf!4335
2019-02-27 13:20:21 +08:00
Ivan Grokhotkov 1bc831f074 Merge branch 'bugfix/esp_timer_monotonic_test' into 'master'
esp_timer: fix occasional failures in "esp_timer_get_time returns monotonic values" test

See merge request idf/esp-idf!4340
2019-02-27 11:08:53 +08:00
Angus Gratton da390618c2 cmake: Fix psram workaround compiler flag application
Previously, this compiler flag was not being applied
regardless of CONFIG_SPIRAM_CACHE_WORKAROUND setting.

Explanation: add_compile_options() only applies to
source files added after the function is run, or in
subdirectories added after the function is run. In
this case, no new source files were being added after
this function was run.
2019-02-26 04:07:51 +00:00
Ivan Grokhotkov d3724dc35d esp_timer: fix occasional failures in "monotonic values" test
1. ref_clock used in unit tests occasionally produces time off by ~100
microseconds shortly after being started. Add a delay to let
ref_clock stabilise, until the cause is found.

2. Reduce roundoff error accumulation which would occasionally cause
the test to fail, by choosing an overflow value which can be divided
by APB frequency.

3. Move time sampling part of the test into an IRAM function to
reduce variations due to cache behavior.

4. Remove calculation of "standard deviation" in the test, as what was
calculated was not actually standard deviation, and it did not add any
useful information.
2019-02-26 02:01:29 +00:00
Roland Dobai 7c959904b5 tools: Test IDF Monitor after it is ready to receive data 2019-02-25 10:35:09 +01:00
Ivan Grokhotkov 1aa8e8d38e Merge branch 'bugfix/make_extra_component_dirs' into 'master'
make: fix issues related to EXTRA_COMPONENT_DIRS

See merge request idf/esp-idf!4253
2019-02-22 16:00:31 +08:00
Ivan Grokhotkov 6e88822807 Merge branch 'bugfix/kconfig_flex_arg' into 'master'
kconfig: fix compatibility with very old versions of flex

See merge request idf/esp-idf!4263
2019-02-22 15:49:11 +08:00
Renz Christian Bagaporo 24284b3afd ldgen: remove resolution of template includes 2019-02-22 08:25:56 +08:00
Angus Gratton 5b182eefc1 Merge branch 'bugfix/spiram_linker_wildcards' into 'master'
newlib: Provide library name for ROM libc object files linked as PSRAM workarounds

See merge request idf/esp-idf!4152
2019-02-19 13:28:10 +08:00
Anurag Kar a1d37c833c protocomm : version endpoint behavior simplified
List of changes:
* Version endpoint now sends the set version string instead of verifying the incoming version string. This simplifies fetching version info from the provisioning application.
* esp_prov script updated to expect version string as response.
2019-02-15 10:45:34 +00:00
Angus Gratton 1867da48af Merge branch 'bugfix/cmake_unit_test_fail' into 'master'
Use flasher_args.json for flashing CMake CI unit test

See merge request idf/esp-idf!4225
2019-02-15 08:55:14 +08:00