Commit Graph

32 Commits

Author SHA1 Message Date
Jakob Hasse
548022fbe6 refactor(linux): excluded all non-Linux components from build
* All components which won't build (yet) on Linux are excluded.
  This enables switching to Linux in an application without
  explicitly setting COMPONENTS to main in the main
  CMakeLists.txt.
* ESP Timer provides headers for Linux now
* automatically disabling LWIP in Kconfig if it is not available

doc(linux): brought section
  "Component Linux/Mock Support Overview" up to date
2023-10-16 17:06:54 +08:00
Armando
1f8f0a5285 feat(cache): added private API to get cache alignment requirements 2023-10-10 18:09:01 +08:00
Armando
fc4b9d9507 refactor(esp_mm): reformat code with astyle_py 2 2023-10-09 15:29:31 +08:00
Armando
3d4b60afc0 refactor(esp_mm): reformat code with astyle_py 2023-10-08 10:36:04 +08:00
Armando
ec27891af6 change(cache): swap cache hal arg 'type' and 'level' 2023-09-22 14:19:41 +08:00
Armando
0a1503897c feat(cache): support esp_cache_msync for instructions 2023-09-22 14:19:41 +08:00
Armando
e8813ddd1d feat(cache): added an helper API for cache-align-malloc 2023-09-22 14:19:41 +08:00
Armando
ea38a2e9a4 feat(cache): support cache driver on esp32p4 2023-09-22 14:19:41 +08:00
Darian Leung
287bdc5e61 fix(test_apps): Trim builds of component test apps
Some component test apps do not use the "set(COMPONENTS main)" command in their
project level "CMakeLists.txt", thus leading to their builds pulling in all
ESP-IDF components.

This commit trims the build of multiple component test apps:

- Add "set(COMPONENTS main ...)" to project level "CMakeLists.txt"
- Add missing "PRIV_REQUIRES" in some "main" component "CMakeLists.txt"

Also removed repeated configuraiton options in legacy_i2c_driver/sdkconfig.ci.defaults
as they are already specified in legacy_i2c_driver/sdkconfig.defaults
2023-09-18 17:16:37 +08:00
Armando
de77ab3061 change(soc): added SOC_ prefix to mmu defs 2023-09-05 15:47:26 +08:00
Armando
7dbd3f6909 feat(ci): Enable p4 example, test_apps and unit tests CI build 2023-08-24 12:51:19 +08:00
Armando
8c8affc812 feat(mmu): support mmu and flash mmap driver on p4 2023-08-15 10:17:03 +08:00
Armando
706d684418 feat(esp32p4): introduced new target esp32p4, supported hello_world 2023-08-09 19:33:25 +08:00
Armando
8382b75cac refactor(cache): improved cache test with set cache dirty first 2023-08-01 11:00:49 +00:00
Armando
88c64f609b change(cache): remove similar aim test 2023-08-01 11:00:49 +00:00
Armando
75cec2d58a feat(cache): added psram stack test 2023-08-01 11:00:49 +00:00
Armando
ae6d9e2b93 fix(cache): added alignment check for M2C direction 2023-07-20 12:20:42 +08:00
Armando
eb1831f8d7 fix(cache): no longer use freeze in esp_cache_msync
Writeback and invalidation don't need cache to be frozen first
2023-07-20 10:45:57 +08:00
Armando
da8afe7c78 feat(cache): added direction selection to esp_cache_msync API
ESP_CACHE_MSYNC_FLAG_DIR_C2M: From cache to memory
ESP_CACHE_MSYNC_FLAG_DIR_M2C: From memory to cache

By default, if no direction flag is set, it will fallback C2M direction.

For M2C direction, now this API will do an invalidation.
2023-07-11 11:19:10 +08:00
morris
f0c07f82b5 fix(test): check call graph for hal component 2023-07-05 09:09:01 +08:00
Armando
101e6a18eb esp32p4: introduce the target
Add esp32p4 target to tools and Kconfig
Create directories and files that are essential for `idf.py --preview set-target esp32p4`
2023-06-13 15:16:11 +08:00
Marius Vikhammer
bca026455c ci: remove redundent ci configs for chip support and network components
CI would build psram config test apps even for target with no psram.
2023-04-26 09:54:29 +08:00
laokaiyao
b7053b46ef esp32h4: remove esp32h4 target from peripherals 2023-04-20 15:19:45 +08:00
Armando
2a8617b307 esp_mm: removed empty kconfig files
- MMU configuration related kconfig options will be in soc, or
esp_hw_support
- Cache configuration related kconfig options will be in soc, or
esp_hw_support
- mmap driver and msync driver kconfig options will be still in esp_mm.
As there's no kconfig options for them yet, removed kconfig files
2023-04-10 12:42:52 +08:00
Cao Sen Miao
5bac46b3e8 MMU: Fix stale data being read on memory mapped instruction page 2023-03-24 18:59:57 +08:00
Armando
abb03b8dc4 doc: added memory management programming guides 2023-03-22 16:33:52 +08:00
Armando
1ecd1e3bf0 esp_mm: fix dependency to esp_psram 2023-02-28 10:42:22 +08:00
Armando
fda9746bb8 esp_mm: cache_msync API 2023-02-28 10:42:22 +08:00
Armando
4144746fc3 esp_mm: shared and non-shared mapping 2023-02-17 13:04:55 +08:00
Armando
98892a3288 esp_mm: correct mmap reserved irom and drom size
Prior to this commit, we don't consider the offset of the irom vaddr
start.

If the offset + size is bigger than the MMU page size, for example:
MMU page size: 0x10000
irom vaddr: 0x4200_0800, so offset = 0x800
irom size: 0xF900
offset + size = 0x10100

Under this condition, the 0x4200_0000 ~ 0x4202_0000, two MMU pages are
used.

With this commit, when reserving the irom and drom, we take the offset
into consideration as well.
2023-02-07 20:23:53 +08:00
Armando
06e7c02da7 esp_mm: h2 support 2023-02-07 20:23:53 +08:00
Armando
d6844051fc esp_mm: new virtual memory mapping apis via mmu 2023-02-07 20:23:52 +08:00