Commit Graph
100 Commits
Author SHA1 Message Date
Renz Christian Bagaporo 08ad0f8194 esp_system: remove usage of CONFIG_FREERTOS_UNICORE from panic handler 2020-07-06 15:33:56 +08:00
Renz Christian Bagaporo 67983d5c1c esp_system: restore order of some init functions 2020-06-19 18:40:10 +10:00
Renz Christian Bagaporo 20d17e648b esp32, esp32s2: remove dependency of cache err int init on freertos 2020-06-19 18:40:10 +10:00
Renz Christian Bagaporo 4d094eccca esp_system: move brownout init due to dependency issue 2020-06-19 18:40:10 +10:00
Renz Christian Bagaporo 362d7b8f71 efuse: spelling fix 2020-06-19 18:40:10 +10:00
Renz Christian Bagaporo 4bc53d44e3 xtensa: use early logging for trax config during startup 2020-06-19 18:40:10 +10:00
Renz Christian Bagaporo ef2a44d251 esp_system: introduce single core mode proxy config 2020-06-19 18:40:10 +10:00
Renz Christian Bagaporo c53ad56515 esp_system: startup flow modifications
Changes the startup flow to the ff:

hardware -> core libraries init  -> other libraries init -> os
init (optional) -> app_main

- hardware init resides in the port layer, and is the entry point

- core libraries init executes init functions of core components

- other libraries init executes init functions of other components (weak
references)

- after other lib is init, the app_main function is called, however,

 an OS can wrap the real call to app_main to init its own stuff, and
 *then* call the real app_main
2020-06-19 18:40:09 +10:00
Renz Christian Bagaporo 0f43a2620d esp_system: component init functions macro
Allows components to declare initialization function, such that the
startup code does not have direct dependency on the component.
2020-06-19 18:40:09 +10:00
Renz Christian Bagaporo 62ef63e835 esp32, esp32s2: move clk init functions to esp_system 2020-06-19 18:40:09 +10:00
Renz Christian Bagaporo 7f37fb81ca cmake: fix extra component dir ordering 2020-06-02 15:43:03 +08:00
Renz Christian Bagaporo ba579d66ba cmake: add comment that IDF build target must be global 2020-05-18 16:38:07 +08:00
Renz Christian Bagaporo 13cd832b0c ci: pushd and cd in one go in idf_build_process defaults test 2020-05-14 14:59:26 +00:00
Renz Christian Bagaporo 84e80a3e50 soc: remove sdio slave hal source file duplicate 2020-03-10 19:56:24 +08:00
Renz Christian Bagaporo 29ebfc3f46 esp_system: let panic handler break on debug mode on software abort 2020-03-10 19:56:24 +08:00
Renz Christian Bagaporo af9b1131a3 esp_system: share abort panic with port layer 2020-03-10 19:56:24 +08:00
Renz Christian Bagaporo 2855bb6f0a newlib: move abort to newlib 2020-03-10 19:56:24 +08:00
Renz Christian Bagaporo 20cfc2ecdd docs: update docs with panic handler changes 2020-03-10 19:56:24 +08:00
Renz Christian Bagaporo 2b100789b7 esp32, esp32s2: move panic handling code to new component 2020-03-10 19:56:24 +08:00
Renz Christian Bagaporo 709d139a25 partition_table: output partition table info for partition_table target 2020-03-05 11:04:09 +08:00
Renz Christian Bagaporo a5d49d4db5 tools: fix double builds with idf.py 2020-03-02 07:18:22 +05:00
Renz Christian Bagaporo eb865008d5 cmake: show error message on encrypted flash targets without proper config 2020-03-02 07:18:22 +05:00
Renz Christian Bagaporo f64a3c2a66 cmake: utility to create a failing target 2020-03-02 07:18:22 +05:00
Renz Christian Bagaporo c643f743ce esp_event: halve the events registered in performance test 2020-02-27 15:54:54 +05:00
Renz Christian Bagaporo d46989efa3 soc: remove param checking in cpu related abstractions 2020-02-27 07:15:15 +05:00
Renz Christian Bagaporo f75cb2ef00 soc: change cpu stall, unstall, and reset core to not return values 2020-02-27 07:15:15 +05:00
Renz Christian Bagaporo d5c123c1f5 soc: use own macro to assert proper args for cpu abstractions 2020-02-27 07:15:15 +05:00
Renz Christian Bagaporo 7386ac6d15 esp32s2: remove calls to stall/unstall other core 2020-02-27 07:15:15 +05:00
Renz Christian Bagaporo 7f864d24ad soc: prefer assertions, disabling functions for cpu abstractions
Prefer assertions, making available functions only when caps support it
for cpu-related abstractions.

Changes cpu hal functions to stall, unstall, reset to not accept -1;
instead prefering macros that provide the same functionality.
2020-02-27 07:15:14 +05:00
Renz Christian Bagaporo cefc71cdcd bootloader_support: mem-related initializations using cpu abstractions 2020-02-27 07:14:21 +05:00
Renz Christian Bagaporo db608736fb freertos: implement get core id with cpu abstraction 2020-02-27 07:14:21 +05:00
Renz Christian Bagaporo f3c6320ff6 soc: implement cpu utils in terms of cpu abstractions 2020-02-27 07:14:21 +05:00
Renz Christian Bagaporo c9a51bfbb2 soc: create abstraction for cpu related operations 2020-02-27 07:14:19 +05:00
Renz Christian Bagaporo ab84c73244 cmake: add subdirectory if exists utility 2020-02-18 17:16:06 +05:00
Renz Christian Bagaporo bb639bb91d ulp: use quotes when specifying files for embedding ulp binaries 2020-02-18 00:12:56 +00:00
Renz Christian Bagaporo 16e0c93e40 ci: solve public headers errors 2020-02-11 14:30:42 +05:00
Renz Christian Bagaporo b675df4b08 soc: use include_next for including common touch sensor hal header 2020-02-11 14:30:42 +05:00
Renz Christian Bagaporo 1f2e2fe8af soc: separate abstraction, description and implementation 2020-02-11 14:30:42 +05:00
Renz Christian Bagaporo fd74ec75d7 esptool_py: retain flash targets when building RAM loadable apps 2020-01-15 03:36:47 +00:00
Renz Christian Bagaporo 7ddd39ec7d idf.py: use underlying flash targets 2020-01-15 03:36:47 +00:00
Renz Christian Bagaporo 38b3fbfbfb cmake: add description to add_prebuild_library utility 2020-01-15 03:36:47 +00:00
Renz Christian Bagaporo cc8bff703e esptool_py: create flash target functions 2020-01-15 03:36:47 +00:00
Renz Christian Bagaporo fb1dec37d8 spi_flash: reenable mmap tests on esp32s2beta 2020-01-10 16:17:01 +11:00
Renz Christian Bagaporo f766866167 cmake: remove intermediary libraries for some component 2019-12-11 16:43:47 +08:00
Renz Christian Bagaporo 17876d3d73 cmake: some optimizations to build system tests 2019-12-11 16:43:47 +08:00
Renz Christian Bagaporo 2ebaf53edc examples: add import prebuilt example 2019-12-10 19:22:25 +08:00
Renz Christian Bagaporo 91b421c35f cmake: implement utility to import prebuilt libraries 2019-12-10 19:22:25 +08:00
Renz Christian Bagaporo e6ad330018 ble_mesh_wifi_coexist example: Disable Wi-Fi RX IRAM optimisation
Otherwise IRAM usage is too high in this example.
2019-11-28 09:20:00 +08:00
Renz Christian Bagaporo bb139d2b83 esp_event: fix possibility of null ptr dereference
Closes https://github.com/espressif/esp-idf/issues/4373
2019-11-25 14:27:10 +08:00
Renz Christian Bagaporo 6540877f23 test_utils: move ccomp timer interrupt allocation/free to init/deinit 2019-11-21 11:59:46 +08:00
Renz Christian Bagaporo c4dc63c4d8 ci: add jobs for tests 2019-11-18 10:29:42 +08:00
Renz Christian Bagaporo 550c0ef234 vfs: use ccomp timer in performance test 2019-11-18 10:29:02 +08:00
Renz Christian Bagaporo df26ab13e2 test_utils: implement performance timer 2019-11-18 10:29:01 +08:00
Renz Christian Bagaporo 77585bd14e spiffs: fix build issue on clean project
From issue:

I did some poking around in components/spiffs/project_include.cmake and
it looks like what is failing is it isn't getting an offset from
parttool.py. I think what the problem is that the parttool.py cannot
determine the offset of the storage partition as I can't run menuconfig
to set the custom partitions.

I have tested that this problem is solvable by manually setting the
custom partitions in sdkconfig and that is a workaround but there should
be at least a better error message in the configuration when it cannot
find the partition as this would also happen if the partition name was
misspelled.

Closes https://github.com/espressif/esp-idf/issues/4236
2019-11-13 12:31:50 +08:00
Renz Christian Bagaporo 705e4189db examples: fix idf as library example build on macOS
GCC prefixes underscore on symbol names on macOS, and so the set
undefined symbol `-u app_main` won't work. However, this is unecessary,
as the source file that defines it is specified directly to the
executable, and not through a static library.

Closes https://github.com/espressif/esp-idf/issues/4168
2019-11-08 16:04:05 +08:00
Renz Christian Bagaporo 9d33ad5e25 cmake: support git worktree
Use rev-parse to get the HEAD directory instead of manually looking for
it. This method works in the main repository, worktrees and submodules.

Closes https://github.com/espressif/esp-idf/issues/4136
2019-11-05 15:32:35 +08:00
Renz Christian Bagaporo 2dd74d4b7a ci: remove semicolon for cmake build system test 2019-11-03 16:52:06 +08:00
Renz Christian Bagaporo 42d4f39a9a cmake: consider sdkconfig defaults value from environment 2019-11-03 16:43:58 +08:00
Renz Christian Bagaporo b0bb53de06 ci: test multiple sdkconfig defaults 2019-11-03 16:43:58 +08:00
Renz Christian Bagaporo bf1df9b5b5 cmake: do not check if sdkconfig exists 2019-11-03 16:43:58 +08:00
Renz Christian Bagaporo d43cc4fa4b cmake: allow multiple sdkconfig defaults to be specified 2019-11-03 16:43:58 +08:00
Renz Christian Bagaporo f356d54365 esp_event: revert changes in !5702 2019-11-03 16:19:30 +08:00
Renz Christian Bagaporo 1ed77e3a8d esp_event: remove extra line from source file 2019-10-25 13:14:05 +08:00
Renz Christian Bagaporo 521f436315 esp_event: test that handlers can unregister themselves 2019-10-25 11:39:16 +08:00
Renz Christian Bagaporo 3c253295eb esp_event: iterate loop nodes safely as well 2019-10-25 11:39:16 +08:00
Renz Christian Bagaporo 746322b7d6 spiffs: fix issue with args to spiffsgen in make 2019-10-22 11:35:19 +08:00
Renz Christian Bagaporo d44e3d9f56 docs: cmake docs fixes 2019-10-18 12:51:46 +08:00
Renz Christian Bagaporo a986283997 spiffs: follow symlinks in host test 2019-10-08 17:55:59 +08:00
Renz Christian Bagaporo f1b5c326f4 cxx: force pthread to appear later in link line 2019-09-17 20:08:12 +08:00
Renz Christian Bagaporo a4ee680bbf app_update: use build system api to get partition_table dir 2019-09-03 19:47:53 +08:00
Renz Christian Bagaporo fe9edc3ebe docs: fix typo of build component aliases name 2019-08-28 14:52:09 +08:00
Renz Christian Bagaporo ba2ec73d59 cmake: fix build failure when git repo is initialized but no first commit
Closes https://github.com/espressif/esp-idf/issues/3920
2019-08-28 09:53:37 +08:00
Renz Christian Bagaporo 826568a120 cmake: introduce BUILD_COMPONENT_ALIASES
This commit makes it so that BUILD_COMPONENT holds only the component,
and a new property BUILD_COMPONENT_ALIASES hold the full name of the
component.

This also removes erroneous check for duplicate components, as this can
never happen:

(1) if two components have the same name but different prefixes,
the internal names are still unique between them

(2)if two components happen to have the same name and same prefix, the
latter would override the former
2019-08-27 20:40:29 +08:00
Renz Christian Bagaporo 88320062b8 cmake: make build components available before immediately
Previous implementation only builds list of components included in the
build during component registration.

Since the build components is known as the requirements expansion is
ongoing, update the list here instead.
2019-08-27 15:24:31 +08:00
Renz Christian Bagaporo c50a67567a ldgen: fix build issue on make when build dir is a symlink
Fixes an issue where build fails if the build directory is a symlink.
The issue is caused by the rule target and the final executable dependency
not matching.

Closes https://github.com/espressif/esp-idf/issues/3626
2019-08-27 13:53:31 +08:00
Renz Christian Bagaporo 72ddc940e0 cmake: hide internal targets
Use imported library, which does not create additional rules, but still
allows attaching arbitraty properties instead of custom targets. This
allows the targets to not appear in the target list of IDEs such as
CLion.
2019-08-22 09:39:24 +08:00
Renz Christian Bagaporo 4690152eca cmake: make default version 1 2019-08-21 12:46:38 +08:00
Renz Christian Bagaporo 3eecd43b31 cmake: fix issue with checking build process args 2019-08-21 12:20:46 +08:00
Renz Christian Bagaporo a1a2f33459 esptool_py: add missing phony build targets for CMake
Adds targets erase_flash and monitor for users not using idf.py.
Closes https://github.com/espressif/esp-idf/issues/2420.
2019-08-21 10:01:00 +08:00
Renz Christian Bagaporo ded0ac352d cmake: set build dir for mconf-idf
Fixes an issue where if idf_build_process is called in a CMake
subdirectory, menuconfig looks for the mconf-idf binary in the wrong
place (in the subdirectory build dir instead of root binary dir).
2019-08-16 17:46:50 +08:00
Renz Christian Bagaporo 6b16928fbc docs: build system internals 2019-08-15 14:25:47 +08:00
Renz Christian Bagaporo 6875080b9b mbedtls: add source files to appropriate library 2019-08-15 12:43:45 +08:00
Renz Christian Bagaporo 87ebdaa74e cmake: set component properties 2019-08-09 20:51:20 +08:00
Renz Christian Bagaporo e3c236d2fe cmake: fix encrypted project flash arg file generation 2019-08-09 16:35:31 +08:00
Renz Christian Bagaporo 4dd2b9edb1 components: fix incorrect include dir args 2019-08-09 08:40:17 +08:00
Renz Christian Bagaporo 08de39c226 cmake: check include directories 2019-08-09 08:40:17 +08:00
Renz Christian Bagaporo 4df98b5489 cmake: treat unregistered components as unresolved 2019-08-06 11:14:44 +08:00
Renz Christian Bagaporo d3e814fe19 cmake: set COMPONENT_DIR in early expansion
Gives same treatment to COMPONENT_DIR as COMPONENT_PATH in
https://gitlab.espressif.cn:6688/espressif/esp-idf/merge_requests/4557

Closes https://github.com/espressif/esp-idf/issues/3771
2019-07-12 16:22:18 +08:00
Renz Christian Bagaporo 2a5b02097b cmake: do not force use of new signature for target_link_libraries 2019-07-08 19:43:57 +08:00
Renz Christian Bagaporo 94e0569c2b make, cmake: pass config esptool args for otatool invocation
Closes https://github.com/espressif/esp-idf/issues/3135
2019-07-05 02:26:00 +00:00
Renz Christian Bagaporo 2360d882d9 parttool, otatool: accept esptool args 2019-07-05 02:26:00 +00:00
Renz Christian Bagaporo 72a5762525 cmake: make use of ccache opt-in 2019-06-29 00:22:57 +00:00
Renz Christian Bagaporo 4848dfa710 esptool_py: use component property to simplify arg file generation
esptool_py used to create its own custom target to attach properties to.
This commit uses component properties instead, and the APIs used to set
and retrieve those properties in order to simplify generation of
argument files to esptool.py.
2019-06-28 18:14:25 +08:00
Renz Christian Bagaporo 67909fe2a0 ci: test fail on build time works 2019-06-28 10:54:21 +08:00
Renz Christian Bagaporo e4a4063e4c cmake: fix issue with fail at build time
Fix issue that next build retry does not succeed once the requirement is
satisfied.
2019-06-28 10:54:21 +08:00
Renz Christian Bagaporo 60a77bea7d docs: remove secure boot and flash encryption from CMake pending features 2019-06-28 10:54:21 +08:00
Renz Christian Bagaporo 3ae69484fe esptool_py: do not generate flasher arg files on bootloader build 2019-06-28 10:54:21 +08:00
Renz Christian Bagaporo 9edc867c62 bootloader: fix secure boot issues
Do not include bootloader in flash target when secure boot is enabled.
Emit signing warning on all cases where signed apps are enabled (secure
boot and signed images)
Follow convention of capital letters for SECURE_BOOT_SIGNING_KEY variable, since it is
relevant to other components, not just bootloader.
Pass signing key and verification key via config, not requiring
bootloader to know parent app dir.
Misc. variables name corrections
2019-06-28 10:54:21 +08:00
Renz Christian Bagaporo 179259f195 components: restore dependency of extra bins on flash target 2019-06-28 10:50:52 +08:00
Renz Christian Bagaporo f332e0c1d6 partition_table: move establishing dependencies to respective components
partition_table: move establishing dependencies to respective components
2019-06-28 10:50:52 +08:00