Commit Graph
100 Commits
Author SHA1 Message Date
Marius Vikhammer 70b304bc2f CI: re-enable wifi prov examples for C3 2021-04-21 09:45:35 +08:00
Marius Vikhammer 826b976ba5 timer: add IRAM_ATTR to spinlock give/take API
Closes https://github.com/espressif/esp-idf/issues/6824
2021-04-15 09:50:06 +08:00
Marius Vikhammer 38d9251bda sleep: disable switch-case jump tables from being placed in flash
sleep_modes.c contains switch statements that should be placed in flash.
Settings for avoiding this was not updated during sleep_modes refactor.
2021-04-09 14:16:27 +08:00
Marius Vikhammer 0633ee3e18 docs: fix doxygen compile warnings for doxygen 1.9.1
Newer versions of doxygen will give warnings for comments in
INPUT lists

Delete all comment lines to fix these warnings, our folder structure
stil gives an OK overview of what we are including
2021-04-09 11:57:03 +08:00
Marius Vikhammer 1ff2c834ce docs: add C3 TRM links 2021-04-09 11:01:29 +08:00
Marius Vikhammer 58d83dda40 rtc: increase CI acceptance range for calc 8M test 2021-04-08 18:50:56 +08:00
Marius Vikhammer 440fab3d6e docs: add google analytics tracking 2021-04-06 11:56:11 +08:00
Marius Vikhammer 3fea0727b0 system: enable C3 light sleep related example tests 2021-03-30 10:45:27 +08:00
Marius Vikhammer b4d2fb56a0 ci: enable previously disabled unit tests 2021-03-29 18:36:41 +08:00
Marius Vikhammer 8ac74082f1 soc: add dummy bytes to ensure instr prefetch always valid
The CPU might prefetch instructions, which means it in some cases
will try to fetch instruction located after the last instruction in
flash.text.

Add dummy bytes to ensure fetching these wont result in an error,
 e.g. MMU exceptions
2021-03-29 13:50:03 +08:00
Marius Vikhammer b99c973d9f ci: remove spi_flash_qio_s2 config
This config is already run for all targets in spi_flash_qio config
2021-03-26 16:46:21 +08:00
Marius Vikhammer 2edf9b103d esptool: update to support flashing esp32c3 eco 3 2021-03-26 10:59:40 +08:00
Marius Vikhammer d3d145285d flash enc: add flash encryption unit and example test for C3 2021-03-25 17:51:22 +08:00
Marius Vikhammer c24e3aa931 soc: update efuse address 2021-03-23 11:34:18 +08:00
Marius Vikhammer 2711c55dc6 timer: removed downcasting when setting divider
Dividers bigger than 65536 are already handled in ll,
so we shouldnt downcast it.
2021-03-23 11:05:16 +08:00
Marius Vikhammer e83d213c56 rtc: add rtc related changes from feature/support_7.2.7_soc 2021-03-18 15:23:31 +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
Marius Vikhammer e2919eca8e soc: add soc headers from S3 fpga bringup branch 2021-03-17 18:47:51 +08:00
Marius Vikhammer 6a46a77356 CI: ignore result from check_doc_links
check_doc_links will always fail due to:
 * No rate limitation for requests
 * Not being able to handle github links with anchors
2021-03-16 18:45:11 +08:00
Marius Vikhammer 91439e3818 docs: updated system api-reference chapters for C3 2021-03-15 18:51:12 +08:00
Marius Vikhammer c85d949c1f ci: run Example_GENERIC for C3
Add support for running example_GENERIC tests for C3 on label.

Fix examples that fail.
2021-03-15 10:27:07 +08:00
Marius Vikhammer 4429bc83ea ci: update docker image version for docs 2021-03-12 16:15:56 +08:00
Marius Vikhammer 4e9d810dfb Docs: build doc with new layout for target and version select 2021-03-12 16:15:56 +08:00
Marius Vikhammer fe71a8e340 aes/sha: use a shared lazy allocated GDMA channel for AES and SHA
Removed the old dynamically allocated GDMA channel approach.
It proved too unreliable as we couldn't not ensure consumers of the mbedtls
would properly free the channels after use.

Replaced by a single shared GDMA channel for AES and SHA, which won't be
released unless user specifically calls API for releasing it.
2021-03-09 09:23:05 +08:00
Marius Vikhammer 6334b5e56f docs: update api-reference chapters for C3
Checked and updated the following chapters:
 * api-reference/network
 * api-reference/protocols
 * api-reference/provisioning
 * api-reference/storage
 * api-reference/peripherals/ds
 * api-reference/peripherals/hmac
 * api-reference/peripherals/secure_element
2021-03-01 14:58:08 +08:00
Marius Vikhammer 06abe3413f temp_sensor: fix broken include path 2021-02-26 10:25:05 +08:00
Marius Vikhammer 311a0fa5e8 freertos: add API for getting tick rate on C3 2021-02-23 12:05:52 +08:00
Marius Vikhammer 8c729fb55b docs: fix broken ref in external-ram.rst 2021-02-20 12:37:59 +08:00
Marius Vikhammer c36dd7834f core: fix cases where riscv SP were not 16 byte aligned
RISC-V stack pointer should always be 16 byte aligned, but for some cases where
we were doing manual SP manipulation this was not always the case.
2021-02-19 11:26:21 +08:00
Marius Vikhammer 0a4e5c99f9 deep_sleep: on S2 disable the brown out detector before deep sleeping
On S2 the brown out detector would occasionally trigger erroneously during deep sleep.

Disable it before sleeping to circumvent this issue.

Closes https://github.com/espressif/esp-idf/issues/6179
2021-02-18 18:39:06 +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
Marius Vikhammer e52e75f2de spi_flash: disable mmap into instr space unit test for C3
On C3 the cache is programmatically split between Icache and dcache and with the default setup we dont leave a lot pages
available for additional mmaps into instruction space. Disabling this test for now since any hypothetical use case for this
is no longer supported "out of the box"
2021-02-18 15:38:30 +08:00
Marius Vikhammer 451465ff8c esp_timer: fix "esp_timer orders timers correctly" headerline handling
Discard header lines from esp_timer_dump that comes before the actual timer
info. "esp_timer orders timers correctly" would crash when reading the header lines.
2021-02-18 11:59:42 +08:00
Marius Vikhammer d294ac381f freertos: fix errors reported by PVS-Studio
Removed leftover code-paths that were never taken. Upstream freertos uses
vTaskSuspendAll() and xTaskResumeAll(), and therefor check if the task already
yielded.

In the IDF port of freertos we use critcal sections instead, so xAlreadyYielded
will never be set.

Partially addresses https://github.com/espressif/esp-idf/issues/6440
2021-02-11 03:15:04 +00:00
Marius Vikhammer 04df1f3a42 CI: enable example builds for C3
Enables building C3 examples in CI.

Fixes related warnings/errors and disables examples that cannot run.
2021-02-09 12:04:02 +08:00
Marius Vikhammer 245a2469f6 sha: dont enable/disable GDMA when enable/disable SHA module
Enabling and disabling of the GDMA module is done by the GDMA driver.
2021-02-02 19:24:57 +08:00
Marius Vikhammer fa7aa656d3 build-system: add loadable elf support for ESP32-S2 and C3 2021-02-02 17:21:39 +08:00
Marius Vikhammer dab4913ab5 Merge branch 'doc/provide_CN_translation_for_MR11884' into 'docs/c3_get_started'
Provide CN translation for part of documents in MR11884

See merge request espressif/esp-idf!12199
2021-02-02 09:20:00 +08:00
Marius Vikhammer 548fd02d10 docs: initial update of programming guide for C3
Updates "front page" content, get-started, and api-guides with C3 content

Enable building and publishing of C3 docs in CI
2021-02-01 15:40:02 +08:00
Marius Vikhammer 4374966d4e freerots: fix rtos_int_exit writing outside ISR stack
rtos_int_exit would store RA at an offset of 4 byte from the SP,
where the offset should be 0.

This caused rtos_int_exit to overwrite variables in bss.
2021-01-26 11:18:39 +00:00
Marius Vikhammer 3fd37d0b59 adc: change the way data is formattted in adc_dma_demo
The way the adc_dma_demo data was formatted caused it go get parsed as markdown syntax.

Changed it be more "human" readable as well as put all ADC examples in a common folder
2021-01-25 04:51:40 +00:00
Marius Vikhammer ec5fb44778 wifi: remove esp_phy_enable/disable IRAM_attr
esp_phy_enable and esp_phy_disable were declared both with IRAM attr
and with (noflash) in the linker fragment file, causing ldgen to emit
warnings.

Remove IRAM_attr and let the linker fragment decide placement
2021-01-22 11:04:47 +08:00
Marius Vikhammer 7a8a026b1d docs: fix uart number naming error 2021-01-20 15:48:34 +08:00
Marius Vikhammer 51169b0e0c AES/SHA: use GDMA driver instead of LL 2021-01-19 11:02:51 +08:00
Marius Vikhammer 03fa63b0c9 bootloader: add flash encryption support for C3
Adds flash encryption support for C3 and updates docs for S2 & C3
2021-01-18 14:10:54 +08:00
Marius Vikhammer 0713e93b8f TWAI: bringup for S3 and C3 2021-01-14 20:30:31 +08:00
Marius Vikhammer 4af99be229 cxx: re-enable cxx init_priority unit test for C3 2021-01-14 04:06:06 +00:00
Marius Vikhammer 9c8e4fd4c5 C3: build and run unit tests
Enable building and running of unit tests in CI for C3 as well as fix
related compile errors

Also enables building of C3 test apps
2021-01-11 11:34:37 +08:00
Marius Vikhammer 58c3f6a421 hal: explicitly include soc_caps.h
Many files in the HAL layer depended on SOC_ macros without
explicitly including soc_caps.h
2021-01-07 10:13:17 +08:00
Marius Vikhammer eed154a583 esp_system: sync with C3 changes
Fixes interrupt allocation issue
2020-12-31 15:20:05 +11:00
Marius Vikhammer f54e9269f3 esp_system: Don't compile sleep_mode.c on c3 2020-12-31 15:20:05 +11:00
Marius Vikhammer 5f130ff909 CI: enable C3 template app 2020-12-31 15:20:05 +11:00
Marius Vikhammer 68608f804c esp32c3: Misc fixes needed to build & run 2020-12-31 15:20:05 +11:00
Marius Vikhammer 0301c66bf0 esp32c3: Disable components that are not yet supported 2020-12-31 09:27:38 +11:00
Marius Vikhammer 3458469204 newlib: Update esp32c3 ROM support, use single init function 2020-12-31 09:27:37 +11:00
Marius Vikhammer 77eb6b1397 System: add C3 root kconfig settings 2020-12-31 09:27:00 +11:00
Marius Vikhammer eb788deb03 esp_hw_support: merge C3 changes to master
Merge RTC related C3 changes to master
2020-12-30 12:20:41 +08:00
Marius Vikhammer 7fe16bae25 tools: merge C3 changes into master 2020-12-30 07:04:12 +08:00
Marius Vikhammer 1b6891c5d8 mbedtls: merge changes from C3 2020-12-29 10:56:13 +08:00
Marius Vikhammer da947d736f Docs: Add C3 support to build_docs 2020-12-28 12:25:03 +08:00
Marius Vikhammer 9fc771ad1b CI: change icmp example test address
Use a server that is inside the great firewall of china for CI test.
This avoid issues due to proxies, network configs etc.
2020-12-28 10:07:00 +08:00
Marius Vikhammer 4ff8c7ae98 esp_rom/esp_system: Add flag for ROM multiple UART output, esp32c3 console
From internal commit 6d894813
2020-12-24 14:18:01 +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
Marius Vikhammer dc0e80a4c8 Docs: fix doxygen warnings 2020-12-16 14:37:14 +08:00
Marius Vikhammer 457ce080ae AES: refactor and add HAL layer
Refactor the AES driver and add HAL, LL and caps.

Add better support for running AES-GCM fully in hardware.
2020-12-10 09:04:47 +00:00
Marius Vikhammer 0c3714de1c bootloader_support: re-enable S2 unit test
Re-enable "Verify unit test app image"
2020-12-10 08:04:09 +00:00
Marius Vikhammer 7e0f362149 esp_crt_bundle: add additional unit tests
Add unit test for:
 * Trusted certificate with weak hash algorithm signature
 * Certificate with wrong signature

Merges https://github.com/espressif/esp-idf/pull/6117
2020-12-08 10:11:31 +08:00
Marius Vikhammer 09e1d104ba SHA: fix dma lldesc going out of scope issue
DMA process didnt wait for idle before returning.
This meant that there was a potential for the dma
descriptors which were on the stack to be reclaimed
before the DMA operation finished.
2020-11-18 06:04:31 +00:00
Marius Vikhammer dcb09bac6a http_server: adds support for setting websocket subprotocol
Adds support for setting support subprotocol per websocket URI
2020-11-13 06:40:51 +00:00
Marius Vikhammer 71b24f0518 CI: Only run check_doc_links if we actually deployed
Update the check_doc_links job run conditions to match
github/doc deploy as a lot of the links link to github files.
2020-11-12 06:32:10 +00:00
Marius Vikhammer 488f46acf5 SHA/RSA: moved all caps to soc_caps.h 2020-11-12 02:15:46 +00:00
Marius Vikhammer 509d10b835 docs: fix broken bullet list in BT chapter 2020-10-29 16:05:06 +08:00
Marius Vikhammer 40012f6648 docs: change some header path to use IDF_TARGET
Some header path were using hardcoded esp32 paths, when they should be
target dependent.
2020-10-29 12:20:16 +08:00
Marius Vikhammer 3f42be1753 tools: fix path handling errors in gen_esp_err_to_name.py for Windows
Exclude paths that were specified with slash as a path separator were compared
as strings. This would fail on Windows which uses backslash as a path separator.
2020-10-14 20:03:15 +08:00
Marius Vikhammer b3e7b58d04 parttool: make part_list an optional argument
Previous versions of PartitionType only required type and subtype as
arguments for the constructor. Make the new part_list argument optional to
keep backwards compatibilty
2020-10-10 09:46:51 +08:00
Marius Vikhammer 949fb8e63a SHA: add HAL layer and refactor driver
Add a LL and HAL layer for SHA.
2020-10-09 08:24:08 +00:00
Marius Vikhammer 4d57a5c2c7 gdma: fix incorrect calculation of tx fifo size 2020-09-25 16:15:56 +08:00
Marius Vikhammer 3c14900a95 RSA: add max RSA bit len as a soc caps 2020-09-24 16:52:50 +08:00
Marius Vikhammer bff0016eb8 crypto accelerator support on esp32s3
SHA: passing unit tests
RSA: pass tests
AES: tests passing
2020-09-22 15:15:03 +08:00
Marius Vikhammer ae0931be06 CI: Increase stack size for efuse unit test
"Batch mode is thread-safe" case would occasionally cause a stackoverflow.
Increased stack size.
2020-09-21 12:23:14 +08:00
Marius Vikhammer 06af651a51 docs: seperate build_docs html and pdf CI jobs
Due to eager_exclude, Sphinx jobs cannot use the doc cache (doctrees).

PDF and HTML building are now seperate CI jobs to avoid this issue.
PDF building will only be ran on deploy branches and when started
with build_docs tag to reduce CI load
2020-09-21 10:48:04 +08:00
Marius Vikhammer b2f390df01 hal: update link to HAL readme.md
The HAL readme was moved during refactoring, but links were not updated.
2020-09-11 15:48:08 +08:00
Marius Vikhammer c8cd68fbe6 docs: add sphinx warnings in format_idf_target
format_idf_target will now log sphinx warnings for any
{IDF_TARGET_X} that were not replaced.
2020-09-11 09:32:28 +08:00
Marius Vikhammer 9b552ce004 docs: add warning for doxygen version
Running with a newer doxygen version than what's
used in CI may raise warnings locally that are not
present when built by CI
2020-09-03 13:48:40 +08:00
Marius Vikhammer 6fb996b1ac newlib: revert back from spinlocks to using newlib locks for time.h
Spinlocks from spinlock.h do not disable the scheduler and thus cannot safely
be directly used as a locking mechanism. A task holding the lock can get
pre-empted, and at that point the new running task will also be allowed to
take the spinlock and access whatever it was protecting.

Another issue is that the task holding a spinlock could migrate to a different
core which in turn would cause the application to fail asserts. The current
implementation assumes the core that takes the lock is also the core that
releases it.

Closes https://github.com/espressif/esp-idf/issues/5762
2020-09-03 09:56:02 +08:00
Marius Vikhammer 0ea20bed43 MQTT: add configurable msg expired timeout 2020-09-01 06:40:18 +00:00
Marius Vikhammer 2d67e37c6f MQTT: Update submodule reference
SSL: add config option for skipping common name check
esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/5e8950e681e5419d85e0ffc0d72a78cdeb894fd7)
Closes https://github.com/espressif/esp-mqtt/issues/158

SSL: add support for tls with secure element (ATECC608A)
esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/a7ff9afa3f82a10433bd0dfab8225e315b6f7213)
Closes https://github.com/espressif/esp-mqtt/issues/156

Websocket: Allow the query part of the uri to be a part of the path
esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/40b06deb10d27219c66ddb2e1a628caf0fc2547f)
Closes https://github.com/espressif/esp-mqtt/issues/161

Config: Add check for consistency between config settings
esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/8a412c147de5cce4b2c2a612915755cf551a1675)

Add IDF version check for secure element feature
esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/db4bce01ab6d8e4ad81e59995def48b5728d9b36)

Fix esp_mqtt_client_stop deadlock
esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/5e17dcaeb257f847386478119935ecd360f47377)
Closes https://github.com/espressif/esp-mqtt/issues/163

Add dispatch error event for read errors
esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/d4aaec08ff13b5a599f114cba8ada684901c7e54
Closes https://github.com/espressif/esp-idf/issues/5704

Cleanup expired messages when offline
esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/bdadd77c6e24382234c1960600ac2bdf4a6ace9d
Closes https://github.com/espressif/esp-idf/issues/5668

esp_mqtt_client_publish now returns msg id for QoS > 0 when offline
esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/f7325bfa10c7cacabb76e58fcd2e1622a9e1b589

Add support for Digital Signature through ESP-TLS
esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/7d8e59de0062ff9312c5e97b4a409d43271f5f81
2020-08-28 17:04:14 +08:00
Marius Vikhammer c2bb0762bb Websocket client: avoid deadlock if stop called from event handler 2020-08-21 18:57:45 +08:00
Marius Vikhammer 3a95cf733f docs: fix version specific note on local build 2020-08-21 09:24:41 +00:00
Marius Vikhammer a54291b22b MQTT: add server side authentication to mutual auth example 2020-08-12 11:25:00 +08:00
Marius Vikhammer b529b757aa doc: fall back to CI_COMMIT_REF_NAME as a branch name
In some cases gen_version_specific_includes.py would fail to find a branch/tag name for a commit
and would fall back to using commit SHA-1.

This should never happen in docs that should be published as we use the branch/tag name to generate
example commands for our users. E.g. "git clone -b $branch_name"

Closes https://github.com/espressif/esp-idf/issues/5657
2020-07-29 18:22:51 +08:00
Marius Vikhammer ba546a0d91 docs: Adds CI tests for the doc building process.
Adds test_sphinx_idf_extensions.py and test_docs.py for testing the documentation building process.
Both are run as a part of the host_test stage.

Closes IDF-1648
2020-07-28 17:48:19 +08:00
Marius Vikhammer c54e9d9d5c build_docs: fix incorrect arguments for linkcheck 2020-07-24 19:27:52 +08:00
Marius Vikhammer 09f240c1e1 doc/websocket: updates the API reference for ESP WebSocket Client 2020-07-21 15:44:16 +08:00
Marius Vikhammer a392e4e57b websocket: add configurable ws_transport buffer size
Closes IDFGH-3566
Closes https://github.com/espressif/esp-idf/issues/5513
2020-07-20 10:02:31 +00:00
Marius Vikhammer 30f075f0bb idf monitor: fix crash when monitor baudrate argument set
Closes IDF-1902
2020-07-10 10:29:48 +08:00
Marius Vikhammer 4d6030e03f doc: update chip features in getting started
Fixed number of cores for ESP32 and ESP32S2 being wrong.

Updated S2 to reflect that we have to ULP coprocessors

Closes IDFGH-3616
Closes https://github.com/espressif/esp-idf/issues/5556
2020-07-10 09:50:55 +08:00
Marius Vikhammer 55982fa146 Rewrite Bluedroid BT READMEs from .rst to .md 2020-07-08 10:39:33 +08:00
Marius Vikhammer a80cff924b docs: fix broken links in example READMEs 2020-07-08 10:39:33 +08:00
Marius Vikhammer e6ad766d68 CI: add script for checking links in example READMEs
Closes IDF-1846
2020-07-08 10:39:33 +08:00