@@ -6,100 +6,115 @@ cmake_minimum_required(VERSION 3.13)
6
6
7
7
project (hal)
8
8
9
- set (esp_idf_dir ${IDF_PATH} )
10
-
9
+ set (esp_hal_dir ${ESP_HAL_PATH} )
11
10
set (src_dir ${CMAKE_CURRENT_LIST_DIR} /src)
12
11
set (include_dirs
13
12
${CMAKE_CURRENT_LIST_DIR} /include
14
13
${CMAKE_CURRENT_LIST_DIR} /include /${MCUBOOT_TARGET}
15
14
)
16
15
17
16
list (APPEND include_dirs
18
- ${esp_idf_dir} /components/${MCUBOOT_ARCH} /include
19
- ${esp_idf_dir} /components/esp_common/include
20
- ${esp_idf_dir} /components/esp_rom/include
21
- ${esp_idf_dir} /components/esp_rom/include /${MCUBOOT_TARGET}
22
- ${esp_idf_dir} /components/esp_rom/${MCUBOOT_TARGET}
23
- ${esp_idf_dir} /components/spi_flash/include
24
- ${esp_idf_dir} /components/spi_flash/include /spi_flash
25
- ${esp_idf_dir} /components/esp_hw_support/include
26
- ${esp_idf_dir} /components/esp_hw_support/include /soc
27
- ${esp_idf_dir} /components/esp_hw_support/include /soc/${MCUBOOT_TARGET}
28
- ${esp_idf_dir} /components/esp_hw_support/port/include
29
- ${esp_idf_dir} /components/esp_hw_support/port/${MCUBOOT_TARGET}
30
- ${esp_idf_dir} /components/esp_hw_support/port/${MCUBOOT_TARGET} /private_include
31
- ${esp_idf_dir} /components/soc/include
32
- ${esp_idf_dir} /components/soc/${MCUBOOT_TARGET} /include
33
- ${esp_idf_dir} /components/bootloader_support/include
34
- ${esp_idf_dir} /components/bootloader_support/include_bootloader
35
- ${esp_idf_dir} /components/hal/include
36
- ${esp_idf_dir} /components/hal/platform_port/include
37
- ${esp_idf_dir} /components/hal/${MCUBOOT_TARGET} /include
38
- ${esp_idf_dir} /components/hal/${MCUBOOT_TARGET} /include /hal
39
- ${esp_idf_dir} /components/heap/include
40
- ${esp_idf_dir} /components/efuse/include
41
- ${esp_idf_dir} /components/efuse/${MCUBOOT_TARGET} /include
42
- ${esp_idf_dir} /components/efuse/private_include
43
- ${esp_idf_dir} /components/efuse/${MCUBOOT_TARGET} /private_include
44
- ${esp_idf_dir} /components/esp_system/include
45
- ${esp_idf_dir} /components/newlib/platform_include
17
+ ${esp_hal_dir} /components/bootloader_support/include
18
+ ${esp_hal_dir} /components/bootloader_support/private_include
19
+ ${esp_hal_dir} /components/bootloader_support/bootloader_flash/include
20
+ ${esp_hal_dir} /components/spi_flash/include
21
+ ${esp_hal_dir} /components/spi_flash/include /spi_flash
22
+ ${esp_hal_dir} /components/esp_app_format/include
23
+ ${esp_hal_dir} /components/newlib/platform_include
24
+ ${esp_hal_dir} /components/esp_common/include
25
+ ${esp_hal_dir} /components/${MCUBOOT_ARCH} /include
26
+ ${esp_hal_dir} /components/esp_rom/include
27
+ ${esp_hal_dir} /components/esp_rom/include /${MCUBOOT_TARGET}
28
+ ${esp_hal_dir} /components/esp_rom/${MCUBOOT_TARGET}
29
+ ${esp_hal_dir} /components/soc/include
30
+ ${esp_hal_dir} /components/soc/${MCUBOOT_TARGET}
31
+ ${esp_hal_dir} /components/soc/${MCUBOOT_TARGET} /include
32
+ ${esp_hal_dir} /components/efuse/include
33
+ ${esp_hal_dir} /components/efuse/${MCUBOOT_TARGET} /include
34
+ ${esp_hal_dir} /components/efuse/private_include
35
+ ${esp_hal_dir} /components/efuse/${MCUBOOT_TARGET} /private_include
36
+ ${esp_hal_dir} /components/esp_hw_support/include
37
+ ${esp_hal_dir} /components/esp_hw_support/include /soc
38
+ ${esp_hal_dir} /components/esp_hw_support/include /soc/${MCUBOOT_TARGET}
39
+ ${esp_hal_dir} /components/esp_hw_support/port/include
40
+ ${esp_hal_dir} /components/esp_hw_support/include /esp_private
41
+ ${esp_hal_dir} /components/esp_hw_support/port/${MCUBOOT_TARGET}
42
+ ${esp_hal_dir} /components/hal/${MCUBOOT_TARGET} /include
43
+ ${esp_hal_dir} /components/hal/include
44
+ ${esp_hal_dir} /components/hal/platform_port/include
45
+ ${esp_hal_dir} /components/esp_system/include
46
+ ${esp_hal_dir} /components/log /include
46
47
)
47
48
48
49
if ("${MCUBOOT_ARCH} " STREQUAL "xtensa" )
49
50
list (APPEND include_dirs
50
- ${esp_idf_dir} /components/${MCUBOOT_ARCH} /${MCUBOOT_TARGET} /include
51
+ ${esp_hal_dir} /components/${MCUBOOT_ARCH} /${MCUBOOT_TARGET} /include
52
+ ${esp_hal_dir} /components/${MCUBOOT_ARCH} /include
51
53
)
52
54
endif ()
53
55
54
56
set (hal_srcs
55
- ${src_dir} /bootloader_init_common.c
57
+ ${esp_hal_dir} /components/bootloader_support/src/${MCUBOOT_TARGET} /bootloader_${MCUBOOT_TARGET} .c
58
+ ${esp_hal_dir} /components/bootloader_support/src/bootloader_init.c
59
+ ${esp_hal_dir} /components/bootloader_support/src/bootloader_common.c
60
+ ${esp_hal_dir} /components/bootloader_support/src/bootloader_common_loader.c
61
+ ${esp_hal_dir} /components/bootloader_support/src/bootloader_console.c
62
+ ${esp_hal_dir} /components/bootloader_support/src/bootloader_console_loader.c
63
+ ${esp_hal_dir} /components/bootloader_support/bootloader_flash/src/bootloader_flash.c
64
+ ${esp_hal_dir} /components/bootloader_support/bootloader_flash/src/bootloader_flash_config_${MCUBOOT_TARGET} .c
65
+ ${esp_hal_dir} /components/bootloader_support/src/bootloader_clock_init.c
66
+ ${esp_hal_dir} /components/bootloader_support/src/bootloader_clock_loader.c
67
+ ${esp_hal_dir} /components/bootloader_support/src/bootloader_efuse.c
68
+ ${esp_hal_dir} /components/bootloader_support/src/bootloader_panic.c
69
+ ${esp_hal_dir} /components/bootloader_support/src/bootloader_mem.c
70
+ ${esp_hal_dir} /components/bootloader_support/src/bootloader_random.c
71
+ ${esp_hal_dir} /components/bootloader_support/src/bootloader_random_${MCUBOOT_TARGET} .c
72
+ ${esp_hal_dir} /components/bootloader_support/src/bootloader_utility.c
73
+ ${esp_hal_dir} /components/bootloader_support/src/esp_image_format.c
74
+ ${esp_hal_dir} /components/bootloader_support/src/secure_boot_v2/secure_boot_signatures_bootloader.c
75
+ ${esp_hal_dir} /components/bootloader_support/src/${MCUBOOT_TARGET} /bootloader_soc.c
76
+ ${esp_hal_dir} /components/bootloader_support/src/${MCUBOOT_TARGET} /bootloader_sha.c
77
+ ${esp_hal_dir} /components/bootloader_support/src/${MCUBOOT_TARGET} /secure_boot_secure_features.c
78
+ ${esp_hal_dir} /components/bootloader_support/src/${MCUBOOT_TARGET} /flash_encryption_secure_features.c
79
+ ${esp_hal_dir} /components/hal/mpu_hal.c
80
+ ${esp_hal_dir} /components/hal/efuse_hal.c
81
+ ${esp_hal_dir} /components/hal/mmu_hal.c
82
+ ${esp_hal_dir} /components/hal/wdt_hal_iram.c
83
+ ${esp_hal_dir} /components/hal/${MCUBOOT_TARGET} /efuse_hal.c
84
+ ${esp_hal_dir} /components/soc/${MCUBOOT_TARGET} /uart_periph.c
85
+ ${esp_hal_dir} /components/soc/${MCUBOOT_TARGET} /gpio_periph.c
86
+ ${esp_hal_dir} /components/esp_hw_support/port/${MCUBOOT_TARGET} /rtc_time.c
87
+ ${esp_hal_dir} /components/esp_hw_support/port/${MCUBOOT_TARGET} /rtc_clk.c
88
+ ${esp_hal_dir} /components/esp_hw_support/port/${MCUBOOT_TARGET} /rtc_clk_init.c
89
+ ${esp_hal_dir} /components/esp_rom/patches/esp_rom_uart.c
90
+ ${esp_hal_dir} /components/esp_rom/patches/esp_rom_sys.c
91
+ ${esp_hal_dir} /components/esp_rom/patches/esp_rom_spiflash.c
92
+ ${esp_hal_dir} /components/efuse/${MCUBOOT_TARGET} /esp_efuse_table.c
93
+ ${esp_hal_dir} /components/efuse/src/esp_efuse_fields.c
94
+ ${esp_hal_dir} /components/efuse/${MCUBOOT_TARGET} /esp_efuse_fields.c
95
+ ${esp_hal_dir} /components/efuse/src/esp_efuse_api.c
96
+ ${esp_hal_dir} /components/efuse/src/esp_efuse_utility.c
97
+ ${esp_hal_dir} /components/efuse/${MCUBOOT_TARGET} /esp_efuse_utility.c
98
+ ${esp_hal_dir} /components/log /log_noos.c
99
+ ${src_dir} /bootloader_banner.c
56
100
${src_dir} /bootloader_wdt.c
57
- ${src_dir} /secure_boot.c
58
- ${src_dir} /flash_encrypt.c
59
- ${src_dir} /${MCUBOOT_TARGET} /bootloader_init.c
60
- ${esp_idf_dir} /components/hal/mpu_hal.c
61
- ${esp_idf_dir} /components/hal/soc_hal.c
62
- ${esp_idf_dir} /components/soc/${MCUBOOT_TARGET} /uart_periph.c
63
- ${esp_idf_dir} /components/soc/${MCUBOOT_TARGET} /gpio_periph.c
64
- ${esp_idf_dir} /components/bootloader_support/src/bootloader_common_loader.c
65
- ${esp_idf_dir} /components/bootloader_support/src/bootloader_console.c
66
- ${esp_idf_dir} /components/bootloader_support/src/bootloader_console_loader.c
67
- ${esp_idf_dir} /components/bootloader_support/src/bootloader_flash.c
68
- ${esp_idf_dir} /components/bootloader_support/src/bootloader_flash_config_${MCUBOOT_TARGET} .c
69
- ${esp_idf_dir} /components/bootloader_support/src/bootloader_clock_init.c
70
- ${esp_idf_dir} /components/bootloader_support/src/bootloader_efuse_${MCUBOOT_TARGET} .c
71
- ${esp_idf_dir} /components/bootloader_support/src/bootloader_panic.c
72
- ${esp_idf_dir} /components/bootloader_support/src/bootloader_mem.c
73
- ${esp_idf_dir} /components/bootloader_support/src/bootloader_random.c
74
- ${esp_idf_dir} /components/bootloader_support/src/bootloader_random_${MCUBOOT_TARGET} .c
75
- ${esp_idf_dir} /components/bootloader_support/src/bootloader_utility.c
76
- ${esp_idf_dir} /components/bootloader_support/src/esp_image_format.c
77
- ${esp_idf_dir} /components/bootloader_support/src/secure_boot_v2/secure_boot_signatures_bootloader.c
78
- ${esp_idf_dir} /components/bootloader_support/src/${MCUBOOT_TARGET} /bootloader_soc.c
79
- ${esp_idf_dir} /components/bootloader_support/src/${MCUBOOT_TARGET} /bootloader_sha.c
80
- ${esp_idf_dir} /components/bootloader_support/src/${MCUBOOT_TARGET} /secure_boot_secure_features.c
81
- ${esp_idf_dir} /components/bootloader_support/src/${MCUBOOT_TARGET} /flash_encryption_secure_features.c
82
- ${esp_idf_dir} /components/spi_flash/${MCUBOOT_TARGET} /spi_flash_rom_patch.c
83
- ${esp_idf_dir} /components/esp_hw_support/esp_clk.c
84
- ${esp_idf_dir} /components/esp_hw_support/port/${MCUBOOT_TARGET} /rtc_init.c
85
- ${esp_idf_dir} /components/esp_hw_support/port/${MCUBOOT_TARGET} /rtc_time.c
86
- ${esp_idf_dir} /components/esp_hw_support/port/${MCUBOOT_TARGET} /rtc_clk.c
87
- ${esp_idf_dir} /components/esp_hw_support/port/${MCUBOOT_TARGET} /rtc_clk_init.c
88
- ${esp_idf_dir} /components/hal/wdt_hal_iram.c
89
- ${esp_idf_dir} /components/esp_hw_support/cpu_util.c
90
- ${esp_idf_dir} /components/esp_rom/patches/esp_rom_uart.c
91
- ${esp_idf_dir} /components/esp_rom/patches/esp_rom_sys.c
92
- ${esp_idf_dir} /components/efuse/${MCUBOOT_TARGET} /esp_efuse_table.c
93
- ${esp_idf_dir} /components/efuse/src/esp_efuse_fields.c
94
- ${esp_idf_dir} /components/efuse/${MCUBOOT_TARGET} /esp_efuse_fields.c
95
- ${esp_idf_dir} /components/efuse/src/esp_efuse_api.c
96
- ${esp_idf_dir} /components/efuse/src/esp_efuse_utility.c
97
- ${esp_idf_dir} /components/efuse/${MCUBOOT_TARGET} /esp_efuse_utility.c
98
101
)
99
102
103
+ if (DEFINED CONFIG_SECURE_BOOT_V2_ENABLED)
104
+ list (APPEND hal_srcs
105
+ ${src_dir} /secure_boot.c
106
+ )
107
+ endif ()
108
+
109
+ if (DEFINED CONFIG_SECURE_FLASH_ENC_ENABLED)
110
+ list (APPEND hal_srcs
111
+ ${src_dir} /flash_encrypt.c
112
+ )
113
+ endif ()
114
+
100
115
if ("${MCUBOOT_ARCH} " STREQUAL "xtensa" )
101
116
list (APPEND hal_srcs
102
- ${esp_idf_dir } /components/esp_rom/patches/esp_rom_longjmp.S
117
+ ${esp_hal_dir } /components/esp_rom/patches/esp_rom_longjmp.S
103
118
)
104
119
endif ()
105
120
@@ -125,7 +140,7 @@ set(CFLAGS
125
140
"-ggdb"
126
141
"-Os"
127
142
"-D_GNU_SOURCE"
128
- "-std=gnu99 "
143
+ "-std=gnu17 "
129
144
"-Wno-old-style-declaration"
130
145
"-Wno-implicit-int"
131
146
)
@@ -153,16 +168,23 @@ if("${MCUBOOT_ARCH}" STREQUAL "xtensa")
153
168
endif ()
154
169
155
170
set (LINKER_SCRIPTS
156
- -T${esp_idf_dir } /components/esp_rom/${MCUBOOT_TARGET} /ld/${MCUBOOT_TARGET} .rom.ld
157
- -T${esp_idf_dir } /components/esp_rom/${MCUBOOT_TARGET} /ld/${MCUBOOT_TARGET} .rom.libgcc.ld
158
- -T${esp_idf_dir } /components/esp_rom/${MCUBOOT_TARGET} /ld/${MCUBOOT_TARGET} .rom.api.ld
159
- -T${esp_idf_dir } /components/soc/${MCUBOOT_TARGET} /ld/${MCUBOOT_TARGET} .peripherals.ld
171
+ -T${esp_hal_dir } /components/esp_rom/${MCUBOOT_TARGET} /ld/${MCUBOOT_TARGET} .rom.ld
172
+ -T${esp_hal_dir } /components/esp_rom/${MCUBOOT_TARGET} /ld/${MCUBOOT_TARGET} .rom.libgcc.ld
173
+ -T${esp_hal_dir } /components/esp_rom/${MCUBOOT_TARGET} /ld/${MCUBOOT_TARGET} .rom.api.ld
174
+ -T${esp_hal_dir } /components/soc/${MCUBOOT_TARGET} /ld/${MCUBOOT_TARGET} .peripherals.ld
160
175
)
161
176
162
177
include (${CMAKE_CURRENT_LIST_DIR} /include /${MCUBOOT_TARGET} /${MCUBOOT_TARGET} .cmake)
163
178
164
179
add_library (hal STATIC ${hal_srcs} ${include_dirs} )
165
180
181
+ # Wrap for overriding the print banner function from bootloader_support
182
+ add_definitions (-DIDF_VER=0)
183
+ target_link_libraries (
184
+ hal
185
+ INTERFACE
186
+ "-Wl,--wrap=bootloader_print_banner" )
187
+
166
188
target_include_directories (
167
189
hal
168
190
PUBLIC
0 commit comments