@@ -13,182 +13,186 @@ endif()
1313project (wolf_pico_examples C CXX ASM )
1414set (CMAKE_C_STANDARD 11)
1515set (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
2118pico_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
0 commit comments