Skip to content

Commit 2c42382

Browse files
committed
Refator CMakelists.txt
1 parent 3724fee commit 2c42382

7 files changed

Lines changed: 205 additions & 230 deletions

File tree

RPi-Pico/CMakeLists.txt

Lines changed: 179 additions & 175 deletions
Original file line numberDiff line numberDiff line change
@@ -13,182 +13,186 @@ endif()
1313
project(wolf_pico_examples C CXX ASM)
1414
set(CMAKE_C_STANDARD 11)
1515
set(CMAKE_CXX_STANDARD 17)
16-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
17-
#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3")
18-
1916

2017
# Initialize the SDK
2118
pico_sdk_init()
2219

23-
include_directories(config)
24-
include_directories(include)
25-
include_directories(${PICO_SDK_PATH}/src/rp2_common/pico_lwip/include)
26-
include_directories(${PICO_SDK_PATH}/lib/lwip/contrib/ports/freertos/include)
27-
include_directories(${PICO_SDK_PATH}/lib/lwip/src/include)
28-
include_directories(${PICO_SDK_PATH}/src/rp2_common/pico_async_context/include)
29-
30-
set(WOLFSSL_ROOT $ENV{WOLFSSL_ROOT})
31-
include_directories(${WOLFSSL_ROOT})
32-
33-
file(GLOB_RECURSE WOLFSSL_SRC
34-
"${WOLFSSL_ROOT}/src/*.c"
35-
"${WOLFSSL_ROOT}/wolfcrypt/src/*.c"
36-
)
37-
list(REMOVE_ITEM WOLFSSL_SRC EXCLUDE REGEX
38-
"${WOLFSSL_ROOT}/src/bio.c"
39-
"${WOLFSSL_ROOT}/src/conf.c"
40-
"${WOLFSSL_ROOT}/src/pk.c"
41-
"${WOLFSSL_ROOT}/src/ssl_asn1.c"
42-
"${WOLFSSL_ROOT}/src/ssl_bn.c"
43-
"${WOLFSSL_ROOT}/src/ssl_misc.c"
44-
"${WOLFSSL_ROOT}/src/x509.c"
45-
"${WOLFSSL_ROOT}/src/x509_str.c"
46-
"${WOLFSSL_ROOT}/wolfcrypt/src/evp.c"
47-
"${WOLFSSL_ROOT}/wolfcrypt/src/misc.c"
48-
)
49-
50-
add_library(wolfssl STATIC
51-
${WOLFSSL_SRC}
52-
)
53-
target_include_directories(wolfssl PRIVATE
54-
${CMAKE_CURRENT_SOURCE_DIR}/config
55-
)
56-
target_compile_definitions(wolfssl PRIVATE
57-
WOLFSSL_USER_SETTINGS
58-
WOLFSSL_SP_ARM_THUMB_ASM
59-
)
60-
61-
62-
add_executable(testwolfcrypt
63-
src/test_main.c
64-
src/blink.c
65-
${WOLFSSL_ROOT}/wolfcrypt/test/test.c
66-
)
67-
68-
pico_enable_stdio_usb(testwolfcrypt 1)
69-
pico_enable_stdio_uart(testwolfcrypt 0)
70-
target_compile_definitions(testwolfcrypt PRIVATE
71-
WOLFSSL_USER_SETTINGS
72-
)
73-
74-
target_link_libraries(testwolfcrypt
75-
wolfssl
76-
pico_stdlib
77-
pico_cyw43_arch_none
78-
pico_rand
79-
)
80-
pico_add_extra_outputs(testwolfcrypt)
81-
82-
83-
add_executable(benchmark
84-
src/bench_main.c
85-
src/blink.c
86-
${WOLFSSL_ROOT}/wolfcrypt/benchmark/benchmark.c
87-
)
88-
89-
pico_enable_stdio_usb(benchmark 1)
90-
pico_enable_stdio_uart(benchmark 0)
91-
target_compile_definitions(benchmark PRIVATE
92-
WOLFSSL_USER_SETTINGS
93-
)
94-
95-
target_link_libraries(benchmark
96-
wolfssl
97-
pico_stdlib
98-
pico_cyw43_arch_none
99-
pico_rand
100-
)
101-
pico_add_extra_outputs(benchmark)
102-
103-
104-
add_executable(Wifi
105-
src/blink.c
106-
src/wifi.c
107-
src/Wifi_main.c
108-
)
109-
110-
# enable usb output, disable uart output
111-
pico_enable_stdio_usb(Wifi 1)
112-
pico_enable_stdio_uart(Wifi 0)
113-
114-
target_compile_definitions(Wifi PRIVATE
115-
WIFI_SSID=\"${WIFI_SSID}\"
116-
WIFI_PASSWORD=\"${WIFI_PASSWORD}\"
117-
PICO_CYW43_ARCH_POLL
118-
NO_SYS=1
119-
)
120-
121-
target_link_libraries(Wifi
122-
pico_stdlib
123-
pico_rand
124-
pico_lwip
125-
pico_cyw43_arch
126-
pico_lwip_nosys
127-
pico_async_context_poll
128-
)
129-
130-
pico_add_extra_outputs(Wifi)
131-
132-
add_executable(tcp_Client
133-
src/blink.c
134-
src/wifi.c
135-
src/tcp.c
136-
src/tcpClient_main.c
137-
)
138-
139-
# enable usb output, disable uart output
140-
pico_enable_stdio_usb(tcp_Client 1)
141-
pico_enable_stdio_uart(tcp_Client 0)
142-
143-
target_compile_definitions(tcp_Client PRIVATE
144-
WOLFSSL_USER_SETTINGS
145-
WIFI_SSID=\"${WIFI_SSID}\"
146-
WIFI_PASSWORD=\"${WIFI_PASSWORD}\"
147-
TEST_TCP_SERVER_IP=\"${TEST_TCP_SERVER_IP}\"
148-
PICO_CYW43_ARCH_POLL
149-
NO_SYS=1
150-
)
151-
152-
target_link_libraries(tcp_Client
153-
pico_stdlib
154-
pico_rand
155-
pico_lwip
156-
pico_cyw43_arch
157-
pico_lwip_nosys
158-
pico_async_context_poll
159-
)
160-
161-
pico_add_extra_outputs(tcp_Client)
162-
163-
164-
add_executable(tls_Client
165-
src/blink.c
166-
src/wifi.c
167-
src/tcp.c
168-
src/tlsClient_main.c
169-
)
170-
171-
# enable usb output, disable uart output
172-
pico_enable_stdio_usb(tls_Client 1)
173-
pico_enable_stdio_uart(tls_Client 0)
174-
175-
target_compile_definitions(tls_Client PRIVATE
176-
WOLFSSL_USER_SETTINGS
177-
WIFI_SSID=\"${WIFI_SSID}\"
178-
WIFI_PASSWORD=\"${WIFI_PASSWORD}\"
179-
TEST_TCP_SERVER_IP=\"${TEST_TCP_SERVER_IP}\"
180-
PICO_CYW43_ARCH_POLL
181-
NO_SYS=1
182-
)
183-
184-
target_link_libraries(tls_Client
185-
pico_stdlib
186-
pico_rand
187-
pico_lwip
188-
pico_cyw43_arch
189-
pico_lwip_nosys
190-
pico_async_context_poll
191-
wolfssl
192-
)
193-
194-
pico_add_extra_outputs(tls_Client)
20+
21+
### Global Include Path
22+
include_directories(config)
23+
include_directories(include)
24+
include_directories(${PICO_SDK_PATH}/src/rp2_common/pico_lwip/include)
25+
include_directories(${PICO_SDK_PATH}/lib/lwip/contrib/ports/freertos/include)
26+
include_directories(${PICO_SDK_PATH}/lib/lwip/src/include)
27+
include_directories(${PICO_SDK_PATH}/src/rp2_common/pico_async_context/include)
28+
29+
set(WOLFSSL_ROOT $ENV{WOLFSSL_ROOT})
30+
include_directories(${WOLFSSL_ROOT})
31+
### End of Global Include Path
32+
33+
34+
### wolfSSL/wolfCrypt library
35+
file(GLOB_RECURSE WOLFSSL_SRC
36+
"${WOLFSSL_ROOT}/src/*.c"
37+
"${WOLFSSL_ROOT}/wolfcrypt/src/*.c"
38+
)
39+
list(REMOVE_ITEM WOLFSSL_SRC EXCLUDE REGEX
40+
"${WOLFSSL_ROOT}/src/bio.c"
41+
"${WOLFSSL_ROOT}/src/conf.c"
42+
"${WOLFSSL_ROOT}/src/pk.c"
43+
"${WOLFSSL_ROOT}/src/ssl_asn1.c"
44+
"${WOLFSSL_ROOT}/src/ssl_bn.c"
45+
"${WOLFSSL_ROOT}/src/ssl_misc.c"
46+
"${WOLFSSL_ROOT}/src/x509.c"
47+
"${WOLFSSL_ROOT}/src/x509_str.c"
48+
"${WOLFSSL_ROOT}/wolfcrypt/src/evp.c"
49+
"${WOLFSSL_ROOT}/wolfcrypt/src/misc.c"
50+
)
51+
52+
add_library(wolfssl STATIC
53+
${WOLFSSL_SRC}
54+
)
55+
56+
target_compile_definitions(wolfssl PUBLIC
57+
WOLFSSL_USER_SETTINGS
58+
)
59+
### End of wolfSSL/wolfCrypt library
60+
61+
62+
### Test wolfCrypt algorithms
63+
add_executable(testwolfcrypt
64+
src/test_main.c
65+
src/blink.c
66+
${WOLFSSL_ROOT}/wolfcrypt/test/test.c
67+
)
68+
69+
target_link_libraries(testwolfcrypt
70+
wolfssl
71+
pico_stdlib
72+
pico_cyw43_arch_none
73+
pico_rand
74+
)
75+
76+
pico_enable_stdio_usb(testwolfcrypt 1)
77+
pico_enable_stdio_uart(testwolfcrypt 0)
78+
79+
pico_add_extra_outputs(testwolfcrypt)
80+
### End of Test wolfCrypt algorithms
81+
82+
83+
### Benchmark wolfCrypt algorithms
84+
add_executable(benchmark
85+
src/bench_main.c
86+
src/blink.c
87+
${WOLFSSL_ROOT}/wolfcrypt/benchmark/benchmark.c
88+
)
89+
90+
target_link_libraries(benchmark
91+
wolfssl
92+
pico_stdlib
93+
pico_cyw43_arch_none
94+
pico_rand
95+
)
96+
97+
pico_enable_stdio_usb(benchmark 1)
98+
pico_enable_stdio_uart(benchmark 0)
99+
100+
pico_add_extra_outputs(benchmark)
101+
### End of Benchmark wolfCrypt algorithms
102+
103+
104+
### Wifi connection
105+
add_executable(Wifi
106+
src/blink.c
107+
src/wifi.c
108+
src/Wifi_main.c
109+
)
110+
111+
target_compile_definitions(Wifi PRIVATE
112+
WIFI_SSID=\"${WIFI_SSID}\"
113+
WIFI_PASSWORD=\"${WIFI_PASSWORD}\"
114+
PICO_CYW43_ARCH_POLL
115+
NO_SYS=1
116+
)
117+
118+
target_link_libraries(Wifi
119+
pico_stdlib
120+
pico_rand
121+
pico_lwip
122+
pico_cyw43_arch
123+
pico_lwip_nosys
124+
pico_async_context_poll
125+
)
126+
127+
128+
pico_enable_stdio_usb(Wifi 1)
129+
pico_enable_stdio_uart(Wifi 0)
130+
131+
pico_add_extra_outputs(Wifi)
132+
### End of Wifi connection
133+
134+
135+
### TCP Client
136+
add_executable(tcp_Client
137+
src/blink.c
138+
src/wifi.c
139+
src/tcp.c
140+
src/tcpClient_main.c
141+
)
142+
143+
target_compile_definitions(tcp_Client PRIVATE
144+
WIFI_SSID=\"${WIFI_SSID}\"
145+
WIFI_PASSWORD=\"${WIFI_PASSWORD}\"
146+
TEST_TCP_SERVER_IP=\"${TEST_TCP_SERVER_IP}\"
147+
PICO_CYW43_ARCH_POLL
148+
NO_SYS=1
149+
)
150+
151+
target_link_libraries(tcp_Client
152+
pico_stdlib
153+
pico_rand
154+
pico_lwip
155+
pico_cyw43_arch
156+
pico_lwip_nosys
157+
pico_async_context_poll
158+
)
159+
160+
161+
pico_enable_stdio_usb(tcp_Client 1)
162+
pico_enable_stdio_uart(tcp_Client 0)
163+
164+
pico_add_extra_outputs(tcp_Client)
165+
### End of TCP Client
166+
167+
168+
### TLS Client
169+
add_executable(tls_Client
170+
src/blink.c
171+
src/wifi.c
172+
src/tcp.c
173+
src/tlsClient_main.c
174+
)
175+
176+
target_compile_definitions(tls_Client PRIVATE
177+
WIFI_SSID=\"${WIFI_SSID}\"
178+
WIFI_PASSWORD=\"${WIFI_PASSWORD}\"
179+
TEST_TCP_SERVER_IP=\"${TEST_TCP_SERVER_IP}\"
180+
PICO_CYW43_ARCH_POLL
181+
NO_SYS=1
182+
)
183+
184+
target_link_libraries(tls_Client
185+
pico_stdlib
186+
pico_rand
187+
pico_lwip
188+
pico_cyw43_arch
189+
pico_lwip_nosys
190+
pico_async_context_poll
191+
wolfssl
192+
)
193+
194+
pico_enable_stdio_usb(tls_Client 1)
195+
pico_enable_stdio_uart(tls_Client 0)
196+
197+
pico_add_extra_outputs(tls_Client)
198+
### End of TLS Client

RPi-Pico/config/user_settings.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ extern time_t myTime(time_t *);
8989
// #define WOLFSSL_SP_X86
9090
// #define WOLFSSL_SP_ARM32_ASM
9191
// #define WOLFSSL_SP_ARM64_ASM
92-
// #define WOLFSSL_SP_ARM_THUMB_ASM
92+
#define WOLFSSL_SP_ARM_THUMB_ASM
9393
// #define WOLFSSL_SP_ARM_CORTEX_M_ASM
9494
#elif 1
9595
/* Fast Math (tfm.c) (stack based and timing resistant) */

RPi-Pico/src/bench_main.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,15 @@
3030
#include "pico/cyw43_arch.h"
3131
#include "wolf/blink.h"
3232

33-
33+
#include "hardware/clocks.h"
3434

3535
int main(int argc, char **argv)
3636
{
3737
int i;
3838
int ret;
3939

4040
blink(10, WOLF_BLINK_INIT);
41+
printf("\nSystem clock = %dMHz\n\n", clock_get_hz(clk_sys)/1000000);
4142
ret = benchmark_test(NULL);
4243
printf("End: %d\n", ret);
4344
return ret;

0 commit comments

Comments
 (0)