Commit Graph

56 Commits

Author SHA1 Message Date
Guillaume Souchere
5cc69ce12b feat(heap): Add walker to the heap component
Introduce new APIs in essp_heap_caps.h:
- heap_caps_walk()
- heap_caps_walk_all()

Those functions are triggering a callback for all blocks
(allocated or free) of memory present in heaps meeting
the set of capabilities passed as parameter (or all heaps
for heap_caps_walk_all() function)

test_walker.c added to test the new functionality in
test_apps/heap_test/
2024-03-20 08:33:48 +01:00
Marius Vikhammer
83d1c2f054 refactor(esp_rom): refactor rom LD inclusions to make it easier to add new targets 2024-03-12 09:48:46 +08:00
Marius Vikhammer
b809267359 fix(rom): fixed systimer always using ROM implementation 2024-03-06 09:47:12 +08:00
Cao Sen Miao
6768805d20 fix(uart,usj...): Fix wrong serial number that has been parsed to rom functions,
Closes https://github.com/espressif/esp-idf/issues/12958
2024-01-18 10:51:51 +08:00
Marius Vikhammer
b96f93b879 ci(system): fixed and enabled misc system build tests 2023-11-28 14:00:16 +08:00
Guillaume Souchere
93d4b0b38c fix(heap): Patch tlsf_check_pool in ROM heap
The integrity_walker now calls the integrity check hook to control
free AND used blocks of memory in the TLSF pool. This integrity walker
function is called from tlsf_check_pool.

This commit creates a patch of integrity_walker function to update the
outdated implementation in the ROM.
2023-11-01 09:47:41 +01:00
morris
4123e611dc esp_rom: add common ROM API to update CPU tick rate 2023-04-19 13:21:26 +08:00
Armando
929b7717ff system: fixed ram app cannot use mmu correctly issue 2023-03-15 10:59:20 +08:00
Jiang Guang Ming
fc9538c63d Merge branch 'feature/add_more_pytest_config_to_flash_mmap' into 'master'
flash mmap: more config options for flash mmap test app

See merge request espressif/esp-idf!21991
2023-03-08 13:44:29 +08:00
jiangguangming
87f2eb9e2a esp_rom: put rom cache related functions to cache.h 2023-03-07 14:51:24 +08:00
jiangguangming
344d30c18e esp_rom: add macro ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE for S3/C3/C2/C6/H2/H4 2023-03-06 19:47:18 +08:00
Jiang Guang Ming
3556fe9326 spi_flash: enable spi flash cache test on c6 h2 2023-03-04 07:23:59 -08:00
Marius Vikhammer
c2f9392be5 Merge branch 'feature/h2_wdt' into 'master'
wdt: add support for H2

Closes IDF-6643 and IDF-6678

See merge request espressif/esp-idf!22422
2023-02-24 13:48:20 +08:00
Marius Vikhammer
5d26a0de9a wdt: add support for H2 2023-02-23 11:22:51 +08:00
Song Ruo Jing
2c2a62e323 clk_tree: Add basic clock support for esp32h2
- Support SOC ROOT clock source switch
- Support CPU frequency change
- Support RTC SLOW clock source switch
- Support RTC SLOW clock + RC FAST calibration

Remove FPGA build for esp32h2
2023-02-20 17:15:02 +08:00
Marius Vikhammer
65a4058e8c newlib: update newlib nano documentation for C6
C6 ROM has the the full IO formatting functions included.
2023-02-08 10:56:28 +08:00
wuzhenghui
ee4214ebf1 rom caps: add ESP_ROM_WITHOUT_REGI2C rom caps 2023-02-06 21:45:22 +08:00
Jiang Guang Ming
7d25e3853c Merge branch 'bugfix/update_esp_rom_newlib_time_c6_h2' into 'master'
update esp rom newlib-time on c2 c6 and h2

See merge request espressif/esp-idf!22142
2023-02-06 15:36:04 +08:00
morris
753eab91ee Merge branch 'feature/usj_support_h2' into 'master'
USJ console support on esp32h2

Closes IDF-6239

See merge request espressif/esp-idf!22156
2023-02-02 17:07:19 +08:00
wuzhenghui
44df5b31af feature: add ram loadable app support 2023-02-01 17:57:22 +08:00
morris
3151f9c8f1 usj: bringup on esp32h2 2023-01-31 16:21:47 +08:00
wanglei
7cd87163a3 esp_rom: remove unsupported ld files (wifi related) for esp32h2 2023-01-30 11:28:26 +08:00
jiangguangming
5edbd290a0 esp_rom: remove esp32h2.rom.rvfp.ld 2023-01-29 16:40:35 +08:00
jiangguangming
4731d4322e esp_rom: remove newlib-time.ld from ROM built with 64-bit time_t 2023-01-29 16:37:13 +08:00
Cao Sen Miao
4713a9a7f2 ESP32H2: Introduce new chip target esp32h2, hello_world example supported 2022-12-29 12:29:14 +08:00
jiangguangming
7db7269a92 esp_rom: patch systimer_hal_init/deinit for esp32h2 rom 2022-12-04 11:23:30 +08:00
jiangguangming
9e3ba8d061 esp_rom: update esp32h2 rom caps 2022-12-04 11:23:30 +08:00
Cao Sen Miao
283e2c8e5f ESP32H2: Add ROM linker file and support 2022-12-01 10:31:17 +08:00
Cao Sen Miao
86aa4df5b5 ESP32-H2: Introduce new target for ESP32H2 2022-11-23 14:38:05 +08:00
laokaiyao
8677216576 esp32h2: renaming esp32h2 to esp32h4 2022-11-08 17:05:33 +08:00
jiangguangming
0ed7927520 esp_rom: update esp_rom_caps.h 2022-10-12 20:12:56 +08:00
wuzhenghui
68159feb10 esp32c6: add esp_rom support (rom version: esp32c6-20220901) 2022-09-26 20:32:04 +08:00
wuzhenghui
88c123f805 esp_rom: add esp_rom_software_reset and esp_rom_software_reset_cpu interface 2022-08-31 01:59:36 +00:00
Vilem Zavodny
a00e8771a7 tjpgd: Remove ROM patches and tests. 2022-08-17 14:42:45 +02:00
Marius Vikhammer
cfbe0a035b esp-rom: add missing spi-flash ROM API functions
Added symbols for the SPI flash API which we export from the ROM interface,
deleted functions which are not exported.

Closes https://github.com/espressif/esp-idf/issues/1212
2022-08-08 16:34:10 +08:00
GengYuchao
509ac4e748 Update esp32h2 beta2 lib to master 2022-07-05 15:15:41 +08:00
Cao Sen Miao
a690a87829 spi_flash: Remove legacy spi_flash drivers 2022-07-01 11:01:34 +08:00
wuzhenghui
89319cd72f esp_rom: remove functions which depend on sizeof(struct stat) and all their callers for esp32h2-beta2 2022-06-09 10:40:09 +08:00
Wu Zheng Hui
b98622c624 efuse: update efuse name 2022-05-28 22:03:16 +08:00
zhangwenxu
9440430db2 esp_phy: support esp32h2beta2 phy build 2022-05-16 10:50:44 +00:00
wuzhenghui
218e2c873d esp32h2beta2:rename __rom_printf_float/__rom_scanf_float 2022-03-29 14:13:06 +08:00
wuzhenghui
ce9cb3a7a4 esp32h2beta2:update rom ld (ESP-ROM:esp32h2beta2-20211201) 2022-03-29 14:12:58 +08:00
Michael (XIAO Xufeng)
d5bdf95580 hw_support: fixed regi2c not protected by lock on ESP32S2 2022-03-13 00:24:08 +08:00
morris
ef00bd59dc esp_rom: extract int matrix route and cpu ticks getter 2022-02-09 13:52:20 +08:00
Ivan Grokhotkov
24c20d188e esp_rom: remove functions which depend on sizeof(struct stat)
...and all their callers.

With the upcoming switch from sizeof(time_t)==4 to sizeof(time_t)==8,
sizeof(struct stat) is also increasing.

A few newlib functions present in ROM allocate 'struct stat' on the
stack and call _fstat_r on this structure. The implementation of
fstat is provided in ESP-IDF. This implementation will often do
memset(st, 0, sizeof(*st)), where st is 'struct stat*', before setting
some fields of this structure. If IDF is built with sizeof(st)
different from sizeof(st) which ROM was built with, this will lead
to an out-of-bounds write and a stack corruption.

This commit removes problematic ROM functions from the linker script.
Here are the functions which allocate 'struct stat':
* _isatty_r (in ROM)
* __swhatbuf_r, called by __smakebuf_r, called by __swsetup_r and
  __srefill_r (in ROM)
* _fseeko_r (not in ROM)
* glob2 (not in ROM)
* _gettemp (not in ROM)

As a result, these functions are used from libc.a, and use correct
size of 'stat' structure.

Closes https://github.com/espressif/esp-idf/issues/7980
2022-01-06 15:20:04 +01:00
Cao Sen Miao
d397464fc4 spi_flash: refactor spi_flash.h to esp_rom_spiflash.h but keep the content in spi_flash.h 2021-12-30 14:12:31 +08:00
Marius Vikhammer
c6d60615c6 build-system: include soc_caps defines into kconfig
Adds gen_soc_caps_kconfig.py which parses the soc caps (soc_caps.h) into
a format that can be included in kconfig.
2021-12-06 12:37:07 +08:00
wuzhenghui
388615add0 update esp32h2beta2 chip_id to 14 2021-11-24 12:30:43 +08:00
wuzhenghui
968c42d88c 822 FPGA rnv init 2021-11-24 12:30:17 +08:00
laokaiyao
b9a84b96ce esp32h2: add support for beta2 2021-11-24 12:30:17 +08:00