@@ -13,103 +13,93 @@ 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+
1619
1720# Initialize the SDK
1821pico_sdk_init ()
1922
20- message ("Example cmake project including wolfSSL with user_settings.h" )
21-
22- # add global define to include user_settings.h
23- add_compile_definitions (WOLFSSL_USER_SETTINGS )
24- add_compile_definitions (WOLFSSL_USER_SETTINGS_ASM )
25- set (BUILD_SHARED_LIBS OFF )
26- set (WOLFSSL_EXAMPLES OFF )
27- set (WOLFSSL_CRYPT_TESTS OFF )
28- set (WOLFSSL_USER_SETTINGS ON )
29-
3023include_directories (config )
3124include_directories (include )
3225include_directories (${PICO_SDK_PATH} /src/rp2_common/pico_lwip/include )
3326include_directories (${PICO_SDK_PATH} /lib/lwip/contrib/ports/freertos/include )
3427include_directories (${PICO_SDK_PATH} /lib/lwip/src/include )
3528include_directories (${PICO_SDK_PATH} /src/rp2_common/pico_async_context/include )
3629
37- add_subdirectory (wolfssl )
38- target_link_libraries (wolfssl PRIVATE
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
3972)
4073
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+
4183add_executable (benchmark
4284 src/bench_main.c
4385 src/blink.c
44- wolfssl /wolfcrypt/benchmark/benchmark.c
86+ ${WOLFSSL_ROOT} /wolfcrypt/benchmark/benchmark.c
4587)
4688
4789pico_enable_stdio_usb (benchmark 1 )
4890pico_enable_stdio_uart (benchmark 0 )
4991target_compile_definitions (benchmark PRIVATE
50-
92+ WOLFSSL_USER_SETTINGS
5193)
94+
5295target_link_libraries (benchmark
5396 wolfssl
5497 pico_stdlib
5598 pico_cyw43_arch_none
5699 pico_rand
57- #FreeRTOS-Kernel-Heap4 # FreeRTOS kernel and dynamic heap
58100)
59101pico_add_extra_outputs (benchmark )
60102
61- if (0)
62- add_executable (TCPclient
63- src/blink.c
64- # src/TCPclient.c
65- src/TCPclient_main.c
66- )
67-
68- # enable usb output, disable uart output
69- pico_enable_stdio_usb (TCPclient 1 )
70- pico_enable_stdio_uart (TCPclient 0 )
71-
72- target_compile_definitions (TCPclient PRIVATE
73-
74- # CYW43_NETUTILS
75- # PICO_CYW43_ARCH_FREERTOS
76- TEST_TCP_SERVER_IP= \"${TEST_TCP_SERVER_IP} \"
77- WIFI_SSID=\" ${WIFI_SSID} \"
78- WIFI_PASSWORD=\" ${WIFI_PASSWORD} \"
79- PICO_CYW43_ARCH_POLL
80- NO_SYS=1
81-
82- # SYS_LIGHTWEIGHT_PROT=1
83- )
84-
85- target_link_libraries(TCPclient
86- pico_stdlib
87- pico_rand
88-
89- # pico_cyw43_arch_lwip_sys_freertos
90- # pico_cyw43_arch_lwip_poll
91- # pico_cyw43_arch_none
92-
93- pico_lwip
94- # pico_lwip_core4
95- # pico_lwip_core6
96- pico_cyw43_arch
97- pico_lwip_nosys
98- pico_async_context_poll
99- # pico_lwip_iperf
100-
101- # pico_lwip_freertos
102- # pico_async_context_freertos
103- # pico_lwip_port
104- # pico_cyw43_driver
105- # pico_lwip_api
106- pico_lwip_netif
107- # FreeRTOS-Kernel
108- # FreeRTOS-Kernel-Heap4 # FreeRTOS kernel and dynamic heap
109- )
110-
111- pico_add_extra_outputs(TCPclient)
112- endif()
113103
114104add_executable (Wifi
115105 src/blink.c
@@ -151,6 +141,7 @@ pico_enable_stdio_usb(tcp_Client 1)
151141pico_enable_stdio_uart(tcp_Client 0)
152142
153143target_compile_definitions(tcp_Client PRIVATE
144+ WOLFSSL_USER_SETTINGS
154145 WIFI_SSID=\" ${WIFI_SSID} \"
155146 WIFI_PASSWORD=\" ${WIFI_PASSWORD} \"
156147 TEST_TCP_SERVER_IP=\" ${TEST_TCP_SERVER_IP} \"
@@ -167,4 +158,37 @@ target_link_libraries(tcp_Client
167158 pico_async_context_poll
168159)
169160
170- pico_add_extra_outputs(tcp_Client)
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)
0 commit comments