Commit Graph

117 Commits

Author SHA1 Message Date
Omar Chebib
a8bb279dff fix(ldgen): fix linker script generation from a single-entry fragment file 2024-08-23 17:25:19 +08:00
Alexey Lapshin
824c8e0593 feat(esp_system): allow .bss to spill over into L2MEM above 0x4ff40000
This commit introduce SOC_MEM_NON_CONTIGUOUS_SRAM flag (that enebled for
esp32p4). If SOC_MEM_NON_CONTIGUOUS_SRAM is enabled:

- LDFLAGS+=--enable-non-contiguous-regions
- ldgen.py replaces "arrays[*]" from sections.ld.in with objects under
  SURROUND keyword. (e.g. from linker.lf: data -> dram0_data SURROUND(foo))
- "mapping[*]" - refers to all other data

If SOC_MEM_NON_CONTIGUOUS_SRAM, sections.ld.in file should contain at
least one block of code like this (otherwise it does not make sense):

  .dram0.bss (NOLOAD) :
  {
    arrays[dram0_bss]
    mapping[dram0_bss]
  } > sram_low

  .dram1.bss (NOLOAD) :
  {
    /* do not place here arrays[dram0_bss] because it may be splited
     * between segments */
    mapping[dram0_bss]
  } > sram_high
2024-02-28 19:41:25 +04:00
Jakub Kocka
0b00e49ac5 fix: Fixed KConfig files that were not succesfully checked 2024-02-02 14:13:45 +01:00
Jakob Hasse
65373e126a test(ldgen): added test simulating a .*.c file 2024-01-25 17:40:40 +08:00
Valerii Koval
bd56ca48be fix(ldgen): handle object files with .*.o patterns
Currently, only `.o`, `.*.obj` and `.obj` patterns
are taken into account. It would be great to have
object files with the `.*.o` extension pattern
(e.g. `file.cpp.o`) also processed as they're quite
widespread in third-party integrations.
2024-01-23 15:18:23 +02:00
wuzhenghui
5351275c87
change(esp_hw_support/sleep): rename ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY
1. Rename ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY to ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY
2. Set ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY visible for all targets
2023-12-18 19:56:56 +08:00
You Wei
e52fb0abf8 fix(ldgen): duplicate entries in the generated .ld file 2023-09-12 11:20:12 +08:00
You Wei
be88d11a81 fix(ldgen): check target conflict for entries with section alias 2023-09-11 21:24:05 +08:00
radim.karnis
4020b0deb0 fix: Compatibility with pyparsing>=3.1.0 2023-06-20 19:45:05 +02:00
Marius Vikhammer
bd4c0fca3c core-system: changed CONFIG_COMPILER_OPTIMIZATION_DEFAULT to CONFIG_COMPILER_OPTIMIZATION_DEBUG
DEBUG is more descriptive and is consistent with the name used in the bootloader:
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG

Closes https://github.com/espressif/esp-idf/issues/8404
2023-06-02 15:16:50 +08:00
Omar Chebib
5e5343d429 TWDT: Use the new TWDT Kconfig options in the examples and tests 2023-02-17 11:22:25 +08:00
Kapil Gupta
30a2558450 esp_wifi: Merge wpa_supplicant and esp_wifi Kconfig 2023-02-11 07:38:45 +08:00
Roland Dobai
571a074dd9 Merge branch 'fix/flake8_v5_warnings' into 'master'
Tools: Fix flake8 version 5 warnings

See merge request espressif/esp-idf!19488
2022-08-12 23:27:14 +08:00
Roland Dobai
bab3830797 Tools: Fix flake8 version 5 warnings 2022-08-12 08:13:13 +00:00
simon.chupin
35dda59209 tools: remove the dependency on the future package 2022-08-09 16:46:58 +02:00
jingli
ee3423834e kconfig: refactor xtal freq kconfig to common configuration item 2022-08-05 19:12:29 +08:00
Marius Vikhammer
0687daf2c8 kconfig: move remaining kconfig options out of target component
The kconfig options are moved to the component where they are used,
mostly esp_hw_support and esp_system.
2022-05-23 17:57:45 +08:00
Marius Vikhammer
d2872095f9 soc: moved kconfig options out of the target component.
Moved the following kconfig options out of the target component:
 * CONFIG_ESP*_DEFAULT_CPU_FREQ* -> esp_system
 * ESP*_REV_MIN -> esp_hw_support
 * ESP*_TIME_SYSCALL -> newlib
 * ESP*_RTC_* -> esp_hw_support

Where applicable these target specific konfig names were merged into
a single common config, e.g;
CONFIG_ESP*_DEFAULT_CPU_FREQ -> CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ
2022-04-21 12:09:43 +08:00
Marius Vikhammer
e32fc9eb36 ldgen: fixed error reporting of duplicate and missing entries.
Fragment was missing path variable which is used for error reporting.
2022-03-24 13:04:02 +08:00
David Cermak
795b7ed993 esp_netif: Remove tcpip_adapter compatibility layer 2022-03-10 08:19:43 +01:00
Marius Vikhammer
bb88338118 system: move kconfig options out of target component
Moved the following kconfig options out of the target component:
 * ESP32_X_BROWNOUT_* -> esp_system
 * ESP32_X_DEBUG_OCDAWARE -> esp_system
 * APP_NO_BLOBS -> build type (main kconfig)
2022-03-02 01:22:26 +00:00
Marius Vikhammer
edb76f14d6 esp_timer: remove legacy ESP32 FRC timer implementation. 2022-02-10 15:17:49 +08:00
Darian Leung
57fd78f5ba freertos: Remove legacy data types
This commit removes the usage of all legacy FreeRTOS data types that
are exposed via configENABLE_BACKWARD_COMPATIBILITY. Legacy types can
still be used by enabling CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY.
2022-02-09 23:05:45 +08:00
Fu Hanxi
172854a850 refactor: rewrite ldgen fragment file parser
closes https://github.com/espressif/esp-idf/issues/7940
2022-01-07 16:18:32 +08:00
Fu Hanxi
a44953ecd4 refactor: move ldgen into a separate package 2022-01-07 16:18:32 +08:00
Roland Dobai
eab738c79e Merge branch 'bugfix/ldgen_plus_in_archive_name' into 'master'
ldgen: allow + sign in archive names

Closes IDFGH-6414

See merge request espressif/esp-idf!16432
2021-12-17 12:08:03 +00:00
Ivan Grokhotkov
52fb8624cc ldgen: allow + sign in archive names
Closes https://github.com/espressif/esp-idf/issues/8073
2021-12-17 10:31:01 +01:00
Ivan Grokhotkov
29489a3303 build system: fix quoting of fragments list passed to ldgen 2021-12-14 19:17:53 +01:00
Simon Chupin
909ae90867 replace the old header in ldgen.py with a new SPDX header style and delete it from check_copyright_ignore.txt to complete pipelines without errors 2021-11-15 18:03:33 +01:00
Tian Yunhao
b246ec86f3 ldgen: override LC_ALL to C before running objdump
When using a Linux system configured with `zh_CN.UTF-8` as `$LANG`,
and running raw cmake command to build the project (rather than using
`idf.py build`), output of objdump will be Chinese
(like `在归档文件 libesp_pm.a 中`), resulting in parsing error
`pyparsing.ParseException: Expected "In archive" (at char 0), (line:1, col:1)`
at entity.py line 129.

This commit forces objdump to use raw locale setting (`C`), to ensure
it always make English output that's able to be parsed.

Closes https://github.com/espressif/esp-idf/pull/7903
2021-11-15 17:55:24 +01:00
Roland Dobai
9c1d4f5b54 Build & config: Remove the "make" build system
The "make" build system was deprecated in v4.0 in favor of idf.py
(cmake). The remaining support is removed in v5.0.
2021-11-10 09:53:53 +01:00
Fu Hanxi
a65de0ab1f ldgen: generate ld files with fixed order of entries 2021-10-26 10:43:15 +08:00
baohongde
b310c062cd components/bt: move config BT_RESERVE_DRAM from bluedroid to ESP32 controller 2021-09-16 20:26:35 +08:00
Renz Bagaporo
6088af1193 ldgen: additional documentations re. internal workings 2021-03-09 14:42:38 +08:00
Renz Bagaporo
acd2385d0e ldgen: parenthesis for KEEP 2021-03-05 18:09:19 +08:00
Renz Bagaporo
69906ed5f2 ldgen: rename key-value grammar class 2021-03-05 17:48:47 +08:00
Renz Bagaporo
10c5226095 ldgen: use uppercase keywords for flags 2021-03-01 14:19:34 +08:00
Renz Bagaporo
7af3d65868 ldgen: surround always pre and post 2021-03-01 14:19:34 +08:00
Renz Bagaporo
dbdc17cced ldgen: rename emit to surround 2021-03-01 14:19:34 +08:00
Renz Bagaporo
b99777066f ldgen: implement flags support
Implement support for KEEP, ALIGN, emitting symbols and SORT.
Add appropriate tests
Defines default mapping in linker fragment file
2021-03-01 14:19:34 +08:00
Renz Bagaporo
7f18c948dc ldgen: refactor generation tests and description addition 2021-02-05 10:20:37 +08:00
Renz Bagaporo
0142676cbf ldgen: additional tests for generation support classes 2021-02-03 19:50:36 +08:00
Renz Bagaporo
a41a56b5b0 ldgen: refactor generation internals 2021-02-03 19:44:28 +08:00
Fu Hanxi
0146f258d7 style: format python files with isort and double-quote-string-fixer 2021-01-26 10:49:01 +08:00
Renz Bagaporo
ef6c8e351b ldgen: fix sections info parsing
Fixes an issure where the first part of an object file name is not
included, due to matching the rule for a section entry previously.

Reduce depedency on matching literal strings in sections which might
change depending on toolchain (ex. matching 'elf32-xtensa-le')

Make sure parsing rule succeeds for the entirety of the sections info
string by adding 'parseAll=True'.

Add test for sections info parsing.
2021-01-19 11:17:18 +08:00
Renz Bagaporo
32206d3a7d ci: enabled ldgen mapping check in ci 2021-01-19 11:17:18 +08:00
Renz Bagaporo
d8d24051a4 ldgen: allow checking mappings 2021-01-19 11:17:18 +08:00
Marius Vikhammer
7fe16bae25 tools: merge C3 changes into master 2020-12-30 07:04:12 +08:00
Angus Gratton
66fb5a29bb Whitespace: Automated whitespace fixes (large commit)
Apply the pre-commit hook whitespace fixes to all files in the repo.

(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
Ivan Grokhotkov
d13455e6fc Merge branch 'bugfix/ldgen_section_windows_line_ending' into 'master'
tools/ldgen: Fix parsing of section names on Windows

See merge request espressif/esp-idf!10988
2020-10-29 15:25:11 +08:00